/* ═══════════════════════════════════════
   BUSINESS UNITED · responsive.css
   Ikoner, booking-modal og mobil-layout
═══════════════════════════════════════ */

/* ── SVG-IKONER (erstatter emoji) ── */
.ic { width: 26px; height: 26px; color: var(--terra); display: block; }
.ic-sm { width: 14px; height: 14px; display: inline-block; vertical-align: -2px; margin-right: 4px; }
.fac-icon .ic, .fac-icon.ic { margin-bottom: 14px; }
.feature-num .ic { width: 30px; height: 30px; margin-bottom: 4px; }
.contact-method-icon .ic, .contact-method-icon.ic { width: 24px; height: 24px; }
.cf-submitted-icon .ic, .cf-submitted-icon.ic { width: 40px; height: 40px; margin: 0 auto 14px; color: #fff; }
span.fac-icon, div.contact-method-icon { font-size: 0; } /* neutralisér gamle emoji-størrelser */

/* ── BOOKING-MODAL (Planyo iframe) ── */
.modal--booking { max-width: 920px; }
.modal-body--booking { padding: 0; }
.booking-frame {
  display: block; width: 100%;
  height: min(72vh, 680px);
  border: 0; background: #fff;
}
.booking-fallback {
  padding: 14px 24px 20px; font-size: 12px; color: var(--muted);
  background: var(--cream);
}
.booking-fallback a { color: var(--terra); font-weight: 700; }

/* ── TABLET ≤ 1024px ── */
@media (max-width: 1024px) {
  .site-nav { padding: 0 32px; }
  .content-section, .page-hero, .quote-band, .site-footer { padding-left: 32px; padding-right: 32px; }
  .hero-left { padding: 56px 40px; }
  .hero-panel { padding: 36px 36px; }
  .two-col { gap: 40px; }
}

/* ── ≤ 900px: et-spaltet layout ── */
@media (max-width: 900px) {
  .nav-links-sm { display: none; }

  .hero { grid-template-columns: 1fr; min-height: 0; }
  .hero-right { grid-template-rows: none; grid-template-columns: 1fr 1fr; }
  .hero-panel { min-height: 340px; border-left: none; border-top: 1px solid rgba(255,255,255,0.08); }
  .hero-panel:first-child { border-bottom: none; border-right: 1px solid rgba(255,255,255,0.08); }

  .two-col, .contact-grid { grid-template-columns: 1fr; }
  .three-col { grid-template-columns: 1fr; gap: 24px; }
  .feature-grid { grid-template-columns: 1fr 1fr; }
  .fac-grid { grid-template-columns: 1fr 1fr !important; }
  .plan-grid { grid-template-columns: 1fr !important; }

  .photo-grid { grid-template-columns: 1fr 1fr; }
  .photo-item--wide { grid-column: span 2; }

  .quote-band { grid-template-columns: 1fr; gap: 24px; padding-top: 56px; padding-bottom: 56px; }
  .q-label { writing-mode: horizontal-tb; transform: none; }

  .location-strip { grid-template-columns: 1fr; }
  .loc-cell { border-right: none; border-bottom: 1px solid var(--rule); }
  .loc-cell:last-child { border-bottom: none; }

  .footer-top { grid-template-columns: 1fr 1fr; }
}

/* ── MOBIL ≤ 640px ── */
@media (max-width: 640px) {
  .site-nav { padding: 0 16px; gap: 10px; }
  .nav-cat { padding: 8px 12px; font-size: 11px; letter-spacing: 0.03em; }
  .btn-book-nav { padding: 9px 14px; font-size: 11px; }

  .content-section, .page-hero, .site-footer { padding-left: 20px; padding-right: 20px; }
  .content-section { padding-top: 56px; padding-bottom: 56px; }
  .quote-band { padding-left: 20px; padding-right: 20px; }

  .hero-left { padding: 48px 20px 40px; }
  .hero-right { grid-template-columns: 1fr; }
  .hero-panel { min-height: 280px; border-right: none !important; }
  .hero-stats { flex-wrap: wrap; gap: 16px 0; }
  .stat-item { padding-right: 16px; margin-right: 16px; }

  .offer-grid-4 { grid-template-columns: 1fr; }
  .feature-grid { grid-template-columns: 1fr; }
  .fac-grid { grid-template-columns: 1fr !important; }
  .photo-grid { grid-template-columns: 1fr; }
  .photo-item--wide { grid-column: span 1; }
  .photo-item img, .photo-item--tall img, .photo-item--wide img { height: 240px; }

  .price-row { grid-template-columns: 1fr auto; }
  .price-row .pr-cell:last-child { grid-column: 1 / -1; padding-top: 0; }
  .price-row.header .pr-cell:last-child { display: none; }
  .pr-cell { padding: 16px 18px; }

  .footer-top { grid-template-columns: 1fr; gap: 32px; }
  .footer-bottom { flex-direction: column; gap: 6px; }

  .form-grid-2 { grid-template-columns: 1fr; }
  .booking-frame { height: 78vh; }
  .modal-overlay { padding: 10px; align-items: flex-end; }
}

/* ── Respektér reduceret bevægelse ── */
@media (prefers-reduced-motion: reduce) {
  .ticker-track { animation: none; flex-wrap: wrap; }
  .reveal, .reveal-stagger > * { opacity: 1; transform: none; transition: none; }
  html { scroll-behavior: auto; }
}
