/* ==========================================================================
   KD FITNESS STUDIO — Responsive Stylesheet
   Breakpoints: 1180 (small desktop) / 960 (tablet) / 680 (mobile)
   ========================================================================== */

/* ---- Tablet / small desktop ---- */
@media (max-width: 1180px){
  .footer-grid{ grid-template-columns: 1fr 1fr; }
  .stats-grid{ grid-template-columns: repeat(2, 1fr); }
  .stat{ border-bottom: 1px solid var(--c-line); }
  .stat:nth-child(2n){ border-right: none; }
}

@media (max-width: 1100px){
  .nav-desktop{ display: none; }
  .nav-toggle{ display: flex; }
  .header-cta a.btn{ display: none; }
  .hero-grid{ grid-template-columns: 1fr; text-align: center; }
  .hero-lede{ margin-left: auto; margin-right: auto; }
  .hero-stats{ justify-content: center; }
  .medallion{ order: -1; width: min(70%, 300px); }
  .grid-3{ grid-template-columns: repeat(2, 1fr); }
  .grid-4{ grid-template-columns: repeat(2, 1fr); }
  .form-row{ grid-template-columns: 1fr; }
  .btn-row{ justify-content: center; }
}

@media (max-width: 680px){
  :root{ --gutter: 18px; }
  .section{ padding: 52px 0; }
  .site-header .container{ height: 70px; }
  .brand-name{ font-size: .98rem; }
  .brand img{ height: 40px; width: 40px; }
  .grid-3, .grid-4, .grid-2{ grid-template-columns: 1fr; }
  .footer-grid{ grid-template-columns: 1fr; gap: 30px; }
  .stats-grid{ grid-template-columns: repeat(2, 1fr); }
  .ba-images{ grid-template-columns: 1fr 1fr; }
  .hero{ padding-top: 96px; min-height: unset; padding-bottom: 60px; }
  .page-hero{ padding: 128px 0 50px; }
  .footer-bottom{ flex-direction: column; text-align: center; }
  .wa-float{ width: 52px; height: 52px; bottom: 18px; right: 18px; }
  .price-card.featured{ order: -1; }
}

@media (max-width: 420px){
  .hero-stats{ gap: 26px; }
  .hero-stat b{ font-size: 1.7rem; }
}
