/* Golden Hour Dance — responsive styles (mobile-first refinements) */

/* ≤1024px: tablets */
@media (max-width: 1024px) {
  .grid--4 { grid-template-columns: repeat(2, 1fr); }
  .grid--3 { grid-template-columns: repeat(2, 1fr); }
}

/* ≤768px: mobile */
@media (max-width: 768px) {
  .grid--2, .grid--3, .grid--4 { grid-template-columns: 1fr; }
  .section { --section-pad: 48px; }

  /* Full-screen mobile nav */
  .nav-toggle { display: block; }
  .main-nav {
    position: fixed; inset: 0; background: var(--ghd-ivory);
    display: flex; flex-direction: column; justify-content: center;
    padding: var(--gutter); transform: translateX(100%);
    transition: transform 300ms ease; z-index: 200;
  }
  .main-nav.is-open { transform: none; }
  .main-nav ul { flex-direction: column; gap: var(--sp-5); text-align: center; }
  .main-nav a { font-family: var(--font-display); font-size: 1.75rem; }
  .nav-close { position: absolute; top: var(--sp-5); right: var(--gutter); background: none; border: 0; font-size: 2rem; color: var(--ghd-umber); cursor: pointer; padding: var(--sp-2); min-width: 44px; min-height: 44px; }
  .header-cta { display: none; }

  .hero { min-height: 78vh; align-items: flex-end; padding-bottom: var(--sp-8); }
  .hero p { font-size: 1.0625rem; }
  .btn-group .btn { width: 100%; }

  .mobile-cta-bar { display: flex; }
  body.has-mobile-cta { padding-bottom: 76px; }

  .form-inline { flex-direction: column; }
  .footer-bottom { flex-direction: column; text-align: center; }
}

/* ≤480px: small phones */
@media (max-width: 480px) {
  :root { --gutter: 20px; --fs-body: 1.0625rem; }
  .card { padding: var(--sp-5); }
  .price { font-size: 2.5rem; }
}

/* Print */
@media print {
  .site-header, .site-footer, .mobile-cta-bar, .btn { display: none !important; }
}
