/* ================================================================
   PANASH - CLEAN MOBILE CSS
   Does NOT touch burger menu (index.html handles that inline)
   Does NOT hide any content
   ================================================================ */


/* Prevent horizontal scroll */
html, body {
  overflow-x: hidden;
  max-width: 100vw;
}


/* Prevent iOS zoom on inputs (must be 16px minimum) */
@media (max-width: 767px) {
  input, textarea, select {
    font-size: 16px !important;
  }
}


/* ================================================================
   MOBILE LAYOUT ADJUSTMENTS (< 899px)
   ================================================================ */

@media (max-width: 899px) {

  /* Stack contact/reservations columns */
  .contact-grid,
  .res-layout {
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
  }

  /* Service cards stack */
  .service-card-lg {
    grid-template-columns: 1fr !important;
    text-align: center;
  }

  .service-card-left {
    align-items: center !important;
  }

  /* Hero CTA buttons stack */
  .hero-cta-row {
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 0 1.5rem;
    gap: 0.75rem;
  }

  .hero-cta-row .btn {
    width: 100%;
    justify-content: center;
  }
}


/* ================================================================
   SMALL MOBILE (< 767px)
   ================================================================ */

@media (max-width: 767px) {

  .event-types-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.75rem;
  }

  .address-details {
    flex-direction: column !important;
    gap: 1.25rem !important;
  }

  .address-actions {
    flex-direction: column;
    gap: 0.75rem;
  }

  .address-actions .btn {
    width: 100%;
    justify-content: center;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 2rem !important;
  }

  .toast-iframe-container iframe {
    height: 700px !important;
  }

  .location-map-wrap {
    height: 280px !important;
  }
}


/* ================================================================
   VERY SMALL PHONES (< 599px)
   ================================================================ */

@media (max-width: 599px) {

  .event-types-grid {
    grid-template-columns: 1fr !important;
  }

  .role-cards {
    grid-template-columns: 1fr !important;
  }

  .gallery-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .footer-grid {
    grid-template-columns: 1fr !important;
    text-align: center;
  }

  .social-row {
    justify-content: center;
  }

  .form-row {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
}


/* iOS Safari 100vh fix */
@supports (-webkit-touch-callout: none) {
  .hero {
    min-height: -webkit-fill-available;
  }
}