/*
 * VORIK Public Home
 * Extrait de templates/public/home.php
 */

/* VORIK DOCUMENT RESET V1 */
    html {
        margin: 0;
        padding: 0;
        background: #ffffff;
        text-size-adjust: 100%;
        -webkit-text-size-adjust: 100%;
    }

    body {
        margin: 0;
        padding: 0;
        min-width: 0;
        background: #ffffff;
    }

    .vorik-home {
        --vorik-navy: #0b1f3a;
        --vorik-navy-soft: #18385f;
        --vorik-blue: #2d6fca;
        --vorik-yellow: #f4c64e;
        --vorik-yellow-dark: #dba92d;
        --vorik-white: #ffffff;
        --vorik-neutral: #f4f7fb;
        --vorik-neutral-blue: #eaf2fc;
        --vorik-text: #17283f;
        --vorik-muted: #5d6d82;
        --vorik-line: #d8e1eb;
        --vorik-green: #19755c;
        --vorik-radius: 1rem;
        --vorik-radius-large: 1.5rem;
        --vorik-shadow: 0 1rem 2.8rem rgba(11, 31, 58, 0.12);
        --vorik-container: 74rem;
        color: var(--vorik-text);
        background: var(--vorik-white);
        font-family: Arial, Helvetica, sans-serif;
        line-height: 1.55;
        overflow-wrap: break-word;
    }

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

    .vorik-home a {
        color: inherit;
    }

    .vorik-home a:focus-visible,
    .vorik-home button:focus-visible,
    .vorik-home input:focus-visible,
    .vorik-home select:focus-visible,
    .vorik-home summary:focus-visible {
        outline: 3px solid var(--vorik-yellow);
        outline-offset: 3px;
    }

    .vorik-home svg {
        display: block;
        max-width: 100%;
    }

    .vorik-container {
        width: min(calc(100% - 2rem), var(--vorik-container));
        margin-right: auto;
        margin-left: auto;
    }

    .vorik-skip-link {
        position: absolute;
        z-index: 100;
        top: 0.75rem;
        left: 0.75rem;
        padding: 0.75rem 1rem;
        color: var(--vorik-navy);
        background: var(--vorik-yellow);
        border-radius: 0.5rem;
        font-weight: 800;
        text-decoration: none;
        transform: translateY(-180%);
    }

    .vorik-skip-link:focus {
        transform: translateY(0);
    }

    .vorik-header {
        position: relative;
        z-index: 10;
        color: var(--vorik-white);
        background: var(--vorik-navy);
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    }

    .vorik-header-inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        min-height: 4.75rem;
    }

    .vorik-brand {
        display: inline-flex;
        align-items: center;
        gap: 0.65rem;
        color: inherit;
        text-decoration: none;
    }

    .vorik-brand-mark {
        display: grid;
        width: 2.35rem;
        height: 2.35rem;
        place-items: center;
        color: var(--vorik-navy);
        background: var(--vorik-yellow);
        border-radius: 0.72rem;
        font-size: 1.05rem;
        font-weight: 900;
        letter-spacing: -0.08em;
    }

    .vorik-brand-copy {
        display: grid;
        gap: 0.08rem;
    }

    .vorik-brand-name {
        font-size: 1.08rem;
        font-weight: 900;
        letter-spacing: 0.12em;
        line-height: 1;
    }

    .vorik-brand-tagline {
        color: #c6d5e7;
        font-size:.74rem;
        line-height: 1.1;
    }

    .vorik-nav {
        display: none;
        align-items: center;
        gap: 1.15rem;
    }

    .vorik-nav-link {
        color: #d7e3f0;
        font-size: 0.9rem;
        font-weight: 700;
        text-decoration: none;
    }

    .vorik-nav-link:hover {
        color: var(--vorik-yellow);
    }

    .vorik-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 2.9rem;
        gap: 0.5rem;
        padding: 0.72rem 1rem;
        border: 1px solid transparent;
        border-radius: 0.7rem;
        font: inherit;
        font-size: 0.92rem;
        font-weight: 800;
        line-height: 1.2;
        text-align: center;
        text-decoration: none;
        cursor: pointer;
        transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
    }

    .vorik-button:hover {
        transform: translateY(-1px);
    }

    .vorik-button-primary {
        color: var(--vorik-navy);
        background: var(--vorik-yellow);
    }

    .vorik-button-primary:hover {
        background: #ffd96f;
    }

    .vorik-button-secondary {
        color: var(--vorik-navy);
        background: var(--vorik-white);
        border-color: #abc0d8;
    }

    .vorik-button-secondary:hover {
        background: var(--vorik-neutral-blue);
        border-color: var(--vorik-blue);
    }

    .vorik-mobile-menu {
        position: relative;
    }

    .vorik-mobile-menu summary {
        display: inline-flex;
        align-items: center;
        min-height: 2.8rem;
        padding: 0.65rem 0.8rem;
        color: var(--vorik-white);
        border: 1px solid rgba(255, 255, 255, 0.35);
        border-radius: 0.65rem;
        font-size: 0.9rem;
        font-weight: 800;
        cursor: pointer;
        list-style: none;
    }

    .vorik-mobile-menu summary::-webkit-details-marker {
        display: none;
    }

    .vorik-mobile-menu summary::after {
        margin-left: 0.55rem;
        content: "⌄";
        font-size: 1.1rem;
    }

    .vorik-mobile-menu[open] summary::after {
        content: "⌃";
    }

    .vorik-mobile-panel {
        position: absolute;
        top: calc(100% + 0.55rem);
        right: 0;
        display: grid;
        width: min(19rem, calc(100vw - 2rem));
        gap: 0.2rem;
        padding: 0.7rem;
        color: var(--vorik-text);
        background: var(--vorik-white);
        border: 1px solid var(--vorik-line);
        border-radius: 0.8rem;
        box-shadow: var(--vorik-shadow);
    }

    .vorik-mobile-panel a {
        padding: 0.7rem;
        border-radius: 0.5rem;
        font-weight: 700;
        text-decoration: none;
    }

    .vorik-mobile-panel a:hover {
        background: var(--vorik-neutral);
    }

    .vorik-hero {
        padding: clamp(3rem, 7vw, 6.4rem) 0 clamp(4.5rem, 8vw, 7.2rem);
        color: var(--vorik-white);
        background:
            radial-gradient(circle at 86% 18%, rgba(75, 141, 231, 0.42), transparent 22rem),
            radial-gradient(circle at 66% 90%, rgba(244, 198, 78, 0.12), transparent 20rem),
            var(--vorik-navy);
    }

    .vorik-hero-grid,
    .vorik-trust-layout,
    .vorik-tracking-layout,
    .vorik-app-layout {
        display: grid;
        align-items: center;
        gap: clamp(2rem, 5vw, 5rem);
    }

    .vorik-eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 0.45rem;
        margin: 0 0 1rem;
        color: var(--vorik-blue);
        font-size: 0.78rem;
        font-weight: 900;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .vorik-eyebrow::before {
        width: 0.55rem;
        height: 0.55rem;
        content: "";
        background: var(--vorik-yellow);
        border-radius: 50%;
    }

    .vorik-hero .vorik-eyebrow {
        color: #d8e7f9;
    }

    .vorik-hero h1,
    .vorik-section-heading h2,
    .vorik-tracking-content h2,
    .vorik-final-cta h2 {
        margin: 0;
        font-weight: 900;
        letter-spacing: -0.045em;
        line-height: 1.07;
    }

    .vorik-hero h1 {
        max-width: 10ch;
        font-size: clamp(2.5rem, 6vw, 4.75rem);
    }

    .vorik-highlight {
        color: var(--vorik-yellow);
    }

    .vorik-hero-text {
        max-width: 39rem;
        margin: 1.25rem 0 0;
        color: #d9e6f4;
        font-size: clamp(1rem, 2vw, 1.17rem);
    }

    .vorik-hero-actions,
    .vorik-final-cta-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 0.75rem;
        margin-top: 1.75rem;
    }

    .vorik-hero .vorik-button-secondary {
        color: var(--vorik-white);
        background: transparent;
        border-color: rgba(255, 255, 255, 0.55);
    }

    .vorik-hero .vorik-button-secondary:hover {
        background: rgba(255, 255, 255, 0.11);
        border-color: var(--vorik-white);
    }

    .vorik-hero-note {
        display: flex;
        align-items: flex-start;
        gap: 0.65rem;
        max-width: 38rem;
        margin: 1.4rem 0 0;
        color: #c8d9eb;
        font-size: 0.88rem;
    }

    .vorik-hero-note svg {
        flex: 0 0 auto;
        margin-top: 0.15rem;
        color: var(--vorik-yellow);
    }

    .vorik-hero-visual {
        position: relative;
        min-height: 20rem;
    }

    .vorik-visual-orb {
        position: absolute;
        top: 0;
        right: 4%;
        width: min(21rem, 72vw);
        aspect-ratio: 1;
        background: linear-gradient(145deg, #3f8be3, #173c70);
        border: 1px solid rgba(255, 255, 255, 0.16);
        border-radius: 50%;
    }

    .vorik-route-card {
        position: relative;
        z-index: 2;
        max-width: 25rem;
        margin: 1.8rem auto 0;
        padding: 1.25rem;
        color: var(--vorik-text);
        background: rgba(255, 255, 255, 0.97);
        border: 1px solid rgba(255, 255, 255, 0.7);
        border-radius: var(--vorik-radius-large);
        box-shadow: 0 1.5rem 3rem rgba(1, 15, 35, 0.25);
    }

    .vorik-route-card-title {
        margin: 0 0 0.8rem;
        font-size: 0.88rem;
        font-weight: 900;
    }

    .vorik-route-item {
        display: grid;
        grid-template-columns: 1rem minmax(0, 1fr);
        gap: 0.7rem;
        align-items: start;
        padding: 0.8rem 0;
        border-top: 1px solid var(--vorik-line);
    }

    .vorik-route-pin {
        width: 0.78rem;
        height: 0.78rem;
        margin-top: 0.3rem;
        border: 3px solid var(--vorik-blue);
        border-radius: 50%;
    }

    .vorik-route-pin-arrival {
        background: var(--vorik-yellow);
        border-color: var(--vorik-yellow-dark);
        border-radius: 0.2rem;
    }

    .vorik-route-label {
        display: block;
        color: var(--vorik-muted);
        font-size: 0.74rem;
    }

    .vorik-route-value {
        display: block;
        font-size: 0.9rem;
        font-weight: 800;
    }

    .vorik-car-illustration {
        position: absolute;
        z-index: 3;
        right: 0;
        bottom: 0;
        width:180px;
    }

    .vorik-booking-section {
        position: relative;
        z-index: 4;
        padding-bottom: clamp(3.5rem, 8vw, 6.5rem);
        background: var(--vorik-neutral);
    }

    .vorik-booking {
        padding: clamp(1.25rem, 3vw, 2rem);
        background: var(--vorik-white);
        border: 1px solid var(--vorik-line);
        border-radius: var(--vorik-radius-large);
        box-shadow: var(--vorik-shadow);
    }

    .vorik-booking-heading {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: space-between;
        gap: 0.5rem 1rem;
        margin-bottom: 1.25rem;
    }

    .vorik-booking-heading h2 {
        margin: 0;
        font-size: clamp(1.3rem, 3vw, 1.65rem);
        letter-spacing: -0.025em;
    }

    .vorik-booking-heading p,
    .vorik-booking-help {
        margin: 0;
        color: var(--vorik-muted);
        font-size: 0.86rem;
    }

    .vorik-service-options {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.55rem;
        margin: 0 0 1rem;
        padding: 0;
        border: 0;
    }

    .vorik-service-options legend {
        width: 100%;
        margin-bottom: 0.55rem;
        font-size: 0.9rem;
        font-weight: 900;
    }

    .vorik-service-option {
        position: relative;
        min-width: 0;
    }

    .vorik-service-option input {
        position: absolute;
        width: 1px;
        height: 1px;
        opacity: 0;
    }

    .vorik-service-option span {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 2.75rem;
        padding: 0.55rem;
        color: var(--vorik-muted);
        border: 1px solid var(--vorik-line);
        border-radius: 0.65rem;
        font-size: 0.86rem;
        font-weight: 800;
        text-align: center;
        cursor: pointer;
    }

    .vorik-service-option input:checked + span {
        color: var(--vorik-navy);
        background: #fff8df;
        border-color: var(--vorik-yellow-dark);
    }

    .vorik-service-option input:focus-visible + span {
        outline: 3px solid var(--vorik-yellow);
        outline-offset: 2px;
    }

    .vorik-booking-fields {
        display: grid;
        gap: 0.85rem;
    }

    .vorik-field {
        display: grid;
        gap: 0.4rem;
        min-width: 0;
    }

    .vorik-field label {
        font-size: 0.84rem;
        font-weight: 900;
    }

    .vorik-field input,
    .vorik-field select {
        width: 100%;
        min-height: 3rem;
        padding: 0.65rem 0.75rem;
        color: var(--vorik-text);
        background: var(--vorik-white);
        border: 1px solid #b7c6d7;
        border-radius: 0.6rem;
        font: inherit;
    }

    .vorik-field input::placeholder {
        color: #718096;
        opacity: 1;
    }

    .vorik-booking-submit {
        width: 100%;
        min-height: 3.1rem;
        margin-top: 0.85rem;
    }

    .vorik-booking-help {
        margin-top: 0.85rem;
    }

    .vorik-section {
        padding: clamp(3.5rem, 8vw, 6.75rem) 0;
    }

    .vorik-section-soft {
        background: var(--vorik-neutral);
    }

    .vorik-section-heading {
        max-width: 46rem;
        margin-bottom: 2rem;
    }

    .vorik-section-heading h2,
    .vorik-tracking-content h2,
    .vorik-final-cta h2 {
        color: var(--vorik-navy);
        font-size: clamp(1.9rem, 4vw, 3.1rem);
    }

    .vorik-section-heading p {
        margin: 0.9rem 0 0;
        color: var(--vorik-muted);
    }

    .vorik-service-grid,
    .vorik-vehicle-grid,
    .vorik-trust-grid,
    .vorik-partner-grid {
        display: grid;
        gap: 1rem;
    }

    .vorik-service-card,
    .vorik-vehicle-card,
    .vorik-partner-card {
        min-width: 0;
        background: var(--vorik-white);
        border: 1px solid var(--vorik-line);
        border-radius: var(--vorik-radius);
    }

    .vorik-service-card {
        display: flex;
        flex-direction: column;
        padding: 1.35rem;
        transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
    }

    .vorik-service-card:hover {
        border-color: #a9c5e4;
        box-shadow: 0 0.85rem 2rem rgba(11, 31, 58, 0.08);
        transform: translateY(-2px);
    }

    .vorik-service-icon {
        display: grid;
        width: 2.8rem;
        height: 2.8rem;
        place-items: center;
        margin-bottom: 1rem;
        color: var(--vorik-navy);
        background: #fff4c8;
        border-radius: 0.75rem;
    }

    .vorik-service-card h3,
    .vorik-vehicle-card h3,
    .vorik-trust-card h3,
    .vorik-partner-card h3 {
        margin: 0;
        color: var(--vorik-navy);
        font-size: 1.08rem;
        letter-spacing: -0.015em;
    }

    .vorik-service-card p,
    .vorik-vehicle-card p,
    .vorik-partner-card p {
        margin: 0.65rem 0 1rem;
        color: var(--vorik-muted);
        font-size: 0.91rem;
    }

    .vorik-card-link {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        margin-top: auto;
        color: var(--vorik-navy-soft);
        font-size: 0.88rem;
        font-weight: 900;
        text-decoration: none;
    }

    .vorik-card-link:hover {
        color: var(--vorik-blue);
        text-decoration: underline;
    }

    .vorik-trust-intro {
        padding: clamp(1.5rem, 4vw, 2.5rem);
        color: var(--vorik-white);
        background: var(--vorik-navy);
        border-radius: var(--vorik-radius-large);
    }

    .vorik-trust-intro h2 {
        margin: 0;
        font-size: clamp(1.75rem, 4vw, 2.7rem);
        letter-spacing: -0.035em;
        line-height: 1.12;
    }

    .vorik-trust-intro p {
        margin: 1rem 0 0;
        color: #d7e4f2;
    }

    .vorik-trust-intro a {
        color: var(--vorik-yellow);
        font-weight: 800;
    }

    .vorik-trust-grid {
        align-content: center;
        gap: 1.25rem;
    }

    .vorik-trust-card {
        display: grid;
        grid-template-columns: 2.5rem minmax(0, 1fr);
        gap: 0.8rem;
        align-items: start;
    }

    .vorik-trust-number {
        display: grid;
        width: 2.15rem;
        height: 2.15rem;
        place-items: center;
        color: var(--vorik-navy);
        background: #fff1bf;
        border-radius: 50%;
        font-size: 0.78rem;
        font-weight: 900;
    }

    .vorik-trust-card p {
        margin: 0.45rem 0 0;
        color: var(--vorik-muted);
        font-size: 0.91rem;
    }

    .vorik-vehicle-card {
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .vorik-vehicle-media {
        display: grid;
        min-height: 11rem;
        aspect-ratio: 16 / 9;
        place-items: center;
        padding:.8rem;
        color: var(--vorik-navy-soft);
        background: linear-gradient(135deg, #dcecff, #f8fbff);
        border-bottom: 1px solid var(--vorik-line);
    }

    .vorik-vehicle-content {
        display: flex;
        flex: 1;
        flex-direction: column;
        padding: 1.25rem;
    }

    .vorik-illustration-label {
        display: inline-flex;
        width: fit-content;
        margin-bottom: 0.75rem;
        padding: 0.28rem 0.5rem;
        color: var(--vorik-muted);
        background: var(--vorik-neutral);
        border-radius: 0.35rem;
        font-size:.74rem;
        font-weight: 900;
        text-transform: uppercase;
    }

    .vorik-vehicle-list {
        display: grid;
        gap: 0.35rem;
        margin: auto 0 0;
        padding: 0;
        color: var(--vorik-muted);
        font-size: 0.84rem;
        list-style: none;
    }

    .vorik-vehicle-list li::before {
        margin-right: 0.45rem;
        color: var(--vorik-green);
        content: "•";
        font-weight: 900;
    }

    .vorik-tracking {
        padding: clamp(1.75rem, 5vw, 4rem);
        color: var(--vorik-white);
        background: linear-gradient(125deg, var(--vorik-navy), var(--vorik-navy-soft));
        border-radius: var(--vorik-radius-large);
    }

    .vorik-tracking-content h2 {
        color: var(--vorik-white);
    }

    .vorik-tracking-content p {
        max-width: 43rem;
        margin: 0.9rem 0 0;
        color: #d8e5f3;
    }

    .vorik-tracking .vorik-button-secondary,
    .vorik-final-cta .vorik-button-secondary {
        color: var(--vorik-white);
        background: transparent;
        border-color: rgba(255, 255, 255, 0.68);
    }

    .vorik-tracking .vorik-button-secondary:hover,
    .vorik-final-cta .vorik-button-secondary:hover {
        background: rgba(255, 255, 255, 0.12);
    }

    .vorik-app-copy p {
        max-width: 39rem;
        color: var(--vorik-muted);
    }

    .vorik-status {
        display: inline-flex;
        margin-bottom: 0.8rem;
        padding: 0.35rem 0.6rem;
        color: var(--vorik-green);
        background: #e7f5ef;
        border-radius: 2rem;
        font-size: 0.78rem;
        font-weight: 900;
    }

    .vorik-phone {
        width: min(16rem, 70vw);
        margin: auto;
        padding: 0.55rem;
        background: var(--vorik-navy);
        border: 0.35rem solid #2d496e;
        border-radius: 2rem;
        box-shadow: var(--vorik-shadow);
    }

    .vorik-phone-speaker {
        width: 4.25rem;
        height: 0.35rem;
        margin: 0 auto 0.55rem;
        background: #8798ae;
        border-radius: 2rem;
    }

    .vorik-phone-screen {
        display: grid;
        gap: 0.8rem;
        min-height: 22rem;
        padding:.8rem;
        color: var(--vorik-navy);
        background: #f7faff;
        border-radius: 1.35rem;
    }

    .vorik-phone-route {
        min-height: 8rem;
        background:
            linear-gradient(35deg, transparent 45%, #9cc4ef 46%, #9cc4ef 51%, transparent 52%),
            linear-gradient(125deg, transparent 44%, #c8def5 45%, #c8def5 50%, transparent 51%),
            #e6f1fc;
        border-radius: 1rem;
    }

    .vorik-phone-line {
        height: 0.75rem;
        background: #d6e4f2;
        border-radius: 2rem;
    }

    .vorik-phone-line-short {
        width: 65%;
    }

    .vorik-phone-action {
        min-height: 2.6rem;
        background: var(--vorik-yellow);
        border-radius: 0.65rem;
    }

    .vorik-partner-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .vorik-partner-card {
        padding: 1.1rem;
    }

    .vorik-partner-icon {
        margin-bottom: 0.7rem;
        color: var(--vorik-yellow-dark);
        font-size: 1.25rem;
        font-weight: 900;
    }

    .vorik-final-cta {
        padding: clamp(2rem, 6vw, 4.2rem);
        color: var(--vorik-white);
        background: var(--vorik-navy);
        border-radius: var(--vorik-radius-large);
        text-align: center;
    }

    .vorik-final-cta h2 {
        color: var(--vorik-white);
    }

    .vorik-final-cta p {
        max-width: 42rem;
        margin: 1rem auto 1.5rem;
        color: #d4e1ef;
    }

    .vorik-final-cta-actions {
        justify-content: center;
    }

    .vorik-footer {
        padding: 3rem 0 1.5rem;
        color: #d2deec;
        background: #071629;
    }

    .vorik-footer-grid {
        display: grid;
        gap: 2rem;
    }

    .vorik-footer .vorik-brand {
        color: var(--vorik-white);
    }

    .vorik-footer .vorik-brand-tagline {
        color: #b5c8dc;
    }

    .vorik-footer-summary {
        max-width: 21rem;
        margin: 1rem 0 0;
        font-size: 0.88rem;
    }

    .vorik-footer-heading {
        margin: 0 0 0.7rem;
        color: var(--vorik-white);
        font-size: 0.9rem;
    }

    .vorik-footer-links {
        display: grid;
        gap: 0.48rem;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .vorik-footer-links a {
        color: #d2deec;
        font-size: 0.87rem;
        text-decoration: none;
    }

    .vorik-footer-links a:hover {
        color: var(--vorik-yellow);
        text-decoration: underline;
    }

    .vorik-footer-bottom {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 0.75rem;
        margin-top: 2.5rem;
        padding-top: 1.25rem;
        border-top: 1px solid #29415e;
        color: #aebed1;
        font-size: 0.8rem;
    }

    @media (min-width: 40rem) {
        .vorik-service-options {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        .vorik-booking-fields,
        .vorik-service-grid,
        .vorik-vehicle-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .vorik-footer-grid {
            grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 1fr));
        }
    }

    @media (min-width: 52rem) {
        .vorik-nav {
            display: flex;
        }

        .vorik-mobile-menu {
            display: none;
        }

        .vorik-hero-grid {
            grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.8fr);
        }

        .vorik-booking-section {
            margin-top: -2.5rem;
        }

        .vorik-booking-fields {
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }

        .vorik-service-grid {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        .vorik-trust-layout {
            grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
        }

        .vorik-tracking-layout {
            grid-template-columns: minmax(0, 1fr) auto;
        }

        .vorik-app-layout {
            grid-template-columns: minmax(0, 1fr) minmax(15rem, 0.6fr);
        }

        .vorik-partner-grid {
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }
    }

    @media (min-width: 68rem) {
        .vorik-header-inner {
            min-height: 5.15rem;
        }

        .vorik-vehicle-grid {
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }

        .vorik-footer-grid {
            grid-template-columns: minmax(0, 1.7fr) repeat(3, minmax(0, 1fr));
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .vorik-home *,
        .vorik-home *::before,
        .vorik-home *::after {
            scroll-behavior: auto !important;
            transition-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
            animation-iteration-count: 1 !important;
        }
    }

    /* =======================================================
       VORIK MANUAL HOMEPAGE REFINEMENT V1
       ======================================================= */

    /*
     * Hero
     */

    .vorik-home .vorik-hero h1 {
        max-width: 11ch;
        font-size: clamp(2.75rem, 5.8vw, 5.25rem);
        line-height: 0.98;
        letter-spacing: -0.055em;
        text-wrap: balance;
    }

    .vorik-home .vorik-hero p {
        max-width: 38rem;
        line-height: 1.7;
    }

    .vorik-home .vorik-hero-grid {
        gap: clamp(2rem, 6vw, 6rem);
        align-items: center;
    }

    .vorik-home .vorik-hero-visual {
        min-height: clamp(18rem, 38vw, 32rem);
        transform: scale(1.04);
        transform-origin: center;
    }

    /*
     * Onglets de recherche défilables
     */

    .vorik-home .vorik-search-tabs {
        display: flex;
        align-items: stretch;
        gap: 0.5rem;
        width: 100%;
        margin: 0;
        padding: 0.25rem 0 0.65rem;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-inline: contain;
        scroll-behavior: smooth;
        scroll-snap-type: inline proximity;
        scrollbar-width: thin;
        scrollbar-color:
            var(--vorik-yellow, #f4b51c)
            transparent;
        -webkit-overflow-scrolling: touch;
    }

    .vorik-home .vorik-search-tabs::-webkit-scrollbar {
        height: 0.3rem;
    }

    .vorik-home .vorik-search-tabs::-webkit-scrollbar-track {
        background: transparent;
    }

    .vorik-home .vorik-search-tabs::-webkit-scrollbar-thumb {
        background: var(--vorik-yellow, #f4b51c);
        border-radius: 999px;
    }

    .vorik-home .vorik-search-tabs legend {
        flex: 0 0 100%;
    }

    .vorik-home .vorik-search-tabs label {
        position: relative;
        flex: 0 0 auto;
        min-width: max-content;
        scroll-snap-align: start;
        cursor: pointer;
        user-select: none;
    }

    .vorik-home .vorik-search-tabs label span {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 2.85rem;
        padding: 0.7rem 1.15rem;
        color: var(--vorik-ink-soft, #40516a);
        background: #f4f7fb;
        border: 1px solid transparent;
        border-radius: 999px;
        font-size: 0.84rem;
        font-weight: 750;
        line-height: 1;
        letter-spacing: 0.015em;
        white-space: nowrap;
        transition:
            color 160ms ease,
            background-color 160ms ease,
            border-color 160ms ease,
            transform 160ms ease,
            box-shadow 160ms ease;
    }

    .vorik-home .vorik-search-tabs label:hover span {
        color: var(--vorik-ink, #10233f);
        background: #ffffff;
        border-color: var(--vorik-line, #d9e2ee);
        transform: translateY(-1px);
    }

    .vorik-home .vorik-search-tabs input {
        position: absolute;
        width: 1px;
        height: 1px;
        opacity: 0;
        pointer-events: none;
    }

    .vorik-home .vorik-search-tabs input:checked + span {
        color: #10233f;
        background: var(--vorik-yellow, #f4b51c);
        border-color: var(--vorik-yellow, #f4b51c);
        box-shadow: 0 8px 20px rgba(244, 181, 28, 0.24);
    }

    .vorik-home .vorik-search-tabs input:focus-visible + span {
        outline: 3px solid rgba(23, 105, 224, 0.28);
        outline-offset: 3px;
    }

    /*
     * Widget de recherche
     */

    .vorik-home .vorik-booking {
        border: 1px solid rgba(16, 35, 63, 0.07);
        box-shadow:
            0 1.5rem 4rem rgba(16, 35, 63, 0.13),
            0 0.25rem 1rem rgba(16, 35, 63, 0.06);
    }

    .vorik-home .vorik-booking input,
    .vorik-home .vorik-booking select {
        min-height: 3.25rem;
        border-color: rgba(16, 35, 63, 0.15);
        background: #ffffff;
    }

    .vorik-home .vorik-booking input:hover,
    .vorik-home .vorik-booking select:hover {
        border-color: rgba(16, 35, 63, 0.28);
    }

    .vorik-home .vorik-booking button,
    .vorik-home .vorik-booking .vorik-button {
        min-height: 3.25rem;
        font-weight: 800;
    }

    /*
     * Cartes de services
     */

    .vorik-home .vorik-service-card {
        height: 100%;
        padding: clamp(1.35rem, 2.5vw, 2rem);
        border-color: rgba(16, 35, 63, 0.08);
        box-shadow: 0 0.6rem 1.8rem rgba(16, 35, 63, 0.045);
        transition:
            transform 180ms ease,
            box-shadow 180ms ease,
            border-color 180ms ease;
    }

    .vorik-home .vorik-service-card:hover {
        transform: translateY(-0.25rem);
        border-color: rgba(23, 105, 224, 0.18);
        box-shadow: 0 1.2rem 2.8rem rgba(16, 35, 63, 0.10);
    }

    .vorik-home .vorik-service-card h3 {
        font-size: clamp(1.05rem, 1.5vw, 1.25rem);
        line-height: 1.2;
    }

    .vorik-home .vorik-service-card p {
        min-height: 4.5em;
        line-height: 1.6;
    }

    /*
     * Cartes véhicules
     */

    .vorik-home .vorik-vehicle-card {
        height: 100%;
        overflow: hidden;
        border-color: rgba(16, 35, 63, 0.08);
        box-shadow: 0 0.8rem 2rem rgba(16, 35, 63, 0.055);
        transition:
            transform 180ms ease,
            box-shadow 180ms ease;
    }

    .vorik-home .vorik-vehicle-card:hover {
        transform: translateY(-0.3rem);
        box-shadow: 0 1.4rem 3rem rgba(16, 35, 63, 0.11);
    }

    .vorik-home .vorik-vehicle-card svg,
    .vorik-home .vorik-vehicle-card img {
        width: 100%;
        min-height: 10rem;
        object-fit: contain;
        transform: scale(1.06);
    }

    /*
     * Application
     */

    .vorik-home .vorik-app-visual,
    .vorik-home .vorik-phone-visual {
        transform: scale(1.08);
        transform-origin: center;
    }

    /*
     * Footer
     */

    .vorik-home .vorik-footer {
        padding-block: clamp(3rem, 6vw, 5.5rem) 2rem;
    }

    .vorik-home .vorik-footer a {
        font-size: 0.92rem;
        line-height: 1.8;
    }

    .vorik-home .vorik-footer p {
        line-height: 1.7;
    }

    /*
     * Adaptation tablette et mobile
     */

    @media (max-width: 62rem) {
        .vorik-home .vorik-hero h1 {
            max-width: 13ch;
        }

        .vorik-home .vorik-hero-visual {
            min-height: 17rem;
            transform: none;
        }
    }

    @media (max-width: 48rem) {
        .vorik-home .vorik-hero h1 {
            max-width: 12ch;
            font-size: clamp(2.45rem, 12vw, 4rem);
        }

        .vorik-home .vorik-search-tabs {
            margin-inline: -0.25rem;
            padding-inline: 0.25rem;
        }

        .vorik-home .vorik-search-tabs label span {
            min-height: 2.75rem;
            padding-inline: 1rem;
            font-size: 0.8rem;
        }

        .vorik-home .vorik-service-card p {
            min-height: auto;
        }

        .vorik-home .vorik-app-visual,
        .vorik-home .vorik-phone-visual {
            transform: none;
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .vorik-home *,
        .vorik-home *::before,
        .vorik-home *::after {
            scroll-behavior: auto !important;
            transition-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
            animation-iteration-count: 1 !important;
        }
    }


    /* =======================================================
       VORIK MOBILE APP EXPERIENCE V1
       Interface mobile distincte du desktop
       ======================================================= */

    .vorik-mobile-app-nav {
        display: none;
    }

    @media (max-width: 48rem) {

        /*
         * Fondation mobile
         */

        html {
            scroll-behavior: smooth;
            scroll-padding-top: 5rem;
        }

        body {
            margin: 0;
            background: #f4f7fb;
        }

        .vorik-home {
            --vorik-mobile-gutter: 1rem;
            --vorik-mobile-radius: 1.25rem;
            --vorik-mobile-bottom-nav-height: 4.75rem;

            min-width: 0;
            padding-bottom:
                calc(
                    var(--vorik-mobile-bottom-nav-height)
                    + env(safe-area-inset-bottom)
                    + 1rem
                );

            overflow-x: clip;
            font-size: 16px;
        }

        .vorik-home .vorik-container {
            width: 100%;
            max-width: none;
            padding-inline: var(--vorik-mobile-gutter);
        }

        /*
         * Header mobile
         */

        .vorik-home .vorik-header {
            position: sticky;
            z-index: 100;
            top: 0;

            min-height: 4rem;

            background: rgba(5, 31, 67, 0.96);
            border-bottom: 1px solid rgba(255, 255, 255, 0.12);
            box-shadow: 0 0.5rem 1.5rem rgba(4, 24, 52, 0.15);

            backdrop-filter: blur(14px);
            -webkit-backdrop-filter: blur(14px);
        }

        .vorik-home .vorik-header-inner {
            min-height: 4rem;
            gap: 0.75rem;
        }

        .vorik-home .vorik-brand {
            min-width: 0;
            color: #ffffff;
        }

        .vorik-home .vorik-brand-name {
            color: #ffffff;
            font-size: 1rem;
            line-height: 1;
        }

        .vorik-home .vorik-brand-tagline {
            color: rgba(255, 255, 255, 0.72);
            font-size: 0.63rem;
        }

        .vorik-home .vorik-brand-mark {
            width: 2rem;
            height: 2rem;
            flex: 0 0 2rem;
        }

        .vorik-home .vorik-nav {
            display: none;
        }

        .vorik-home .vorik-header .vorik-button {
            min-height: 2.55rem;
            padding: 0.65rem 0.9rem;
            border-radius: 0.75rem;
            font-size: 0.76rem;
            white-space: nowrap;
        }

        /*
         * Hero comme écran d'accueil d'application
         */

        .vorik-home .vorik-hero {
            min-height: auto;
            padding:
                1rem
                1rem
                4.5rem;

            color: #ffffff;
            background:
                radial-gradient(
                    circle at 85% 30%,
                    rgba(31, 130, 255, 0.30),
                    transparent 37%
                ),
                linear-gradient(
                    145deg,
                    #041f43 0%,
                    #06346f 58%,
                    #07509f 100%
                );
        }

        .vorik-home .vorik-hero .vorik-container {
            padding-inline: 0;
        }

        .vorik-home .vorik-hero-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 1.25rem;
        }

        .vorik-home .vorik-hero-copy {
            display: contents;
        }

        .vorik-home .vorik-eyebrow {
            order: 1;
            margin-bottom: 0.25rem;

            color: #ffd04d;
            font-size: 0.72rem;
            font-weight: 800;
            letter-spacing: 0.08em;
        }

        .vorik-home .vorik-hero h1 {
            order: 2;

            max-width:9ch;
            margin:0;

            color:#ffffff;
            font-size:2.45rem;
            line-height:.95;
            letter-spacing: -0.055em;
            text-wrap: balance;
        }

        .vorik-home .vorik-hero h1 strong,
        .vorik-home .vorik-hero h1 em,
        .vorik-home .vorik-hero-highlight {
            color: #ffc629;
            font-style: normal;
        }

        .vorik-home .vorik-hero p {
            order: 3;

            max-width: 34rem;
            margin: 0;

            color: rgba(255, 255, 255, 0.88);
            font-size: 1.02rem;
            line-height: 1.65;
        }

        .vorik-home .vorik-hero-actions {
            order: 5;

            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0.65rem;

            width: 100%;
        }

        .vorik-home .vorik-hero-actions .vorik-button {
            width: 100%;
            min-height: 3.15rem;
            padding: 0.85rem 0.8rem;

            border-radius: 0.9rem;
            font-size: 0.87rem;
            font-weight: 800;
            text-align: center;
        }

        

        .vorik-home .vorik-brand {
            color: #ffffff;
        }

        .vorik-home .vorik-brand-name {
            color: #ffffff;
        }

        .vorik-home .vorik-brand-tagline {
            color: rgba(255, 255, 255, 0.7);
        }

        /*
         * Bouton hamburger
         */

        .vorik-mobile-menu-button {
            display: inline-flex;
            align-items: center;
            justify-content: center;

            width: 2.9rem;
            height: 2.9rem;
            margin-left: auto;
            padding: 0;

            color: #ffffff;
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.18);
            border-radius: 0.85rem;

            cursor: pointer;
            -webkit-tap-highlight-color: transparent;
        }

        .vorik-mobile-menu-button:hover,
        .vorik-mobile-menu-button:focus-visible {
            background: rgba(255, 255, 255, 0.16);
        }

        .vorik-mobile-menu-button:focus-visible {
            outline: 3px solid rgba(255, 198, 41, 0.55);
            outline-offset: 3px;
        }

        .vorik-mobile-menu-button svg {
            width: 1.45rem;
            height: 1.45rem;
        }

        /*
         * Fond du drawer
         */

        .vorik-mobile-drawer-overlay {
            position: fixed;
            z-index: 1090;
            inset: 0;

            display: block;

            visibility: hidden;
            opacity: 0;

            background: rgba(2, 16, 35, 0.66);

            transition:
                opacity 220ms ease,
                visibility 220ms ease;
        }

        .vorik-mobile-drawer-overlay.is-open {
            visibility: visible;
            opacity: 1;
        }

        /*
         * Drawer
         */

        .vorik-mobile-drawer {
            position: fixed;
            z-index: 1100;
            top: 0;
            right: 0;
            bottom: 0;

            display: flex;
            flex-direction: column;

            width: min(88vw, 23rem);
            padding:
                calc(1rem + env(safe-area-inset-top))
                1rem
                calc(1rem + env(safe-area-inset-bottom));

            color: #10233f;
            background: #ffffff;
            box-shadow: -1.5rem 0 4rem rgba(2, 16, 35, 0.28);

            visibility: hidden;
            transform: translateX(105%);

            transition:
                transform 240ms ease,
                visibility 240ms ease;
        }

        .vorik-mobile-drawer.is-open {
            visibility: visible;
            transform: translateX(0);
        }

        .vorik-mobile-drawer-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;

            padding-bottom: 1rem;
            border-bottom: 1px solid #e2e8f0;
        }

        .vorik-mobile-drawer-brand {
            display: flex;
            align-items: center;
            gap: 0.65rem;

            color: #10233f;
            font-size: 1.05rem;
            font-weight: 900;
            text-decoration: none;
        }

        .vorik-mobile-drawer-brand-mark {
            display: inline-flex;
            align-items: center;
            justify-content: center;

            width: 2.2rem;
            height: 2.2rem;

            color: #10233f;
            background: #ffc629;
            border-radius: 0.7rem;

            font-size: 0.95rem;
            font-weight: 950;
        }

        .vorik-mobile-drawer-close {
            display: inline-flex;
            align-items: center;
            justify-content: center;

            width: 2.75rem;
            height: 2.75rem;
            padding: 0;

            color: #10233f;
            background: #f1f5f9;
            border: 0;
            border-radius: 0.8rem;

            cursor: pointer;
        }

        .vorik-mobile-drawer-close svg {
            width: 1.35rem;
            height: 1.35rem;
        }

        /*
         * Liens du drawer
         */

        .vorik-mobile-drawer-nav {
            display: grid;
            gap: 0.4rem;

            padding-block: 1.25rem;
        }

        .vorik-mobile-drawer-nav a {
            display: flex;
            align-items: center;
            gap: 0.9rem;

            min-height: 3.5rem;
            padding: 0.75rem 0.85rem;

            color: #10233f;
            background: transparent;
            border-radius: 0.9rem;

            font-size: 1rem;
            font-weight: 750;
            text-decoration: none;
        }

        .vorik-mobile-drawer-nav a:hover,
        .vorik-mobile-drawer-nav a:focus-visible {
            background: #f1f5f9;
        }

        .vorik-mobile-drawer-nav-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;

            width: 2.4rem;
            height: 2.4rem;
            flex: 0 0 2.4rem;

            color: #123b70;
            background: #eaf2fb;
            border-radius: 0.75rem;
        }

        .vorik-mobile-drawer-nav-icon svg {
            width: 1.25rem;
            height: 1.25rem;
            stroke: currentColor;
        }

        .vorik-mobile-drawer-primary {
            margin-top: auto;
        }

        .vorik-mobile-drawer-primary a {
            display: flex;
            align-items: center;
            justify-content: center;

            min-height: 3.5rem;
            padding: 0.85rem 1rem;

            color: #10233f;
            background: #ffc629;
            border-radius: 0.95rem;

            font-size: 1rem;
            font-weight: 900;
            text-decoration: none;
        }

        .vorik-mobile-drawer-help {
            margin-top: 0.75rem;

            color: #617086;
            font-size: 0.82rem;
            line-height: 1.55;
            text-align: center;
        }

        /*
         * Barre d’actions fixe
         */

        .vorik-mobile-activity-nav {
            position: fixed;
            z-index: 1000;

            right: 0.65rem;
            bottom:
                calc(
                    0.55rem
                    + env(safe-area-inset-bottom)
                );
            left: 0.65rem;

            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 0.2rem;

            height:72px;
            padding: 0.35rem;

            background: rgba(255, 255, 255, 0.97);
            border: 1px solid rgba(16, 35, 63, 0.10);
            border-radius: 1.2rem;
            box-shadow:
                0 1rem 2.6rem rgba(4, 31, 67, 0.24),
                0 0.2rem 0.75rem rgba(4, 31, 67, 0.08);

            backdrop-filter: blur(18px);
            -webkit-backdrop-filter: blur(18px);
        }

        .vorik-mobile-activity-nav a {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 0.3rem;

            min-width: 0;
            min-height: 3.9rem;
            padding: 0.35rem 0.2rem;

            color: #637188;
            border-radius: 0.9rem;

            font-size:.74rem;
            font-weight: 800;
            line-height: 1;
            text-align: center;
            text-decoration: none;

            -webkit-tap-highlight-color: transparent;
        }

        .vorik-mobile-activity-nav a:hover,
        .vorik-mobile-activity-nav a:focus-visible {
            color: #10233f;
            background: #eef3f8;
        }

        .vorik-mobile-activity-nav a[aria-current="page"] {
            color: #10233f;
            background: #fff2bd;
        }

        .vorik-mobile-activity-nav svg {
            width: 1.35rem;
            height: 1.35rem;
            stroke: currentColor;
        }

        /*
         * La barre ne doit pas masquer le footer
         */

        .vorik-home .vorik-footer {
            padding-bottom:
                calc(
                    var(--vorik-mobile-nav-height)
                    + env(safe-area-inset-bottom)
                    + 2rem
                );
        }

        /*
         * Petits écrans
         */

        @media (max-width: 22rem) {
            .vorik-mobile-activity-nav {
                right: 0.35rem;
                left: 0.35rem;
            }

            .vorik-mobile-activity-nav a {
                font-size: 0.64rem;
            }

            .vorik-mobile-drawer {
                width: 94vw;
            }
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .vorik-mobile-drawer,
        .vorik-mobile-drawer-overlay {
            transition-duration: 0.01ms !important;
        }
    }


    /* =======================================================
       VORIK HOMEPAGE V2 CONVERSION EXPERIENCE
       ======================================================= */

    .vorik-hero {
        padding-bottom: 0;
    }

    .vorik-hero-booking {
        position: relative;
        z-index: 20;

        width: min(
            calc(100% - 2rem),
            var(--vorik-container)
        );

        margin:
            clamp(2rem, 4vw, 3rem)
            auto
            -4rem;
    }

    .vorik-hero-booking .vorik-container {
        width: 100%;
        max-width: none;
        padding: 0;
    }

    .vorik-hero-booking .vorik-booking {
        color: var(--vorik-text);
        background: #ffffff;
    }

    .vorik-booking-section {
        display: none;
    }

    .vorik-app-conversion-actions {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.85rem;
    }

    .vorik-app-coming-soon {
        display: inline-flex;
        align-items: center;

        min-height: 2.9rem;
        padding: 0.65rem 0.9rem;

        color: #52637b;
        background: #eef3f8;
        border: 1px solid #d8e1eb;
        border-radius: 0.75rem;

        font-size: 0.82rem;
        font-weight: 800;
    }

    .vorik-mobile-drawer-login {
        margin-top: 0.65rem;

        color: #10233f !important;
        background: #ffffff !important;
        border: 1px solid #cfd9e5;
    }

    .vorik-mobile-nav-register {
        color: #10233f !important;
        background: #ffc629 !important;
    }

    @media (min-width: 48.01rem) {
        .vorik-hero-booking {
            transform: translateY(0);
        }

        .vorik-section:first-of-type {
            padding-top: 7rem;
        }
    }

    @media (max-width: 48rem) {

        .vorik-home .vorik-hero {
            padding:
                1.15rem
                var(--vorik-mobile-gutter)
                0;
        }

        .vorik-home .vorik-hero-grid {
            gap: 0.8rem;
        }

        .vorik-home .vorik-hero h1 {
            max-width: 10ch;
            font-size: clamp(
                2.25rem,
                10vw,
                3rem
            );
        }

        .vorik-home .vorik-hero-text {
            font-size: 0.94rem;
            line-height: 1.55;
        }

        .vorik-home .vorik-hero-visual {
            display: none;
        }

        .vorik-home .vorik-hero-actions {
            display: grid;
            grid-template-columns: 1fr 0.78fr;
            gap: 0.55rem;
            margin-top: 0.8rem;
        }

        .vorik-home .vorik-hero-actions .vorik-button {
            min-height: 3rem;
            padding: 0.75rem 0.6rem;
            font-size: 0.79rem;
        }

        .vorik-home .vorik-hero-note {
            margin-top: 0.2rem;
            font-size: 0.72rem;
        }

        .vorik-hero-booking {
            width: 100%;
            margin: 1rem auto -2.25rem;
        }

        .vorik-hero-booking .vorik-booking {
            width: 100%;
            margin: 0;
            padding: 1rem;

            border-radius:
                1.4rem
                1.4rem
                0
                0;

            box-shadow:
                0 -0.35rem 1.4rem
                    rgba(2, 16, 35, 0.10),
                0 1.2rem 2.6rem
                    rgba(2, 16, 35, 0.16);
        }

        .vorik-home .vorik-booking-heading {
            margin-bottom: 0.8rem;
        }

        .vorik-home .vorik-booking h2 {
            font-size: 1.45rem;
        }

        .vorik-home .vorik-booking-heading p {
            margin-top: 0.25rem;
            font-size: 0.79rem;
        }

        .vorik-home .vorik-search-tabs {
            margin-bottom: 0.65rem;
        }

        .vorik-home .vorik-booking-fields {
            gap: 0.65rem;
        }

        .vorik-home .vorik-booking-submit {
            min-height: 3.7rem;
            margin-top: 0.8rem;

            font-size: 1rem;
            font-weight: 900;

            box-shadow:
                0 0.8rem 1.7rem
                rgba(255, 198, 41, 0.32);
        }

        .vorik-home .vorik-booking-help {
            margin-top: 0.65rem;
            font-size: 0.72rem;
            line-height: 1.45;
        }

        .vorik-home main > section:not(.vorik-hero) {
            padding-block: 3rem;
        }

        .vorik-home #vorik-services {
            padding-top: 5rem;
        }

        .vorik-app-conversion-actions {
            display: grid;
            grid-template-columns: 1fr;
        }

        .vorik-app-conversion-actions .vorik-button {
            width: 100%;
        }

        .vorik-app-coming-soon {
            justify-content: center;
            text-align: center;
        }

        .vorik-mobile-activity-nav a[aria-current="page"] {
            color: #637188;
            background: transparent;
        }

        .vorik-mobile-activity-nav
        .vorik-mobile-nav-register {
            position: relative;
            transform: translateY(-0.2rem);

            box-shadow:
                0 0.55rem 1.2rem
                rgba(255, 198, 41, 0.38);
        }
    }


    /* =======================================================
       VORIK SMART BOOKING ENGINE V3
       ======================================================= */

    /*
     * Tous les boutons jaunes doivent utiliser un texte noir.
     */

    .vorik-home .vorik-button-primary,
    .vorik-home a.vorik-button-primary,
    .vorik-home button.vorik-button-primary,
    .vorik-mobile-drawer-primary > a,
    .vorik-mobile-nav-register {
        color: #080808;
    }

    .vorik-home .vorik-button-primary *,
    .vorik-mobile-nav-register * {
        color: #080808 !important;
    }

    /*
     * En-tête du moteur de réservation
     */

    .vorik-smart-booking {
        overflow: hidden;
    }

    .vorik-booking-kicker {
        margin: 0 0 0.3rem !important;

        color: #1769b0 !important;
        font-size: 0.72rem !important;
        font-weight: 900 !important;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    /*
     * Trois onglets principaux
     */

    .vorik-booking-service-tabs {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.55rem;

        margin-bottom: 1.25rem;
        padding: 0.35rem;

        background: #eef2f7;
        border-radius: 1.15rem;
    }

    .vorik-booking-service-tab {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.55rem;

        min-width: 0;
        min-height: 3.4rem;
        padding: 0.65rem 0.7rem;

        color: #53647b;
        background: transparent;
        border: 0;
        border-radius: 0.9rem;

        font: inherit;
        font-size: 0.86rem;
        font-weight: 850;
        line-height: 1.15;

        cursor: pointer;

        transition:
            color 160ms ease,
            background-color 160ms ease,
            box-shadow 160ms ease,
            transform 160ms ease;
    }

    .vorik-booking-service-tab:hover {
        color: #10233f;
        background: rgba(255, 255, 255, 0.7);
    }

    .vorik-booking-service-tab.is-active {
        color: #080808;
        background: #ffc629;
        box-shadow:
            0 0.45rem 1.2rem
            rgba(255, 198, 41, 0.30);
    }

    .vorik-booking-service-tab-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;

        width: 1.55rem;
        height: 1.55rem;
        flex: 0 0 1.55rem;
    }

    .vorik-booking-service-tab-icon svg {
        width: 1.45rem;
        height: 1.45rem;
    }

    /*
     * Panneaux dynamiques
     */

    .vorik-booking-service-panel {
        display: none;
    }

    .vorik-booking-service-panel.is-active {
        display: block;
        animation:
            vorikBookingPanelIn
            180ms
            ease;
    }

    @keyframes vorikBookingPanelIn {
        from {
            opacity: 0;
            transform: translateY(0.35rem);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .vorik-smart-booking-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.85rem;
    }

    .vorik-field-wide {
        grid-column: 1 / -1;
    }

    /*
     * Champs avec icônes
     */

    .vorik-smart-input {
        position: relative;
    }

    .vorik-smart-input > span {
        position: absolute;
        z-index: 2;
        top: 50%;
        left: 1rem;

        display: inline-flex;
        align-items: center;
        justify-content: center;

        width: 1rem;
        height: 1rem;

        color: #1769b0;
        font-size: 1rem;
        font-weight: 900;

        pointer-events: none;
        transform: translateY(-50%);
    }

    .vorik-smart-input input {
        padding-left: 2.8rem !important;
    }

    .vorik-smart-input-start {
        border: 0.18rem solid #1769b0;
        border-radius: 50%;
    }

    .vorik-smart-input-end {
        background: #ffc629;
        border-radius: 0.2rem;
    }

    /*
     * CTA
     */

    .vorik-smart-booking .vorik-booking-submit {
        min-height: 3.75rem;
        margin-top: 1rem;

        color: #FFFFFF;
        background: #0B1F3A;

        font-size: 1rem;
        font-weight: 900;

        box-shadow:
            0 0.8rem 1.8rem
            rgba(255, 198, 41, 0.30);
    }

    .vorik-booking-conversion-footer {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 0.55rem 1rem;

        margin-top: 0.8rem;
    }

    .vorik-booking-conversion-footer p {
        margin: 0;

        color: #637188;
        font-size: 0.75rem;
        line-height: 1.45;
    }

    .vorik-booking-account-links {
        display: inline-flex;
        align-items: center;
        gap: 0.45rem;

        color: #10233f;
        font-size: 0.78rem;
        font-weight: 850;
    }

    .vorik-booking-account-links a {
        color: #10233f;
        text-decoration: underline;
        text-underline-offset: 0.18rem;
    }

    /*
     * Mobile comme Uber
     */

    @media (max-width: 48rem) {

        .vorik-home .vorik-booking-heading {
            margin-bottom: 0.85rem;
        }

        .vorik-home .vorik-booking-heading h2 {
            max-width: 18ch;

            font-size: 1.45rem;
            line-height: 1.08;
        }

        .vorik-booking-service-tabs {
            gap: 0.3rem;

            width: 100%;
            margin-bottom: 1rem;
            padding: 0.3rem;

            border-radius: 1rem;
        }

        .vorik-booking-service-tab {
            flex-direction: column;
            gap: 0.25rem;

            min-height: 4.15rem;
            padding: 0.5rem 0.2rem;

            border-radius: 0.8rem;

            font-size: 0.7rem;
            white-space: normal;
        }

        .vorik-booking-service-tab-icon {
            width: 1.5rem;
            height: 1.5rem;
        }

        .vorik-booking-service-tab-icon svg {
            width: 1.4rem;
            height: 1.4rem;
        }

        .vorik-smart-booking-grid {
            grid-template-columns: 1fr;
            gap: 0.7rem;
        }

        .vorik-field-wide {
            grid-column: auto;
        }

        .vorik-smart-booking .vorik-field label {
            margin-bottom: 0.38rem;

            font-size: 0.78rem;
        }

        .vorik-smart-booking .vorik-field input,
        .vorik-smart-booking .vorik-field select {
            min-height: 3.5rem;

            font-size: 0.94rem;
        }

        .vorik-smart-booking .vorik-booking-submit {
            min-height: 3.8rem;
            margin-top: 0.9rem;

            border-radius: 1rem;

            font-size: 0.96rem;
        }

        .vorik-booking-conversion-footer {
            display: grid;
            justify-items: center;

            text-align: center;
        }
    }

    @media (max-width: 22rem) {
        .vorik-booking-service-tab {
            font-size: 0.63rem;
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .vorik-booking-service-panel.is-active {
            animation: none;
        }
    }


    /* =======================================================
       VORIK SINGLE ACTIVE BOOKING TAB FIX V1
       Un seul onglet Location / Taxi course / VTC actif
       ======================================================= */

    /*
     * État normal : fond neutre.
     * Ces sélecteurs neutralisent l’ancienne règle générale
     * .vorik-booking button { background: jaune; }
     */

    .vorik-home
    .vorik-smart-booking
    .vorik-booking-service-tabs
    .vorik-booking-service-tab {
        color: #53647b !important;
        background: transparent !important;
        border: 1px solid transparent !important;
        box-shadow: none !important;
        transform: none !important;
    }

    .vorik-home
    .vorik-smart-booking
    .vorik-booking-service-tabs
    .vorik-booking-service-tab:hover {
        color: #10233f !important;
        background: rgba(255, 255, 255, 0.78) !important;
        border-color: rgba(16, 35, 63, 0.08) !important;
        box-shadow: none !important;
    }

    /*
     * Seul l’onglet actif devient jaune.
     */

    .vorik-home
    .vorik-smart-booking
    .vorik-booking-service-tabs
    .vorik-booking-service-tab.is-active,
    .vorik-home
    .vorik-smart-booking
    .vorik-booking-service-tabs
    .vorik-booking-service-tab[aria-selected="true"] {
        color: #080808 !important;
        background: #ffc629 !important;
        border-color: #ffc629 !important;
        box-shadow:
            0 0.45rem 1.1rem
            rgba(255, 198, 41, 0.30) !important;
    }

    .vorik-home
    .vorik-smart-booking
    .vorik-booking-service-tabs
    .vorik-booking-service-tab.is-active *,
    .vorik-home
    .vorik-smart-booking
    .vorik-booking-service-tabs
    .vorik-booking-service-tab[aria-selected="true"] * {
        color: #080808 !important;
    }

    /*
     * Les onglets non sélectionnés gardent leurs icônes sobres.
     */

    .vorik-home
    .vorik-smart-booking
    .vorik-booking-service-tab:not(.is-active)
    .vorik-booking-service-tab-icon {
        color: #53647b !important;
    }

    /*
     * Le vrai bouton de recherche reste jaune.
     */

    .vorik-home .vorik-smart-booking .vorik-booking-submit{
    background:#0B1F3A;
    border-color:#0B1F3A;
    color:#FFFFFF;
}


    /* =======================================================
       VORIK MOBILE HERO TWO LINES V1
       Titre du Hero limité à deux lignes sur mobile
       ======================================================= */

    @media (max-width: 48rem) {
        .vorik-home .vorik-hero h1 {
            max-width: none !important;
            width: 100%;

            font-size: clamp(
                2.15rem,
                9.8vw,
                3rem
            ) !important;

            line-height: 0.98 !important;
            letter-spacing: -0.055em;

            white-space: normal;
            text-wrap: balance;
        }

        .vorik-home .vorik-hero h1 .vorik-highlight {
            white-space: nowrap;
        }
    }


    /* =======================================================
       VORIK MOBILE HIDE HERO HELPER TEXT V1
       ======================================================= */

    @media (max-width:48rem){

        .vorik-home .vorik-hero .vorik-hero-meta,
        .vorik-home .vorik-hero .vorik-hero-note,
        .vorik-home .vorik-hero .vorik-hero-helper{
            display:none !important;
        }

    }


    /* =======================================================
       VORIK MOBILE CONVERSION FOCUS V2
       Hero mobile minimal et moteur de réservation prioritaire
       ======================================================= */

    @media (max-width: 48rem) {

        /*
         * Hero plus court
         */

        .vorik-home .vorik-hero {
            padding:
                0.9rem
                var(--vorik-mobile-gutter)
                0 !important;
        }

        .vorik-home .vorik-hero-grid {
            display: block !important;
        }

        /*
         * Conserver uniquement le titre et le CTA principal
         */

        .vorik-home .vorik-hero .vorik-eyebrow,
        .vorik-home .vorik-hero .vorik-hero-text,
        .vorik-home .vorik-hero .vorik-hero-note,
        .vorik-home .vorik-hero .vorik-hero-helper,
        .vorik-home .vorik-hero .vorik-hero-meta,
        .vorik-home .vorik-hero .vorik-hero-visual {
            display: none !important;
        }

        /*
         * Titre exactement sur deux lignes
         */

        .vorik-home .vorik-hero h1 {
            width: 100% !important;
            max-width: none !important;
            margin:
                0
                0
                0.9rem !important;

            color: #ffffff;
            font-size:
                clamp(
                    2.05rem,
                    9.5vw,
                    2.75rem
                ) !important;

            line-height: 0.98 !important;
            letter-spacing: -0.055em !important;
            text-wrap: balance;
        }

        .vorik-home .vorik-hero h1 .vorik-highlight {
            white-space: nowrap;
        }

        /*
         * Un seul bouton de conversion
         */

        .vorik-home .vorik-hero-actions {
            display: block !important;
            width: 100%;
            margin: 0 !important;
        }

        .vorik-home
        .vorik-hero-actions
        .vorik-button-primary {
            display: flex !important;
            width: 100%;
            min-height: 3.45rem;

            padding: 0.85rem 1rem;

            color: #080808 !important;
            background: #ffc629 !important;
            border-color: #ffc629 !important;
            border-radius: 1rem;

            font-size: 0.94rem;
            font-weight: 900;

            box-shadow:
                0 0.8rem 1.8rem
                rgba(255, 198, 41, 0.28);
        }

        /*
         * Masquer le bouton Se connecter dans le Hero.
         * La connexion reste disponible dans le drawer
         * et dans la navigation inférieure.
         */

        

        /*
         * Faire remonter immédiatement le moteur
         */

        .vorik-home .vorik-hero-booking {
            width: 100%;
            margin:
                0.9rem
                auto
                -2.25rem !important;
        }

        .vorik-home
        .vorik-hero-booking
        .vorik-booking {
            margin: 0 !important;
            padding: 0.9rem !important;

            border-radius:
                1.35rem
                1.35rem
                0
                0 !important;
        }

        /*
         * En-tête du formulaire plus compact
         */

        .vorik-home
        .vorik-smart-booking
        .vorik-booking-heading {
            margin-bottom: 0.65rem !important;
        }

        .vorik-home
        .vorik-smart-booking
        .vorik-booking-kicker {
            display: none !important;
        }

        .vorik-home
        .vorik-smart-booking
        .vorik-booking-heading h2 {
            max-width: none;
            margin: 0 0 0.25rem;

            font-size: 1.25rem !important;
            line-height: 1.12;
        }

        .vorik-home
        .vorik-smart-booking
        .vorik-booking-heading p {
            margin: 0;

            font-size: 0.76rem !important;
            line-height: 1.4;
        }

        /*
         * Onglets plus visibles et plus proches du titre
         */

        .vorik-home .vorik-booking-service-tabs {
            margin-bottom: 0.8rem !important;
        }

        /*
         * Réduire l’espace avant la section suivante
         */

        .vorik-home #vorik-services {
            padding-top: 4.25rem !important;
        }
    }


    /* =======================================================
       VORIK MOBILE HERO DUAL CTA V1
       Deux CTA côte à côte
       ======================================================= */

    @media (max-width:48rem){

        .vorik-home .vorik-hero-actions{

            display:grid !important;
            grid-template-columns:1fr 1fr;
            gap:.65rem;

            margin:0 0 .9rem !important;
        }

        .vorik-home .vorik-hero-actions .vorik-button{

            width:100%;
            justify-content:center;
            min-height:3.35rem;

            border-radius:1rem;

            font-weight:800;
        }

        .vorik-home .vorik-button-primary{

            background:#ffc629 !important;
            border-color:#ffc629 !important;
            color:#111 !important;
        }

        .vorik-home .vorik-button-secondary{

            display:flex !important;

            background:#ffffff !important;
            color:#10233f !important;

            border:2px solid rgba(16,35,63,.14) !important;
            box-shadow:none !important;
        }

    }


    /* =======================================================
       VORIK MOBILE DUAL CTA GUARANTEED V2
       Deux boutons visibles avec icônes
       ======================================================= */

    .vorik-home
    .vorik-hero-actions
    .vorik-hero-register-button,
    .vorik-home
    .vorik-hero-actions
    .vorik-hero-login-button {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
    }

    .vorik-home
    .vorik-hero-actions
    .vorik-hero-register-button svg,
    .vorik-home
    .vorik-hero-actions
    .vorik-hero-login-button svg {
        display: block;

        width: 1.2rem;
        height: 1.2rem;
        flex: 0 0 1.2rem;
    }

    .vorik-home
    .vorik-hero-actions
    .vorik-hero-register-button {
        color: #080808 !important;
        background: #ffc629 !important;
        border-color: #ffc629 !important;
    }

    .vorik-home
    .vorik-hero-actions
    .vorik-hero-register-button * {
        color: #080808 !important;
    }

    .vorik-home
    .vorik-hero-actions
    .vorik-hero-login-button {
        color: #ffffff !important;
        background: rgba(255, 255, 255, 0.08) !important;
        border: 1px solid rgba(255, 255, 255, 0.58) !important;
    }

    .vorik-home
    .vorik-hero-actions
    .vorik-hero-login-button * {
        color: #ffffff !important;
    }

    @media (max-width: 48rem) {

        .vorik-home .vorik-hero-actions {
            display: grid !important;
            grid-template-columns:
                minmax(0, 1fr)
                minmax(0, 1fr);

            gap: 0.6rem;

            width: 100%;
            margin:
                0
                0
                0.9rem
                !important;
        }

        .vorik-home
        .vorik-hero-actions
        .vorik-hero-register-button,
        .vorik-home
        .vorik-hero-actions
        .vorik-hero-login-button {
            display: inline-flex !important;

            width: 100% !important;
            min-width: 0;
            min-height: 3.35rem;

            margin: 0 !important;
            padding: 0.7rem 0.55rem !important;

            border-radius: 0.95rem;

            font-size: 0.86rem !important;
            font-weight: 900;
            line-height: 1;
            white-space: nowrap;
        }

        .vorik-home
        .vorik-hero-actions
        .vorik-hero-register-button svg,
        .vorik-home
        .vorik-hero-actions
        .vorik-hero-login-button svg {
            width: 1.15rem;
            height: 1.15rem;
            flex-basis: 1.15rem;
        }

        .vorik-home
        .vorik-hero-actions
        .vorik-hero-login-button {
            color: #ffffff !important;
            background: transparent !important;
            border:
                1.5px
                solid
                rgba(255, 255, 255, 0.72)
                !important;

            box-shadow: none !important;
        }
    }

    @media (max-width: 21rem) {

        .vorik-home .vorik-hero-actions {
            gap: 0.4rem;
        }

        .vorik-home
        .vorik-hero-actions
        .vorik-hero-register-button,
        .vorik-home
        .vorik-hero-actions
        .vorik-hero-login-button {
            padding-inline: 0.35rem !important;
            font-size: 0.76rem !important;
        }

        .vorik-home
        .vorik-hero-actions
        .vorik-hero-register-button svg,
        .vorik-home
        .vorik-hero-actions
        .vorik-hero-login-button svg {
            width: 1rem;
            height: 1rem;
            flex-basis: 1rem;
        }
    }


    /* =======================================================
       VORIK FINAL RESPONSIVE LAYOUT CLEANUP V1
       Nettoyage desktop/mobile, drawer et hauteur du document
       ======================================================= */

    /*
     * Document normal : aucun espace artificiel après le footer.
     */

    html {
        width: 100%;
        min-height: 100%;
        margin: 0;
        padding: 0;
        overflow-x: hidden;
    }

    body {
        width: 100%;
        min-height: 100%;
        margin: 0;
        padding: 0;

        overflow-x: hidden;

        background: #ffffff;
    }

    .vorik-home {
        position: relative;

        width: 100%;
        min-width: 0;
        min-height: 0;

        margin: 0;
        padding-bottom: 0;

        overflow-x: clip;
    }

    .vorik-home main,
    .vorik-home footer,
    .vorik-home section {
        min-height: 0;
    }

    /*
     * Desktop :
     * tous les composants strictement mobiles sont retirés
     * du flux et totalement invisibles.
     */

    .vorik-mobile-menu,
    .vorik-mobile-panel,
    .vorik-mobile-menu-button,
    .vorik-mobile-drawer,
    .vorik-mobile-drawer-overlay,
    .vorik-mobile-activity-nav,
    .vorik-mobile-app-nav {
        display: none !important;
    }

    /*
     * Le footer termine réellement la page.
     */

    .vorik-home .vorik-footer {
        position: relative;
        z-index: 1;

        margin: 0;
    }

    /*
     * Mobile seulement.
     */

    @media (max-width: 48rem) {

        html,
        body {
            min-height: 100%;
        }

        body.vorik-drawer-open {
            overflow: hidden !important;
            overscroll-behavior: none;
            touch-action: none;
        }

        .vorik-home {
            --vorik-mobile-nav-height: 4.75rem;

            padding-bottom:
                calc(
                    var(--vorik-mobile-nav-height)
                    + env(safe-area-inset-bottom)
                    + 0.75rem
                );
        }

        /*
         * Header mobile propre.
         */

        .vorik-home .vorik-header-inner {
            display: flex;
            align-items: center;
            justify-content: space-between;

            width: 100%;
        }

        .vorik-home .vorik-nav,
        .vorik-home .vorik-mobile-menu {
            display: none !important;
        }

        /*
         * Hamburger.
         */

        .vorik-mobile-menu-button {
            display: inline-flex !important;
            align-items: center;
            justify-content: center;

            width: 2.85rem;
            height: 2.85rem;
            flex: 0 0 2.85rem;

            margin-left: auto;
            padding: 0;

            color: #ffffff;
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.25);
            border-radius: 0.85rem;
        }

        /*
         * Overlay.
         * Position fixed : il ne participe jamais à la hauteur.
         */

        .vorik-mobile-drawer-overlay {
            position: fixed !important;
            z-index: 1090;
            inset: 0;

            display: block !important;

            width: 100vw;
            height: 100dvh;

            margin: 0;
            padding: 0;

            visibility: hidden;
            opacity: 0;
            pointer-events: none;

            background: rgba(2, 16, 35, 0.68);

            transition:
                opacity 220ms ease,
                visibility 220ms ease;
        }

        .vorik-mobile-drawer-overlay.is-open {
            visibility: visible;
            opacity: 1;
            pointer-events: auto;
        }

        /*
         * Drawer latéral.
         */

        .vorik-mobile-drawer {
            position: fixed !important;
            z-index: 1100;

            top: 0;
            right: 0;
            bottom: 0;

            display: flex !important;
            flex-direction: column;

            width: min(88vw, 23rem);
            height: 100dvh;
            max-height: 100dvh;

            margin: 0;
            padding:
                calc(1rem + env(safe-area-inset-top))
                1rem
                calc(1rem + env(safe-area-inset-bottom));

            overflow-y: auto;
            overscroll-behavior: contain;

            color: #10233f;
            background: #ffffff;

            visibility: hidden;
            opacity: 0;
            pointer-events: none;

            transform: translateX(105%);

            box-shadow:
                -1.5rem
                0
                4rem
                rgba(2, 16, 35, 0.30);

            transition:
                transform 240ms ease,
                opacity 200ms ease,
                visibility 240ms ease;
        }

        .vorik-mobile-drawer.is-open {
            visibility: visible;
            opacity: 1;
            pointer-events: auto;

            transform: translateX(0);
        }

        /*
         * Barre fixe inférieure.
         */

        .vorik-mobile-activity-nav {
            position: fixed !important;
            z-index: 1000;

            right: 0.55rem;
            bottom:
                calc(
                    0.45rem
                    + env(safe-area-inset-bottom)
                );
            left: 0.55rem;

            display: grid !important;
            grid-template-columns:
                repeat(4, minmax(0, 1fr));

            width: auto;
            height: var(--vorik-mobile-nav-height);

            margin: 0;
            padding: 0.35rem;

            background: rgba(255, 255, 255, 0.97);
            border: 1px solid rgba(16, 35, 63, 0.10);
            border-radius: 1.15rem;

            box-shadow:
                0 1rem 2.5rem rgba(5, 31, 67, 0.22),
                0 0.2rem 0.8rem rgba(5, 31, 67, 0.08);

            backdrop-filter: blur(18px);
            -webkit-backdrop-filter: blur(18px);
        }

        /*
         * Le footer réserve uniquement la hauteur nécessaire
         * pour que la barre fixe ne masque pas son contenu.
         */

        .vorik-home .vorik-footer {
            margin-bottom: 0;

            padding-bottom:
                calc(
                    var(--vorik-mobile-nav-height)
                    + env(safe-area-inset-bottom)
                    + 1.5rem
                ) !important;
        }
    }

    /*
     * Desktop explicite.
     */

    @media (min-width: 48.01rem) {

        .vorik-home {
            padding-bottom: 0 !important;
        }

        .vorik-home .vorik-footer {
            padding-bottom: 1.5rem;
        }

        .vorik-mobile-menu-button,
        .vorik-mobile-drawer,
        .vorik-mobile-drawer-overlay,
        .vorik-mobile-activity-nav,
        .vorik-mobile-app-nav {
            display: none !important;
        }
    }


    /* =======================================================
       VORIK COMPACT MOBILE DRAWER V2
       Drawer compact de type application mobile
       ======================================================= */

    @media (max-width: 48rem) {

        .vorik-mobile-drawer {
            width: clamp(
                16rem,
                58vw,
                20rem
            ) !important;

            max-width: calc(100vw - 2.5rem);

            padding:
                calc(0.9rem + env(safe-area-inset-top))
                0.85rem
                calc(0.9rem + env(safe-area-inset-bottom))
                !important;

            border-radius:
                1.4rem
                0
                0
                1.4rem;
        }

        .vorik-mobile-drawer-header {
            gap: 0.65rem;
            padding-bottom: 0.8rem;
        }

        .vorik-mobile-drawer-brand {
            gap: 0.5rem;
            font-size: 0.95rem;
        }

        .vorik-mobile-drawer-brand-mark {
            width: 2rem;
            height: 2rem;
            flex: 0 0 2rem;

            border-radius: 0.65rem;
            font-size: 0.85rem;
        }

        .vorik-mobile-drawer-close {
            width: 2.4rem;
            height: 2.4rem;
            flex: 0 0 2.4rem;

            border-radius: 0.7rem;
        }

        .vorik-mobile-drawer-nav {
            gap: 0.25rem;
            padding-block: 0.85rem;
        }

        .vorik-mobile-drawer-nav a {
            gap: 0.65rem;

            min-height: 3rem;
            padding: 0.55rem 0.6rem;

            border-radius: 0.75rem;

            font-size: 0.86rem;
            line-height: 1.2;
        }

        .vorik-mobile-drawer-nav-icon {
            width: 2rem;
            height: 2rem;
            flex: 0 0 2rem;

            border-radius: 0.6rem;
        }

        .vorik-mobile-drawer-nav-icon svg {
            width: 1.05rem;
            height: 1.05rem;
        }

        .vorik-mobile-drawer-primary a {
            min-height: 3rem;
            padding: 0.65rem 0.7rem;

            border-radius: 0.8rem;

            font-size: 0.86rem;
        }

        .vorik-mobile-drawer-login {
            margin-top: 0.45rem;
        }

        .vorik-mobile-drawer-help {
            margin-top: 0.55rem;

            font-size: 0.7rem;
            line-height: 1.4;
        }
    }

    /*
     * Très petits écrans :
     * conserver une largeur utilisable sans couvrir tout l’écran.
     */

    @media (max-width: 22rem) {

        .vorik-mobile-drawer {
            width: min(
                76vw,
                17rem
            ) !important;

            max-width: calc(100vw - 1.5rem);
        }
    }



    /* =======================================================
       VORIK STICKY PUBLIC HEADER V1
       Header visible pendant le défilement
       ======================================================= */

    .vorik-home .vorik-header {
        position: sticky !important;
        z-index: 950 !important;
        top: 0 !important;

        width: 100%;

        background: rgba(7, 22, 41, 0.97) !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);

        box-shadow:
            0 0.35rem 1.2rem
            rgba(2, 16, 35, 0.16);

        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
    }

    /*
     * Empêcher un parent de casser position: sticky.
     */

    .vorik-home {
        overflow-x: clip;
        overflow-y: visible !important;
    }

    .vorik-home > main,
    .vorik-home > footer {
        overflow: visible;
    }

    /*
     * Les ancres restent visibles sous le header sticky.
     */

    html {
        scroll-padding-top: 5.5rem;
    }

    @media (max-width: 48rem) {

        .vorik-home .vorik-header {
            position: sticky !important;
            top: 0 !important;
            z-index: 950 !important;
        }

        .vorik-home .vorik-header-inner {
            min-height: 4.1rem;
        }

        html {
            scroll-padding-top: 4.75rem;
        }
    }



    /* =======================================================
       VORIK FIXED PUBLIC HEADER V2
       Header réellement fixé au viewport
       ======================================================= */

    .vorik-home {
        --vorik-public-header-height: 5rem;

        padding-top:
            var(--vorik-public-header-height);
    }

    .vorik-home .vorik-header {
        position: fixed !important;

        top: 0 !important;
        right: 0 !important;
        left: 0 !important;

        z-index: 3000 !important;

        width: 100%;
        min-height:
            var(--vorik-public-header-height);

        margin: 0 !important;

        background:
            rgba(7, 22, 41, 0.98) !important;

        border-bottom:
            1px solid
            rgba(255, 255, 255, 0.12);

        box-shadow:
            0 0.35rem 1.25rem
            rgba(2, 16, 35, 0.2);

        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
    }

    .vorik-home .vorik-header-inner {
        min-height:
            var(--vorik-public-header-height);
    }

    html {
        scroll-padding-top:
            calc(
                var(--vorik-public-header-height, 5rem)
                + 1rem
            );
    }

    @media (max-width: 48rem) {

        .vorik-home {
            --vorik-public-header-height: 4.25rem;
        }

        .vorik-home .vorik-header {
            min-height:
                var(--vorik-public-header-height);
        }

        .vorik-home .vorik-header-inner {
            min-height:
                var(--vorik-public-header-height);
        }
    }



    /* =======================================================
       VORIK PREMIUM SCROLL HEADER V3
       Effet discret et premium pendant le défilement
       ======================================================= */

    .vorik-home .vorik-header {
        transition:
            background-color 220ms ease,
            box-shadow 220ms ease,
            border-color 220ms ease,
            min-height 220ms ease,
            backdrop-filter 220ms ease,
            -webkit-backdrop-filter 220ms ease;
    }

    .vorik-home .vorik-header-inner {
        transition:
            min-height 220ms ease,
            padding-top 220ms ease,
            padding-bottom 220ms ease;
    }

    .vorik-home .vorik-brand-mark,
    .vorik-home .vorik-brand-name,
    .vorik-home .vorik-brand-tagline,
    .vorik-home .vorik-nav-link,
    .vorik-home .vorik-mobile-menu-button {
        transition:
            transform 220ms ease,
            opacity 220ms ease,
            background-color 220ms ease,
            border-color 220ms ease;
    }

    /*
     * État initial :
     * le header reste légèrement translucide et intégré au Hero.
     */

    .vorik-home .vorik-header:not(.is-scrolled) {
        background:
            rgba(7, 22, 41, 0.90) !important;

        border-bottom-color:
            rgba(255, 255, 255, 0.08);

        box-shadow:
            0 0.15rem 0.75rem
            rgba(2, 16, 35, 0.10);

        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
    }

    /*
     * État après défilement.
     */

    .vorik-home .vorik-header.is-scrolled {
        min-height:
            calc(
                var(--vorik-public-header-height)
                - 0.3rem
            );

        background:
            rgba(7, 22, 41, 0.985) !important;

        border-bottom-color:
            rgba(255, 255, 255, 0.16);

        box-shadow:
            0 0.55rem 1.6rem
            rgba(2, 16, 35, 0.24);

        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
    }

    .vorik-home .vorik-header.is-scrolled
    .vorik-header-inner {
        min-height:
            calc(
                var(--vorik-public-header-height)
                - 0.3rem
            );
    }

    .vorik-home .vorik-header.is-scrolled
    .vorik-brand-mark {
        transform: scale(0.96);
    }

    .vorik-home .vorik-header.is-scrolled
    .vorik-brand-tagline {
        opacity: 0.78;
    }

    .vorik-home .vorik-nav-link {
        position: relative;
    }

    .vorik-home .vorik-nav-link::after {
        content: "";

        position: absolute;
        right: 0.7rem;
        bottom: 0.25rem;
        left: 0.7rem;

        height: 0.12rem;

        background: #f5c400;

        border-radius: 999px;

        opacity: 0;
        transform: scaleX(0.35);
        transform-origin: center;

        transition:
            opacity 180ms ease,
            transform 180ms ease;
    }

    .vorik-home .vorik-nav-link:hover::after,
    .vorik-home .vorik-nav-link:focus-visible::after {
        opacity: 1;
        transform: scaleX(1);
    }

    @media (max-width: 48rem) {

        .vorik-home .vorik-header.is-scrolled {
            min-height:
                calc(
                    var(--vorik-public-header-height)
                    - 0.2rem
                );
        }

        .vorik-home .vorik-header.is-scrolled
        .vorik-header-inner {
            min-height:
                calc(
                    var(--vorik-public-header-height)
                    - 0.2rem
                );
        }

        .vorik-home .vorik-header.is-scrolled
        .vorik-mobile-menu-button {
            transform: scale(0.96);
        }
    }

    @media (prefers-reduced-motion: reduce) {

        .vorik-home .vorik-header,
        .vorik-home .vorik-header-inner,
        .vorik-home .vorik-brand-mark,
        .vorik-home .vorik-brand-name,
        .vorik-home .vorik-brand-tagline,
        .vorik-home .vorik-nav-link,
        .vorik-home .vorik-mobile-menu-button,
        .vorik-home .vorik-nav-link::after {
            transition: none !important;
        }
    }


    /* VORIK LANGUAGE SWITCHER V1 */

    .vorik-language-switcher {
        display: inline-flex;
        align-items: center;
        gap: 0.2rem;
        padding: 0.22rem;
        background: rgba(255, 255, 255, 0.09);
        border: 1px solid rgba(255, 255, 255, 0.16);
        border-radius: 999px;
    }

    .vorik-language-link {
        display: inline-grid;
        min-width: 2.35rem;
        min-height: 2rem;
        padding: 0.35rem 0.55rem;
        place-items: center;
        color: #d7e3f0;
        border-radius: 999px;
        font-size: 0.76rem;
        font-weight: 900;
        letter-spacing: 0.05em;
        line-height: 1;
        text-decoration: none;
        transition:
            color 160ms ease,
            background 160ms ease,
            transform 160ms ease;
    }

    .vorik-language-link:hover {
        color: #ffffff;
        background: rgba(255, 255, 255, 0.1);
    }

    .vorik-language-link.is-active {
        color: var(--vorik-navy);
        background: var(--vorik-yellow);
    }

    .vorik-language-link:active {
        transform: scale(0.96);
    }

    .vorik-mobile-language {
        margin-top: 1rem;
        padding: 1rem;
        background: #f4f7fb;
        border: 1px solid #d8e1eb;
        border-radius: 1rem;
    }

    .vorik-mobile-language-title {
        display: flex;
        align-items: center;
        gap: 0.55rem;
        margin: 0 0 0.7rem;
        color: #5d6d82;
        font-size: 0.76rem;
        font-weight: 900;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .vorik-mobile-language-title svg {
        width: 1.05rem;
        height: 1.05rem;
    }

    .vorik-mobile-language-options {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.55rem;
    }

    .vorik-mobile-language-option {
        display: flex;
        min-height: 2.8rem;
        align-items: center;
        justify-content: center;
        gap: 0.4rem;
        padding: 0.65rem 0.55rem;
        color: #17283f;
        background: #ffffff;
        border: 1px solid #d8e1eb;
        border-radius: 0.8rem;
        font-size: 0.82rem;
        font-weight: 800;
        text-decoration: none;
    }

    .vorik-mobile-language-option.is-active {
        color: #0b1f3a;
        background: #f4c64e;
        border-color: #f4c64e;
        box-shadow: 0 0.5rem 1.2rem rgba(11, 31, 58, 0.1);
    }

    @media (max-width: 63.99rem) {
        .vorik-header .vorik-language-switcher {
            display: none;
        }
    }



/* VORIK BOOKING SUBMIT BLUE START */
.vorik-home .vorik-booking .vorik-booking-submit,
.vorik-home .vorik-booking button.vorik-booking-submit{
    background:#0B1F3A;
    background-color:#0B1F3A;
    border:1px solid #0B1F3A;
    color:#FFFFFF;
}

.vorik-home .vorik-booking .vorik-booking-submit:hover,
.vorik-home .vorik-booking button.vorik-booking-submit:hover{
    background:#142C50;
    background-color:#142C50;
    border-color:#142C50;
    color:#FFFFFF;
}

.vorik-home .vorik-booking .vorik-booking-submit:focus-visible,
.vorik-home .vorik-booking button.vorik-booking-submit:focus-visible {
    background: #0857A6;
    border-color: #0857A6;
    color: #FFFFFF;
    outline: 3px solid rgba(10, 102, 194, 0.28);
    outline-offset: 3px;
}

.vorik-home .vorik-booking .vorik-booking-submit:active,
.vorik-home .vorik-booking button.vorik-booking-submit:active {
    background: #074B91;
    background-color: #074B91;
    border-color: #074B91;
    color: #FFFFFF;
}

.vorik-home .vorik-booking .vorik-booking-submit *,
.vorik-home .vorik-booking button.vorik-booking-submit *{
    color:#FFFFFF;
}
/* VORIK BOOKING SUBMIT BLUE END */
