/* Booking card: independent boxes, usable tap targets, no hidden details. */

.booking-hide-sm {
  display: block;
}

@media (max-width: 767px) {
  .property-booking-card {
    padding: 0.9rem !important;
    border-radius: 14px;
    box-sizing: border-box;
    max-width: 100%;
    overflow: visible;
  }

  .property-booking-form {
    gap: 0.75rem !important;
  }

  .property-booking-checkin-guests {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.5rem !important;
    width: 100% !important;
  }

  .property-booking-checkin-guests > .property-booking-dates,
  .property-booking-checkin-guests > .property-booking-guests {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  .property-booking-dates {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.5rem !important;
    width: 100% !important;
  }

  .property-booking-dates:has(#customStayPanel.hidden) {
    grid-template-columns: 1fr !important;
  }

  .property-booking-box,
  .property-booking-room {
    min-width: 0;
    overflow: visible;
  }

  .property-booking-date-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.5rem !important;
  }

  .property-booking-dates-box.is-custom-only .property-booking-date-grid {
    grid-template-columns: 1fr !important;
  }

  .property-booking-field,
  .property-booking-room {
    min-width: 0 !important;
  }

  .property-booking-field select,
  .property-booking-field input:not([type="hidden"]),
  .property-booking-field textarea {
    min-height: 2.75rem !important;
    height: auto !important;
    max-height: none !important;
    padding: 0.4rem 0 !important;
    font-size: 1rem !important;
    line-height: 1.35 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .property-booking-cta {
    min-height: 2.75rem !important;
    height: auto !important;
    max-height: none !important;
    padding: 0.75rem 1rem !important;
    font-size: 1rem !important;
    line-height: 1.3 !important;
    white-space: normal;
  }

  .property-booking-browse {
    min-height: 2.25rem;
    padding: 0.35rem 0.7rem !important;
    font-size: 0.8125rem !important;
  }

  .property-booking-date-summary,
  .property-booking-state-row,
  .property-booking-hint,
  .property-booking-policy-note {
    overflow-wrap: anywhere;
    white-space: normal;
  }

  #stayNightsDisplay,
  #stayPriceDisplay,
  #stayAvailDisplay {
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
  }
}
