/* ==============================================
   BOOKING PAGE RESPONSIVE FIXES
   ============================================== */

/* Mobile (max-width: 768px) */
@media (max-width: 768px) {
  /* Hero Section - Better mobile video */
  .hero {
    height: 100vh !important;
    min-height: 100vh !important;
  }
  
  .hero-bg {
    min-height: 100vh !important;
    height: 100vh !important;
  }
  
  .hero h1 {
    font-size: clamp(28px, 8vw, 48px) !important;
  }
  
  .hero p {
    font-size: clamp(14px, 4vw, 18px) !important;
  }
  
  /* Booking Section - Mobile optimization */
  .booking-section {
    padding: 40px 20px !important;
    margin: 30px 15px !important;
    max-width: none !important;
    border-radius: 20px !important;
  }
  
  .booking-section h2 {
    font-size: 32px !important;
    margin-bottom: 30px !important;
  }
  
  /* Booking Summary - Mobile layout */
  #bookingSummary {
    padding: 20px 15px !important;
    margin-bottom: 25px !important;
    border-radius: 15px !important;
  }
  
  #bookingSummary h3 {
    font-size: 18px !important;
    margin-bottom: 15px !important;
  }
  
  #summaryContent {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  
  #summaryContent > div {
    padding: 12px !important;
  }
  
  #summaryContent .label {
    font-size: 11px !important;
  }
  
  #summaryContent .value {
    font-size: 14px !important;
  }
  
  .booking-hint {
    font-size: 13px !important;
    margin: -25px auto 30px !important;
    padding: 0 10px !important;
  }
  
  /* Booking Form - Mobile layout */
  .booking-section form {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  
  .booking-section form input,
  .booking-section form select,
  .booking-section form textarea {
    padding: 16px !important;
    font-size: 16px !important; /* Prevent zoom on iOS */
    border-radius: 12px !important;
  }
  
  .booking-section form textarea {
    height: 120px !important;
  }
  
  .booking-section form button {
    padding: 18px !important;
    font-size: 16px !important;
    border-radius: 25px !important;
  }
  
  /* Map - Mobile optimization */
  .map-wrap {
    border-radius: 15px !important;
  }
  
  #bookingMap {
    height: 250px !important;
  }
  
  .map-wrap > div {
    padding: 12px 15px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }
  
  .map-wrap > div i {
    font-size: 16px !important;
  }
  
  .map-wrap > div span {
    font-size: 12px !important;
  }
}

/* Tablet (769px - 1024px) */
@media (min-width: 769px) and (max-width: 1024px) {
  /* Booking Section - Tablet adjustments */
  .booking-section {
    padding: 60px 30px !important;
    margin: 40px 20px !important;
  }
  
  .booking-section h2 {
    font-size: 38px !important;
  }
  
  /* Booking Summary - Tablet layout */
  #summaryContent {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 15px !important;
  }
  
  /* Booking Form - Tablet layout */
  .booking-section form {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 25px !important;
  }
  
  /* Map - Tablet adjustments */
  #bookingMap {
    height: 320px !important;
  }
}

/* Small Mobile (max-width: 480px) */
@media (max-width: 480px) {
  /* Even smaller adjustments */
  .booking-section {
    padding: 30px 15px !important;
    margin: 20px 10px !important;
  }
  
  .booking-section h2 {
    font-size: 28px !important;
  }
  
  .booking-section form {
    gap: 15px !important;
  }
  
  .booking-section form input,
  .booking-section form select,
  .booking-section form textarea {
    padding: 15px !important;
  }
  
  #bookingMap {
    height: 200px !important;
  }
  
  .map-wrap > div {
    padding: 10px 12px !important;
  }
  
  .booking-section form button {
    padding: 16px !important;
    font-size: 15px !important;
  }
}

/* Large Desktop (min-width: 1200px) */
@media (min-width: 1200px) {
  /* Ensure proper spacing on large screens */
  .booking-section {
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Prevent horizontal overflow */
@media (max-width: 768px) {
  .booking-section,
  .booking-section form,
  .map-wrap,
  #bookingSummary {
    overflow-x: hidden !important;
  }
  
  .booking-section form input,
  .booking-section form select,
  .booking-section form textarea {
    max-width: 100% !important;
  }
  
  #bookingMap {
    max-width: 100% !important;
  }
}
