/*================================================
  ZEM Security - Responsive CSS (Professional Upgrade)
=================================================*/

/* ===== MOBILE: max-width 767px ===== */
@media only screen and (max-width: 767px) {
  p { font-size: 15px; }

  .ptb-100 { padding-top: 60px; padding-bottom: 60px; }
  .pt-100  { padding-top: 60px; }
  .pb-100  { padding-bottom: 60px; }
  .pb-75   { padding-bottom: 40px; }

  .default-btn { font-size: 14px; padding: 13px 28px; }

  /* Section Title */
  .section-title { margin-bottom: 40px; }
  .section-title span { font-size: 11px; }
  .section-title h2 { font-size: 24px; }
  .section-title .section-bg-text { font-size: 40px; }

  /* ===== BANNER ===== */
  .main-banner-area {
    padding: 110px 0 60px;
    min-height: auto;
  }
  .main-banner-area .container-fluid {
    padding-left: 20px;
    padding-right: 20px;
  }
  .main-banner-area::after { display: none; }
  .main-banner-content { padding-right: 0; text-align: center; }
  .main-banner-content h1 { font-size: 30px !important; }
  .main-banner-content h4 { font-size: 16px; }
  .main-banner-content p { max-width: 100%; font-size: 15px; }
  .main-banner-content h4 { border-left: none; padding-left: 0; border-top: 3px solid var(--main-color); padding-top: 12px; }

  .banner-stats {
    justify-content: center;
    gap: 20px;
  }
  .banner-stat-item .stat-number { font-size: 28px; }
  .banner-stat-divider { display: none; }

  .main-banner-image { margin-top: 35px; padding: 0 15px; }
  .main-banner-image::before { width: 280px; height: 280px; }
  .main-banner-image img { max-height: 320px; }

  /* shapes hide on mobile */
  .banner-shape-1,
  .banner-shape-2,
  .banner-dot-shape-1,
  .banner-dot-shape-2,
  .banner-dot-shape-3,
  .banner-dot-shape-4,
  .banner-dot-shape-5 { display: none; }

  /* ===== FEATURES ===== */
  .features-inner-box {
    margin-top: 0;
    padding: 0;
  }
  .single-features-card {
    padding: 30px 25px;
    margin-bottom: 20px;
  }
  .features-image img { width: 60px; height: 60px; }
  .single-features-card .content h3 { font-size: 18px; }

  /* ===== ABOUT ===== */
  .about-wrap-content { padding-left: 0; margin-top: 30px; }
  .about-bg-text { display: none; }
  .about-wrap-content h3 { font-size: 24px; }
  .about-wrap-image::after { display: none; }
  .about-wrap-image .image-badge { display: none; }
  .about-wrap-image img { height: 280px; }

  /* List style */
  .list-style li { font-size: 14px; padding: 12px 15px; gap: 10px; }
  .list-style li i { width: 24px; height: 24px; font-size: 13px; }

  /* ===== TESTIMONIALS ===== */
  .single-testimonials-card { padding: 28px 22px; margin: 10px 5px 20px; }
  .single-testimonials-card p { font-size: 14px; }
  .info-item-box h4 { font-size: 15px; }

  /* ===== OVERVIEW ===== */
  .overview-card { padding: 30px 20px; }
  .overview-card span { font-size: 40px; }
  .overview-card h3 { font-size: 13px; }

  /* ===== FOOTER ===== */
  .single-footer-widget { margin-bottom: 25px; }
  .single-footer-widget .widget-social { flex-wrap: wrap; }

  /* ===== GO TOP ===== */
  .go-top { width: 42px; height: 42px; right: 15px; }

  /* ===== OWL CAROUSEL ===== */
  .home-slides.owl-theme .owl-nav.disabled + .owl-dots {
    position: relative;
    bottom: 60px;
  }

  /* ===== TRUST BADGES ===== */
  .trust-badge-item { flex-direction: column; text-align: center; gap: 8px; }
  .trust-badge-item span { font-size: 12px; }
}

/* ===== TABLET: 768px - 991px ===== */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .ptb-100 { padding-top: 70px; padding-bottom: 70px; }
  .pt-100  { padding-top: 70px; }
  .pb-100  { padding-bottom: 70px; }
  .pb-75   { padding-bottom: 45px; }

  .section-title h2 { font-size: 30px; }
  .section-title .section-bg-text { font-size: 55px; }

  /* Banner */
  .main-banner-area { padding: 120px 0 70px; }
  .main-banner-area .container-fluid { padding-left: 30px; padding-right: 30px; }
  .main-banner-content { padding-right: 15px; }
  .main-banner-content h1 { font-size: 38px !important; }
  .main-banner-content h4 { font-size: 18px; }
  .main-banner-image img { max-height: 420px; }
  .main-banner-image::before { width: 350px; height: 350px; }

  /* Features */
  .features-inner-box { margin-top: -30px; }
  .single-features-card { padding: 30px 25px; }

  /* About */
  .about-wrap-content { padding-left: 20px; }
  .about-wrap-content h3 { font-size: 26px; }
  .about-wrap-image img { height: 380px; }

  /* Testimonials */
  .single-testimonials-card { padding: 30px 25px; }

  /* Overview */
  .overview-card span { font-size: 44px; }

  /* Choose area */
  .choose-area .col-lg-4 { margin-bottom: 25px; }
  .single-choose-card { padding: 30px 25px; }
}

/* ===== MEDIUM: 992px - 1199px ===== */
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .section-title h2 { font-size: 34px; }

  .main-banner-area .container-fluid { padding-left: 40px; padding-right: 40px; }
  .main-banner-content h1 { font-size: 44px !important; }
  .main-banner-image img { max-height: 500px; }

  .about-wrap-content h3 { font-size: 28px; }
  .about-wrap-content { padding-left: 25px; }

  .single-features-card { padding: 35px 28px; }
  .single-choose-card { padding: 35px 28px; }
}

/* ===== LARGE: 1200px - 1399px ===== */
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
  .main-banner-content h1 { font-size: 46px !important; }
  .main-banner-content { padding-right: 30px; }
}

/* ===== XL: 1400px + ===== */
@media only screen and (min-width: 1400px) {
  .main-banner-area .container-fluid { padding-left: 80px; padding-right: 80px; }
  .main-banner-content h1 { font-size: 56px !important; }
}

/* ===== PRINT ===== */
@media print {
  .navbar-area,
  .go-top,
  .preloader { display: none !important; }
}