/* Scoped finishing layer; keep routes, quote calculation and gallery images intact. */
.booking-offer-preview__summary { display: none; }
.booking-request-notice {
    margin: 0 0 14px;
    padding: 10px 12px;
    border-left: 3px solid var(--primary, #c9161d);
    border-radius: 6px;
    background: var(--bg-card, #fff);
    color: var(--text-muted, #536174);
    font-size: 13px;
    line-height: 1.5;
}
body.catalog-reference-upgrade .offer-info .car-card__title { font-size: 24px; line-height: 1.2; }
body.catalog-reference-upgrade .offer-info .car-card__specs { font-size: 14px; line-height: 1.45; }
body.catalog-reference-upgrade .offer-checkout .card-total-price { font-size: 30px; line-height: 1.2; }
body.catalog-reference-upgrade .offer-checkout .card-daily-price { color: var(--text-muted); font-size: 14px; }
body.catalog-reference-upgrade .offer-checkout .card-book-btn { min-height: 46px; font-size: 15px; }
body.catalog-reference-upgrade #rental-destinations { margin-block: 20px; }

/* Match the existing 44px listing action: a visible control must also have a
   usable touch target. Scope overrides to the shared shell, not admin tables. */
html body.site-shell #main-header :is(#theme-btn, #user-badge) {
    min-height: 44px !important;
    min-width: 44px !important;
}
html body.catalog-reference-upgrade .catalog-view-controls button {
    min-height: 44px !important;
}
html body.site-shell #btn-mic { min-width: 44px !important; }

@media (max-width: 850px) {
    html body.site-shell #main-header { min-height: 58px; }

    /* One scroll owner, even when an already-open desktop modal is narrowed.
       The zero flex basis of the legacy right pane must not collapse a step
       or let its controls extend outside the visible sheet. */
    html body.site-shell #bookingModal .modal-body {
        flex-direction: column;
        overflow-y: auto !important;
        max-height: 96dvh !important;
        overscroll-behavior: contain;
    }
    html body.site-shell #bookingModal .m-left {
        flex: 0 0 auto !important;
        max-height: none !important;
        overflow-y: visible !important;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }
    html body.site-shell #bookingModal .m-right {
        flex: 0 0 auto !important;
        min-height: auto;
        overflow-y: visible !important;
    }
    html body.site-shell #bookingModal .m-right > * { flex-shrink: 0; }
}

@media (max-width: 760px) {
    html body.site-shell #bookingModal .booking-offer-preview {
        display: block !important;
        flex: 0 0 auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 0 12px !important;
        padding: 0 !important;
        overflow: visible !important;
        border: 1px solid var(--border, #dce2ea);
        border-radius: 12px;
        background: var(--bg-card, #fff);
    }
    html body.site-shell #bookingModal .booking-offer-preview > summary {
        display: flex;
        align-items: center;
        gap: 12px;
        min-height: 72px;
        padding: 12px;
        list-style: none;
        cursor: pointer;
    }
    .booking-offer-preview > summary::-webkit-details-marker { display: none; }
    .booking-offer-preview__summary img { flex: 0 0 64px; width: 64px; height: 48px; object-fit: contain; }
    .booking-offer-preview__summary > span:not(.booking-offer-preview__arrow) { flex: 1; min-width: 0; }
    .booking-offer-preview__summary strong { display: block; font-size: 17px; line-height: 1.3; overflow-wrap: anywhere; }
    .booking-offer-preview__summary small { display: block; margin-top: 4px; color: var(--text-muted); font-size: 13px; }
    .booking-offer-preview__summary:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }
    .booking-offer-preview[open] .booking-offer-preview__arrow { transform: rotate(180deg); }
    .booking-offer-preview__content { padding: 12px; border-top: 1px solid var(--border); }
    html body.site-shell #bookingModal .booking-offer-preview .swipe-gallery-wrapper {
        height: auto !important; min-height: 0 !important; max-height: none !important; overflow: hidden;
    }
    html body.site-shell #bookingModal .booking-offer-preview .swipe-gallery {
        height: auto !important; max-height: none !important; aspect-ratio: 4 / 3;
    }
    html body.site-shell #bookingModal .booking-offer-preview .swipe-gallery img {
        width: 100% !important; height: 100% !important; max-height: none !important;
        padding: 0 !important; object-fit: contain !important;
    }
    .booking-request-notice { font-size: 12px; margin-bottom: 10px; }
}
