/* ============================================================
   닥터바디짐 양주 옥정점 — Responsive
   ============================================================ */

/* ---------- Large tablet ---------- */
@media (max-width: 1080px) {
  .section { padding: 88px 0; }
  .split-head { grid-template-columns: 1fr; gap: 24px; align-items: start; margin-bottom: 42px; }
  .answer-grid { grid-template-columns: repeat(2, 1fr); }
  .stat-grid { grid-template-columns: repeat(2, 1fr); }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .step-item { grid-template-columns: 100px 1fr; gap: 24px 28px; }
  .step-item .step-desc { grid-column: 1 / -1; }
  .gallery { grid-template-columns: repeat(2, 1fr); }
  .g-wide { grid-column: span 2; }
  .g-tall { grid-row: span 1; aspect-ratio: 4 / 3; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 34px; }
}

/* ---------- Tablet / mobile nav switch ---------- */
@media (max-width: 900px) {
  .nav-desktop { display: none; }
  .header-cta { display: none; }
  .nav-toggle { display: flex; }
}

/* ---------- Mobile ---------- */
@media (max-width: 720px) {
  :root { --pad: 18px; --header-h: 62px; }

  .section { padding: 64px 0; }
  .section-sm { padding: 48px 0; }

  .hero { padding: 118px 0 44px; min-height: 92vh; min-height: 92svh; }
  .hero-desc { margin-top: 20px; }
  .hero-actions { margin-top: 30px; }
  .hero-actions .btn { flex: 1 1 100%; }
  .hero-scroll { margin-top: 34px; }

  .page-hero { padding: calc(var(--header-h) + 50px) 0 52px; }
  .page-hero::after { display: none; }

  .answer-grid { grid-template-columns: 1fr; border-left: 0; }
  .answer-item { padding: 22px 18px; border-right: 0; border-top: 0; }
  .answer-item:first-child { border-top: 1px solid rgba(255,255,255,0.14); }

  .stat-grid { grid-template-columns: repeat(2, 1fr); }
  .stat-card { padding: 28px 14px; }
  .stat-desc { display: none; }

  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .card-grid { gap: 16px; }

  .step-item { grid-template-columns: 1fr; gap: 16px; padding: 32px 20px; }
  .step-no { display: flex; align-items: baseline; gap: 12px; }
  .step-no b { margin-top: 0; font-size: 1.9rem; }

  .banner { min-height: 420px; }
  .banner-inner { padding: 58px 0; }

  .quote-block { padding-left: 20px; }

  .gallery { grid-template-columns: 1fr; gap: 10px; }
  .g-wide, .g-tall, .g-sq { grid-column: auto; grid-row: auto; aspect-ratio: 4 / 3; }

  .prog-card, .feature-card { padding: 28px 22px; }
  .branch-card { min-height: 280px; padding: 26px 22px; }

  .form-card { padding: 28px 20px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }

  .info-table { font-size: 0.9rem; }
  .info-table th, .info-table td { display: block; width: 100%; border-bottom: 0; }
  .info-table th { padding: 12px 14px 12px; }
  .info-table td { padding: 12px 14px 20px; border-bottom: 1px solid var(--gray-100); }
  .section-green .info-table td, .section-dark .info-table td { border-bottom-color: rgba(255,255,255,0.13); }

  .price-table { font-size: 0.88rem; }
  .price-table thead th, .price-table td { padding: 12px 10px; }

  .faq-q { padding: 20px 4px; gap: 12px; }
  .faq-a-inner { padding: 0 4px 24px 30px; }

  .cta-final { padding: 68px 0; }
  .cta-actions .btn { flex: 1 1 100%; }

  .site-footer { padding: 52px 0 110px; }
  .footer-top { grid-template-columns: 1fr; gap: 32px; padding-bottom: 32px; }
  .footer-bottom { flex-direction: column; gap: 8px; }
}

/* ---------- Small mobile ---------- */
@media (max-width: 400px) {
  .stat-grid { grid-template-columns: 1fr; }
  .action-bar a { font-size: 0.76rem; padding: 12px 4px; }
  .brand-sub { display: none; }
}

/* ---------- Desktop: hide mobile action bar ---------- */
@media (min-width: 901px) {
  .action-bar { display: none; }
  .site-footer { padding-bottom: 72px; }
}

/* ---------- Print ---------- */
@media print {
  .site-header, .action-bar, .nav-mobile, .hero-scroll { display: none !important; }
  body { color: #000; }
  .section { padding: 24px 0; }
}
