/* Use booking components and tokens; keep layout overrides local to Quick Request. */
.quick-request-page { max-width: 960px; padding-top: 48px; padding-bottom: 64px; }
.quick-request-heading { text-align: center; margin-bottom: 40px; }
.quick-request-heading h1 { color: var(--night-sky, #232f47); font-family: Manrope, Inter, sans-serif; font-size: clamp(28px, 3vw, 40px); font-weight: 600; line-height: 1.25; margin: 0 0 16px; }
.quick-request-heading p { font-size: 16px; line-height: 1.5; margin: 0; }
.quick-request-intro { max-width: 760px; margin: 0 auto 32px; text-align: center; font-size: 16px; line-height: 1.6; }
.quick-request-intro p { margin: 0 0 12px; }
.quick-request-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; list-style: none; margin: 0 0 40px; padding: 0; counter-reset: none; }
.quick-request-steps li { display: grid; grid-template-columns: 32px 1fr; grid-template-areas: "number title" "number text"; align-items: start; column-gap: 12px; row-gap: 4px; margin: 0; }
.quick-step-number { grid-area: number; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: var(--night-sky, #232f47); color: #fff; font-family: Manrope, Inter, sans-serif; font-size: 14px; font-weight: 600; }
.quick-step-title { grid-area: title; color: var(--night-sky, #232f47); font-family: Manrope, Inter, sans-serif; font-size: 16px; font-weight: 600; line-height: 32px; }
.quick-step-text { grid-area: text; color: var(--dark-grey, #8294a0); font-size: 14px; line-height: 1.5; }
.quick-request-form .quick-request-consent { align-items: flex-start; margin-top: 32px; }
/* The theme hides the real box; keep it focusable so the form stays usable from the keyboard. */
.quick-request-consent input[type="checkbox"] { display: block; position: absolute; width: 24px; height: 24px; margin: 0; opacity: 0; }
.quick-request-consent input[type="checkbox"]:focus-visible + .checkbox-icon { outline: 2px solid var(--light-blue, #379bfb); outline-offset: 3px; }
.quick-request-consent .checkbox-label { font-size: 14px; line-height: 1.5; }
.quick-request-submit:disabled { opacity: .5; cursor: not-allowed; }
.quick-request-form.booking-form { display: block; width: 100%; padding: 32px; border-radius: 16px; background: #fff; box-shadow: 0 64px 64px -48px rgba(119, 121, 124, .16); }
.quick-request-form h2 { color: var(--night-sky, #232f47); font-family: Manrope, Inter, sans-serif; font-size: 24px; font-weight: 500; line-height: 1.4; margin: 0 0 24px; }
.quick-request-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.quick-request-grid > label, .quick-request-grid > .label { display: flex; flex-direction: column; min-width: 0; max-width: none; margin: 0; }
.quick-request-form .quick-request-grid label > span:first-child, .quick-request-form .quick-travelers > span:first-child { white-space: normal; margin-bottom: 12px; }
.quick-request-grid em { color: var(--red, #ff0734); font-style: normal; }
.quick-request-grid small { color: var(--dark-grey, #8294a0); font-size: inherit; }
.quick-request-form input, .quick-request-form textarea, .quick-request-form select, .quick-request-form .my-select-active, .quick-request-form .field-dropdown-value { font-family: Inter, sans-serif; font-size: 14px; line-height: 24px; color: var(--night-sky, #232f47); background-color: #fff; transition: border-color 150ms ease, background-color 150ms ease; }
.quick-request-form select { width: 100%; height: 48px; padding: 10px 16px; border: 2px solid #b6b9be; border-radius: 8px; background: transparent; }
.quick-request-form input:focus-visible, .quick-request-form textarea:focus-visible, .quick-request-form button:focus-visible { outline: 2px solid var(--light-blue, #379bfb); outline-offset: 3px; }
.quick-request-form textarea { min-height: 104px; height: 104px; resize: vertical; }
.quick-full { grid-column: 1 / -1; }
.quick-airport-wrap { position: relative; }
.quick-airport-wrap .ui-autocomplete { z-index: 30; max-height: 280px; overflow-y: auto; width: 100%; box-sizing: border-box; }
.quick-airport-wrap .ui-menu-item-wrapper { line-height: 1.5; font-size: 14px; }
.quick-airport-wrap .ui-state-active { color: var(--night-sky, #232f47); }
.quick-airport-wrap small:empty { display: none; }
.quick-airport-wrap #quick-airport-help { font-size: 12px; margin-top: 8px; }
.quick-travelers .field-dropdown-value { justify-content: space-between; text-align: left; }
.quick-travelers .quantity-input button { border: 0; padding: 0; }
.quick-travelers .quantity-input input { width: 42px; min-height: 36px; line-height: 36px; }
.quick-request-form .quick-service-wrap { position: relative; width: 100%; }
.quick-service-wrap .my-select-active { justify-content: space-between; text-align: left; cursor: pointer; }
.quick-service-wrap .my-select-items { z-index: 30; width: 100%; }
.quick-service-wrap button.my-select-item { display: flex; width: 100%; border: 0; text-align: left; background: transparent; font-family: inherit; }
.quick-service-wrap button.my-select-item[aria-selected="true"] { background: var(--light-blue-30, #e3e8f2); }
.quick-request-submit { width: 100%; margin-top: 32px; min-height: 48px; font-size: 16px; }
.quick-request-submit:active:not(:disabled) { transform: scale(.98); }
@media (hover: hover) and (pointer: fine) {
    .quick-service-wrap button.my-select-item:hover { background: var(--light-blue-30, #e3e8f2); }
}
#quick-request-message { padding: 16px; border-radius: 8px; background: #edf8f1; color: #1a6540; margin-top: 24px; line-height: 1.5; }
#quick-request-message.is-error { background: #fff0f1; color: #ac2236; }
.quick-request-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.quick-request-captcha { margin: 24px 0 0; color: var(--dark-grey, #8294a0); font-size: 12px; line-height: 1.5; }
.quick-request-captcha a { color: inherit; text-decoration: underline; }
@media (max-width: 767px) {
    .quick-request-page { padding-top: 32px; padding-bottom: 40px; }
    .quick-request-heading { margin-bottom: 32px; }
    .quick-request-grid { grid-template-columns: 1fr; gap: 20px; }
    .quick-request-steps { grid-template-columns: 1fr; gap: 16px; margin-bottom: 32px; }
    .quick-request-form input, .quick-request-form textarea, .quick-request-form select { font-size: 16px; }
    .quick-request-form.booking-form { padding: 24px 20px; }
    .header-button { gap: 8px; }
    .header-button .quick-request-nav { padding: 8px 12px; font-size: 12px; min-height: 40px; }
}
