.racfleet [hidden]{display:none!important}
.racfleet{--racfleet-primary:#122a50;--racfleet-accent:#196bc8;--racfleet-columns:3;font-family:Roboto,Arial,sans-serif;color:#23364d;width:100%;box-sizing:border-box}.racfleet *{box-sizing:border-box}.racfleet__header{text-align:center;margin:0 auto 24px;max-width:900px}.racfleet__header h2{font-size:clamp(26px,3vw,38px);color:var(--racfleet-primary);margin:0 0 9px;font-weight:800}.racfleet__header p{font-size:15px;color:#5b7187;margin:0}.racfleet__filters{display:flex;gap:12px;justify-content:flex-start;margin:0 0 18px;flex-wrap:wrap}.racfleet__filters label{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--racfleet-primary)}.racfleet__filters select{border:1px solid #cfdeeb;background:#fff;border-radius:9px;min-width:130px;height:38px;padding:5px 10px;color:#31455d;font:inherit}.racfleet__grid{display:grid;grid-template-columns:repeat(var(--racfleet-columns),minmax(0,1fr));gap:18px}.racfleet__card{display:flex;flex-direction:column;background:#fff;border:1px solid #d8e4f0;border-radius:14px;overflow:hidden;min-width:0;box-shadow:0 4px 18px rgba(12,45,77,.06);transition:box-shadow .2s ease,transform .2s ease}.racfleet__card:hover{box-shadow:0 9px 25px rgba(12,45,77,.11);transform:translateY(-2px)}.racfleet__card[hidden]{display:none!important}.racfleet__image{aspect-ratio:1.65;display:flex;align-items:center;justify-content:center;background:#f2f7fa;overflow:hidden}.racfleet__image img{width:100%;height:100%;object-fit:contain}.racfleet__image span{font-size:72px;color:#c2d2de}.racfleet__body{display:flex;flex:1;flex-direction:column;padding:16px;gap:11px}.racfleet__body h3{font-size:19px;color:var(--racfleet-primary);margin:0;font-weight:750;line-height:1.3}.racfleet__summary{font-size:13px;color:#63758a;line-height:1.5;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.racfleet__specs{display:flex;gap:6px;flex-wrap:wrap}.racfleet__specs span{font-size:11px;background:#edf4fa;border-radius:7px;padding:4px 7px;color:#294d6b}.racfleet__actions{margin-top:auto;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.racfleet__cta,.racfleet__secondary{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border-radius:8px;text-decoration:none;font:600 12px/1.35 Roboto,Arial,sans-serif;cursor:pointer;white-space:normal;text-align:center}.racfleet__cta{background:var(--racfleet-accent);color:#fff!important;border:1px solid var(--racfleet-accent)}.racfleet__secondary{border:1px solid #c2d5e9;background:#fff;color:var(--racfleet-primary)}.racfleet__empty{text-align:center;color:#6f8095;padding:22px}.racfleet__disclaimer{font-size:12px;color:#76869a;margin:16px 0 0;text-align:center}.racfleet--list .racfleet__grid{grid-template-columns:1fr}.racfleet--list .racfleet__card{display:grid;grid-template-columns:minmax(190px,28%) 1fr}.racfleet--list .racfleet__image{height:100%;aspect-ratio:auto}.racfleet--carousel .racfleet__grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.racfleet--carousel .racfleet__card{min-width:min(330px,88vw);width:min(330px,88vw);scroll-snap-align:start}.racfleet__dialog[hidden],.racfleet__booking[hidden]{display:none!important}.racfleet__dialog{position:fixed;inset:0;z-index:2147483000;background:rgba(15,35,57,.6);display:flex;align-items:center;justify-content:center;padding:18px}.racfleet__dialog-content{width:min(95vw,780px);max-height:calc(100dvh - 36px);overflow:auto;background:#fff;border-radius:15px;padding:24px;position:relative;box-shadow:0 20px 60px rgba(4,24,48,.25)}.racfleet__dialog-content h3{font-size:24px;color:var(--racfleet-primary);margin:0 36px 15px 0}.racfleet__dialog-content p{line-height:1.65;white-space:pre-line}.racfleet__dialog-content img{max-width:100%;max-height:350px;object-fit:contain;display:block;margin:auto auto 14px}.racfleet__dialog-content .racfleet__specs{margin-bottom:16px}.racfleet__close{position:absolute;right:14px;top:12px;font-size:28px;background:#fff;color:#294662;border:1px solid #d6e2ec;border-radius:7px;min-width:42px;min-height:42px;cursor:pointer}.racfleet__booking{margin-top:15px}.racfleet__booking>.racfleet__secondary{margin-bottom:13px}.racfleet__language{margin:0 0 18px;text-align:right}.racfleet__language select{border-radius:8px;padding:7px 11px;background:#fff;color:var(--racfleet-primary);border:1px solid #c6d8e6}.racfleet__error{color:#7a3d19;padding:18px}.racfleet__booking .racuw{width:100%}@media(max-width:970px){.racfleet__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.racfleet__grid{grid-template-columns:1fr}.racfleet--list .racfleet__card{display:flex}.racfleet__filters{display:grid;grid-template-columns:1fr 1fr}.racfleet__filters label{display:flex;flex-direction:column;align-items:stretch}.racfleet__header h2{font-size:26px}.racfleet__body{padding:14px}.racfleet__dialog-content{padding:18px}}
/* v1.3.84 — standardized vehicle feature icons and native booking modal. */
.racfleet__specs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin-top:auto}
.racfleet__specs .racfleet__spec{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;background:#f0f6fc;border-radius:9px;padding:8px 3px;color:var(--racfleet-accent);font-size:12px;text-align:center;line-height:1.2}
.racfleet__feature-icon,.racfleet__spec svg{display:inline-flex;width:22px;height:22px;flex-shrink:0}
.racfleet__specs .racfleet__spec b{font-size:12px;font-weight:650;line-height:1.25;overflow-wrap:anywhere;color:#284d72}
.racfleet__price{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1px solid #d5e9f7;background:#f8fcff;border-radius:12px;padding:10px 13px;margin-top:3px;color:var(--racfleet-accent)}
.racfleet__price strong{font-weight:750;font-size:18px;line-height:1.25}
.racfleet__price small{font-weight:500;font-size:12px;line-height:1.2}
.racfleet__body>.racfleet__price{margin-top:auto}
.racfleet__actions{margin-top:2px}
.racfleet__dialog-content .racfleet__specs{margin:12px 0 17px}
.racfleet__dialog-content .racfleet__price{margin-bottom:15px}
.racfleet__booking{position:fixed;inset:0;z-index:2147483100;background:rgba(12,31,58,.62);display:flex;align-items:center;justify-content:center;padding:14px;overflow:hidden}
.racfleet__booking-panel{background:#fff;width:min(100%,1050px);max-height:calc(100dvh - 28px);display:flex;flex-direction:column;min-height:0;border:1px solid #c4dcec;border-radius:18px;box-shadow:0 17px 55px rgba(12,32,57,.24);overflow:hidden}
.racfleet__booking-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;padding:13px 17px;background:#f1f8ff;color:var(--racfleet-primary);border-bottom:1px solid #d8e8f4}
.racfleet__booking-header strong{font-size:18px;font-weight:750;line-height:1.2}
.racfleet__booking-header .racfleet__close{position:static;flex-shrink:0;min-height:36px;min-width:36px;font-size:24px;line-height:1}
.racfleet__booking [data-racfleet-booking-target]{overflow:auto;min-height:0;overscroll-behavior:contain;flex:1;padding:7px}
.racfleet__booking-frame{border:0;width:100%;display:block;height:min(78dvh,850px);min-height:450px;background:#fff}
.racfleet__booking .racuw{width:100%}
.racfleet__booking .racuw .racuw-form{padding:14px;gap:10px}
.racfleet__booking .racuw .racuw-results{padding:12px}
@media(max-width:760px){.racfleet__specs{grid-template-columns:repeat(3,minmax(0,1fr))}.racfleet__booking{padding:4px}.racfleet__booking-panel{max-height:calc(100dvh - 8px);border-radius:12px}.racfleet__booking-header{padding:8px 12px}.racfleet__booking-header strong{font-size:15px}.racfleet__booking-frame{height:calc(100dvh - 92px);min-height:370px}.racfleet__booking [data-racfleet-booking-target]{padding:3px}}

/* v1.3.87 — Company Setup Fleet palette (website only, Channel keeps its own primary/accent). */
.racfleet__card{background:var(--racfleet-card-bg,#fff);border-color:var(--racfleet-card-border,#d8e4f0)}
.racfleet__summary,.racfleet__header p{color:var(--racfleet-description,#63758a)}
.racfleet__specs .racfleet__spec{background:var(--racfleet-spec-bg,#f0f6fc)}
.racfleet__specs .racfleet__spec b{color:var(--racfleet-spec-text,#284d72)}
.racfleet__price{background:var(--racfleet-price-bg,#f8fcff);border-color:var(--racfleet-price-border,#d5e9f7)}
.racfleet__cta{color:var(--racfleet-button-text,#fff)!important}

/* v1.3.90: independently configurable Fleet price text and booking CTA colors.
   Legacy fleets without the new settings retain their saved Accent color. */
.racfleet .racfleet__price{color:var(--racfleet-price-text,var(--racfleet-accent,#196bc8))}
.racfleet .racfleet__price strong,.racfleet .racfleet__price small{color:inherit}
.racfleet .racfleet__cta{background:var(--racfleet-button-bg,var(--racfleet-accent,#196bc8));border-color:var(--racfleet-button-bg,var(--racfleet-accent,#196bc8))}


/* v1.3.91 — 15% smaller Fleet visual elements (Website + external Channels).
   Do not change any margins, gaps, paddings or outer page/container dimensions.
   Booking modal's actual search form stays at the original accessible scale.
   Keep grid column counts and responsive breakpoints unchanged. */
.racfleet { --racfleet-visual-scale: .85; }
.racfleet .racfleet__header h2 { font-size: clamp(22.1px, 2.55vw, 32.3px); }
.racfleet .racfleet__header p { font-size: 12.75px; }
.racfleet .racfleet__filters label { font-size: 11.05px; }
.racfleet .racfleet__filters select {
    min-width: 110.5px;
    height: 32.3px;
    font-size: 11.05px;
    border-radius: 7.65px;
}
.racfleet .racfleet__language select { font-size: 13.6px; }
/* The carousel's card widths become 85%; the spacing BETWEEN cards remains intact. */
.racfleet.racfleet--carousel .racfleet__card {
    min-width: min(280.5px, 88vw);
    width: min(280.5px, 88vw);
}
.racfleet .racfleet__card { border-radius: 11.9px; }
/* Aspect ratio 1.65 / .85 = 1.941176: proportionally smaller image area. */
.racfleet .racfleet__image { aspect-ratio: 1.941176; }
.racfleet.racfleet--list .racfleet__image { aspect-ratio: auto; }
.racfleet .racfleet__image span { font-size: 61.2px; }
.racfleet .racfleet__body h3 { font-size: 16.15px; }
.racfleet .racfleet__summary { font-size: 11.05px; }
.racfleet .racfleet__specs .racfleet__spec {
    font-size: 10.2px;
    border-radius: 7.65px;
}
.racfleet .racfleet__feature-icon,
.racfleet .racfleet__spec svg { width: 18.7px; height: 18.7px; }
.racfleet .racfleet__specs .racfleet__spec b { font-size: 10.2px; }
.racfleet .racfleet__price { border-radius: 10.2px; }
.racfleet .racfleet__price strong { font-size: 15.3px; }
.racfleet .racfleet__price small { font-size: 10.2px; }
.racfleet .racfleet__cta,
.racfleet .racfleet__secondary {
    font-size: 10.2px;
    min-height: 32.3px;
    border-radius: 6.8px;
}
.racfleet .racfleet__disclaimer { font-size: 10.2px; }
/* Category-details popup uses the same compact typography. No changes to
   the booking/availability modal and its interactive date and time controls. */
.racfleet .racfleet__dialog-content h3 { font-size: 20.4px; }
.racfleet .racfleet__dialog-content p { font-size: 13.6px; }
.racfleet .racfleet__dialog-content img { max-height: 297.5px; }
@media (max-width: 620px) {
    .racfleet .racfleet__header h2 { font-size: 22.1px; }
}


/* v1.3.92 — Provide vertical hover headroom inside the horizontal Fleet carousel. */
/* overflow-x:auto creates a scroll clip on the cross-axis. Keep the card hover lift
   and card shadow inside the scrollport, without changing margins, horizontal inset,
   card spacing, grid/list layouts or horizontal scroll/snap behavior. */
.racfleet.racfleet--carousel .racfleet__grid {
    padding-top: 20px;
}

/* v1.3.93: Independent photo-stage color for transparent PNGs.
   Do not modify image dimensions, margins, padding, gaps or card hover geometry. */
.racfleet .racfleet__image{background-color:var(--racfleet-image-bg,#f2f7fa)}


/* v1.3.95 — Mobile Fleet carousel: one centered card at every handset width.
   A full-width flex item fills the scrollport CONTENT box (not the whole page);
   the existing 18px card gap and desktop sizing are preserved. 16px inset on
   each side plus center snap prevents the next card peeking into the viewport. */
.racfleet.racfleet--carousel .racfleet__carousel-shell {
    position: relative;
    min-width: 0;
    width: 100%;
}
.racfleet .racfleet__carousel-arrow { display: none; }
@media (max-width: 767px) {
    .racfleet.racfleet--carousel .racfleet__grid {
        width: 100%;
        min-width: 0;
        padding-inline: 16px;
        scroll-padding-inline: 16px;
        scroll-snap-type: x mandatory;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
    }
    .racfleet.racfleet--carousel .racfleet__grid::-webkit-scrollbar { display: none; }
    .racfleet.racfleet--carousel .racfleet__card {
        flex: 0 0 100%;
        width: 100%;
        min-width: 100%;
        max-width: 100%;
        scroll-snap-align: center;
        scroll-snap-stop: always;
    }
    .racfleet.racfleet--carousel .racfleet__carousel-arrow {
        appearance: none;
        position: absolute;
        z-index: 5;
        top: clamp(82px, 21vw, 155px);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        padding: 7px;
        margin: 0;
        border-radius: 50%;
        border: 1px solid #cbddea;
        background: rgba(255,255,255,.96);
        color: var(--racfleet-accent,#196bc8);
        box-shadow: 0 3px 12px rgba(17,49,80,.18);
        cursor: pointer;
        transition: opacity .15s ease, background-color .15s ease;
    }
    .racfleet.racfleet--carousel .racfleet__carousel-arrow--prev { left: 2px; }
    .racfleet.racfleet--carousel .racfleet__carousel-arrow--next { right: 2px; }
    .racfleet.racfleet--carousel .racfleet__carousel-arrow svg {
        display: block;
        width: 22px;
        height: 22px;
        fill: none;
        stroke: currentColor;
        stroke-width: 2.7;
        stroke-linecap: round;
        stroke-linejoin: round;
    }
    .racfleet.racfleet--carousel .racfleet__carousel-arrow:disabled {
        opacity: .22;
        cursor: default;
        pointer-events: none;
        box-shadow: none;
    }
    .racfleet.racfleet--carousel .racfleet__carousel-arrow:not(:disabled):focus-visible {
        outline: 3px solid var(--racfleet-accent,#196bc8);
        outline-offset: 2px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .racfleet.racfleet--carousel .racfleet__carousel-arrow { transition: none; }
}


/* v1.3.96 — All Fleet feature tiles remain in ONE row on mobile.
   Preserve card width, the 18px card gap, outside margins, card padding,
   and existing mobile carousel navigation. Scope to public Fleet UI only;
   normal Booking Engine feature layouts and search forms are unchanged. */
@media (max-width: 767px) {
    .racfleet .racfleet__specs {
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        min-width: 0;
        max-width: 100%;
    }
    .racfleet .racfleet__specs .racfleet__spec {
        min-width: 0;
        padding: 6px 1px;
        gap: 3px;
        justify-content: flex-start;
    }
    .racfleet .racfleet__feature-icon,
    .racfleet .racfleet__spec svg {
        width: 17px;
        height: 17px;
    }
    .racfleet .racfleet__specs .racfleet__spec b {
        min-width: 0;
        max-width: 100%;
        font-size: clamp(8px, 2.5vw, 10.2px);
        line-height: 1.15;
        overflow-wrap: anywhere;
        word-break: normal;
    }
}


/* v1.3.97 — Compact mobile Fleet carousel header + side-by-side price/booking.
   This is exclusively the Fleet card layout, not the Fleet booking modal.
   Maintain card dimensions, 16px horizontal carousel insets, desktop 20px
   hover headroom, card padding, image fit, filters and category translations. */
@media (max-width: 767px) {
    /* On mobile the 20px desktop hover allowance creates a visually empty band.
       Retain 4px of lift clearance, while keeping desktop hover headroom. */
    .racfleet.racfleet--carousel .racfleet__header { margin-bottom: 8px; }
    .racfleet.racfleet--carousel .racfleet__grid { padding-top: 4px; }

    /* Native Website PHP and Channel JS render the same direct children.
       Grid places the price and availability actions on one horizontal row
       without moving DOM nodes or touching the underlying booking behavior. */
    .racfleet .racfleet__card .racfleet__body {
        display: grid;
        grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
        align-content: start;
    }
    .racfleet .racfleet__card .racfleet__body > :not(.racfleet__price):not(.racfleet__actions) {
        grid-column: 1 / -1;
    }
    .racfleet .racfleet__card .racfleet__body > .racfleet__specs {
        margin-top: 0;
    }
    .racfleet .racfleet__card .racfleet__body > .racfleet__price {
        grid-column: 1;
        min-width: 0;
        width: 100%;
        margin-top: 0;
        padding: 8px 8px;
        justify-content: center;
        align-items: center;
        text-align: center;
        overflow-wrap: anywhere;
    }
    .racfleet .racfleet__card .racfleet__body > .racfleet__actions {
        grid-column: 2;
        min-width: 0;
        width: 100%;
        margin-top: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: stretch;
        flex-wrap: nowrap;
        gap: 5px;
    }
    .racfleet .racfleet__card .racfleet__body > .racfleet__actions .racfleet__cta {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        padding-inline: 5px;
        text-align: center;
        overflow-wrap: anywhere;
    }
    /* If indicative pricing is unavailable, center the action across the row. */
    .racfleet .racfleet__card .racfleet__body:not(:has(> .racfleet__price)) > .racfleet__actions {
        grid-column: 1 / -1;
        align-items: center;
    }
    .racfleet .racfleet__card .racfleet__body:not(:has(> .racfleet__price)) > .racfleet__actions .racfleet__cta {
        width: auto;
        min-width: min(100%, 155px);
    }
}
@media (max-width: 339px) {
    /* At extra-narrow widths, protect readable translations and euro amounts. */
    .racfleet .racfleet__card .racfleet__body {
        grid-template-columns: minmax(0, 1fr);
    }
    .racfleet .racfleet__card .racfleet__body > .racfleet__price,
    .racfleet .racfleet__card .racfleet__body > .racfleet__actions {
        grid-column: 1 / -1;
    }
    .racfleet .racfleet__card .racfleet__body > .racfleet__actions {
        align-items: center;
    }
    .racfleet .racfleet__card .racfleet__body > .racfleet__actions .racfleet__cta {
        width: auto;
        min-width: min(100%, 155px);
    }
}


/* v1.3.98 — Center the indicative price and actions within each Fleet card
   on Desktop/large tablets only (Website Fleet + Channel Fleet).
   Keep the existing full-width price box, stacked layout, spacing and colors.
   Mobile (up to 767px) preserves its inline price + booking CTA layout. */
@media (min-width: 768px) {
    .racfleet .racfleet__card .racfleet__body > .racfleet__price {
        align-items: center;
        text-align: center;
    }
    .racfleet .racfleet__card .racfleet__body > .racfleet__actions {
        justify-content: center;
    }
}


/* v1.3.99 — Improve Fleet price-period and booking-action legibility.
   Raise only the secondary “from–to / per day” line and the primary
   Check Availability button text by 4px (10.2 → 14.2px).  Scope to the
   category cards in Website and Channel Fleet, preserving card and
   carousel padding, gaps, margins, alignment, and responsive layouts. */
.racfleet .racfleet__card .racfleet__body > .racfleet__price small {
    font-size: 14.2px;
}
.racfleet .racfleet__card .racfleet__body > .racfleet__actions .racfleet__cta {
    font-size: 14.2px;
}
