/* =========================================================
   ROYAL PEST CONTROL SERVICE — RESPONSIVE STYLESHEET
   Breakpoints: 1440, 1200, 992, 768, 576, 430, 390, 375, 360, 320
   ========================================================= */

/* ---------------- LARGE DESKTOP (>=1440) ---------------- */
@media (min-width:1440px){
  .container{ max-width:1320px; }
}

/* ---------------- DESKTOP / SMALL LAPTOP (<=1200) ---------------- */
@media (max-width:1199.98px){
  .hero-heading{ font-size:clamp(32px,4.6vw,48px); }
  .split-panel{ padding:60px 36px; }
}

/* ---------------- TABLET (<=991.98px) ---------------- */
@media (max-width:991.98px){
  section{ padding:64px 0; }

  /* Navbar: show mobile toggler, hide desktop links */
  .navbar-collapse{ display:none !important; }
  .navbar-toggler{
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px; height:44px;
    border-radius:10px;
    background:var(--bg-soft-green);
    color:var(--primary-dark);
    font-size:22px;
    border:1px solid var(--border);
  }

  .topbar-right{ gap:12px; }

  .hero-section{ padding:48px 0 60px; text-align:left; }
  .hero-trust-list{ grid-template-columns:1fr 1fr; }
  .hero-image-wrap{ margin-top:40px; max-width:420px; }

  .about-image-wrap{ margin:0 auto 30px; }
  .about-badge{ left:8px; bottom:-14px; }

  .process-timeline{ flex-wrap:wrap; gap:36px; }
  .process-timeline::before{ display:none; }
  .process-step{ flex:0 0 46%; }

  .split-panel{ min-height:auto; padding:56px 30px; text-align:left; }

  .review-card{ flex:0 0 calc(50% - 12px); }

  .footer-columns > div{ margin-bottom:10px; }
}

/* ---------------- LARGE MOBILE / SMALL TABLET (<=767.98px) ---------------- */
@media (max-width:767.98px){
  section{ padding:52px 0; }
  .section-head{ margin-bottom:34px; }
  .section-heading{ font-size:clamp(26px,7vw,32px); }

  .topbar-inner{ font-size:12px; }
  .topbar-left span{ display:none; }
  .topbar-left::after{ content:'Royal Pest Control Service'; }
  .topbar-right{ gap:10px; }
  .topbar-badge{ display:none !important; }

  .premium-navbar{ padding:12px 0; }
  .brand-sub{ display:none; }
  .brand-name{ font-size:16px; }

  /* HERO mobile ordering per spec:
     badge, headline, description, trust points, primary CTA,
     call CTA, whatsapp shortcut, hero image, trust proof */
  .hero-section .row{ display:flex; flex-direction:column; }
  .hero-copy{ order:1; display:flex; flex-direction:column; }
  .hero-visual{ order:2; margin-top:34px; }
  .badge-pill{ order:1; }
  .hero-heading{ order:2; }
  .hero-sub{ order:3; }
  .hero-trust-list{ order:4; grid-template-columns:1fr 1fr; gap:8px 14px; }
  .hero-cta-row{ order:5; flex-direction:column; }
  .hero-cta-row .btn{ width:100%; justify-content:center; }
  .hero-whatsapp-link{ order:6; justify-content:center; text-align:center; }
  .hero-microcopy{ order:7; text-align:center; }

  .hero-image-wrap{ max-width:340px; margin:0 auto; }
  .floating-card{ padding:9px 12px; font-size:11.5px; }
  .floating-card i{ font-size:16px; }
  .card-top{ top:-10px; left:-10px; }
  .card-bottom{ bottom:-10px; right:-6px; }
  .card-mid{ display:none; }

  .trust-strip{ padding:24px 0; }
  .trust-item i{ font-size:24px; }
  .trust-item h3{ font-size:13px; }

  .about-features > div{ font-size:14px; }

  .service-card{ padding:26px 20px; }

  .why-us-section .row > div{ margin-bottom:0; }

  .process-step{ flex:0 0 100%; text-align:left; display:flex; gap:16px; align-items:flex-start; }
  .step-number{ margin:0; flex-shrink:0; }

  .split-panel{ padding:44px 22px; }

  .cta-banner-inner{ flex-direction:column; text-align:center; }
  .cta-banner-inner > div:first-child{ text-align:center; }
  .cta-phone{ justify-content:center; }
  .cta-banner-buttons{ justify-content:center; width:100%; }
  .cta-banner-buttons .btn{ flex:1 1 auto; }

  .review-card{ flex:0 0 100%; }

  .booking-form{ padding:24px 18px; }
  .contact-info-card{ padding:28px 22px; margin-bottom:10px; }

  .map-cta-inner{ flex-direction:column; text-align:center; align-items:center; }

  /* Reserve space for fixed mobile action bar */
  body{ padding-bottom:64px; }
  .whatsapp-float{ bottom:90px; right:16px; width:52px; height:52px; font-size:24px; }
  .back-to-top{ bottom:90px; left:16px; width:42px; height:42px; }
  .whatsapp-tooltip{ display:none; }
}

/* ---------------- STANDARD MOBILE (<=575.98px) ---------------- */
@media (max-width:575.98px){
  .hero-trust-list{ grid-template-columns:1fr; }
  .areas-grid .area-item{ font-size:13px; padding:10px 12px; }
  .pest-tile{ padding:18px 14px; }
  .compare-card{ padding:24px 20px; }
  .mobile-action-item{ font-size:11px; }
  .mobile-action-item i{ font-size:18px; }
}

/* ---------------- SMALL PHONES (<=430px) ---------------- */
@media (max-width:430px){
  .hero-heading{ font-size:28px; }
  .hero-sub{ font-size:15.5px; }
  .section-heading{ font-size:24px; }
  .badge-pill{ font-size:12px; padding:7px 12px; }
  .btn-primary-custom, .btn-outline-custom, .btn-whatsapp-custom, .btn-warm-custom{
    font-size:14.5px; padding:12px 20px;
  }
  .floating-card{ display:none; }
  .card-bottom{ display:none; }
}

/* ---------------- EXTRA SMALL PHONES (<=375px) ---------------- */
@media (max-width:375px){
  .container{ padding-left:16px; padding-right:16px; }
  .hero-heading{ font-size:25px; }
  .brand-name{ font-size:14.5px; }
  .topbar-left::after{ font-size:12px; }
}

/* ---------------- VERY SMALL (<=320px) ---------------- */
@media (max-width:320px){
  .hero-heading{ font-size:23px; }
  .btn-lg{ font-size:14px !important; }
  .mobile-action-item span{ font-size:10px; }
}

/* No horizontal scroll safeguard */
html, body{ max-width:100%; overflow-x:hidden; }
