/**
 * Aircraft charter module — shared by the B2B and B2C portals.
 *
 * Portal-neutral: every colour comes from a token, and each portal sets --acr-accent (+ friends) on the
 * .acr wrapper so the same markup reads as native in both. No global selectors — everything is nested under
 * .acr so this file can never affect the flight or hotel screens.
 */

.acr {
    --acr-accent: #313f51;
    --acr-accent-ink: #ffffff;
    --acr-accent-soft: rgba(49, 63, 81, .08);
    --acr-accent-line: rgba(49, 63, 81, .22);
    --acr-ink: #101828;
    --acr-ink-2: #3f4254;
    --acr-muted: #667085;
    --acr-line: #e6e9ef;
    --acr-line-2: #d7dde7;
    --acr-soft: #f8fafc;
    --acr-radius: 14px;
    --acr-radius-sm: 10px;
    --acr-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 12px 32px rgba(16, 24, 40, .06);
    font-family: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
    color: var(--acr-ink);
    -webkit-font-smoothing: antialiased;
}

.acr *, .acr *::before, .acr *::after { box-sizing: border-box; }

/* B2C runs the maroon brand; B2B keeps the slate default above. */
.acr--b2c {
    --acr-accent: #531524;
    --acr-accent-soft: rgba(83, 21, 36, .07);
    --acr-accent-line: rgba(83, 21, 36, .2);
}

/* ---------------------------------------------------------------- hero / head */
.acr-hero {
    position: relative;
    border-radius: var(--acr-radius);
    overflow: hidden;
    background: linear-gradient(135deg, var(--acr-accent) 0%, #0f172a 100%);
    color: #fff;
    padding: 30px 28px;
    margin-bottom: 22px;
}
.acr-hero__eyebrow {
    display: inline-flex; align-items: center; gap: 7px;
    font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
    color: rgba(255, 255, 255, .78);
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .2);
    padding: 5px 11px; border-radius: 999px; margin-bottom: 14px;
}
.acr-hero h1 { font-size: 26px; font-weight: 700; margin: 0 0 8px; letter-spacing: -.02em; line-height: 1.2; }
.acr-hero p { margin: 0; font-size: 14.5px; color: rgba(255, 255, 255, .82); max-width: 62ch; line-height: 1.6; }
.acr-hero__facts { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 20px; }
.acr-hero__fact { display: flex; align-items: center; gap: 9px; font-size: 13.5px; color: rgba(255, 255, 255, .9); }
.acr-hero__fact i { opacity: .85; }

/* ---------------------------------------------------------------- panels */
.acr-panel {
    background: #fff;
    border: 1px solid var(--acr-line);
    border-radius: var(--acr-radius);
    box-shadow: var(--acr-shadow);
    overflow: hidden;
}
.acr-panel + .acr-panel { margin-top: 20px; }
.acr-panel__head {
    display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap;
    padding: 18px 22px; border-bottom: 1px solid var(--acr-line);
}
.acr-panel__head h2 { font-size: 16px; font-weight: 700; margin: 0; color: var(--acr-ink); }
.acr-panel__head .acr-sub { display: block; font-size: 12.5px; color: var(--acr-muted); margin-top: 3px; font-weight: 500; }
.acr-panel__body { padding: 22px; }
.acr-panel__foot {
    display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap;
    padding: 16px 22px; border-top: 1px solid var(--acr-line); background: var(--acr-soft);
}

/* ---------------------------------------------------------------- form */
.acr-field { margin-bottom: 16px; }
.acr-label { display: block; font-size: 12.5px; font-weight: 700; color: var(--acr-ink-2); margin-bottom: 6px; }
.acr-label .req { color: #f04438; }
.acr-input, .acr-select, .acr-textarea {
    width: 100%; min-height: 44px;
    border: 1px solid var(--acr-line-2); border-radius: var(--acr-radius-sm);
    padding: 10px 13px; font-size: 14px; color: var(--acr-ink); background: #fff;
    transition: border-color .14s, box-shadow .14s;
}
.acr-input::placeholder, .acr-textarea::placeholder { color: #98a2b3; }
.acr-input:focus, .acr-select:focus, .acr-textarea:focus {
    outline: 0; border-color: var(--acr-accent);
    box-shadow: 0 0 0 3px var(--acr-accent-soft);
}
.acr-textarea { min-height: 88px; resize: vertical; line-height: 1.55; }
.acr-select { appearance: none; -webkit-appearance: none; cursor: pointer;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 12px center; background-size: 15px; padding-right: 38px; }
[dir="rtl"] .acr-select { background-position: left 12px center; padding-right: 13px; padding-left: 38px; }
.acr-hint { font-size: 12px; color: var(--acr-muted); margin-top: 6px; }
.acr-grid { display: grid; gap: 16px; }
.acr-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.acr-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.acr-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 991.98px) { .acr-grid--3, .acr-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .acr-grid--2, .acr-grid--3, .acr-grid--4 { grid-template-columns: 1fr; } }

/* trip-type segmented control */
.acr-segments { display: inline-flex; padding: 4px; gap: 4px; background: var(--acr-soft); border: 1px solid var(--acr-line); border-radius: 999px; margin-bottom: 20px; flex-wrap: wrap; }
.acr-segment { position: relative; }
.acr-segment input { position: absolute; opacity: 0; pointer-events: none; }
.acr-segment span {
    display: inline-flex; align-items: center; gap: 7px; padding: 9px 18px; border-radius: 999px;
    font-size: 13.5px; font-weight: 600; color: var(--acr-muted); cursor: pointer; transition: all .14s;
    white-space: nowrap;
}
.acr-segment input:checked + span { background: var(--acr-accent); color: var(--acr-accent-ink); box-shadow: 0 2px 8px var(--acr-accent-line); }
.acr-segment input:focus-visible + span { outline: 2px solid var(--acr-accent); outline-offset: 2px; }

/* legs */
.acr-leg { position: relative; border: 1px solid var(--acr-line); border-radius: var(--acr-radius-sm); padding: 18px; background: var(--acr-soft); }
.acr-leg + .acr-leg { margin-top: 14px; }
.acr-leg__index {
    display: inline-flex; align-items: center; gap: 7px; font-size: 11.5px; font-weight: 700;
    letter-spacing: .08em; text-transform: uppercase; color: var(--acr-muted); margin-bottom: 14px;
}
.acr-leg__remove {
    position: absolute; top: 12px; inset-inline-end: 12px;
    width: 30px; height: 30px; display: grid; place-items: center;
    border: 1px solid var(--acr-line-2); border-radius: 8px; background: #fff; color: var(--acr-muted); cursor: pointer;
    transition: all .14s;
}
.acr-leg__remove:hover { color: #b42318; border-color: #fda29b; background: #fef3f2; }
.acr-leg__grid { display: grid; grid-template-columns: 1fr 1fr 170px 110px; gap: 14px; align-items: start; }
@media (max-width: 991.98px) { .acr-leg__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575.98px) { .acr-leg__grid { grid-template-columns: 1fr; } }

/* airport autocomplete */
.acr-ac { position: relative; }
.acr-ac__menu {
    position: absolute; z-index: 40; inset-inline-start: 0; inset-inline-end: 0; top: calc(100% + 4px);
    max-height: 280px; overflow-y: auto; background: #fff;
    border: 1px solid var(--acr-line-2); border-radius: var(--acr-radius-sm);
    box-shadow: 0 12px 32px rgba(16, 24, 40, .14); display: none;
}
.acr-ac__menu.is-open { display: block; }
.acr-ac__item { display: flex; align-items: center; gap: 11px; padding: 10px 13px; cursor: pointer; border-bottom: 1px solid var(--acr-soft); }
.acr-ac__item:last-child { border-bottom: 0; }
.acr-ac__item:hover, .acr-ac__item.is-active { background: var(--acr-accent-soft); }
.acr-ac__code {
    flex: 0 0 auto; min-width: 46px; text-align: center; padding: 4px 8px; border-radius: 6px;
    background: var(--acr-accent); color: var(--acr-accent-ink);
    font-size: 11.5px; font-weight: 700; letter-spacing: .04em;
}
.acr-ac__name { font-size: 13.5px; color: var(--acr-ink); line-height: 1.35; }
.acr-ac__country { font-size: 11.5px; color: var(--acr-muted); }
.acr-ac__empty { padding: 14px; font-size: 13px; color: var(--acr-muted); text-align: center; }

/* buttons */
.acr-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 44px; padding: 11px 22px; border-radius: var(--acr-radius-sm);
    font-size: 14px; font-weight: 600; border: 1px solid transparent; cursor: pointer;
    text-decoration: none; transition: filter .14s, box-shadow .14s, border-color .14s, background .14s, transform .06s;
    white-space: nowrap;
}
.acr-btn--primary { background: var(--acr-accent); color: var(--acr-accent-ink) !important; box-shadow: 0 2px 10px var(--acr-accent-line); }
.acr-btn--primary:hover { filter: brightness(1.1); color: var(--acr-accent-ink) !important; }
.acr-btn--primary:active { transform: translateY(1px); }
.acr-btn--ghost { background: #fff; color: var(--acr-ink-2) !important; border-color: var(--acr-line-2); }
.acr-btn--ghost:hover { border-color: var(--acr-muted); background: var(--acr-soft); text-decoration: none; }
.acr-btn--link { background: transparent; color: var(--acr-accent) !important; padding: 6px 2px; min-height: 0; }
.acr-btn--block { width: 100%; }
.acr-btn[disabled], .acr-btn.is-loading { opacity: .62; pointer-events: none; }
.acr-btn__spinner { width: 15px; height: 15px; border: 2px solid currentColor; border-top-color: transparent; border-radius: 50%; animation: acr-spin .7s linear infinite; display: none; }
.acr-btn.is-loading .acr-btn__spinner { display: inline-block; }
@keyframes acr-spin { to { transform: rotate(360deg); } }

/* ---------------------------------------------------------------- alerts */
.acr-alert { display: flex; align-items: flex-start; gap: 11px; padding: 13px 16px; border-radius: var(--acr-radius-sm); font-size: 13.5px; line-height: 1.55; margin-bottom: 18px; }
.acr-alert i { margin-top: 2px; flex: 0 0 auto; }
.acr-alert ul { margin: 6px 0 0; padding-inline-start: 18px; }
.acr-alert--error { background: #fef3f2; color: #b42318; border: 1px solid #fda29b; }
.acr-alert--success { background: #ecfdf3; color: #027a48; border: 1px solid #a6f4c5; }
.acr-alert--info { background: var(--acr-soft); color: var(--acr-ink-2); border: 1px solid var(--acr-line); }

/* ---------------------------------------------------------------- results */
.acr-summary-bar {
    display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
    padding: 16px 20px; background: #fff; border: 1px solid var(--acr-line);
    border-radius: var(--acr-radius); box-shadow: var(--acr-shadow); margin-bottom: 20px;
}
.acr-route { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-weight: 700; font-size: 15px; color: var(--acr-ink); }
.acr-route i { color: var(--acr-muted); font-size: 12px; }
.acr-meta { display: flex; gap: 18px; flex-wrap: wrap; font-size: 13px; color: var(--acr-muted); margin-top: 6px; }
.acr-meta b { color: var(--acr-ink-2); font-weight: 600; }

.acr-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.acr-card {
    position: relative; display: flex; flex-direction: column;
    background: #fff; border: 1px solid var(--acr-line); border-radius: var(--acr-radius);
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04); overflow: hidden;
    transition: border-color .14s, box-shadow .14s, transform .14s;
}
.acr-card:hover { border-color: var(--acr-accent-line); box-shadow: var(--acr-shadow); transform: translateY(-1px); }
.acr-card.is-selected { border-color: var(--acr-accent); box-shadow: 0 0 0 3px var(--acr-accent-soft); }
/* Uniform media box for every card.
   The image is ABSOLUTELY positioned on purpose: with `aspect-ratio` on the box and `height:100%` on an
   in-flow image, the two depend on each other, browsers fall back to the image's natural height, and cards
   end up as tall as their source photo (portrait stills produced double-height cards). Taking the image out
   of flow breaks that cycle, so every card is exactly 16:9 regardless of what the operator sends. */
.acr-card__media { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: linear-gradient(135deg, #eef1f6, #dde3ec); }
.acr-card__media img {
    position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: cover; display: block;
    /* The operator's stills carry a baked-in white frame; a slight scale pushes it out of view. */
    transform: scale(1.04);
    transition: transform .45s ease;
}
.acr-card:hover .acr-card__media img { transform: scale(1.09); }
.acr-card__media-fallback { position: absolute; inset: 0; display: grid; place-items: center; font-size: 40px; color: #b9c2d0; }
.acr-card__cat {
    position: absolute; top: 10px; inset-inline-start: 10px;
    padding: 5px 10px; border-radius: 999px; background: rgba(16, 24, 40, .78); color: #fff;
    font-size: 11px; font-weight: 700; letter-spacing: .04em; backdrop-filter: blur(4px);
}
.acr-card__body { padding: 16px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.acr-card__name { font-size: 15.5px; font-weight: 700; color: var(--acr-ink); margin: 0; line-height: 1.3; }
.acr-card__specs { display: flex; flex-wrap: wrap; gap: 8px; }
.acr-spec { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 7px; background: var(--acr-soft); border: 1px solid var(--acr-line); font-size: 12px; color: var(--acr-ink-2); }
.acr-card__price-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 6px; }
.acr-card__price { font-size: 19px; font-weight: 700; color: var(--acr-ink); line-height: 1.1; }
.acr-card__price small { display: block; font-size: 11.5px; font-weight: 500; color: var(--acr-muted); margin-top: 3px; }
.acr-card__price--tbc { font-size: 14px; color: var(--acr-muted); font-weight: 600; }
.acr-card__foot { padding: 12px 16px; border-top: 1px solid var(--acr-line); background: var(--acr-soft); }
.acr-check { display: flex; align-items: center; gap: 10px; cursor: pointer; margin: 0; font-size: 13.5px; font-weight: 600; color: var(--acr-ink-2); }
.acr-check input { width: 17px; height: 17px; margin: 0; accent-color: var(--acr-accent); cursor: pointer; flex: 0 0 auto; }

/* selection tray */
.acr-tray {
    position: sticky; bottom: 0; z-index: 30; margin-top: 22px;
    display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
    padding: 15px 20px; background: #fff; border: 1px solid var(--acr-accent-line);
    border-radius: var(--acr-radius); box-shadow: 0 -6px 26px rgba(16, 24, 40, .1);
}
.acr-tray__count { font-size: 14px; font-weight: 600; color: var(--acr-ink); }
.acr-tray__count span { color: var(--acr-accent); }
.acr-tray__total { font-size: 13px; color: var(--acr-muted); }

.acr-loadmore { display: flex; justify-content: center; margin-top: 22px; }

/* empty / skeleton */
.acr-empty { text-align: center; padding: 56px 24px; color: var(--acr-muted); }
.acr-empty i { font-size: 42px; color: #d0d5dd; margin-bottom: 14px; display: block; }
.acr-empty h3 { font-size: 16px; font-weight: 700; color: var(--acr-ink); margin: 0 0 6px; }
.acr-empty p { margin: 0 auto; font-size: 13.5px; max-width: 44ch; line-height: 1.6; }

/* ---------------------------------------------------------------- tables (bookings) */
.acr-table-wrap { overflow-x: auto; }
.acr-table { width: 100%; border-collapse: collapse; min-width: 760px; }
.acr-table thead th {
    text-align: start; padding: 12px 18px; background: var(--acr-soft);
    border-bottom: 1px solid var(--acr-line);
    font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--acr-muted); white-space: nowrap;
}
.acr-table tbody td { padding: 15px 18px; border-bottom: 1px solid var(--acr-line); font-size: 13.5px; color: var(--acr-ink-2); vertical-align: middle; }
.acr-table tbody tr:hover { background: var(--acr-accent-soft); }
.acr-table tbody tr:last-child td { border-bottom: 0; }
.acr-ref { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12.5px; color: var(--acr-ink); }

.acr-badge { display: inline-flex; align-items: center; gap: 6px; padding: 4px 11px; border-radius: 999px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.acr-badge::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.acr-badge--warning { background: #fffaeb; color: #b54708; }
.acr-badge--info { background: #eff8ff; color: #175cd3; }
.acr-badge--success { background: #ecfdf3; color: #027a48; }
.acr-badge--danger { background: #fef3f2; color: #b42318; }
.acr-badge--secondary { background: #f2f4f7; color: #475467; }

/* ---------------------------------------------------------------- confirmation */
.acr-confirm { text-align: center; padding: 8px 0 4px; }
.acr-confirm__icon { width: 62px; height: 62px; margin: 0 auto 18px; border-radius: 50%; display: grid; place-items: center; background: #ecfdf3; color: #039855; font-size: 27px; box-shadow: 0 0 0 8px rgba(3, 152, 85, .07); }
.acr-confirm h2 { font-size: 20px; font-weight: 700; margin: 0 0 8px; color: var(--acr-ink); }
.acr-confirm p { font-size: 14px; color: var(--acr-muted); margin: 0 auto; max-width: 52ch; line-height: 1.65; }
.acr-kv { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; margin-top: 26px; text-align: start; }
.acr-kv__item { padding: 14px 16px; border: 1px solid var(--acr-line); border-radius: var(--acr-radius-sm); background: var(--acr-soft); }
.acr-kv__label { display: block; font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--acr-muted); margin-bottom: 5px; }
.acr-kv__value { font-size: 14.5px; font-weight: 600; color: var(--acr-ink); word-break: break-word; }

.acr-timeline { list-style: none; margin: 0; padding: 0; }
.acr-timeline li { position: relative; padding-inline-start: 26px; padding-bottom: 18px; }
.acr-timeline li:last-child { padding-bottom: 0; }
.acr-timeline li::before { content: ''; position: absolute; inset-inline-start: 0; top: 4px; width: 11px; height: 11px; border-radius: 50%; background: #fff; border: 2px solid var(--acr-accent); }
.acr-timeline li:not(:last-child)::after { content: ''; position: absolute; inset-inline-start: 5px; top: 17px; bottom: 0; width: 2px; background: var(--acr-line); }
.acr-timeline__title { font-size: 13.5px; font-weight: 700; color: var(--acr-ink); }
.acr-timeline__meta { font-size: 12.5px; color: var(--acr-muted); margin-top: 2px; }

/* =============================================================================
   SEARCH PAGE — editorial luxury
   -----------------------------------------------------------------------------
   Charcoal + warm paper + a single gold accent. A display serif for headlines
   against Inter for anything interactive, thin rules instead of boxes, and a
   lot of negative space: the vocabulary premium charter brands use.

   The operator's own fleet photography is low-resolution (video stills), so it
   is only ever used CROPPED in small tiles or heavily darkened as hero texture —
   never as a large sharp image, where the quality would show.
   ============================================================================= */

.acr {
    --acr-ink: #14120f;
    --acr-ink-2: #3a352e;
    --acr-muted: #6b6560;
    --acr-paper: #faf8f5;
    --acr-gold: #c6a664;
    --acr-gold-d: #a88742;
    --acr-rule: rgba(20, 18, 15, .12);
    --acr-serif: "Cormorant Garamond", "Georgia", "Times New Roman", serif;
}

/* B2C keeps its maroon for interactive elements; the editorial frame is shared. */
.acr--b2c { --acr-gold: #9a7b3f; --acr-gold-d: #7d6331; }

.acr-ed { background: var(--acr-paper); }

/* ---------- Eyebrow: gold caps between hairlines ---------- */
.acr-eyebrow {
    display: flex; align-items: center; gap: 14px;
    font-family: "Inter", sans-serif;
    font-size: 11px; font-weight: 600; letter-spacing: .26em; text-transform: uppercase;
    color: var(--acr-gold);
}
.acr-eyebrow::before, .acr-eyebrow::after { content: ''; height: 1px; flex: 1 1 auto; background: currentColor; opacity: .45; }
.acr-eyebrow--start::before { display: none; }
.acr-eyebrow--start::after { max-width: 90px; }

/* ---------- Hero ---------- */
.acr-hero-ed {
    position: relative;
    min-height: 60vh;
    display: flex; flex-direction: column; justify-content: center;
    padding: 74px 8% 132px;
    overflow: hidden;
    background: #14120f;
    color: #fff;
}
/* Low-res fleet still, darkened and softened — texture, not subject. */
.acr-hero-ed__bg {
    position: absolute; inset: 0;
    background-size: cover; background-position: center 35%;
    opacity: .3;
    filter: blur(2px) saturate(.75);
    transform: scale(1.08);
}
.acr-hero-ed__scrim {
    position: absolute; inset: 0;
    background:
        linear-gradient(180deg, rgba(20,18,15,.62) 0%, rgba(20,18,15,.78) 55%, #14120f 100%),
        radial-gradient(70% 90% at 18% 20%, rgba(198,166,100,.16), transparent 60%);
}
.acr-hero-ed > * { position: relative; z-index: 1; }
.acr-hero-ed .acr-eyebrow { color: var(--acr-gold); }

.acr-hero-ed h1 {
    font-family: var(--acr-serif);
    font-weight: 300;
    font-size: clamp(2.6rem, 6vw, 4.6rem);
    line-height: 1.02;
    letter-spacing: -.015em;
    margin: 26px 0 0;
    max-width: 17ch;
}
.acr-hero-ed h1 em { font-style: italic; color: var(--acr-gold); }
.acr-hero-ed__lede {
    margin: 22px 0 0;
    max-width: 46ch;
    font-size: 16px;
    line-height: 1.75;
    color: rgba(255, 255, 255, .7);
}
.acr-hero-ed__meta {
    display: flex; gap: 34px; flex-wrap: wrap; margin-top: 34px;
    padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .14);
    max-width: 620px;
}
.acr-hero-ed__meta div b {
    display: block;
    font-family: var(--acr-serif);
    font-size: 26px; font-weight: 400; line-height: 1; color: #fff;
}
.acr-hero-ed__meta div span {
    display: block; margin-top: 6px;
    font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: rgba(255, 255, 255, .5);
}

@media (max-width: 767.98px) {
    .acr-hero-ed { padding: 56px 22px 128px; min-height: 0; }
    .acr-hero-ed__meta { gap: 22px; }
}

/* ---------- The search bar, floating over the hero ---------- */
.acr-bar {
    position: relative;
    margin: -96px 6% 0;
    background: #fff;
    border-top: 2px solid var(--acr-gold);
    box-shadow: 0 32px 64px -28px rgba(20, 18, 15, .55);
}
.acr-bar__tabs { display: flex; gap: 28px; padding: 0 34px; border-bottom: 1px solid var(--acr-rule); flex-wrap: wrap; }
.acr-bar__tab { position: relative; }
.acr-bar__tab input { position: absolute; opacity: 0; pointer-events: none; }
.acr-bar__tab span {
    display: inline-block; padding: 18px 0 15px;
    font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
    color: var(--acr-muted); cursor: pointer; border-bottom: 2px solid transparent;
    transition: color .16s, border-color .16s;
}
.acr-bar__tab input:checked + span { color: var(--acr-ink); border-bottom-color: var(--acr-gold); }
.acr-bar__tab input:focus-visible + span { outline: 2px solid var(--acr-gold); outline-offset: 3px; }

.acr-bar__body { padding: 26px 34px 30px; }
@media (max-width: 767.98px) {
    .acr-bar { margin: -92px 16px 0; }
    .acr-bar__tabs { padding: 0 20px; gap: 18px; }
    .acr-bar__body { padding: 20px; }
}

/* legs as hairline-separated columns rather than boxed cards */
.acr-bar .acr-leg { background: transparent; border: 0; border-radius: 0; padding: 0; }
.acr-bar .acr-leg + .acr-leg { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--acr-rule); }
.acr-bar .acr-leg__index {
    font-family: var(--acr-serif); font-size: 15px; font-weight: 500; letter-spacing: 0;
    text-transform: none; color: var(--acr-gold-d); margin-bottom: 12px;
}
.acr-bar .acr-leg__index i { display: none; }
.acr-bar .acr-leg__remove { top: 0; inset-inline-end: 0; border-color: var(--acr-rule); border-radius: 0; }

.acr-bar .acr-leg__grid {
    grid-template-columns: minmax(0, 1.15fr) 46px minmax(0, 1.15fr) 170px 96px;
    gap: 0;
    align-items: end;
}
.acr-bar .acr-leg__grid > div { padding-inline: 18px; border-inline-start: 1px solid var(--acr-rule); }
.acr-bar .acr-leg__grid > div:first-child { padding-inline-start: 0; border-inline-start: 0; }
.acr-bar .acr-leg__grid > .acr-leg__when { display: contents; }

.acr-bar .acr-label {
    font-size: 10px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase;
    color: var(--acr-muted); margin-bottom: 7px;
}
.acr-bar .acr-label .req { color: var(--acr-gold-d); }
/* Underline inputs, not boxes — the editorial move that removes most of the visual noise. */
.acr-bar .acr-input, .acr-bar .acr-select {
    border: 0; border-radius: 0; background: transparent;
    padding: 6px 0 8px; min-height: 40px;
    font-family: var(--acr-serif); font-size: 19px; color: var(--acr-ink);
    border-bottom: 1px solid transparent;
}
.acr-bar .acr-input::placeholder { font-family: "Inter", sans-serif; font-size: 14px; color: #a9a49d; }
.acr-bar .acr-input:focus, .acr-bar .acr-select:focus { box-shadow: none; border-bottom-color: var(--acr-gold); }
.acr-bar .acr-select { background-position: right 0 center; padding-right: 22px; }
[dir="rtl"] .acr-bar .acr-select { background-position: left 0 center; padding-left: 22px; padding-right: 0; }

.acr-bar .acr-swap {
    align-self: end; margin-bottom: 4px;
    width: 38px; height: 38px; border: 1px solid var(--acr-rule); border-radius: 50%;
    background: #fff; color: var(--acr-gold-d);
}
.acr-bar .acr-swap:hover { background: var(--acr-paper); border-color: var(--acr-gold); transform: rotate(180deg); }

@media (max-width: 1199.98px) {
    .acr-bar .acr-leg__grid { grid-template-columns: minmax(0,1fr) 46px minmax(0,1fr); row-gap: 18px; }
    .acr-bar .acr-leg__grid > .acr-leg__when {
        grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 110px;
        padding: 0; border: 0;
    }
    .acr-bar .acr-leg__grid > .acr-leg__when > div { padding-inline: 0; border: 0; }
    .acr-bar .acr-leg__grid > .acr-leg__when > div + div { padding-inline-start: 18px; border-inline-start: 1px solid var(--acr-rule); }
}
@media (max-width: 575.98px) {
    .acr-bar .acr-leg__grid { grid-template-columns: 1fr; }
    .acr-bar .acr-leg__grid > div { padding-inline: 0; border-inline-start: 0; }
    .acr-bar .acr-leg__grid > .acr-leg__when { grid-template-columns: 1fr; }
    .acr-bar .acr-swap { justify-self: start; }
}

/* action row under the fields */
.acr-bar__go {
    display: flex; align-items: end; justify-content: space-between; gap: 22px; flex-wrap: wrap;
    margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--acr-rule);
}
.acr-bar__pax { display: flex; align-items: end; gap: 26px; flex-wrap: wrap; }
.acr-bar__pax > div { min-width: 122px; }

/* Onboard requirements: a filter row, sitting with the cabin rather than buried in the contact
   block at the foot of the page. Both are forwarded to the operator API, so they read as one
   group. A sibling of .acr-bar__go - the hero hides `.acr-bar__pax > div:not(.fh-cabin-field)`,
   which would have swallowed this had it been nested inside. */
.acr-bar__prefs {
    display: flex; align-items: baseline; gap: 26px; flex-wrap: wrap;
    margin-top: 18px;
}
.acr-bar__prefs-label { margin: 0; flex: 0 0 auto; }
.acr-bar__prefs-opts { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }

/* The submit now closes the form, under the contact block, so it spans the full width and sits
   on its own rule rather than floating beside the cabin select. */
.acr-bar__submit {
    display: flex; justify-content: center;
    margin-top: 26px; padding-top: 24px;
    border-top: 1px solid var(--acr-rule);
}
@media (max-width: 767px) {
    .acr-bar__submit { justify-content: stretch; }
    .acr-bar__submit .acr-btn--gold { width: 100%; }
    .acr-bar__prefs { gap: 10px; }
    .acr-bar__prefs-opts { gap: 14px; }
}

.acr-btn--gold {
    background: var(--acr-ink); color: #fff !important;
    min-height: 54px; padding: 0 38px; border-radius: 0;
    font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase;
    border: 1px solid var(--acr-ink);
    transition: background .18s, color .18s, border-color .18s;
}
.acr-btn--gold:hover { background: var(--acr-gold); border-color: var(--acr-gold); color: var(--acr-ink) !important; }
.acr-btn--outline {
    background: transparent; color: var(--acr-ink) !important;
    border: 1px solid var(--acr-rule); border-radius: 0;
    min-height: 44px; padding: 0 22px;
    font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
}
.acr-btn--outline:hover { border-color: var(--acr-gold); color: var(--acr-gold-d) !important; }

/* quick routes as quiet gold links */
.acr-routes { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; margin-top: 20px; }
.acr-routes__label { font-size: 10px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--acr-muted); }
.acr-route {
    background: none; border: 0; padding: 4px 0; cursor: pointer;
    font-family: var(--acr-serif); font-size: 17px; color: var(--acr-ink);
    border-bottom: 1px solid var(--acr-rule); transition: color .16s, border-color .16s;
}
.acr-route:hover { color: var(--acr-gold-d); border-bottom-color: var(--acr-gold); }
.acr-route i { font-size: 10px; margin: 0 6px; color: var(--acr-gold); vertical-align: middle; }

/* ---------- Editorial sections ---------- */
.acr-ed-section { padding: 84px 8% 0; }
.acr-ed-section--tight { padding-top: 62px; }
.acr-ed-head { max-width: 640px; margin-bottom: 34px; }
.acr-ed-head h2 {
    font-family: var(--acr-serif); font-weight: 300;
    font-size: clamp(1.8rem, 3.4vw, 2.6rem); line-height: 1.12; letter-spacing: -.01em;
    color: var(--acr-ink); margin: 20px 0 0;
}
.acr-ed-head p { margin: 16px 0 0; font-size: 15px; line-height: 1.75; color: var(--acr-muted); }
@media (max-width: 767.98px) { .acr-ed-section { padding: 60px 22px 0; } }

/* fleet tiles — photos cropped so the baked-in frames of the source stills fall outside */
.acr-fleet { display: grid; grid-template-columns: repeat(auto-fit, minmax(236px, 1fr)); gap: 2px; background: var(--acr-rule); }
.acr-fleet__item {
    position: relative; display: block; width: 100%; text-align: start;
    background: #fff; border: 0; cursor: pointer; overflow: hidden;
}
.acr-fleet__ph { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #1d1a16; }
.acr-fleet__ph img {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
    /* The source stills carry a white border; a slight scale pushes it out of frame. */
    transform: scale(1.09);
    filter: saturate(.9) contrast(1.05);
    transition: transform .5s ease;
}
.acr-fleet__item:hover .acr-fleet__ph img { transform: scale(1.15); }
.acr-fleet__ph::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(180deg, transparent 45%, rgba(20, 18, 15, .72) 100%);
}
.acr-fleet__ph i {
    position: absolute; inset: 0; display: grid; place-items: center;
    font-size: 34px; color: rgba(255, 255, 255, .22);
}
.acr-fleet__cap { position: absolute; inset-inline: 0; bottom: 0; z-index: 1; padding: 16px 18px; color: #fff; }
.acr-fleet__cap b { display: block; font-family: var(--acr-serif); font-size: 20px; font-weight: 400; }
.acr-fleet__cap span { display: block; margin-top: 3px; font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: rgba(255, 255, 255, .68); }
.acr-fleet__meta { padding: 15px 18px 18px; }
.acr-fleet__meta p { margin: 0; font-size: 13px; line-height: 1.6; color: var(--acr-muted); }
.acr-fleet__meta em { display: block; margin-top: 10px; font-style: normal; font-size: 10.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--acr-gold-d); }
.acr-fleet__item.is-active { outline: 2px solid var(--acr-gold); outline-offset: -2px; }

/* numbered steps with serif numerals on hairlines */
.acr-ed-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 0; }
.acr-ed-step { padding: 26px 26px 30px; border-top: 1px solid var(--acr-ink); }
.acr-ed-step + .acr-ed-step { border-inline-start: 1px solid var(--acr-rule); }
.acr-ed-step b { display: block; font-family: var(--acr-serif); font-size: 30px; font-weight: 300; color: var(--acr-gold); line-height: 1; }
.acr-ed-step h3 { font-size: 15px; font-weight: 700; color: var(--acr-ink); margin: 14px 0 8px; letter-spacing: -.01em; }
.acr-ed-step p { margin: 0; font-size: 13.5px; line-height: 1.7; color: var(--acr-muted); }
@media (max-width: 767.98px) { .acr-ed-step + .acr-ed-step { border-inline-start: 0; } }

/* contact block, restrained */
.acr-ed-details { margin: 0 8%; border: 1px solid var(--acr-rule); background: #fff; }
.acr-ed-details__head { padding: 22px 28px; border-bottom: 1px solid var(--acr-rule); }
.acr-ed-details__head h2 { font-family: var(--acr-serif); font-weight: 400; font-size: 22px; margin: 8px 0 0; color: var(--acr-ink); }
.acr-ed-details__body { padding: 26px 28px 30px; }
.acr-ed-details .acr-input, .acr-ed-details .acr-textarea {
    border: 0; border-bottom: 1px solid var(--acr-rule); border-radius: 0; background: transparent; padding-inline: 0;
}
.acr-ed-details .acr-input:focus, .acr-ed-details .acr-textarea:focus { box-shadow: none; border-bottom-color: var(--acr-gold); }
.acr-ed-details .acr-label { font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--acr-muted); }
@media (max-width: 767.98px) { .acr-ed-details { margin: 0 16px; } }

/* closing band */
.acr-ed-cta {
    margin-top: 84px; padding: 72px 8%;
    background: var(--acr-ink); color: #fff; text-align: center;
}
.acr-ed-cta h2 {
    font-family: var(--acr-serif); font-weight: 300; font-size: clamp(1.8rem, 3.6vw, 2.7rem);
    margin: 20px auto 0; max-width: 24ch; line-height: 1.12;
}
.acr-ed-cta p { margin: 18px auto 0; max-width: 52ch; font-size: 15px; line-height: 1.75; color: rgba(255, 255, 255, .66); }
.acr-ed-cta .acr-eyebrow { justify-content: center; color: var(--acr-gold); }
.acr-ed-cta .acr-btn { margin-top: 30px; background: transparent; color: #fff !important; border: 1px solid rgba(255,255,255,.4); }
.acr-ed-cta .acr-btn:hover { background: var(--acr-gold); border-color: var(--acr-gold); color: var(--acr-ink) !important; }

/* =============================================================================
   AIRCRAFT DETAIL — click a card to open the gallery + full specification
   ============================================================================= */

/* The clickable region of a card: media + body. The select checkbox stays outside it so choosing an
   aircraft never opens the dialog, and opening the dialog never changes the selection. */
.acr-card__open {
    display: flex; flex-direction: column; flex: 1;
    width: 100%; padding: 0; border: 0; background: none; text-align: start;
    cursor: pointer; color: inherit; font: inherit;
}
.acr-card__open:focus-visible { outline: 2px solid var(--acr-gold, #c6a664); outline-offset: -2px; }
.acr-card__more {
    display: inline-flex; align-items: center; gap: 7px; margin-top: 4px;
    font-size: 11.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
    color: var(--acr-gold-d, #a88742);
}
.acr-card__more i { font-size: 10px; transition: transform .16s; }
.acr-card__open:hover .acr-card__more i { transform: translateX(3px); }
.acr-card__shots {
    position: absolute; bottom: 10px; inset-inline-end: 10px; z-index: 1;
    display: inline-flex; align-items: center; gap: 6px;
    padding: 4px 9px; border-radius: 999px;
    background: rgba(20, 18, 15, .72); color: #fff; font-size: 11px; font-weight: 600;
    backdrop-filter: blur(4px);
}

/* ---------- Dialog ---------- */
.acr-modal {
    position: fixed; inset: 0; z-index: 1080;
    display: none; align-items: center; justify-content: center;
    padding: 28px;
    background: rgba(11, 10, 8, .74);
    backdrop-filter: blur(3px);
}
.acr-modal.is-open { display: flex; }
body.acr-modal-open { overflow: hidden; }

.acr-modal__box {
    position: relative;
    width: 100%; max-width: 1020px; max-height: 88vh;
    display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
    background: #fff; overflow: hidden;
    box-shadow: 0 40px 90px -30px rgba(11, 10, 8, .7);
    animation: acr-pop .22s ease;
}
@keyframes acr-pop { from { opacity: 0; transform: translateY(12px) scale(.985); } to { opacity: 1; transform: none; } }
@media (max-width: 900px) {
    .acr-modal { padding: 0; }
    .acr-modal__box { grid-template-columns: 1fr; max-height: 100vh; height: 100%; overflow-y: auto; }
}

.acr-modal__close {
    position: absolute; top: 12px; inset-inline-end: 12px; z-index: 3;
    width: 40px; height: 40px; border: 0; border-radius: 50%;
    background: rgba(20, 18, 15, .62); color: #fff; cursor: pointer; font-size: 15px;
    display: grid; place-items: center; backdrop-filter: blur(4px);
    transition: background .15s;
}
.acr-modal__close:hover { background: var(--acr-ink, #14120f); }

/* gallery side */
.acr-gal { position: relative; background: #14120f; min-height: 320px; }
.acr-gal__stage { position: relative; aspect-ratio: 4 / 3; overflow: hidden; }
@media (max-width: 900px) { .acr-gal__stage { aspect-ratio: 16 / 10; } }
.acr-gal__stage img {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
    transform: scale(1.03);
}
.acr-gal__empty { position: absolute; inset: 0; display: grid; place-items: center; color: rgba(255,255,255,.25); font-size: 46px; }
.acr-gal__nav {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 42px; height: 42px; border: 0; border-radius: 50%;
    background: rgba(255, 255, 255, .9); color: var(--acr-ink, #14120f);
    cursor: pointer; display: grid; place-items: center; font-size: 14px;
    transition: background .15s;
}
.acr-gal__nav:hover { background: #fff; }
.acr-gal__nav[disabled] { opacity: .35; pointer-events: none; }
.acr-gal__nav--prev { inset-inline-start: 12px; }
.acr-gal__nav--next { inset-inline-end: 12px; }
.acr-gal__count {
    position: absolute; bottom: 12px; inset-inline-start: 12px;
    padding: 4px 10px; border-radius: 999px; background: rgba(20, 18, 15, .7); color: #fff;
    font-size: 11.5px; font-weight: 600; letter-spacing: .06em;
}
.acr-gal__thumbs { display: flex; gap: 8px; padding: 10px; overflow-x: auto; background: #1b1813; }
.acr-gal__thumb {
    flex: 0 0 auto; width: 74px; height: 54px; padding: 0; border: 2px solid transparent; border-radius: 2px;
    overflow: hidden; cursor: pointer; background: #2a251e; opacity: .62; transition: opacity .15s, border-color .15s;
}
.acr-gal__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.acr-gal__thumb.is-active, .acr-gal__thumb:hover { opacity: 1; border-color: var(--acr-gold, #c6a664); }

/* detail side */
.acr-det { padding: 30px 30px 26px; overflow-y: auto; display: flex; flex-direction: column; }
.acr-det__cat { font-size: 10.5px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--acr-gold-d, #a88742); }
.acr-det h2 {
    font-family: var(--acr-serif, Georgia, serif); font-weight: 400;
    font-size: 27px; line-height: 1.15; color: var(--acr-ink, #14120f); margin: 10px 0 0;
}
.acr-det__specs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.acr-det__price { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--acr-rule, rgba(20,18,15,.12)); }
.acr-det__price b { font-family: var(--acr-serif, Georgia, serif); font-size: 30px; font-weight: 400; color: var(--acr-ink, #14120f); display: block; line-height: 1; }
.acr-det__price span { display: block; margin-top: 6px; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--acr-muted, #6b6560); }
.acr-det__label { margin: 22px 0 10px; font-size: 10.5px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--acr-muted, #6b6560); }
.acr-det__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.acr-det__list li { display: flex; gap: 9px; font-size: 13.5px; color: var(--acr-ink-2, #3a352e); line-height: 1.5; }
.acr-det__list i { color: var(--acr-gold-d, #a88742); font-size: 11px; margin-top: 4px; flex: 0 0 auto; }
.acr-det__foot { margin-top: auto; padding-top: 24px; display: flex; gap: 10px; flex-wrap: wrap; }
.acr-det__foot .acr-btn { flex: 1 1 auto; }

/* =============================================================================
   CHARTER REQUESTS — the request ledger
   -----------------------------------------------------------------------------
   The same vocabulary as the search page (charcoal, warm paper, one gold accent,
   a display serif on hairlines instead of boxes) applied to a data-dense list.

   Deliberately does NOT restyle .acr-panel / .acr-table: those still dress the
   results and confirmation screens, so this section adds its own .acr-req*
   vocabulary rather than changing components other pages depend on.
   ============================================================================= */

.acr-ledger { box-shadow: 0 30px 60px -42px rgba(20, 18, 15, .45); }

/* ---------- Masthead: the page supplies its own header, so both portals match ---------- */
.acr-masthead {
    position: relative;
    padding: 34px 38px 0;
    background: var(--acr-ink);
    border-top: 2px solid var(--acr-gold);
    color: #fff;
    overflow: hidden;
}
/* A single soft gold wash keeps the band from reading as a flat black rectangle. */
.acr-masthead::after {
    content: '';
    position: absolute; inset-inline-end: -150px; top: -210px;
    width: 540px; height: 540px; border-radius: 50%;
    background: radial-gradient(circle, rgba(198, 166, 100, .17) 0%, rgba(198, 166, 100, 0) 68%);
    pointer-events: none;
}
.acr-masthead > * { position: relative; z-index: 1; }
.acr-masthead__top { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; flex-wrap: wrap; }
.acr-masthead__text { min-width: 0; }
.acr-masthead .acr-eyebrow { color: var(--acr-gold); }
.acr-masthead h1 {
    font-family: var(--acr-serif); font-weight: 300;
    font-size: clamp(1.9rem, 3.1vw, 2.55rem); line-height: 1.08; letter-spacing: -.01em;
    margin: 18px 0 0; color: #fff;
}
.acr-masthead h1 em { font-style: italic; color: var(--acr-gold); }
.acr-masthead__lede { margin: 13px 0 0; max-width: 56ch; font-size: 14px; line-height: 1.7; color: rgba(255, 255, 255, .6); }
.acr-masthead__cta { flex: 0 0 auto; padding-bottom: 4px; }
/* Solid gold on charcoal: the one loud element on the page, and it is the primary action. */
.acr-masthead .acr-btn--gold { background: var(--acr-gold); border-color: var(--acr-gold); color: var(--acr-ink) !important; }
.acr-masthead .acr-btn--gold:hover { background: #fff; border-color: #fff; color: var(--acr-ink) !important; }

/* ---------- Figures rail, serif numerals on a hairline ---------- */
.acr-stats { display: flex; flex-wrap: wrap; margin-top: 30px; border-top: 1px solid rgba(255, 255, 255, .14); }
.acr-stat { padding: 20px 34px 22px; border-inline-start: 1px solid rgba(255, 255, 255, .1); }
.acr-stat:first-child { padding-inline-start: 0; border-inline-start: 0; }
.acr-stat b {
    display: block; font-family: var(--acr-serif); font-size: 30px; font-weight: 400; line-height: 1;
    color: #fff; font-variant-numeric: tabular-nums;
}
.acr-stat b i {
    font-family: "Inter", sans-serif; font-style: normal; font-size: 11.5px; font-weight: 600;
    letter-spacing: .1em; color: var(--acr-gold); margin-inline-end: 7px; vertical-align: 4px;
}
.acr-stat span { display: block; margin-top: 9px; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: rgba(255, 255, 255, .45); }
.acr-stat em { display: block; margin-top: 6px; font-style: normal; font-size: 10.5px; color: var(--acr-gold); }

/* ---------- Filter rail ---------- */
.acr-rail {
    display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
    padding: 0 38px;
    background: #fff; border: 1px solid var(--acr-rule); border-top: 0;
}
.acr-rail__tabs { display: flex; gap: 26px; flex-wrap: wrap; min-width: 0; }
.acr-tab {
    display: inline-flex; align-items: baseline; gap: 7px;
    padding: 17px 0 15px;
    font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
    color: var(--acr-muted); text-decoration: none; white-space: nowrap;
    border-bottom: 2px solid transparent;
    transition: color .16s, border-color .16s;
}
.acr-tab:hover, .acr-tab:focus { color: var(--acr-ink); text-decoration: none; }
.acr-tab.is-active { color: var(--acr-ink); border-bottom-color: var(--acr-gold); }
.acr-tab u { text-decoration: none; font-size: 10.5px; font-weight: 700; letter-spacing: .04em; color: var(--acr-gold-d); }
.acr-tab.is-empty { color: #b4afa8; }
.acr-tab.is-empty u { color: #cfc9c0; }

/* underline search field, matching the search page's inputs */
.acr-find { display: flex; align-items: center; gap: 10px; padding: 9px 0; }
.acr-find__box { position: relative; display: flex; align-items: center; }
.acr-find__box i { position: absolute; inset-inline-start: 0; font-size: 11px; color: var(--acr-muted); pointer-events: none; }
.acr-find input {
    width: 208px; padding: 8px 0 8px 22px;
    border: 0; border-bottom: 1px solid var(--acr-rule); border-radius: 0; background: transparent;
    font-size: 13px; color: var(--acr-ink);
}
[dir="rtl"] .acr-find input { padding: 8px 22px 8px 0; }
.acr-find input::placeholder { color: #a9a49d; }
.acr-find input:focus { outline: 0; border-bottom-color: var(--acr-gold); }
.acr-find__clear { font-size: 10.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--acr-muted); text-decoration: none; }
.acr-find__clear:hover { color: var(--acr-gold-d); text-decoration: none; }

/* ---------- One request per row ---------- */
.acr-reqs { background: #fff; border: 1px solid var(--acr-rule); border-top: 0; }
.acr-req {
    display: grid;
    grid-template-columns: 148px minmax(0, 1fr) minmax(184px, auto);
    gap: 28px; align-items: start;
    padding: 26px 38px;
    color: inherit; text-decoration: none;
    transition: background .16s;
}
.acr-req + .acr-req { border-top: 1px solid var(--acr-rule); }
.acr-req:hover, .acr-req:focus { background: var(--acr-paper); color: inherit; text-decoration: none; }
.acr-req:focus-visible { outline: 2px solid var(--acr-gold); outline-offset: -2px; }

.acr-req__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #1d1a16; }
.acr-req__media img {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
    /* The operator's stills carry a baked-in white border; a slight scale pushes it out of frame. */
    transform: scale(1.07); filter: saturate(.92) contrast(1.04);
    transition: transform .5s ease;
}
.acr-req:hover .acr-req__media img { transform: scale(1.13); }
.acr-req__media > i { position: absolute; inset: 0; display: grid; place-items: center; font-size: 26px; color: rgba(255, 255, 255, .2); }
.acr-req__extra {
    position: absolute; inset-inline-start: 0; bottom: 0; padding: 4px 9px;
    background: rgba(20, 18, 15, .78); color: #fff;
    font-size: 9.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
}

.acr-req__body { min-width: 0; }
.acr-req__cat { font-size: 10px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--acr-gold-d); }
.acr-req__name {
    font-family: var(--acr-serif); font-size: 24px; font-weight: 400; line-height: 1.16;
    color: var(--acr-ink); margin: 7px 0 0; overflow-wrap: anywhere;
}
.acr-req__name u { text-decoration: none; font-family: "Inter", sans-serif; font-size: 12px; color: var(--acr-muted); }

/* route: two codes with a gold hop between them */
.acr-req__route { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 15px; }
.acr-req__pt { min-width: 0; }
.acr-req__pt b { display: block; font-size: 16.5px; font-weight: 700; letter-spacing: .06em; color: var(--acr-ink); }
.acr-req__pt span { display: block; margin-top: 2px; font-size: 11.5px; color: var(--acr-muted); overflow-wrap: anywhere; }
.acr-req__hop { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; margin-bottom: 14px; color: var(--acr-gold); font-size: 9.5px; }
.acr-req__hop::before, .acr-req__hop::after { content: ''; width: 24px; height: 1px; background: currentColor; opacity: .55; }
.acr-req__legs { margin-top: 9px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--acr-muted); }

.acr-req__facts { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 16px; padding-top: 15px; border-top: 1px solid var(--acr-rule); }
.acr-req__fact { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; color: var(--acr-muted); }
.acr-req__fact i { font-size: 10px; color: var(--acr-gold-d); }
.acr-req__fact b { font-weight: 600; color: var(--acr-ink-2); }
.acr-req__fact code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 11.5px; letter-spacing: .06em; color: var(--acr-ink-2); background: none; padding: 0;
}

/* right column: reference, state, figure, action */
.acr-req__side { display: flex; flex-direction: column; align-items: flex-end; gap: 13px; text-align: end; }
.acr-req__ref {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 11.5px; letter-spacing: .09em; color: var(--acr-muted);
}
.acr-req__price {
    font-family: var(--acr-serif); font-size: 27px; font-weight: 400; line-height: 1;
    color: var(--acr-ink); font-variant-numeric: tabular-nums;
}
.acr-req__price i {
    font-family: "Inter", sans-serif; font-style: normal; font-size: 11.5px; font-weight: 600;
    letter-spacing: .1em; color: var(--acr-muted); margin-inline-end: 6px; vertical-align: 3px;
}
.acr-req__price small { display: block; margin-top: 7px; font-family: "Inter", sans-serif; font-size: 9.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--acr-muted); }
.acr-req__price--tbc { font-family: "Inter", sans-serif; font-size: 13px; font-weight: 600; color: var(--acr-muted); }
.acr-req__go {
    display: inline-flex; align-items: center; gap: 9px; margin-top: 2px;
    font-size: 10px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--acr-gold-d);
}
.acr-req__go i { font-size: 9px; transition: transform .16s; }
.acr-req:hover .acr-req__go i { transform: translateX(4px); }
[dir="rtl"] .acr-req__go i { transform: scaleX(-1); }
[dir="rtl"] .acr-req:hover .acr-req__go i { transform: scaleX(-1) translateX(4px); }

/* ---------- Status, in the module's earth palette rather than SaaS brights ---------- */
.acr-state {
    display: inline-flex; align-items: center; gap: 7px; padding: 5px 11px;
    border: 1px solid; background: #fff;
    font-size: 10px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap;
}
.acr-state::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.acr-state--warning { color: #8a5a12; border-color: rgba(138, 90, 18, .32); background: rgba(198, 166, 100, .12); }
.acr-state--info { color: #2c586f; border-color: rgba(44, 88, 111, .28); background: rgba(44, 88, 111, .06); }
.acr-state--success { color: #2f5d3f; border-color: rgba(47, 93, 63, .28); background: rgba(47, 93, 63, .06); }
.acr-state--danger { color: #8c2f24; border-color: rgba(140, 47, 36, .28); background: rgba(140, 47, 36, .05); }
.acr-state--secondary { color: var(--acr-muted); border-color: var(--acr-rule); background: var(--acr-paper); }
.acr-req__remote { font-size: 10.5px; color: var(--acr-muted); }

/* ---------- Foot / pager ---------- */
.acr-ledger__foot {
    display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
    padding: 17px 38px;
    background: var(--acr-paper); border: 1px solid var(--acr-rule); border-top: 0;
}
.acr-ledger__count { font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--acr-muted); }
.acr-ledger__foot .pagination { display: flex; gap: 6px; list-style: none; margin: 0; padding: 0; }
.acr-ledger__foot .page-item .page-link {
    display: grid; place-items: center; min-width: 36px; height: 36px; padding: 0 11px;
    border: 1px solid var(--acr-rule); border-radius: 0; background: #fff; box-shadow: none;
    font-size: 12.5px; color: var(--acr-ink-2);
}
.acr-ledger__foot .page-item .page-link:hover { border-color: var(--acr-gold); color: var(--acr-gold-d); text-decoration: none; }
.acr-ledger__foot .page-item.active .page-link { background: var(--acr-ink); border-color: var(--acr-ink); color: #fff; }
.acr-ledger__foot .page-item.disabled .page-link { opacity: .4; pointer-events: none; }

/* ---------- Nothing to show ---------- */
.acr-blank {
    padding: 74px 38px 82px; text-align: center;
    background: #fff; border: 1px solid var(--acr-rule); border-top: 0;
}
.acr-blank__mark {
    width: 76px; height: 76px; margin: 0 auto 26px;
    border: 1px solid var(--acr-rule); border-radius: 50%;
    display: grid; place-items: center; font-size: 25px; color: var(--acr-gold);
}
.acr-blank h3 { font-family: var(--acr-serif); font-weight: 400; font-size: 26px; line-height: 1.2; color: var(--acr-ink); margin: 0; }
.acr-blank p { margin: 13px auto 0; max-width: 48ch; font-size: 13.5px; line-height: 1.75; color: var(--acr-muted); }
.acr-blank__acts { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; margin-top: 27px; }

/* ---------- Narrower viewports ---------- */
@media (max-width: 1199.98px) {
    .acr-masthead { padding: 30px 26px 0; }
    .acr-stat { padding: 18px 26px 20px; }
    .acr-rail, .acr-req, .acr-ledger__foot, .acr-blank { padding-inline: 26px; }
    .acr-req { grid-template-columns: 132px minmax(0, 1fr); gap: 24px; }
    .acr-req__side {
        grid-column: 1 / -1;
        flex-direction: row; align-items: center; justify-content: space-between; flex-wrap: wrap;
        gap: 16px; text-align: start;
        padding-top: 18px; border-top: 1px solid var(--acr-rule);
    }
    .acr-req__price small { margin-top: 4px; }
}
@media (max-width: 767.98px) {
    .acr-masthead { padding: 26px 20px 0; }
    .acr-masthead__cta { padding-bottom: 0; }
    .acr-stats { margin-top: 24px; }
    .acr-stat { padding: 15px 20px 17px; }
    .acr-stat b { font-size: 25px; }
    .acr-rail { padding: 0 20px; }
    .acr-rail__tabs { gap: 18px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .acr-find { width: 100%; padding-bottom: 14px; }
    .acr-find input { width: 100%; }
    .acr-find__box { flex: 1 1 auto; }
    .acr-req { grid-template-columns: 1fr; gap: 18px; padding: 20px; }
    .acr-req__media { aspect-ratio: 16 / 9; }
    .acr-req__name { font-size: 21px; }
    .acr-ledger__foot, .acr-blank { padding-inline: 20px; }
    .acr-blank { padding-top: 56px; padding-bottom: 60px; }
}

/* -------------------------------------------------------------- round trip */
/* A round trip is one leg plus a return date (AcrLegs.applyTripView): the
   second leg is mirrored from the first and hidden, rather than asked for
   twice. Both are toggled with the `hidden` attribute, so make sure nothing
   in this sheet can out-rank the UA's [hidden] rule. */
[data-acr-leg][hidden],
[data-acr-return-field][hidden] { display: none !important; }

/* With Return shown the row carries six fields, not five. */
.acr-bar .acr-leg--round .acr-leg__grid {
    grid-template-columns: minmax(0, 1.15fr) 46px minmax(0, 1.15fr) 150px 150px 96px;
}
@media (max-width: 991.98px) {
    .acr-bar .acr-leg--round .acr-leg__grid { grid-template-columns: minmax(0,1fr) 46px minmax(0,1fr); }
    .acr-bar .acr-leg--round .acr-leg__when { grid-template-columns: 1fr 1fr 110px; }
}
@media (max-width: 575.98px) {
    .acr-bar .acr-leg--round .acr-leg__grid { grid-template-columns: 1fr; }
    .acr-bar .acr-leg--round .acr-leg__when { grid-template-columns: 1fr; }
}

/* ── Result filters ───────────────────────────────────────────────────────────
   A sticky aside beside the grid on desktop, a slide-in drawer under 1024px.
   Collapsible sections, each showing what it is currently doing when closed.
   Tokens only, so both portals keep their own accent.                          */

.acr-results-layout { display: grid; grid-template-columns: 286px minmax(0, 1fr); gap: 22px; align-items: start; }
.acr-results-main { min-width: 0; }

.acr-filters {
    position: sticky; top: 16px; display: flex; flex-direction: column;
    background: #fff; border: 1px solid var(--acr-line); border-radius: var(--acr-radius);
    box-shadow: var(--acr-shadow); overflow: hidden;
}

/* ---- head ---- */
.acr-filters__head {
    display: flex; align-items: center; gap: 10px;
    padding: 15px 16px; border-bottom: 1px solid var(--acr-line);
}
.acr-filters__title {
    display: flex; align-items: center; gap: 9px; margin-right: auto;
    font-size: 15px; font-weight: 700; color: var(--acr-ink); letter-spacing: -.01em;
}
.acr-filters__title i { font-size: 13px; color: var(--acr-accent); }
.acr-filters__n {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px;
    background: var(--acr-accent); color: var(--acr-accent-ink); font-size: 11px; font-weight: 700;
}
.acr-filters__clear {
    border: 0; background: none; padding: 4px 2px; cursor: pointer;
    font-size: 12.5px; font-weight: 600; color: var(--acr-accent);
}
.acr-filters__clear:hover { text-decoration: underline; }
.acr-filters__x, .acr-filters__foot { display: none; }

/* ---- active filter pills ---- */
.acr-fpills {
    display: flex; flex-wrap: wrap; gap: 6px;
    padding: 12px 16px; background: var(--acr-soft); border-bottom: 1px solid var(--acr-line);
}
.acr-fpill {
    display: inline-flex; align-items: center; gap: 6px; max-width: 100%;
    padding: 4px 6px 4px 10px; border-radius: 999px;
    background: #fff; border: 1px solid var(--acr-accent-line);
    font-size: 11.5px; font-weight: 600; color: var(--acr-ink-2);
}
.acr-fpill__t { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.acr-fpill button {
    display: inline-flex; align-items: center; justify-content: center;
    width: 16px; height: 16px; flex: 0 0 16px; padding: 0; cursor: pointer;
    border: 0; border-radius: 50%; background: var(--acr-accent-soft); color: var(--acr-accent);
    font-size: 9px; line-height: 1;
}
.acr-fpill button:hover { background: var(--acr-accent); color: var(--acr-accent-ink); }

/* ---- body ---- */
.acr-filters__body { padding: 0 16px; max-height: calc(100vh - 190px); overflow-y: auto; overscroll-behavior: contain; }
.acr-filters__body::-webkit-scrollbar { width: 8px; }
.acr-filters__body::-webkit-scrollbar-thumb { background: var(--acr-line-2); border-radius: 999px; border: 2px solid #fff; }
.acr-filters__body::-webkit-scrollbar-track { background: transparent; }
.acr-filters__body { scrollbar-width: thin; scrollbar-color: var(--acr-line-2) transparent; }

.acr-fgroup { border-bottom: 1px solid var(--acr-line); }
.acr-fgroup:last-child { border-bottom: 0; }
.acr-fgroup--plain { padding: 16px 0; }

/* ---- section header ---- */
.acr-fhead {
    display: flex; align-items: center; gap: 10px; width: 100%;
    padding: 15px 0; border: 0; background: none; cursor: pointer; text-align: left;
}
.acr-fhead__label { font-size: 13px; font-weight: 700; color: var(--acr-ink); }
.acr-fhead__val {
    margin-left: auto; font-size: 12px; font-weight: 600; color: var(--acr-muted);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 130px;
}
.acr-fhead__val.is-set { color: var(--acr-accent); }
.acr-fhead__chev { font-size: 10px; color: var(--acr-muted); transition: transform .18s ease; flex: 0 0 auto; }
.acr-fhead[aria-expanded="false"] .acr-fhead__chev { transform: rotate(-90deg); }
.acr-fhead:hover .acr-fhead__label { color: var(--acr-accent); }
.acr-fhead:focus-visible { outline: 2px solid var(--acr-accent); outline-offset: -2px; border-radius: 6px; }

.acr-fpanel { padding: 2px 0 18px; }
.acr-fhead[aria-expanded="false"] + .acr-fpanel { display: none; }

/* ---- search ---- */
.acr-fsearch { position: relative; display: block; }
.acr-fsearch > i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); font-size: 12px; color: var(--acr-muted); }
.acr-fsearch input {
    width: 100%; height: 40px; padding: 0 34px 0 34px;
    border: 1px solid var(--acr-line-2); border-radius: var(--acr-radius-sm);
    font-size: 13px; color: var(--acr-ink); background: #fff; outline: none;
    transition: border-color .14s, box-shadow .14s;
}
.acr-fsearch input::placeholder { color: #98a2b3; }
.acr-fsearch input:focus { border-color: var(--acr-accent); box-shadow: 0 0 0 3px var(--acr-accent-soft); }
.acr-fsearch input::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
.acr-fsearch__x {
    position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
    border: 0; background: none; padding: 4px; cursor: pointer; color: var(--acr-muted); font-size: 13px;
}
.acr-fsearch__x:hover { color: var(--acr-ink); }

/* ---- cabin chips ---- */
.acr-fchips { display: flex; flex-wrap: wrap; gap: 8px; }
.acr-fchip {
    position: relative; display: inline-flex; align-items: center; gap: 7px; cursor: pointer;
    padding: 7px 12px; border: 1px solid var(--acr-line-2); border-radius: 999px;
    font-size: 12.5px; font-weight: 600; color: var(--acr-ink-2); background: #fff;
    transition: border-color .14s, background .14s, color .14s, box-shadow .14s;
}
.acr-fchip input { position: absolute; opacity: 0; width: 0; height: 0; }
.acr-fchip__n {
    font-size: 11px; font-weight: 700; color: var(--acr-muted);
    padding-left: 7px; border-left: 1px solid var(--acr-line-2);
}
.acr-fchip:hover { border-color: var(--acr-accent-line); box-shadow: 0 1px 2px rgba(16, 24, 40, .06); }
.acr-fchip.is-on {
    background: var(--acr-accent); border-color: var(--acr-accent); color: var(--acr-accent-ink);
}
.acr-fchip.is-on .acr-fchip__n { color: inherit; opacity: .7; border-left-color: rgba(255, 255, 255, .3); }
.acr-fchip:focus-within { outline: 2px solid var(--acr-accent); outline-offset: 2px; }

/* ---- checkbox rows (amenities) ---- */
.acr-fopts { display: flex; flex-direction: column; gap: 2px; }
.acr-fopt {
    display: flex; align-items: center; gap: 10px; cursor: pointer;
    padding: 7px 8px; margin: 0 -8px; border-radius: 8px;
    font-size: 13px; color: var(--acr-ink-2); transition: background .12s;
}
.acr-fopt:hover { background: var(--acr-soft); }
.acr-fopt input {
    width: 16px; height: 16px; flex: 0 0 16px; margin: 0;
    accent-color: var(--acr-accent); cursor: pointer;
}
.acr-fopt__t { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.acr-fopt__n { font-size: 11.5px; font-weight: 600; color: var(--acr-muted); }
.acr-fopt.is-on .acr-fopt__t { color: var(--acr-ink); font-weight: 600; }

.acr-fmore {
    margin-top: 10px; border: 0; background: none; padding: 0; cursor: pointer;
    font-size: 12.5px; font-weight: 600; color: var(--acr-accent);
}
.acr-fmore:hover { text-decoration: underline; }

/* ---- sliders ---- */
.acr-frange { width: 100%; display: block; }
.acr-frange, .acr-fdual input { -webkit-appearance: none; appearance: none; background: transparent; }
.acr-frange { height: 20px; margin: 0; }
.acr-frange::-webkit-slider-runnable-track { height: 5px; border-radius: 999px; background: var(--acr-line-2); }
.acr-frange::-moz-range-track { height: 5px; border-radius: 999px; background: var(--acr-line-2); }
.acr-frange::-moz-range-progress { height: 5px; border-radius: 999px; background: var(--acr-accent); }
.acr-frange::-webkit-slider-thumb {
    -webkit-appearance: none; appearance: none; margin-top: -6px;
    width: 17px; height: 17px; border-radius: 50%; cursor: grab;
    background: #fff; border: 2px solid var(--acr-accent);
    box-shadow: 0 1px 4px rgba(16, 24, 40, .22); transition: transform .12s;
}
.acr-frange::-moz-range-thumb {
    width: 17px; height: 17px; border-radius: 50%; cursor: grab;
    background: #fff; border: 2px solid var(--acr-accent); box-shadow: 0 1px 4px rgba(16, 24, 40, .22);
}
.acr-frange:active::-webkit-slider-thumb { transform: scale(1.12); cursor: grabbing; }
.acr-frange:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 4px var(--acr-accent-soft); }

/* dual slider: two inputs over one track; only the thumbs take the pointer */
.acr-fdual { position: relative; height: 20px; }
.acr-fdual__track, .acr-fdual__fill {
    position: absolute; top: 7px; height: 5px; border-radius: 999px; pointer-events: none;
}
.acr-fdual__track { left: 0; right: 0; background: var(--acr-line-2); }
.acr-fdual__fill { background: var(--acr-accent); }
.acr-fdual input { position: absolute; left: 0; width: 100%; margin: 0; height: 20px; pointer-events: none; }
.acr-fdual input::-webkit-slider-runnable-track { height: 20px; background: transparent; border: 0; }
.acr-fdual input::-moz-range-track { height: 20px; background: transparent; border: 0; }
.acr-fdual input::-webkit-slider-thumb {
    -webkit-appearance: none; appearance: none; pointer-events: auto;
    width: 17px; height: 17px; margin-top: 2px; border-radius: 50%; cursor: grab;
    background: #fff; border: 2px solid var(--acr-accent);
    box-shadow: 0 1px 4px rgba(16, 24, 40, .22); transition: transform .12s;
}
.acr-fdual input::-moz-range-thumb {
    pointer-events: auto; width: 17px; height: 17px; border-radius: 50%; cursor: grab;
    background: #fff; border: 2px solid var(--acr-accent); box-shadow: 0 1px 4px rgba(16, 24, 40, .22);
}
.acr-fdual input:active::-webkit-slider-thumb { transform: scale(1.12); cursor: grabbing; }

.acr-fends { display: flex; justify-content: space-between; gap: 10px; margin-top: 10px; }
.acr-fend {
    padding: 5px 9px; border-radius: 7px; background: var(--acr-soft); border: 1px solid var(--acr-line);
    font-size: 11.5px; font-weight: 600; color: var(--acr-ink-2); white-space: nowrap;
}

.acr-fcheck {
    display: flex; align-items: center; gap: 9px; margin-top: 16px;
    font-size: 12.5px; color: var(--acr-ink-2); cursor: pointer;
}
.acr-fcheck input { width: 16px; height: 16px; flex: 0 0 16px; accent-color: var(--acr-accent); cursor: pointer; }

/* ---- toolbar above the grid ---- */
.acr-toolbar {
    display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
    padding: 13px 18px; margin-bottom: 16px;
    background: #fff; border: 1px solid var(--acr-line); border-radius: var(--acr-radius);
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
}
.acr-toolbar__count { font-size: 13.5px; color: var(--acr-muted); margin-right: auto; }
.acr-toolbar__count b { color: var(--acr-ink); font-weight: 700; }
.acr-toolbar__warn {
    display: flex; align-items: flex-start; gap: 6px; margin-top: 4px;
    font-size: 12px; color: #b54708; font-weight: 500;
}
.acr-toolbar__sort { display: flex; align-items: center; gap: 9px; font-size: 13px; color: var(--acr-muted); }
.acr-toolbar__sort select {
    height: 38px; padding: 0 32px 0 12px; border: 1px solid var(--acr-line-2);
    border-radius: var(--acr-radius-sm); background: #fff; font-size: 13px; font-weight: 600;
    color: var(--acr-ink); cursor: pointer; outline: none;
    -webkit-appearance: none; appearance: none;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='none' stroke='%23667085' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 12px center;
}
.acr-toolbar__sort select:focus { border-color: var(--acr-accent); box-shadow: 0 0 0 3px var(--acr-accent-soft); }

.acr-toolbar__toggle { display: none; }
.acr-toolbar__badge {
    display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px;
    padding: 0 5px; margin-left: 2px; border-radius: 999px;
    background: var(--acr-accent); color: var(--acr-accent-ink); font-size: 11px; font-weight: 700;
}

.acr-card[hidden] { display: none !important; }

/* ---- drawer ---- */
@media (max-width: 1023px) {
    .acr-results-layout { grid-template-columns: minmax(0, 1fr); }
    .acr-toolbar__toggle { display: inline-flex; }

    /* Kept in the DOM so every filter keeps its value when the drawer is closed. */
    .acr-filters {
        position: fixed; inset: 0 auto 0 0; z-index: 1200;
        width: min(340px, 90vw); max-width: 90vw; border-radius: 0; border: 0;
        transform: translateX(-100%); transition: transform .24s cubic-bezier(.4, 0, .2, 1);
        box-shadow: 0 0 60px rgba(16, 24, 40, .25);
    }
    .acr-filters.is-open { transform: translateX(0); }
    .acr-filters__body { flex: 1; max-height: none; }
    .acr-filters__x {
        display: inline-flex; align-items: center; justify-content: center;
        width: 30px; height: 30px; margin-right: -6px; padding: 0; cursor: pointer;
        border: 0; border-radius: 50%; background: var(--acr-soft); color: var(--acr-ink-2); font-size: 13px;
    }
    .acr-filters__foot { display: block; padding: 14px 16px; border-top: 1px solid var(--acr-line); background: #fff; }
    .acr-filters__apply { width: 100%; justify-content: center; }

    body.acr-filters-open { overflow: hidden; }
    body.acr-filters-open::after {
        content: ''; position: fixed; inset: 0; z-index: 1199; background: rgba(16, 24, 40, .5);
    }
}

@media (prefers-reduced-motion: reduce) {
    .acr-filters, .acr-fhead__chev, .acr-frange::-webkit-slider-thumb { transition: none; }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   Flighta charter theme — warm paper + bronze.

   Scoped entirely to .acr--b2c, so the Zaflight (B2B) portal keeps the slate look
   above untouched. STYLING ONLY: no selector here changes what an element does,
   adds or removes a control, or alters any data-acr-* hook. The cabin list is
   turned into rows with CSS alone (flex-direction + a background jet) rather than
   by re-rendering it, so the filter logic is byte-for-byte the same.
   ═══════════════════════════════════════════════════════════════════════════════ */

.acr--b2c {
    --acr-accent: #8a6726;
    --acr-accent-ink: #fffdf7;
    --acr-accent-soft: rgba(138, 103, 38, .09);
    --acr-accent-line: rgba(138, 103, 38, .3);
    --acr-ink: #2d2620;
    --acr-ink-2: #52483c;
    --acr-muted: #8d8273;
    --acr-line: #e8dcc4;
    --acr-line-2: #d5c2a0;
    --acr-soft: #faf5ea;
    --acr-radius: 14px;
    --acr-radius-sm: 9px;
    --acr-shadow: 0 1px 2px rgba(77, 58, 28, .05), 0 14px 34px rgba(77, 58, 28, .09);

    --acr-paper: #fdfaf4;
    --acr-bronze-1: #9d7a38;
    --acr-bronze-2: #7a5a24;
    --acr-bronze-3: #5e441a;

    background: var(--acr-paper);
}

/* ---- hero ---- */
.acr--b2c .acr-hero { background: linear-gradient(135deg, #3a2a16 0%, #1d1409 100%); }
.acr--b2c .acr-hero__eyebrow {
    background: rgba(157, 122, 56, .26);
    border: 1px solid rgba(214, 185, 125, .4);
    color: #f0e2c4;
}

/* ---- surfaces ---- */
.acr--b2c .acr-panel,
.acr--b2c .acr-summary-bar,
.acr--b2c .acr-toolbar,
.acr--b2c .acr-filters,
.acr--b2c .acr-tray { background: #fffefb; }

.acr--b2c .acr-summary-bar { border-color: var(--acr-line-2); }
.acr--b2c .acr-route { letter-spacing: -.01em; }

/* ---- cards: a framed plate ---- */
.acr--b2c .acr-cards { gap: 20px; }
.acr--b2c .acr-card {
    padding: 5px;
    background: #fffefb;
    border-color: var(--acr-line-2);
    box-shadow: 0 1px 2px rgba(77, 58, 28, .05);
}
/* The inner rule of the double frame. Drawn over the photo rather than inset into the
   card background, because an inset shadow would sit behind the image. */
.acr--b2c .acr-card::after {
    content: ''; position: absolute; inset: 5px; pointer-events: none; z-index: 2;
    border: 1px solid var(--acr-line); border-radius: 10px;
}
.acr--b2c .acr-card:hover {
    border-color: var(--acr-accent-line);
    box-shadow: 0 2px 4px rgba(77, 58, 28, .06), 0 16px 36px rgba(77, 58, 28, .12);
}
.acr--b2c .acr-card.is-selected {
    border-color: var(--acr-bronze-2);
    box-shadow: 0 0 0 3px var(--acr-accent-soft);
}
.acr--b2c .acr-card.is-selected::after { border-color: var(--acr-accent-line); }

.acr--b2c .acr-card__media {
    border-radius: 9px 9px 0 0;
    background: linear-gradient(135deg, #efe7d6, #ded0b6);
}
.acr--b2c .acr-card__media-fallback { color: #c9b89a; }

/* cabin badge: cream plate, not a dark pill */
.acr--b2c .acr-card__cat {
    top: 12px; inset-inline-start: 12px;
    padding: 5px 11px; border-radius: 7px;
    background: rgba(253, 250, 244, .94); border: 1px solid var(--acr-line-2);
    color: var(--acr-ink); font-weight: 600; letter-spacing: .01em; text-transform: none;
    backdrop-filter: blur(3px);
}
.acr--b2c .acr-card__shots {
    background: rgba(45, 38, 32, .74); border-radius: 7px;
}

.acr--b2c .acr-card__body { padding: 16px 15px 15px; gap: 11px; }
.acr--b2c .acr-card__name { font-size: 18px; font-weight: 600; letter-spacing: -.015em; }

/* specs read as plain text with a hairline icon, not as filled tags */
.acr--b2c .acr-card__specs { gap: 16px; }
.acr--b2c .acr-spec {
    padding: 0; border: 0; background: none; font-size: 13px; color: var(--acr-ink-2); gap: 7px;
}
.acr--b2c .acr-spec i { color: var(--acr-muted); font-size: 12px; font-weight: 400; }
/* the amenity line keeps its ticks but loses the chip */
.acr--b2c .acr-card__specs + .acr-card__specs { gap: 14px; padding-top: 2px; }
.acr--b2c .acr-card__specs + .acr-card__specs .acr-spec { font-size: 12.5px; color: var(--acr-ink-2); }
.acr--b2c .acr-card__specs + .acr-card__specs .acr-spec i { color: var(--acr-bronze-1); }

/* "EST. TOTAL: USD 39,460" on one rule-topped line */
.acr--b2c .acr-card__price-row {
    margin-top: auto; padding-top: 13px; border-top: 1px solid var(--acr-line);
}
.acr--b2c .acr-card__price {
    display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap;
    font-size: 19px; font-weight: 700; color: var(--acr-bronze-2); letter-spacing: -.01em;
}
.acr--b2c .acr-card__price small {
    display: inline; order: -1; margin: 0;
    font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
    color: var(--acr-muted);
}
.acr--b2c .acr-card__price small::after { content: ':'; }
.acr--b2c .acr-card__price--tbc { color: var(--acr-muted); font-size: 14px; }

/* the select control becomes the card's primary action — same checkbox underneath */
.acr--b2c .acr-card__foot { padding: 0 15px 15px; border-top: 0; background: none; }
.acr--b2c .acr-check {
    justify-content: center; gap: 9px; padding: 11px 16px; border-radius: 8px;
    background: linear-gradient(180deg, var(--acr-bronze-1) 0%, var(--acr-bronze-2) 62%, var(--acr-bronze-3) 100%);
    border: 1px solid var(--acr-bronze-3);
    color: #fffdf7; font-size: 14px; font-weight: 600; letter-spacing: .01em;
    box-shadow: inset 0 1px 0 rgba(255, 252, 240, .28), 0 1px 2px rgba(77, 58, 28, .2);
    transition: filter .14s, box-shadow .14s;
}
.acr--b2c .acr-check:hover { filter: brightness(1.07); }
.acr--b2c .acr-check input {
    width: 15px; height: 15px; accent-color: #fffdf7;
    filter: drop-shadow(0 1px 1px rgba(77, 58, 28, .35));
}
.acr--b2c .acr-card.is-selected .acr-check {
    background: linear-gradient(180deg, #3f2f14 0%, #2a1f0d 100%);
    border-color: #2a1f0d;
}
.acr--b2c .acr-check:focus-within { box-shadow: 0 0 0 3px var(--acr-accent-soft); }

/* ---- buttons ---- */
.acr--b2c .acr-btn--primary, .acr--b2c .acr-btn--gold {
    background: linear-gradient(180deg, var(--acr-bronze-1) 0%, var(--acr-bronze-2) 62%, var(--acr-bronze-3) 100%);
    border-color: var(--acr-bronze-3); color: #fffdf7;
    box-shadow: inset 0 1px 0 rgba(255, 252, 240, .28), 0 1px 2px rgba(77, 58, 28, .2);
}
.acr--b2c .acr-btn--primary:hover, .acr--b2c .acr-btn--gold:hover { filter: brightness(1.07); }
.acr--b2c .acr-btn--ghost, .acr--b2c .acr-btn--outline {
    background: #fffefb; border-color: var(--acr-line-2); color: var(--acr-ink-2);
}
.acr--b2c .acr-btn--ghost:hover, .acr--b2c .acr-btn--outline:hover {
    border-color: var(--acr-accent-line); color: var(--acr-bronze-2); background: var(--acr-soft);
}

/* ---- toolbar ---- */
.acr--b2c .acr-toolbar { border-color: var(--acr-line-2); padding: 12px 18px; }
.acr--b2c .acr-toolbar__count { font-size: 14px; }
.acr--b2c .acr-toolbar__count b { font-weight: 700; }
.acr--b2c .acr-toolbar__sort select {
    border-color: var(--acr-line-2); color: var(--acr-ink); font-weight: 500;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='none' stroke='%238d8273' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");
}

/* ---- filters ---- */
.acr--b2c .acr-filters { border-color: var(--acr-line-2); }
.acr--b2c .acr-filters__head { border-bottom-color: var(--acr-line); padding: 16px; }
.acr--b2c .acr-filters__title { font-size: 17px; font-weight: 600; letter-spacing: -.01em; }
.acr--b2c .acr-filters__title i { color: var(--acr-ink); }

.acr--b2c .acr-fhead { padding: 16px 0 12px; }
.acr--b2c .acr-fhead__label {
    font-size: 11.5px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase;
    color: var(--acr-muted);
}
.acr--b2c .acr-fhead:hover .acr-fhead__label { color: var(--acr-bronze-2); }
.acr--b2c .acr-fhead__val { font-size: 11.5px; }
.acr--b2c .acr-fhead__chev { color: var(--acr-ink-2); }

/* cabin list: a column of rows, each with a jet in front — CSS only, same chips */
.acr--b2c [data-acr-f-cabin] { flex-direction: column; align-items: stretch; gap: 1px; }
.acr--b2c [data-acr-f-cabin] .acr-fchip {
    justify-content: flex-start; gap: 11px;
    padding: 9px 10px 9px 36px; margin: 0 -10px;
    border: 0; border-radius: 8px; background: none;
    font-size: 13.5px; font-weight: 500; color: var(--acr-ink-2);
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 24 24' fill='none' stroke='%238a6726' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.8 19.2 16 11l3.5-3.5a2.1 2.1 0 0 0-3-3L13 8 4.8 6.2a.5.5 0 0 0-.5.8l3.2 3.2-2.3 2.3-1.6-.4a.5.5 0 0 0-.5.8L5 15l1.1 2a.5.5 0 0 0 .8-.1l-.4-1.6 2.3-2.3 3.2 3.2a.5.5 0 0 0 .8-.5Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: 10px center;
}
.acr--b2c [data-acr-f-cabin] .acr-fchip:hover { background-color: var(--acr-soft); box-shadow: none; }
.acr--b2c [data-acr-f-cabin] .acr-fchip.is-on {
    background-color: var(--acr-accent-soft); color: var(--acr-bronze-2); font-weight: 600;
}
.acr--b2c [data-acr-f-cabin] .acr-fchip__n {
    margin-inline-start: auto; border: 0; padding: 0; color: var(--acr-muted); font-weight: 600;
}
.acr--b2c [data-acr-f-cabin] .acr-fchip.is-on .acr-fchip__n { color: var(--acr-bronze-1); opacity: 1; }

/* amenity rows */
.acr--b2c .acr-fopt { font-size: 13.5px; }
.acr--b2c .acr-fopt:hover { background: var(--acr-soft); }

/* search */
.acr--b2c .acr-fsearch input {
    height: 42px; border-radius: 8px; border-color: var(--acr-line-2);
    background: var(--acr-paper); font-size: 13.5px;
}
.acr--b2c .acr-fsearch input:focus { background: #fff; }

/* sliders */
.acr--b2c .acr-frange::-webkit-slider-runnable-track,
.acr--b2c .acr-fdual__track { background: #e7dcc6; }
.acr--b2c .acr-frange::-moz-range-track { background: #e7dcc6; }
.acr--b2c .acr-frange::-webkit-slider-thumb,
.acr--b2c .acr-fdual input::-webkit-slider-thumb {
    width: 19px; height: 19px; border-width: 2px; border-color: var(--acr-bronze-3);
    background: linear-gradient(180deg, var(--acr-bronze-1), var(--acr-bronze-2));
    box-shadow: inset 0 1px 0 rgba(255, 252, 240, .3), 0 1px 3px rgba(77, 58, 28, .3);
}
.acr--b2c .acr-frange::-webkit-slider-thumb { margin-top: -7px; }
.acr--b2c .acr-fdual input::-webkit-slider-thumb { margin-top: 1px; }
.acr--b2c .acr-frange::-moz-range-thumb,
.acr--b2c .acr-fdual input::-moz-range-thumb {
    width: 19px; height: 19px; border-width: 2px; border-color: var(--acr-bronze-3);
    background: linear-gradient(180deg, var(--acr-bronze-1), var(--acr-bronze-2));
}
.acr--b2c .acr-fdual__fill,
.acr--b2c .acr-frange::-moz-range-progress { background: var(--acr-bronze-1); }

/* the two bound capsules read as the min / max of the range */
.acr--b2c .acr-fends { gap: 12px; margin-top: 14px; align-items: center; }
.acr--b2c .acr-fend {
    flex: 1; text-align: center; padding: 9px 10px; border-radius: 8px;
    background: var(--acr-paper); border: 1px solid var(--acr-line-2);
    font-size: 12.5px; font-weight: 600; color: var(--acr-ink-2);
}
.acr--b2c .acr-fends::before {
    content: '–'; order: 1; color: var(--acr-muted); font-weight: 600; flex: 0 0 auto;
}
.acr--b2c .acr-fend:first-of-type { order: 0; }
.acr--b2c .acr-fend:last-of-type { order: 2; }
.acr--b2c [data-acr-f-price-lo]::before { content: 'Min '; color: var(--acr-muted); font-weight: 500; }
.acr--b2c [data-acr-f-price-hi]::before { content: 'Max '; color: var(--acr-muted); font-weight: 500; }
.acr--b2c [data-acr-f-seats-lo]::before { content: 'Min '; color: var(--acr-muted); font-weight: 500; }
.acr--b2c [data-acr-f-seats-hi]::before { content: 'Max '; color: var(--acr-muted); font-weight: 500; }
.acr--b2c [data-acr-f-year-lo]::before { content: 'From '; color: var(--acr-muted); font-weight: 500; }
.acr--b2c [data-acr-f-year-hi]::before { content: 'To '; color: var(--acr-muted); font-weight: 500; }

/* pills + badges */
.acr--b2c .acr-filters__n, .acr--b2c .acr-toolbar__badge {
    background: linear-gradient(180deg, var(--acr-bronze-1), var(--acr-bronze-2)); color: #fffdf7;
}
.acr--b2c .acr-fpills { background: var(--acr-paper); border-bottom-color: var(--acr-line); }
.acr--b2c .acr-fpill { border-color: var(--acr-line-2); background: #fffefb; }

/* tray + empty */
.acr--b2c .acr-tray { border-color: var(--acr-line-2); box-shadow: 0 -6px 26px rgba(77, 58, 28, .12); }
.acr--b2c .acr-empty i { color: var(--acr-line-2); }

/* ── Host-theme bleed guard ───────────────────────────────────────────────────
   The consumer theme ships two GLOBAL rules that outrank our element styling and
   both paint blue:

       b2c/new_design/css/new_style.css : button:hover { background: #0056b3 }
       b2c/app-assets/css/theme.css     : a:hover      { color: #1b527c }

   `button:hover` is (0,1,1); our `.acr-card__open { background: none }` is only
   (0,1,0), so it lost on hover - and since each result card is ONE <button>
   wrapping the photo and the body, hovering a card turned the whole card blue.
   Every other transparent control went with it: the filter section headers,
   "Show N more", the search clear, the gallery arrows, the drawer close.

   Fixed by re-asserting ours at matching specificity rather than by editing the
   host theme, which is shared with the rest of the consumer site. Scoped to .acr,
   so this can only ever undo the bleed inside the charter module.               */

.acr button:hover,
.acr button:focus { background-color: transparent; }

/* The controls that do carry a fill restate it, after the reset above. */
.acr .acr-btn--primary:hover, .acr .acr-btn--primary:focus { background-color: var(--acr-accent); }
.acr .acr-btn--gold:hover,    .acr .acr-btn--gold:focus    { background-color: var(--acr-gold); }
.acr .acr-btn--ghost:hover,   .acr .acr-btn--ghost:focus   { background-color: var(--acr-soft); }
.acr .acr-gal__nav:hover,     .acr .acr-gal__nav:focus     { background-color: #fff; }
.acr .acr-modal__close:hover, .acr .acr-modal__close:focus { background-color: var(--acr-ink, #14120f); }
.acr .acr-leg__remove:hover,  .acr .acr-leg__remove:focus  { background-color: #fef3f2; }
.acr .acr-fpill button:hover, .acr .acr-fpill button:focus { background-color: var(--acr-accent); }

/* Filter rows are labels, not buttons, so the global never reached them - but the
   section header IS a button and its hover tint belongs here with the rest. */
.acr .acr-fhead:hover { background-color: transparent; }

/* The same theme turns every link blue on hover. Our buttons carry !important
   colours and are safe; this covers the plain anchors. */
.acr a:hover, .acr a:focus { color: inherit; }
.acr .acr-btn--link:hover { color: var(--acr-accent) !important; }

/* The mobile tap flash is the same blue from the UA, not from a stylesheet. */
.acr, .acr * { -webkit-tap-highlight-color: transparent; }

/* b2c: the bronze buttons paint with a gradient (background-image), so the
   background-color restated above sits underneath and never shows. The card's
   Select control is a <label> and was never affected. */
.acr--b2c .acr-btn--primary:hover, .acr--b2c .acr-btn--gold:hover { background-color: var(--acr-bronze-2); }

/* ==========================================================================
   Filter panel — no horizontal scroll, and a taller box
   --------------------------------------------------------------------------
   Two separate problems, both visible on the B2C results page.

   1. HORIZONTAL SCROLL. `.acr-fend` sets `white-space: nowrap`, and the B2C
      override makes the pair `flex: 1`. A flex item defaults to
      `min-width: auto`, which means it refuses to shrink below its content —
      so "Max USD 108,925" pushed the row wider than the 286px column and the
      body grew a horizontal scrollbar, clipping the figure it was meant to
      show. `min-width: 0` lets the item shrink; allowing the text to wrap
      lets the "Max" prefix drop to its own line rather than truncating a
      price, which is the one thing these boxes exist to display.

   2. HEIGHT. The panel is sticky at `top: 16px`, but the Flighta header is
      itself `position: sticky; top: 0` and 66px tall — so the filter slid
      underneath it, and `max-height: calc(100vh - 190px)` then left ~120px of
      dead space below. Offsetting for the real header and capping the
      CONTAINER instead of the body lets the body flex into whatever is left,
      so there is no head-height guess to keep in sync.
   ========================================================================== */

/* ---- 1. the overflow, for both portals ---- */
.acr-fend {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
}

/* The row itself must never be the thing that scrolls. */
.acr-fends { min-width: 0; flex-wrap: wrap; }

.acr--b2c .acr-fends { gap: 8px; }
.acr--b2c .acr-fend {
    min-width: 0;
    padding: 8px 6px;
    font-size: 12px;
    line-height: 1.35;
}

/* A guard, not the fix: the rules above remove the cause, and this keeps a
   future wide child from reintroducing a scrollbar in a column this narrow.
   Vertical scrolling is untouched. */
.acr-filters__body { overflow-x: hidden; }

/* ---- 2. the height ---- */
.acr--b2c .acr-filters {
    /* 66px sticky site header + 16px breathing room. */
    --acr-filters-top: 82px;
    top: var(--acr-filters-top);
    /* …and the same 16px left at the bottom of the viewport. */
    max-height: calc(100vh - var(--acr-filters-top) - 16px);
}

/* The container is flex-column, so the body takes everything the head does not
   use. min-height: 0 is what allows a flex child to scroll at all. */
.acr--b2c .acr-filters__body {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
}

/* The drawer is full-height already and must not inherit the desktop offset, or
   it starts 82px down the screen with its foot off the bottom. 1023px, matching
   the breakpoint where .acr-filters actually becomes the drawer above - at 991px
   this would have left a 32px band where the drawer was open but still pushed
   down by the sticky-header offset. */
@media (max-width: 1023px) {
    .acr--b2c .acr-filters {
        --acr-filters-top: 0px;
        top: 0;
        max-height: none;
    }
}
