.hero-image.has-quick-booking { flex-direction: column; width: 100%; min-width: 0; gap: 12px; }
.has-quick-booking .logo-hero-wrap { width: 160px; height: auto; flex: none; }
.has-quick-booking .hero-logo { width: 150px; height: auto; }
.quick-card { width: 100%; max-width: 520px; padding: 24px; background: #fff; color: #20334d; border: 1px solid #e2e8f0; border-radius: 22px; box-shadow: 0 16px 48px #102b4530; text-align: left; }
.quick-card h2 { font: 600 1.35rem 'Poppins', sans-serif; margin: 0 0 4px; color: #1e3a5f; }
.quick-intro { font-size: .85rem; color: #55657a; margin: 0 0 18px; }
.quick-form { padding: 0 !important; margin: 0 !important; box-shadow: none !important; border: 0 !important; background: transparent !important; width: 100%; max-width: none; text-align: left; }
.quick-form > [data-quick-panel] { display: none !important; }
.quick-form[data-quick-step="0"] > [data-quick-panel="0"], .quick-form[data-quick-step="1"] > [data-quick-panel="1"]:not(.hidden), .quick-form[data-quick-step="2"] > [data-quick-panel="2"]:not(.hidden) { display: block !important; }
.quick-form[data-quick-step="0"] > .form-row[data-quick-panel="0"], .quick-form[data-quick-step="2"] > .form-row[data-quick-panel="2"] { display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px; }
.quick-form .form-row { margin-bottom: 14px; }
.quick-form .form-group { min-width: 0; position: relative; }
.quick-card .quick-form .form-row > .form-group { padding: 0; border: 0; box-shadow: none; background: transparent; border-radius: 0; }
.quick-form .form-group > label { display: inline; }
.quick-field-heading { display: flex; align-items: center; gap: 4px; margin-bottom: 6px; }
.quick-form .quick-field-heading { margin-bottom: 2px; }
.quick-field-heading label { margin-bottom: 0; }
.quick-field-heading .quick-help { margin-left: 0; flex: none; }
.quick-form .form-group > input, .quick-form .form-group > select, .quick-form .form-group > textarea, .quick-form .clock-time-control { margin-top: 6px; }
.quick-form #quick-fecha, .quick-form #quick-origen, .quick-form #quick-destino { margin-top: 0; }
.quick-form input, .quick-form select, .quick-form textarea { font-size: 16px; }
.quick-form label { font-size: .82rem; }
.quick-form .quick-preview { margin: 6px 0 12px; font-size: .76rem; line-height: 1.6; color: #465e76; }
.quick-preview:empty { display: none; }
.quick-form[data-quick-step="0"] .form-row:has(#origen, #quick-origen, #quick-destino) { grid-template-columns: 1fr; }
.quick-actions { position: sticky; bottom: 0; background: #fff; padding: 12px 0 max(4px, env(safe-area-inset-bottom)); z-index: 5; }
.quick-next, .quick-start { width: 100%; min-height: 48px; }
.quick-live-total { margin: 0 0 8px; text-align: right; color: #1e3a5f; font-size: 1rem; font-weight: 600; }
.quick-full-trigger[hidden] { display: none; }
.quick-next:disabled { opacity: .6; cursor: wait; }
.quick-full-link { border: 0; background: none; text-decoration: underline; color: #4c6279; padding: 12px 0 0; cursor: pointer; font: inherit; font-size: .75rem; }
.quick-modal { position: fixed; inset: 0; z-index: 11900; }
.quick-backdrop { position: absolute; inset: 0; background: #0f172a99; backdrop-filter: blur(4px); }
.quick-dialog { position: relative; margin: 20px auto; width: min(680px, calc(100% - 32px)); max-height: calc(100dvh - 40px); overflow-y: auto; overscroll-behavior: contain; background: #fff; color: #20334d; border-radius: 22px; padding: 22px; box-shadow: 0 24px 80px #0004; }
.quick-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.quick-back, .quick-close { min-height: 44px; border: 1px solid #dce4ed; border-radius: 12px; padding: 8px 14px; background: #f7f9fc; color: #1e3a5f; cursor: pointer; font: inherit; }
.quick-close { font-size: 24px; line-height: 1; }
.quick-progress { color: #526982; font-size: .8rem; }
.quick-dialog h2 { font: 600 1.3rem 'Poppins', sans-serif; margin: 0 0 20px; }
.quick-modal-open { overflow: hidden; }
.quick-modal-open .notification, .quote-modal-open .notification { z-index: 14000 !important; }
.quick-price { background: #f4f8fc; border: 1px solid #dce6f1; padding: 16px; border-radius: 16px; margin: 16px 0; }
.quick-price .quote-list-item, .quick-price .quote-total-row { display: flex; flex-direction: row; align-items: baseline; justify-content: space-between; gap: 12px; padding: 9px 0; }
.quick-price .quote-list-item strong, .quick-price .quote-total-row strong { width: auto; flex: none; text-align: right; }
.quick-price .quote-list-item span, .quick-price .quote-total-row span { width: auto; }
.quick-form .route-summary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.quick-form #routeDurationValue { display: block; width: 100%; white-space: nowrap; }
.quick-form .route-summary { padding: 12px; }
.quick-form .route-summary-header { margin-bottom: 12px; }
.quick-form.quick-route-ready #routeSummaryStatus { display: none; }
.quick-map { position: relative; z-index: 0; isolation: isolate; margin: 14px 0; border-radius: 14px; overflow: hidden; }
.quick-map #quoteRouteMap { height: 240px; min-height: 200px; }
.quick-form #vehicleSelectionGroup > #childQuestionGroup.booking-option-buttons { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 12px; margin-top: 14px; }
.quick-form #vehicleSelectionGroup > #childQuestionGroup .booking-option-button-with-help,
.quick-form #vehicleSelectionGroup > #childQuestionGroup .booking-option-block > .booking-option-button { width: 100%; min-width: 0; }
.quick-form #vehicleSelectionGroup > #childQuestionGroup .booking-option-button-with-help .booking-option-button { width: auto; min-width: 0; flex: 1; }
.quick-form #vehicleSelectionGroup > #childQuestionGroup .booking-option-button-with-help { min-height: 50px; }
.quick-form #vehicleSelectionGroup > #childQuestionGroup .booking-option-button { min-height: 50px; }
.quick-form #vehicleSelectionGroup > #childQuestionGroup .booking-option-button-with-help .quick-help { margin-left: 0; }
.quick-form #vehicleSelectionGroup > #childQuestionGroup .luggage-open-button { margin-top: 0; }
.quick-form #vehicleSelectionGroup .passenger-count-label { margin-bottom: 0; }
.quick-form #vehicleSelectionGroup #pasajeros { margin-top: 2px; }
.quick-form[data-quick-step="2"] .quick-field-heading + input { margin-top: 0; }
.quick-form[data-quick-step="2"] .phone-prefix-stack,
.quick-form[data-quick-step="2"] .phone-number-stack { gap: 2px; }
.quick-form[data-quick-step="2"] .phone-prefix-stack > .quick-field-heading,
.quick-form[data-quick-step="2"] .phone-number-stack > .quick-field-heading { min-height: 22px; margin-bottom: 0; }
.quick-form[data-quick-step="2"] .phone-field-label { display: flex; align-items: center; min-height: 22px; margin-bottom: 0; }
.quick-form[data-quick-step="2"] .phone-prefix-select-trigger,
.quick-form[data-quick-step="2"] .phone-prefix-input,
.quick-form[data-quick-step="2"] #telefono,
.quick-form[data-quick-step="2"] #telefonoSecundario { min-height: 50px; height: 50px; }
.quick-no-toll { display: none; }
.quick-form .quick-no-toll { display: flex; align-items: center; gap: 10px; padding: 12px 0; cursor: pointer; }
.quick-no-toll input { width: 20px; height: 20px; }
.quick-form #routeTollSection .radio-group { display: none; }
.quick-help { margin-left: 6px; vertical-align: middle; }
.quick-form .form-help-wrap:not(.is-open):not(:hover):not(:focus-within) > .form-help-tooltip { display: none; }
.quick-summary-back { margin-bottom: 18px; }
.form-reserva:not(.quick-form) > .quick-price, .form-reserva:not(.quick-form) > .quick-map, .form-reserva:not(.quick-form) > .quick-preview, .form-reserva:not(.quick-form) > .quick-actions { display: none; }
@media (max-width: 768px) {
    .hero:has(.quick-card) { padding-top: 40px; }
    .quick-card { padding: 18px; border-radius: 18px; }
    .has-quick-booking .logo-hero-wrap { width: 110px; }
    .has-quick-booking .hero-logo { width: 105px; }
    .quick-dialog { margin: 8px auto; width: calc(100% - 16px); max-height: calc(100dvh - 16px); padding: 16px; border-radius: 18px; }
    .quick-form[data-quick-step="2"] > .form-row[data-quick-panel="2"] { grid-template-columns: 1fr; }
    .quick-form #vehicleSelectionGroup > #childQuestionGroup.booking-option-buttons { grid-template-columns: 1fr; }
}
@media (min-width: 769px) {
    .quick-modal { overflow-y: auto; padding: 20px 0; }
    .quick-backdrop { position: fixed; }
    .quick-dialog { margin: 0 auto; max-height: none; overflow: visible; }
}
@media (prefers-reduced-motion: reduce) { .quick-card *, .quick-dialog * { scroll-behavior: auto !important; animation: none !important; } }
