/* ── MOBILE RESPONSIVE ADDITIONS ── */

/* ── Booking form mobile ── */
@media (max-width: 900px) {
  .booking-grid {
    grid-template-columns: 1fr !important;
  }
  .booking-sidebar {
    position: static !important;
  }
}

/* ── Page hero mobile ── */
@media (max-width: 768px) {
  .page-hero { height: 45vh !important; min-height: 300px; }
  .page-hero-content h1 { font-size: 2.8rem !important; }

  /* Quick search bar stack on mobile */
  .quick-search-form {
    grid-template-columns: 1fr !important;
  }

  /* Hero feature pills */
  .hero-pills { gap: 8px !important; }
  .hero-pill { padding: 8px 14px !important; }

  /* About section */
  .about-grid { grid-template-columns: 1fr !important; }
  .around-grid { grid-template-columns: 1fr 1fr !important; grid-template-rows: auto !important; }

  /* Facility masonry grid */
  .facility-masonry {
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto !important;
  }
  .facility-masonry > a { grid-row: span 1 !important; }
  .facility-masonry img { height: 160px !important; }

  /* Availability list rows */
  .avail-row { grid-template-columns: 1fr !important; }
  .avail-row img { height: 220px !important; width: 100% !important; }
  .avail-row-actions {
    border-left: none !important;
    border-top: 1px solid var(--border) !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 20px !important;
  }

  /* Price table stack */
  .price-tables-grid { grid-template-columns: 1fr !important; }

  /* Room view gallery */
  .room-gallery-thumbs { grid-template-columns: repeat(4,1fr) !important; }

  /* Footer */
  #footer { padding: 60px 0 30px; }
  .footer-grid { gap: 32px !important; }

  /* Calendar widget full width */
  .calendar-widget { min-width: unset !important; }

  /* Stats strip */
  .stats-strip { gap: 24px !important; }
  .stats-divider { display: none; }

  /* Around us grid stacking */
  .around-content-grid { grid-template-columns: 1fr !important; }
  .around-photo-grid {
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: 200px 200px !important;
  }
  .around-photo-grid img { margin: 0 !important; height: 100% !important; }
}

@media (max-width: 480px) {
  .hero h1 { font-size: 2.8rem !important; }
  .section-title { font-size: 2rem !important; }
  .grid-3 { grid-template-columns: 1fr !important; }
  .grid-4 { grid-template-columns: 1fr 1fr !important; }
  .tabs { gap: 0; }
  .tab-btn { padding: 12px 16px; font-size: 11px; }
  .around-photo-grid { grid-template-columns: 1fr !important; }
  .stats-strip { flex-direction: column; gap: 16px !important; }
  .price-table-header .price-table-price { font-size: 2rem !important; }
  
  /* Booking form inner */
  #booking-form { padding: 28px !important; }
  .wedding-form { padding: 28px !important; }
  
  /* Mobile hero CTA buttons */
  .hero-ctas { flex-direction: column !important; }
  .hero-ctas .btn { width: 100%; justify-content: center; }
}

/* ── PRINT STYLES ── */
@media print {
  #header, #footer, .sticky-cta, .mobile-menu { display: none !important; }
  body { background: white; color: black; }
  .section { padding: 20px 0; }
}

/* ── HIGH CONTRAST / DARK MODE preference ── */
@media (prefers-color-scheme: light) {
  /* Keep dark theme — this is an intentional dark design */
  :root {
    color-scheme: dark;
  }
}

/* ── REDUCED MOTION ── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
  .reveal { opacity: 1 !important; transform: none !important; }
}
