/* ================================================================
   CityRent — RADICAL PREMIUM THEMES  v3.0
   Each template is a different visual universe.
   ================================================================ */

/* ================================================================
   ANIMATION ENGINE — Cinematic Reveal System
   ================================================================ */

/* ── Shared keyframes ── */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(36px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeScale {
    from { opacity: 0; transform: scale(0.93) translateY(16px); }
    to   { opacity: 1; transform: scale(1) translateY(0); }
}
@keyframes ctaFloat {
    0%, 100% { transform: translateY(0px); }
    40%       { transform: translateY(-8px); }
    70%       { transform: translateY(-4px); }
}

/* ──────────────────────────────────────────────────────────────
   HERO ANIMATIONS — CSS-only, no JS needed (above the fold)
   The `both` fill-mode keeps them invisible before the delay.
   ────────────────────────────────────────────────────────────── */

/* PRESTIGE hero */
.prs-hero__badge-wrap { animation: fadeUp 0.9s cubic-bezier(0.16,1,0.3,1) 0.25s both; }
.prs-hero__title      { animation: fadeUp 1.0s cubic-bezier(0.16,1,0.3,1) 0.45s both; }
.prs-hero__subtitle   { animation: fadeUp 0.9s cubic-bezier(0.16,1,0.3,1) 0.65s both; }
.prs-hero__ctas       { animation: fadeUp 0.9s cubic-bezier(0.16,1,0.3,1) 0.85s both; }
.prs-hero__statsbar   { animation: fadeUp 0.8s cubic-bezier(0.16,1,0.3,1) 1.05s both; }

/* ECO hero */
.eco-hero__badge    { animation: fadeUp 0.9s cubic-bezier(0.16,1,0.3,1) 0.25s both; }
.eco-hero__title    { animation: fadeUp 1.0s cubic-bezier(0.16,1,0.3,1) 0.40s both; }
.eco-hero__subtitle { animation: fadeUp 0.9s cubic-bezier(0.16,1,0.3,1) 0.60s both; }
.eco-hero__ctas     { animation: fadeUp 0.9s cubic-bezier(0.16,1,0.3,1) 0.80s both; }
.eco-hero__stats    { animation: fadeUp 0.8s cubic-bezier(0.16,1,0.3,1) 1.0s  both; }

/* MAGHREB hero */
.mag-hero__badge    { animation: fadeUp 0.9s cubic-bezier(0.16,1,0.3,1) 0.25s both; }
.mag-hero__title    { animation: fadeUp 1.0s cubic-bezier(0.16,1,0.3,1) 0.45s both; }
.mag-hero__subtitle { animation: fadeUp 0.9s cubic-bezier(0.16,1,0.3,1) 0.65s both; }
.mag-hero__ctas     { animation: fadeUp 0.9s cubic-bezier(0.16,1,0.3,1) 0.85s both; }
.mag-hero__statsbar { animation: fadeUp 0.8s cubic-bezier(0.16,1,0.3,1) 1.05s both; }

/* ──────────────────────────────────────────────────────────────
   SCROLL REVEAL — for below-the-fold sections
   JS adds .active when section enters viewport.
   Children animate via CSS triggered by parent .active.
   ────────────────────────────────────────────────────────────── */

/* Section starts invisible */
.reveal {
    opacity: 0;
    transform: translateY(32px);
    transition:
        opacity  0.85s cubic-bezier(0.16, 1, 0.3, 1),
        transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal-scale {
    opacity: 0;
    transform: scale(0.94) translateY(14px);
    transition:
        opacity  0.9s cubic-bezier(0.16, 1, 0.3, 1),
        transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}
/* Active state */
.reveal.active,
.reveal-scale.active {
    opacity: 1;
    transform: none;
}

/* Section children animate in stagger once parent is active */
.reveal.active .eco-text-badge,
.reveal.active .mag-text-badge   { animation: fadeUp 0.7s cubic-bezier(0.16,1,0.3,1) 0.05s both; }

.reveal.active .eco-text-heading,
.reveal.active .mag-text-heading { animation: fadeUp 0.8s cubic-bezier(0.16,1,0.3,1) 0.15s both; }

.reveal.active .eco-text-sub,
.reveal.active .mag-text-sub     { animation: fadeUp 0.7s cubic-bezier(0.16,1,0.3,1) 0.28s both; }

.reveal.active .eco-text-body,
.reveal.active .mag-text-body    { animation: fadeUp 0.7s cubic-bezier(0.16,1,0.3,1) 0.38s both; }

.reveal.active .eco-text-cta,
.reveal.active .mag-text-cta     { animation: fadeUp 0.7s cubic-bezier(0.16,1,0.3,1) 0.48s both; }

.reveal.active .eco-text-img-wrap,
.reveal.active .mag-text-img-wrap { animation: fadeScale 0.9s cubic-bezier(0.16,1,0.3,1) 0.2s both; }

/* CTA sections */
.reveal.active .eco-cta__title,
.reveal.active .mag-cta__title,
.reveal.active .prs-cta__title   { animation: fadeUp 0.8s cubic-bezier(0.16,1,0.3,1) 0.1s both; }

.reveal.active .eco-cta__subtitle,
.reveal.active .mag-cta__subtitle,
.reveal.active .prs-cta__subtitle { animation: fadeUp 0.7s cubic-bezier(0.16,1,0.3,1) 0.25s both; }

.reveal.active .eco-cta__btn,
.reveal.active .mag-btn--primary,
.reveal.active .prs-btn--gold    { animation: fadeUp 0.7s cubic-bezier(0.16,1,0.3,1) 0.4s both; }

/* ── Floating CTA animation ── */
.cta-float {
    animation: ctaFloat 3.8s ease-in-out infinite;
}

/* ================================================================
   WIDGET DE RÉSERVATION — CHAMPS PREMIUM PARTAGÉS (bwp-*)
   Retour direct 20/09/2026 : "il faut vérifier que ça soit fait sur tous
   les templates... des listes déroulantes premium comme ailleurs dans le
   logiciel". Rendu par resources/views/partials/booking-widget-premium-
   fields.blade.php, inclus par TOUS les templates (jamais dupliqué) —
   volontairement NON scopé à un [data-theme=...] : se théme automatiquement
   via var(--c-primary)/var(--c-accent), déjà posées par chaque tenant dans
   layouts/app.blade.php, donc correct pour n'importe quel loueur sans
   surcharge par template. Seule la grille environnante ({prefix}-form-row/
   {prefix}-form-col) reste propre à chaque template.
   ================================================================ */
.bwp-field-trigger { display: flex; align-items: center; gap: 8px; width: 100%; height: 40px; padding: 0 12px; border: 1px solid #e4e6ef; border-radius: 6px; background: var(--surface-bg, #fff); font-size: 14px; font-family: inherit; color: var(--surface-ink, #1e2022); cursor: pointer; text-align: left; }
.bwp-field-trigger.is-open { border-color: var(--c-primary, #6d4aff); box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-primary, #6d4aff) 18%, transparent); }
.bwp-field-trigger i { color: var(--c-primary, #6d4aff); flex: none; font-size: 13px; }
.bwp-field-trigger .value { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.bwp-popover { display: none; position: absolute; z-index: 60; top: calc(100% + 6px); left: 0; background: var(--surface-bg, #fff); border: 1px solid #e4e6ef; border-radius: 12px; box-shadow: 0 16px 50px rgba(0,0,0,.22); color: var(--surface-ink, #1e2022); }
.bwp-popover.is-open { display: block; }

.bwp-popover-location, .bwp-popover-list { width: 340px; max-width: 92vw; }
.bwp-loc-search { padding: 12px; border-bottom: 1px solid #e4e6ef; position: relative; }
.bwp-loc-search input { width: 100%; height: 40px; border: 1.5px solid #e4e6ef; border-radius: 8px; padding: 0 12px 0 36px; font-size: 14px; font-weight: 600; font-family: inherit; }
.bwp-loc-search input:focus { outline: none; border-color: var(--c-primary, #6d4aff); }
.bwp-loc-search > i { position: absolute; left: 24px; top: 50%; transform: translateY(-50%); font-size: 13px; color: #9ca3af; pointer-events: none; }
.bwp-loc-list { max-height: 320px; overflow-y: auto; padding: 6px; }
.bwp-loc-item { display: flex; align-items: center; gap: 10px; width: 100%; padding: 9px 12px; border-radius: 8px; text-align: left; background: none; border: none; cursor: pointer; }
.bwp-loc-item:hover, .bwp-loc-item.is-active { background: color-mix(in srgb, var(--c-primary, #6d4aff) 10%, transparent); }
.bwp-loc-item .ic { width: 30px; height: 30px; border-radius: 50%; background: #f6f7f9; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: #4b5563; font-size: 12px; }
.bwp-loc-item:hover .ic, .bwp-loc-item.is-active .ic { background: var(--c-primary, #6d4aff); color: #fff; }
.bwp-loc-item .nm { font-size: 13.5px; font-weight: 700; color: var(--surface-ink, #1e2022); }
.bwp-loc-empty { padding: 24px 16px; text-align: center; font-size: 13px; color: #6b7280; }

.bwp-popover-calendar { width: 900px; max-width: 95vw; padding: 16px; }
.bwp-cal-header { display: flex; align-items: center; margin-bottom: 8px; }
.bwp-cal-nav { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; color: var(--surface-ink, #1e2022); background: none; border: none; cursor: pointer; }
.bwp-cal-nav:hover { background: #f6f7f9; }
.bwp-cal-hint { flex: 1; text-align: center; font-size: 12.5px; font-weight: 700; color: var(--c-primary, #6d4aff); }
.bwp-cal-months { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 20px; }
.bwp-cal-month-title { text-align: center; font-size: 14px; font-weight: 800; text-transform: capitalize; margin-bottom: 10px; }
.bwp-cal-weekdays { display: grid; grid-template-columns: repeat(7,1fr); margin-bottom: 4px; }
.bwp-cal-weekdays span { text-align: center; font-size: 11px; font-weight: 700; color: #9ca3af; padding: 4px 0; }
.bwp-cal-grid { display: grid; grid-template-columns: repeat(7,1fr); gap: 2px; }
.bwp-cal-empty { aspect-ratio: 1; }
.bwp-cal-day { aspect-ratio: 1; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 600; color: var(--surface-ink, #1e2022); border-radius: 8px; background: none; border: none; cursor: pointer; }
.bwp-cal-day:hover:not(.is-disabled) { background: color-mix(in srgb, var(--c-primary, #6d4aff) 10%, transparent); }
.bwp-cal-day.is-today { box-shadow: inset 0 0 0 1.5px #d1d5db; }
.bwp-cal-day.is-disabled { color: #9ca3af; opacity: .4; cursor: default; }
.bwp-cal-day.is-in-range { background: color-mix(in srgb, var(--c-primary, #6d4aff) 10%, transparent); border-radius: 0; }
.bwp-cal-day.is-start, .bwp-cal-day.is-end { background: var(--c-primary, #6d4aff); color: #fff; }
.bwp-cal-day.is-start { border-radius: 8px 0 0 8px; }
.bwp-cal-day.is-end { border-radius: 0 8px 8px 0; }
.bwp-cal-day.is-start.is-end { border-radius: 8px; }
.bwp-cal-footer { margin-top: 12px; padding-top: 12px; border-top: 1px solid #e4e6ef; display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 12.5px; color: #6b7280; font-weight: 600; }
.bwp-cal-validate { background: var(--c-accent, var(--c-primary, #6d4aff)); color: #fff; padding: 9px 18px; border-radius: 6px; font-size: 13px; font-weight: 800; letter-spacing: .3px; border: none; cursor: pointer; }
@media (max-width: 1024px) { .bwp-popover-calendar { width: 92vw; } .bwp-cal-months { grid-template-columns: 1fr; } }

.bwp-popover-time { width: 280px; max-width: 90vw; padding: 14px; }
.bwp-time-title { font-size: 13px; font-weight: 800; margin-bottom: 10px; }
.bwp-time-scroll { max-height: 280px; overflow-y: auto; }
.bwp-time-group-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #9ca3af; margin: 10px 0 6px; }
.bwp-time-group-label:first-child { margin-top: 0; }
.bwp-time-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.bwp-time-slot { padding: 8px 0; text-align: center; font-size: 13px; font-weight: 600; border: 1px solid #e4e6ef; border-radius: 6px; background: var(--surface-bg, #fff); cursor: pointer; }
.bwp-time-slot:hover { border-color: var(--c-primary, #6d4aff); color: var(--c-primary, #6d4aff); }
.bwp-time-slot.is-active { background: var(--c-primary, #6d4aff); color: #fff; border-color: var(--c-primary, #6d4aff); }

/* Pastille à couleur/contraste propres (jamais `color: inherit`) : le fond de
   .xxx-booking-form varie du tout au clair au tout au foncé selon le template
   (dreamlocation/clickcar/auto2r en navy plein vs pacificar/dkmrent/gwadacar en
   blanc), donc hériter la couleur de texte ambiante rendait ce lien illisible
   dès que la section était sombre (texte quasi noir sur navy) — retour direct
   20/09/2026. Une pastille à surface propre (var(--c-primary)) reste lisible
   quel que soit le fond, et sa hauteur/son padding l'alignent visuellement
   avec les boutons "Rechercher" du widget plutôt que de flotter en simple lien. */
.bwp-booking-guided { text-align: center; margin-top: 16px; }
.bwp-booking-guided a { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 22px; border-radius: 999px; background: var(--c-primary, #6d4aff); color: #fff; font-size: 14px; font-weight: 700; text-decoration: none; box-shadow: 0 8px 20px -8px rgba(0,0,0,.35); transition: background .15s, transform .1s; }
.bwp-booking-guided a:hover { background: var(--c-primary-hover, var(--c-primary, #6d4aff)); transform: translateY(-1px); }
.bwp-booking-guided a i { font-size: 15px; }


/* ================================================================
   PRESTIGE — Ultra-Luxury Noir & Or
   World: "Ferrari showroom at 2am. Stone-cold expensive."
   ================================================================ */

[data-theme="prestige"] {
    --c-primary:    #C9A84C;
    --c-bg:         #080808;
    --c-text:       #FFFFFF;
    --c-muted:      rgba(255,255,255,0.45);
    --font-heading: 'Playfair Display', Georgia, serif;
    --r-premium:    0px;
}

[data-theme="prestige"] body {
    background: #080808;
    color: #fff;
}

/* Hero starts at very top — navbar floats transparently above it */
[data-theme="prestige"] main {
    padding-top: 0 !important;
}

/* ── Prestige Navbar: Transparent → solidifies on scroll ── */
[data-theme="prestige"] .navbar {
    background: transparent !important;
    border-bottom: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Subtle gold separator line below the transparent navbar */
[data-theme="prestige"] .navbar::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 8%; right: 8%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(201,168,76,.18), transparent);
    pointer-events: none;
    transition: opacity 0.4s ease;
}
[data-theme="prestige"] .navbar--scrolled::after {
    opacity: 0;
}

[data-theme="prestige"] .navbar--scrolled {
    background: rgba(4,3,1,0.97) !important;
    backdrop-filter: blur(28px) !important;
    -webkit-backdrop-filter: blur(28px) !important;
    border-bottom: 1px solid rgba(201,168,76,.15) !important;
    box-shadow: 0 2px 56px rgba(0,0,0,.85) !important;
}

[data-theme="prestige"] .navbar__link {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 0.68rem;
    font-weight: 400;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(255,255,255,.55);
    border-radius: 0;
    padding: 6px 14px;
    transition: color 0.2s ease;
}
[data-theme="prestige"] .navbar__link:hover,
[data-theme="prestige"] .navbar__link.navbar__link--active {
    color: #C9A84C;
    background: transparent;
}
[data-theme="prestige"] .navbar__logo-mark { color: #C9A84C; }
[data-theme="prestige"] .navbar__logo      { color: #fff; }
[data-theme="prestige"] .navbar__burger-bar { background: rgba(255,255,255,.8); }
[data-theme="prestige"] .navbar--scrolled .navbar__burger-bar { background: #fff; }

[data-theme="prestige"] .locale-btn {
    background: rgba(201,168,76,.07);
    border-color: rgba(201,168,76,.2);
    color: rgba(255,255,255,.6);
    border-radius: 0;
}
[data-theme="prestige"] .locale-btn:hover {
    border-color: #C9A84C;
    color: #C9A84C;
    box-shadow: none;
}
[data-theme="prestige"] .locale-dropdown {
    background: #0C0C0C;
    border-color: rgba(201,168,76,.18);
    border-radius: 0;
    box-shadow: 0 16px 48px rgba(0,0,0,.8);
}
[data-theme="prestige"] .locale-option { color: rgba(255,255,255,.45); border-radius: 0; }
[data-theme="prestige"] .locale-option:hover { background: rgba(201,168,76,.07); color: #C9A84C; }
[data-theme="prestige"] .locale-option--active { background: rgba(201,168,76,.1); color: #C9A84C; font-weight: 700; }

[data-theme="prestige"] .navbar__drawer {
    background: #060606;
    border-bottom: 1px solid rgba(201,168,76,.12);
    border-radius: 0;
}
[data-theme="prestige"] .navbar__drawer-link {
    color: rgba(255,255,255,.45);
    border-radius: 0;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 0.75rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}
[data-theme="prestige"] .navbar__drawer-link:hover {
    color: #C9A84C;
    background: rgba(201,168,76,.05);
}

/* ── Prestige Footer: Pure black, gold typographic accents ── */
[data-theme="prestige"] .footer {
    background: #020202 !important;
    border-top: 1px solid rgba(201,168,76,.12) !important;
    color: rgba(255,255,255,.35);
}
[data-theme="prestige"] .footer__logo-mark { color: #C9A84C; }
[data-theme="prestige"] .footer__logo-text { color: rgba(255,255,255,.7); }
[data-theme="prestige"] .footer__tagline {
    color: rgba(255,255,255,.22);
    font-style: italic;
    font-size: 0.82rem;
}
[data-theme="prestige"] .footer__col-title {
    color: #C9A84C;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 0.58rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}
[data-theme="prestige"] .footer__link { color: rgba(255,255,255,.28); border-radius: 0; }
[data-theme="prestige"] .footer__link:hover { color: #C9A84C; }
[data-theme="prestige"] .footer__bottom { border-top-color: rgba(201,168,76,.07) !important; }
[data-theme="prestige"] .footer__copy {
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    color: rgba(255,255,255,.13);
}

/* ── Prestige: No rounded corners — everywhere ── */
[data-theme="prestige"] .card          { border-radius: 0 !important; }
[data-theme="prestige"] section        { border-radius: 0 !important; }
[data-theme="prestige"] .btn-primary   { border-radius: 0 !important; }
[data-theme="prestige"] .locale-dropdown { border-radius: 0 !important; }


/* ================================================================
   ÉCO — Organic Fresh & Sustainable
   World: "Biotech startup HQ in a converted greenhouse. Light, airy, alive."
   ================================================================ */

[data-theme="eco"] {
    --c-primary:    #059669;
    --c-bg:         #F0FDF4;
    --c-text:       #064E3B;
    --c-muted:      #34D399;
    --font-heading: 'Plus Jakarta Sans', sans-serif;
    --r-premium:    40px;
}

[data-theme="eco"] body {
    background: #F0FDF4;
    color: #064E3B;
}

/* ── Eco Navbar: Floating pill — glassmorphism ── */
[data-theme="eco"] .navbar {
    top: 0 !important;
    left: 20px !important;
    right: 20px !important;
    width: auto !important;
    background: rgba(255,255,255,0.82) !important;
    backdrop-filter: blur(28px) !important;
    -webkit-backdrop-filter: blur(28px) !important;
    border-radius: 0 0 22px 22px !important;
    border: 1.5px solid rgba(5,150,105,.1) !important;
    border-top: none !important;
    box-shadow: 0 10px 40px rgba(5,150,105,.06), 0 2px 8px rgba(0,0,0,.03) !important;
}
[data-theme="eco"] .navbar--scrolled {
    background: rgba(255,255,255,0.97) !important;
    border-color: rgba(5,150,105,.14) !important;
    box-shadow: 0 12px 48px rgba(5,150,105,.09), 0 2px 12px rgba(0,0,0,.05) !important;
}

[data-theme="eco"] .navbar__link {
    color: #065F46;
    font-weight: 600;
    font-size: 0.87rem;
    border-radius: 999px;
    letter-spacing: 0;
    text-transform: none;
}
[data-theme="eco"] .navbar__link:hover,
[data-theme="eco"] .navbar__link.navbar__link--active {
    color: #059669;
    background: rgba(5,150,105,.08);
}
[data-theme="eco"] .navbar__logo-mark { color: #059669; }
[data-theme="eco"] .navbar__logo      { color: #064E3B; }
[data-theme="eco"] .navbar__burger-bar { background: #065F46; }

[data-theme="eco"] .locale-btn {
    border-color: rgba(5,150,105,.18);
    color: #065F46;
    background: rgba(5,150,105,.05);
    border-radius: 999px;
}
[data-theme="eco"] .locale-btn:hover {
    border-color: #059669;
    box-shadow: 0 0 0 3px rgba(5,150,105,.1);
}
[data-theme="eco"] .locale-dropdown {
    background: #fff;
    border-color: rgba(5,150,105,.12);
    border-radius: 18px;
    box-shadow: 0 12px 40px rgba(5,150,105,.12);
}
[data-theme="eco"] .locale-option { color: #065F46; border-radius: 12px; }
[data-theme="eco"] .locale-option:hover { background: rgba(5,150,105,.07); color: #059669; }
[data-theme="eco"] .locale-option--active { background: rgba(5,150,105,.09); color: #059669; }

[data-theme="eco"] .navbar__drawer {
    background: rgba(255,255,255,.97);
    border-color: rgba(5,150,105,.1);
    border-radius: 0 0 18px 18px;
}
[data-theme="eco"] .navbar__drawer-link { color: #065F46; border-radius: 14px; }
[data-theme="eco"] .navbar__drawer-link:hover { background: rgba(5,150,105,.08); color: #059669; }

/* ── Eco Footer: Clean light with organic border ── */
[data-theme="eco"] .footer {
    background: #F0FDF4 !important;
    border-top: 2px solid rgba(5,150,105,.14) !important;
    color: #6B7280;
}
[data-theme="eco"] .footer__logo-mark { color: #059669; }
[data-theme="eco"] .footer__logo-text { color: #064E3B; }
[data-theme="eco"] .footer__tagline   { color: #9CA3AF; }
[data-theme="eco"] .footer__col-title { color: #064E3B; font-size: 0.72rem; }
[data-theme="eco"] .footer__link      { color: #6B7280; border-radius: 8px; }
[data-theme="eco"] .footer__link:hover { color: #059669; }
[data-theme="eco"] .footer__bottom    { border-top-color: rgba(5,150,105,.12) !important; }
[data-theme="eco"] .footer__copy      { color: #9CA3AF; }

/* ── Eco globals: Highly rounded everywhere ── */
[data-theme="eco"] .card          { border-radius: 24px !important; overflow: hidden; }
[data-theme="eco"] .btn-primary   { border-radius: 999px !important; }


/* ================================================================
   MAGHREB — Heritage Modern Moroccan
   World: "A riad converted into a boutique agency. Warm, textured, proud."
   ================================================================ */

[data-theme="maghreb"] {
    --c-primary:    #EA580C;
    --c-bg:         #FFFBF7;
    --c-text:       #431407;
    --c-muted:      #C2410C;
    --font-heading: 'Bricolage Grotesque', 'Plus Jakarta Sans', sans-serif;
    --r-premium:    10px;
}

[data-theme="maghreb"] body {
    background: #FFFBF7;
    color: #431407;
}

/* ── Maghreb Navbar: Warm ivory with bold terracotta bottom stripe ── */
[data-theme="maghreb"] .navbar {
    background: rgba(255,251,247,0.97) !important;
    border-bottom: 3px solid #EA580C !important;
    box-shadow: none !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}
[data-theme="maghreb"] .navbar--scrolled {
    box-shadow: 0 4px 28px rgba(234,88,12,.1) !important;
}

[data-theme="maghreb"] .navbar__link {
    color: #7C2D12;
    font-weight: 600;
    font-size: 0.88rem;
    border-radius: 8px;
    text-transform: none;
    letter-spacing: 0;
}
[data-theme="maghreb"] .navbar__link:hover,
[data-theme="maghreb"] .navbar__link.navbar__link--active {
    color: #EA580C;
    background: rgba(234,88,12,.07);
}
[data-theme="maghreb"] .navbar__logo-mark { color: #EA580C; }
[data-theme="maghreb"] .navbar__logo      { color: #431407; }
[data-theme="maghreb"] .navbar__burger-bar { background: #7C2D12; }

[data-theme="maghreb"] .locale-btn {
    border-color: #FED7AA;
    color: #7C2D12;
    background: #FFF7ED;
    border-radius: 8px;
}
[data-theme="maghreb"] .locale-btn:hover {
    border-color: #EA580C;
    color: #EA580C;
    box-shadow: 0 0 0 3px rgba(234,88,12,.1);
}
[data-theme="maghreb"] .locale-dropdown {
    background: #FFFBF7;
    border-color: #FED7AA;
    border-radius: 12px;
    box-shadow: 0 12px 40px rgba(234,88,12,.12);
}
[data-theme="maghreb"] .locale-option { color: #7C2D12; border-radius: 8px; }
[data-theme="maghreb"] .locale-option:hover { background: #FFF7ED; color: #EA580C; }
[data-theme="maghreb"] .locale-option--active { background: #FFF0E0; color: #EA580C; font-weight: 700; }

[data-theme="maghreb"] .navbar__drawer {
    background: #FFFBF7;
    border-bottom: 2px solid #FED7AA;
}
[data-theme="maghreb"] .navbar__drawer-link { color: #7C2D12; border-radius: 8px; }
[data-theme="maghreb"] .navbar__drawer-link:hover { background: rgba(234,88,12,.06); color: #EA580C; }

/* ── Maghreb Footer: Dark terracotta with zellige texture ── */
[data-theme="maghreb"] .footer {
    background: #180701 !important;
    border-top: 3px solid #EA580C !important;
    color: rgba(254,215,170,.5);
    position: relative;
    overflow: hidden;
}
/* Zellige pattern overlay */
[data-theme="maghreb"] .footer::before {
    content: '';
    position: absolute; inset: 0;
    background-image:
        repeating-linear-gradient(45deg, rgba(234,88,12,.04) 0, rgba(234,88,12,.04) 1px, transparent 0, transparent 44%),
        repeating-linear-gradient(-45deg, rgba(234,88,12,.04) 0, rgba(234,88,12,.04) 1px, transparent 0, transparent 44%);
    background-size: 22px 22px;
    pointer-events: none;
}
[data-theme="maghreb"] .footer__inner { position: relative; z-index: 2; }
[data-theme="maghreb"] .footer__logo-mark { color: #EA580C; }
[data-theme="maghreb"] .footer__logo-text { color: rgba(255,255,255,.82); }
[data-theme="maghreb"] .footer__tagline   { color: rgba(254,215,170,.28); font-style: italic; }
[data-theme="maghreb"] .footer__col-title {
    color: rgba(234,88,12,.82);
    font-size: 0.62rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}
[data-theme="maghreb"] .footer__link      { color: rgba(254,215,170,.32); }
[data-theme="maghreb"] .footer__link:hover { color: #FB923C; }
[data-theme="maghreb"] .footer__bottom    { border-top-color: rgba(234,88,12,.14) !important; }
[data-theme="maghreb"] .footer__copy      { color: rgba(255,255,255,.14); }

/* ================================================================
   CLICKCAR — template exclusif pixel-perfect, construit manuellement
   le 04/09/2026 depuis le vrai site https://www.clickcar.fr/ (thème
   V1 "polo"/Inspiro — voir public/list/polo/css/style.css et
   public/css/customize.css du site source). Couleurs, mesures et
   classes reprises du vrai rendu réel (Playwright + curl), pas
   inventées. Template exclusif à ce seul client (voir CLAUDE.md,
   section "SITE CLIENT V1 → V2 : TEMPLATE CUSTOM PIXEL-PERFECT").
   ================================================================ */

/* Chevauchement de section avancé (App\Support\CrbOverlap) — classes
   théoriquement globales (émises par un helper PHP partagé, pas propres à
   un thème), mais définies jusqu'ici uniquement dans le <style> inline de
   template-cityrent-base/blocks/hero.blade.php (jamais chargé quand un
   autre template rend son propre hero). Déclarées ici une fois pour être
   utilisables par n'importe quel template custom (clickcar notamment) qui
   appelle CrbOverlap::attrs() dans son propre rendu. */
.crb-overlap-next { margin-bottom: calc(-1 * var(--crb-overlap-px, 64px)); position: relative; z-index: 3; }
.crb-overlap-shadow { box-shadow: 0 -24px 48px -20px rgba(15,23,42,.28); }

/* Couleurs/ambiance/texte/formes dérivées des variables globales injectées
   par layouts/app.blade.php (Template::styles() du template CLICKCAR = les
   vraies valeurs V1 mesurées, donc rendu identique par défaut tant que le
   loueur ne personnalise rien dans /client/appearance-settings — mais un
   changement réel de couleur/ambiance/taille de texte/formes s'applique
   bien, exactement comme sur template-cityrent-base). Voir CLAUDE.md,
   section "RÉCIPROCITÉ TEMPLATE DE BASE". */
[data-theme="clickcar"] {
    --ck-primary:      var(--color-primary, #014F73);
    --ck-accent:       #0288C6;
    --ck-accent-hover: #00AEFF;
    --ck-gold:         var(--color-secondary, #FFC107);
    --ck-gold-hover:   color-mix(in srgb, var(--ck-gold), black 15%);
    --ck-text:         var(--page-ink, #1e2022);
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    color: var(--ck-text);
}
[data-theme="clickcar"] .ck-container { width: 92%; max-width: 1140px; margin: 0 auto; padding: 0 14px; }
[data-theme="clickcar"] .ck-text-center { text-align: center; }

/* ── Topbar réseaux sociaux ──
   Réel : #topbar.dark.topbar-transparent { background:transparent;
   border-bottom:1px solid rgba(144,144,144,.25) } (public/list/polo/css/
   style.css ligne 435) — jamais un bandeau navy plein, transparent au-dessus
   du hero/bandeau photo. */
[data-theme="clickcar"] .ck-topbar { background: transparent; border-bottom: 1px solid rgba(144,144,144,.25); position: relative; z-index: 21; }
[data-theme="clickcar"] .ck-topbar .ck-container { display: flex; justify-content: flex-end; height: 40px; align-items: center; }
[data-theme="clickcar"] .ck-social { display: flex; gap: 0; list-style: none; margin: 0; padding: 0; }
[data-theme="clickcar"] .ck-social a { color: #fff; width: 35px; height: 40px; display: flex; align-items: center; justify-content: center; font-size: 15px; opacity: .9; transition: opacity .2s; }
[data-theme="clickcar"] .ck-social a:hover { opacity: 1; }

/* ── Header ──
   Réel : #header[data-transparent="true"] → fond transparent, en flux
   normal (position:relative, PAS absolute) ; c'est l'élément SUIVANT
   (#slider ou le bandeau titre de page) qui remonte via
   top:-120px;margin-bottom:-120px pour glisser sous ce header transparent
   (public/list/polo/css/style.css lignes 437/501/503). */
[data-theme="clickcar"] #header.ck-header {
    position: relative; z-index: 20;
    background: transparent;
}
[data-theme="clickcar"] .ck-header-inner { height: 80px; }
[data-theme="clickcar"] .ck-header-inner .ck-container { display: flex; align-items: center; justify-content: space-between; height: 100%; }
[data-theme="clickcar"] .ck-logo { height: 80px; display: flex; align-items: center; }
[data-theme="clickcar"] .ck-logo img { height: 48px; width: auto; }
[data-theme="clickcar"] .ck-logo-text { font-size: calc(40px * var(--text-scale, 1)); font-weight: 800; letter-spacing: 1.5px; color: #fff; }
[data-theme="clickcar"] .ck-main-menu, [data-theme="clickcar"] .ck-main-menu nav { height: 100%; }
[data-theme="clickcar"] .ck-main-menu nav ul { display: flex; align-items: center; list-style: none; margin: 0; padding: 0; height: 100%; }
[data-theme="clickcar"] .ck-main-menu nav ul li { height: 100%; display: flex; align-items: center; }
[data-theme="clickcar"] .ck-main-menu nav ul li a { padding: 10px 12px; font-family: 'Poppins', sans-serif; font-size: calc(12px * var(--text-scale, 1)); font-weight: 600; text-transform: uppercase; letter-spacing: .6px; color: #fff; text-decoration: none; line-height: normal; transition: color .2s; }
[data-theme="clickcar"] .ck-main-menu nav ul li a:hover,
[data-theme="clickcar"] .ck-main-menu nav ul li.ck-active a { color: #c1c3ce; }
[data-theme="clickcar"] .ck-menu-trigger { display: none; cursor: pointer; }
[data-theme="clickcar"] .ck-lines-button { display: block; width: 26px; height: 20px; position: relative; }
[data-theme="clickcar"] .ck-lines,
[data-theme="clickcar"] .ck-lines::before,
[data-theme="clickcar"] .ck-lines::after { display: block; position: absolute; height: 2px; width: 100%; background: #fff; content: ''; }
[data-theme="clickcar"] .ck-lines { top: 9px; }
[data-theme="clickcar"] .ck-lines::before { top: -8px; }
[data-theme="clickcar"] .ck-lines::after { top: 8px; }
@media (max-width: 991px) {
    [data-theme="clickcar"] .ck-menu-trigger { display: block; }
    /* height:auto indispensable sur menu/nav/ul/li : héritent height:100%
       de la règle desktop (calée sur le header, 80px) — sans ce reset, le
       fond opaque du menu déroulant reste figé à 80px alors que les liens
       empilés en colonne dépassent largement, laissant les liens du bas se
       superposer directement à la photo du hero sans fond derrière eux
       (bug réel trouvé le 06/09/2026 sur dreamlocation, confirmé identique
       ici et sur auto2r — même schéma CSS copié aux trois). */
    [data-theme="clickcar"] .ck-main-menu { display: none; position: absolute; top: 80px; left: 0; right: 0; height: auto; background: var(--ck-primary); box-shadow: 0 4px 10px rgba(0,0,0,.2); z-index: 30; }
    [data-theme="clickcar"] .ck-main-menu.ck-open { display: block; }
    [data-theme="clickcar"] .ck-main-menu nav { height: auto; }
    [data-theme="clickcar"] .ck-main-menu nav ul { height: auto; flex-direction: column; gap: 0; padding: 10px 0; }
    [data-theme="clickcar"] .ck-main-menu nav ul li { height: auto; }
    [data-theme="clickcar"] .ck-main-menu nav ul li a { line-height: 44px; display: block; padding: 0 20px; }
}

/* ── Hero carrousel ──
   Réel : #slider { position:relative; top:-120px; margin-bottom:-120px }
   (glisse sous topbar+header transparents, ~120px = 40px topbar + 80px
   header). .slide-captions h1 = IMAGE du logo (pas du texte, voir hero.
   blade.php) ; h2 60px/700/uppercase (40px <991px), text-shadow absent du
   thème réel (retiré). */
[data-theme="clickcar"] .ck-slider { position: relative; top: -120px; margin-bottom: -120px; height: 72vh; min-height: 480px; overflow: hidden; background: var(--ck-primary); }
[data-theme="clickcar"] .ck-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity var(--ck-slide-transition-ms, 800ms) ease; overflow: hidden; }
[data-theme="clickcar"] .ck-slide.ck-slide-active { opacity: 1; }
[data-theme="clickcar"] .ck-slide--kenburns { animation: ck-kenburns 9s ease-in-out infinite alternate; }
@keyframes ck-kenburns { from { transform: scale(1); } to { transform: scale(1.12); } }
[data-theme="clickcar"] .ck-slide::before { content: ''; position: absolute; inset: 0; background: rgba(1,20,30,.35); }
[data-theme="clickcar"] .ck-slider > .ck-container { position: relative; z-index: 1; height: 100%; }
[data-theme="clickcar"] .ck-slide-captions { position: relative; z-index: 1; text-align: left; color: #fff; padding: 120px 0 100px; box-sizing: border-box; }
[data-theme="clickcar"] .ck-slide-captions h1, [data-theme="clickcar"] .ck-slide-captions .ck-slide-logo-wrap { margin: 0 0 30px; line-height: 0; }
[data-theme="clickcar"] .ck-slide-captions .ck-slide-logo { max-width: 500px; width: 100%; height: auto; display: block; }
[data-theme="clickcar"] .ck-slide-captions h2 { font-size: calc(60px * var(--text-scale, 1)); font-weight: 700; line-height: 68px; margin: 0; color: #fff; text-transform: uppercase; }
@media (max-width: 991px) {
    [data-theme="clickcar"] .ck-slide-captions { text-align: center; padding: 90px 15px 70px; }
    [data-theme="clickcar"] .ck-slide-captions h2 { font-size: calc(40px * var(--text-scale, 1)); line-height: 40px; }
    [data-theme="clickcar"] .ck-slide-captions .ck-slide-logo { max-width: 220px; margin: 0 auto 14px; }
}

/* Boutons précédent/suivant réels : cercle 78px transparent, icône blanche
   (flèche SVG chevron), position absolute aux bords verticalement centrés. */
[data-theme="clickcar"] .ck-slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 78px; height: 78px; border-radius: 50%; border: none; background: transparent; color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
[data-theme="clickcar"] .ck-slider-arrow svg { width: 18px; height: 18px; }
[data-theme="clickcar"] .ck-slider-arrow-prev { left: 0; }
[data-theme="clickcar"] .ck-slider-arrow-next { right: 0; }

/* Pagination réelle : barres 30x4px blanches, opacité seule change (pas de
   couleur or), pas de coins arrondis. */
[data-theme="clickcar"] .ck-slider-dots { position: absolute; bottom: 30px; left: 0; right: 0; z-index: 2; display: flex; justify-content: center; gap: 8px; }
[data-theme="clickcar"] .ck-slider-dots button { width: 30px; height: 4px; border-radius: 0; border: none; background: #fff; opacity: .5; cursor: pointer; padding: 0; }
[data-theme="clickcar"] .ck-slider-dots button.ck-dot-active { opacity: 1; }

/* ── Intro + titre section ── Réel : h1.h2.text-cblue, 50px/800, noir. ── */
[data-theme="clickcar"] .ck-hero-intro { padding: 56px 0 0; text-align: center; }
[data-theme="clickcar"] .ck-hero-intro h1 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 800; color: var(--page-ink, #000); margin: 0 0 16px; }
[data-theme="clickcar"] .ck-seperator { color: #ccc; font-size: calc(18px * var(--text-scale, 1)); margin: 0 0 22px; }
@media (max-width: 767px) { [data-theme="clickcar"] .ck-hero-intro h1 { font-size: calc(32px * var(--text-scale, 1)); } }
[data-theme="clickcar"] .ck-hero-intro p { max-width: 820px; margin: 0 auto; color: var(--page-ink, #555); line-height: 1.75; font-size: calc(15px * var(--text-scale, 1)); }

/* ── Formulaire de réservation ── Réel : labels casse normale (pas
   majuscules) 12.25px/500/blanc, colonnes 4/3/2/3 sur 12, input-group avec
   puce icône accolée (fond gris clair, coin arrondi côté extérieur
   seulement), padding section 20px 14px 40px / 40px top. ── */
[data-theme="clickcar"] .ck-booking-form { background: var(--ck-primary); margin-top: 40px; padding: 40px 0 40px; }
[data-theme="clickcar"] .ck-booking-form-head { margin-bottom: 24px; }
[data-theme="clickcar"] .ck-booking-form-head h2 { color: #fff; font-size: calc(30px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 8px; }
[data-theme="clickcar"] .ck-booking-form-head p { color: rgba(255,255,255,.85); font-size: calc(14px * var(--text-scale, 1)); margin: 0; }
[data-theme="clickcar"] .ck-form-row { display: grid; grid-template-columns: 4fr 3fr 2fr 3fr; gap: 8px 14px; margin-bottom: 0; }
[data-theme="clickcar"] .ck-form-col { box-sizing: border-box; min-width: 0; }
[data-theme="clickcar"] .ck-form-col-btn { display: flex; align-items: end; }
[data-theme="clickcar"] .ck-booking-form label { display: block; color: #fff; font-size: calc(12.25px * var(--text-scale, 1)); font-weight: 500; margin-bottom: 7px; }
[data-theme="clickcar"] .ck-form-control { width: 100%; height: 40px; border: 1px solid #e4e6ef; border-radius: calc(6px * var(--radius-scale, 1)); padding: 7px 14px; font-size: calc(14px * var(--text-scale, 1)); box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="clickcar"] .ck-input-group { display: flex; }
[data-theme="clickcar"] .ck-input-group .ck-form-control { border-radius: calc(6px * var(--radius-scale, 1)) 0 0 calc(6px * var(--radius-scale, 1)); border-right: none; }
[data-theme="clickcar"] .ck-input-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: none; background: #f9f9fa; border: 1px solid #e4e6ef; border-radius: 0 calc(6px * var(--radius-scale, 1)) calc(6px * var(--radius-scale, 1)) 0; color: #1e2022; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="clickcar"] .ck-btn-search { width: 100%; height: 40px; padding: 0 20px; background: var(--ck-gold); color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; text-transform: uppercase; font-size: calc(13px * var(--text-scale, 1)); letter-spacing: .5px; cursor: pointer; transition: background .2s; white-space: nowrap; }
[data-theme="clickcar"] .ck-btn-search:hover { background: var(--ck-gold-hover); }
@media (max-width: 767px) {
    [data-theme="clickcar"] .ck-form-row { grid-template-columns: 1fr; }
}

/* ── Flotte ── Réel : grille 3 colonnes (col-lg-4), cartes Bootstrap avec
   titre AU-DESSUS de la photo, jamais de prix affiché sur cette page. ── */
[data-theme="clickcar"] .ck-fleet { padding: 80px 0; background: var(--ck-fleet-bg, transparent); }
[data-theme="clickcar"] .ck-fleet-price { font-size: calc(13px * var(--text-scale, 1)); color: var(--surface-ink, #6b7280); font-weight: 600; text-align: center; margin-top: 8px; }
[data-theme="clickcar"] .ck-fleet-price b { font-family: 'Poppins', sans-serif; font-size: calc(18px * var(--text-scale, 1)); font-weight: 800; color: var(--ck-primary); }
[data-theme="clickcar"] .ck-fleet h2 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 800; color: var(--page-ink, #000); margin: 0; }
[data-theme="clickcar"] .ck-fleet-lead { max-width: 780px; margin: 0 auto 0; color: var(--page-ink, #3c4043); line-height: 1.7; font-size: calc(17.5px * var(--text-scale, 1)); }
[data-theme="clickcar"] .ck-fleet-grid { display: grid; grid-template-columns: repeat(var(--ck-fleet-cols, 3), 1fr); gap: 28px; margin-top: 24px; }
[data-theme="clickcar"] .ck-fleet-card { background: var(--surface-bg, #fff); border: 1px solid #e4e6ef; border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); padding: 8px; box-sizing: border-box; }
[data-theme="clickcar"] .ck-fleet-card h3 { font-size: calc(25px * var(--text-scale, 1)); font-weight: 500; color: var(--surface-ink, #1e2022); text-align: center; padding: 3.5px 0; margin: 8px 0 0; }
[data-theme="clickcar"] .ck-fleet-card img { width: 100%; display: block; }
/* Icône générique (item "auto" sans photo réelle, ou item "manual" sans
   photo choisie) — même hauteur qu'une vraie photo de véhicule pour ne pas
   casser l'alignement de la grille (05/09/2026). */
[data-theme="clickcar"] .ck-fleet-illu-generic { height: 160px; display: grid; place-items: center; background: linear-gradient(180deg, #fff, #f5f7fa); }
[data-theme="clickcar"] .ck-fleet-illu-generic svg { width: 70%; max-width: 220px; height: auto; }
@media (max-width: 991px) { [data-theme="clickcar"] .ck-fleet-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { [data-theme="clickcar"] .ck-fleet-grid { grid-template-columns: 1fr; } }

/* ── Bandeau titre page (a-propos, services, faq, temoignages...) ──
   Réel : #page-title (photo "coucher_de_soleil", partagée par toutes les
   pages internes réelles) + même mécanique -120px que le hero pour glisser
   sous le header transparent, padding 220px 0 160px (80px 160px<991px).
   h1 Poppins 400 (pas gras) 2.5rem — jamais 700/34px. */
[data-theme="clickcar"] .ck-page-title { position: relative; top: -120px; margin-bottom: -120px; padding: 220px 0 160px; text-align: center; background-size: cover; background-position: center; }
[data-theme="clickcar"] .ck-page-title::before { content: ''; position: absolute; inset: 0; background: rgba(1,20,30,.55); }
[data-theme="clickcar"] .ck-page-title .ck-container { position: relative; z-index: 1; }
[data-theme="clickcar"] .ck-page-title h1, [data-theme="clickcar"] .ck-page-title .ck-h1 { color: #fff; font-family: 'Poppins', sans-serif; font-size: calc(2.5rem * var(--text-scale, 1)); font-weight: 400; line-height: 1.2; margin: 0 0 1rem; }
[data-theme="clickcar"] .ck-page-title .ck-breadcrumb { color: rgba(255,255,255,.75); font-size: calc(14px * var(--text-scale, 1)); }
[data-theme="clickcar"] .ck-page-title .ck-breadcrumb a { color: rgba(255,255,255,.9); text-decoration: none; }
[data-theme="clickcar"] .ck-page-title .ck-breadcrumb .ck-crumb-sep { margin: 0 6px; opacity: .6; }
@media (max-width: 991px) {
    [data-theme="clickcar"] .ck-page-title { padding: 160px 0 80px; }
    [data-theme="clickcar"] .ck-page-title h1, [data-theme="clickcar"] .ck-page-title .ck-h1 { font-size: calc(26px * var(--text-scale, 1)); }
}

/* ── A propos (2 colonnes 7/5, texte + photo) ── */
[data-theme="clickcar"] .ck-about { padding: 64px 0; }
[data-theme="clickcar"] .ck-about-row { display: grid; grid-template-columns: 58.33% 41.67%; gap: 0 30px; align-items: start; }
[data-theme="clickcar"] .ck-eyebrow { display: inline-block; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: calc(.78rem * var(--text-scale, 1)); letter-spacing: .12em; text-transform: uppercase; color: var(--ck-primary); margin-bottom: 10px; }
[data-theme="clickcar"] .ck-about-text h2 .hl { color: var(--ck-primary); }
[data-theme="clickcar"] .ck-about-text h2 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 800; color: var(--page-ink, #000); margin: 0 0 16px; }
[data-theme="clickcar"] .ck-about-text p { font-size: calc(14px * var(--text-scale, 1)); color: var(--page-ink, #3c4043); line-height: 23.8px; }
[data-theme="clickcar"] .ck-about-photo img { width: 100%; border-radius: calc(4px * var(--radius-scale, 1)); }
@media (max-width: 991px) {
    [data-theme="clickcar"] .ck-about-row { grid-template-columns: 1fr; }
    [data-theme="clickcar"] .ck-about-text h2 { font-size: calc(32px * var(--text-scale, 1)); }
    [data-theme="clickcar"] .ck-about-photo { margin-top: 24px; }
}

/* ── Services (grille icon-box centrée) ── */
[data-theme="clickcar"] .ck-advantages { padding: 64px 0; }
[data-theme="clickcar"] .ck-advantages h2 { font-size: calc(48px * var(--text-scale, 1)); font-weight: 500; color: var(--page-ink, #1e2022); margin: 0 0 40px; }
[data-theme="clickcar"] .ck-advantages-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 30px; text-align: center; }
[data-theme="clickcar"] .ck-advantage-icon { width: 64px; height: 64px; margin: 0 auto 22px; border: 3px solid var(--page-ink, #333); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
[data-theme="clickcar"] .ck-advantage-icon i { font-size: calc(28px * var(--text-scale, 1)); color: inherit; }
[data-theme="clickcar"] .ck-advantage h3 { font-size: calc(16px * var(--text-scale, 1)); font-weight: 700; line-height: 25px; color: var(--page-ink, #1e2022); margin: 0 0 15px; }
[data-theme="clickcar"] .ck-advantage p { font-size: calc(16px * var(--text-scale, 1)); line-height: 28px; font-weight: 400; color: var(--page-ink, #3c4043); margin: 0; }
@media (max-width: 991px) { [data-theme="clickcar"] .ck-advantages-grid { grid-template-columns: 1fr; } }

/* ── Témoignages (liste empilée, PAS une grille de cartes) ── */
[data-theme="clickcar"] .ck-testimonials { padding: 64px 0; }
[data-theme="clickcar"] .ck-testimonials h2 { font-size: calc(33px * var(--text-scale, 1)); font-weight: 500; color: var(--page-ink, #1e2022); margin: 0 0 16px; }
[data-theme="clickcar"] .ck-testimonials-lead { max-width: 820px; margin: 0 auto 40px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="clickcar"] .ck-testimonials-list { max-width: 780px; margin: 0 auto; }
[data-theme="clickcar"] .ck-testimonials-list hr { border: none; border-top: 1px solid #e5e5e5; margin: 40px 0; }
[data-theme="clickcar"] .ck-testimonial-photo { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; margin: 0 auto 12px; display: block; }
[data-theme="clickcar"] .ck-testimonial-date { font-size: calc(14px * var(--text-scale, 1)); color: #888; margin-bottom: 8px; }
[data-theme="clickcar"] .ck-testimonial-stars { color: #e5e5e5; font-size: calc(15px * var(--text-scale, 1)); margin-bottom: 12px; }
[data-theme="clickcar"] .ck-testimonial-stars .ck-star-filled { color: #ffc107; }
[data-theme="clickcar"] .ck-testimonial h3 { font-size: calc(18px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 10px; }
[data-theme="clickcar"] .ck-testimonial p { font-size: calc(20px * var(--text-scale, 1)); font-weight: 300; color: var(--page-ink, #333); line-height: 1.6; margin: 0; }

/* ── FAQ (accordéon simple, bordures fines — pas de cartes colorées) ── */
[data-theme="clickcar"] .ck-faq { padding: 64px 0; }
[data-theme="clickcar"] .ck-faq h3, [data-theme="clickcar"] .ck-faq .ck-faq-title { font-size: calc(25px * var(--text-scale, 1)); font-weight: 500; color: var(--page-ink, #1e2022); margin: 0 0 16px; }
[data-theme="clickcar"] .ck-faq h3 .hl, [data-theme="clickcar"] .ck-faq .ck-faq-title .hl { color: var(--ck-primary); }
[data-theme="clickcar"] .ck-faq-lead { max-width: 820px; margin: 0 auto 40px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="clickcar"] .ck-faq-accordion { max-width: 860px; margin: 0 auto; text-align: left; }
[data-theme="clickcar"] .ck-faq-item { border-bottom: 1px solid #e4e6ef; }
[data-theme="clickcar"] .ck-faq-q { width: 100%; display: flex; align-items: center; gap: 10px; padding: 18px 0; text-align: left; font-family: 'Poppins', sans-serif; font-size: calc(14px * var(--text-scale, 1)); font-weight: 500; color: var(--page-ink, #1e2022); background: none; border: none; cursor: pointer; }
[data-theme="clickcar"] .ck-faq-q i { color: var(--ck-primary); font-size: calc(16px * var(--text-scale, 1)); flex: none; }
[data-theme="clickcar"] .ck-faq-a { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
[data-theme="clickcar"] .ck-faq-a-inner { padding: 0 0 18px 26px; color: var(--page-ink, #3c4043); font-size: calc(14px * var(--text-scale, 1)); line-height: 1.7; }

/* ── Footer ── Réel (mesuré, pas supposé) : fond GRIS CLAIR #f9f9fa, PAS
   navy — les classes de personnalisation customize.css (.footer-bloc-bg,
   .footer-icon-color) ne correspondent pas aux classes réellement posées
   dans le HTML (bg-bloc-footer, color-icon-footer — ordre des mots
   inversé), donc jamais appliquées sur le vrai site : le thème retombe sur
   ses valeurs par défaut. Texte blanc sur fond clair = contraste faible
   RÉEL du site source, reproduit fidèlement (pas "corrigé"). Icônes #333
   (jamais dorées ici, contrairement au bouton de recherche qui lui utilise
   la bonne classe .btn-form-resa et applique bien l'or). Icon-box aligné à
   gauche (icône absolue 46px + texte indenté 60px), PAS centré. */
[data-theme="clickcar"] #footer.ck-footer { background: var(--surface-bg, #f9f9fa); color: #fff; }
[data-theme="clickcar"] .ck-footer-content { padding: 60px 0 40px; }
[data-theme="clickcar"] .ck-footer-row { display: grid; grid-template-columns: repeat(var(--ftr-cols, 3), 1fr); gap: 32px; }
[data-theme="clickcar"] .ck-footer-col { position: relative; padding-left: 60px; min-height: 46px; }
[data-theme="clickcar"] .ck-footer-icon { position: absolute; left: 0; top: 0; width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; color: var(--surface-ink, #333); font-size: calc(36px * var(--text-scale, 1)); }
/* Texte blanc sur fond clair dans le CSS source = illisible, bug réel du
   site (pas une intention) — reproduit le fond gris clair mesuré mais pas
   ce défaut-là précisément : seule correction volontaire de cette
   reproduction, tout le reste reste fidèle même quand imparfait. */
[data-theme="clickcar"] .ck-footer-col h3 { color: var(--surface-ink, #1e2022); font-size: calc(18px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 4px; }
[data-theme="clickcar"] .ck-footer-col p { color: var(--surface-ink, #3c4043); font-size: calc(14px * var(--text-scale, 1)); line-height: 1.6; margin: 0 0 6px; }
[data-theme="clickcar"] .ck-footer-col p strong { color: var(--surface-ink, #1e2022); }
[data-theme="clickcar"] .ck-copyright { background: var(--surface-bg, #f1f1f3); padding: 30px 0; }
[data-theme="clickcar"] .ck-copyright-row { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px; }
[data-theme="clickcar"] .ck-social-copyright { display: flex; gap: 6px; list-style: none; margin: 0; padding: 0; }
[data-theme="clickcar"] .ck-social-copyright a { width: 32px; height: 32px; border-radius: calc(4px * var(--radius-scale, 1)); background: #5d82d1; color: #fff; display: flex; align-items: center; justify-content: center; font-size: calc(14px * var(--text-scale, 1)); }
[data-theme="clickcar"] .ck-copyright-text { color: var(--surface-ink, #3c4043); font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="clickcar"] .ck-copyright-text a { color: #3c4043; text-decoration: none; }
[data-theme="clickcar"] .ck-copyright-text a:hover { color: var(--ck-primary); }
@media (max-width: 767px) { [data-theme="clickcar"] .ck-footer-row { grid-template-columns: 1fr; } }

/* ══════════════════════════════════════════════════════════════════════
   DREAMLOCATION — même famille de thème V1 que clickcar (POLO/Inspiro,
   même bibliothèque Flickity ".inspiro-slider", mêmes couleurs mesurées
   #014F73/#FFC107, même police Poppins) — construit le 05/09/2026 en
   reproduction fidèle de https://www.dreamlocation.fr/. Valeurs partagées
   dupliquées depuis [data-theme="clickcar"] (même famille de thème
   réelle, mesuré : var(--ck-primary)/(--ck-accent) identiques sur les
   deux sites) ; écarts RÉELLEMENT mesurés sur dreamlocation.fr appliqués
   explicitement : pas de topbar réseaux sociaux (aucun lien FB/IG sur le
   vrai site), bandeau de titre de page en aplat sombre #1e2022 (jamais une
   photo, contrairement à clickcar), padding réduit (80px, pas 220/160),
   h1 35px/400. ══════════════════════════════════════════════════════ */
[data-theme="dreamlocation"] {
    --dl-primary:      var(--color-primary, #014F73);
    --dl-gold:         var(--color-secondary, #FFC107);
    --dl-gold-hover:   color-mix(in srgb, var(--dl-gold), black 15%);
    --dl-text:         var(--page-ink, #1e2022);
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    color: var(--dl-text);
}
[data-theme="dreamlocation"] .dl-container { width: 92%; max-width: 1140px; margin: 0 auto; padding: 0 14px; }
[data-theme="dreamlocation"] .dl-text-center { text-align: center; }
[data-theme="dreamlocation"] .hl { color: var(--dl-primary); }

/* ── Header — pas de topbar réseaux sociaux (absent du vrai site) ── */
[data-theme="dreamlocation"] #header.dl-header { position: relative; z-index: 20; background: transparent; }
[data-theme="dreamlocation"] .dl-header-inner { height: 80px; }
[data-theme="dreamlocation"] .dl-header-inner .dl-container { display: flex; align-items: center; justify-content: space-between; height: 100%; }
[data-theme="dreamlocation"] .dl-logo { height: 80px; display: flex; align-items: center; }
[data-theme="dreamlocation"] .dl-logo img { height: 50px; width: auto; }
[data-theme="dreamlocation"] .dl-logo-text { font-size: calc(28px * var(--text-scale, 1)); font-weight: 800; color: var(--dl-primary); }
[data-theme="dreamlocation"] .dl-main-menu, [data-theme="dreamlocation"] .dl-main-menu nav { height: 100%; }
[data-theme="dreamlocation"] .dl-main-menu nav ul { display: flex; align-items: center; list-style: none; margin: 0; padding: 0; height: 100%; }
[data-theme="dreamlocation"] .dl-main-menu nav ul li { height: 100%; display: flex; align-items: center; }
[data-theme="dreamlocation"] .dl-main-menu nav ul li a { padding: 10px 12px; font-family: 'Poppins', sans-serif; font-size: calc(12px * var(--text-scale, 1)); font-weight: 600; text-transform: uppercase; letter-spacing: .6px; color: #000; text-decoration: none; transition: color .2s; }
[data-theme="dreamlocation"] .dl-main-menu nav ul li a:hover,
[data-theme="dreamlocation"] .dl-main-menu nav ul li.dl-active a { color: var(--dl-primary); }
[data-theme="dreamlocation"] .dl-menu-trigger { display: none; cursor: pointer; }
[data-theme="dreamlocation"] .dl-lines-button { display: block; width: 26px; height: 20px; position: relative; }
[data-theme="dreamlocation"] .dl-lines,
[data-theme="dreamlocation"] .dl-lines::before,
[data-theme="dreamlocation"] .dl-lines::after { display: block; position: absolute; height: 2px; width: 100%; background: #000; content: ''; }
[data-theme="dreamlocation"] .dl-lines { top: 9px; }
[data-theme="dreamlocation"] .dl-lines::before { top: -8px; }
[data-theme="dreamlocation"] .dl-lines::after { top: 8px; }
@media (max-width: 991px) {
    [data-theme="dreamlocation"] .dl-menu-trigger { display: block; }
    /* height:auto indispensable — voir commentaire équivalent clickcar
       (bug réel du 06/09/2026, trouvé ici en premier). */
    [data-theme="dreamlocation"] .dl-main-menu { display: none; position: absolute; top: 80px; left: 0; right: 0; height: auto; background: #fff; box-shadow: 0 4px 10px rgba(0,0,0,.15); z-index: 30; }
    [data-theme="dreamlocation"] .dl-main-menu.dl-open { display: block; }
    [data-theme="dreamlocation"] .dl-main-menu nav { height: auto; }
    [data-theme="dreamlocation"] .dl-main-menu nav ul { height: auto; flex-direction: column; gap: 0; padding: 10px 0; }
    [data-theme="dreamlocation"] .dl-main-menu nav ul li { height: auto; }
    [data-theme="dreamlocation"] .dl-main-menu nav ul li a { line-height: 44px; display: block; padding: 0 20px; }
}

/* ── Hero carrousel — pas de logo en superposition (texte brut), 2 lignes
     de texte (nom + accroche), pas de topbar donc glisse de -80px (pas -120px). ── */
/* RÉEL mesuré le 05/09/2026 (correctif après retour direct — le premier jet
   avait bêtement copié le mécanisme de superposition transparente de
   clickcar/cityrent-base SANS le vérifier sur dreamlocation) : le header de
   dreamlocation est en flux normal, fond transparent MAIS PAS superposé à
   l'image — le slider commence juste APRÈS lui (top mesuré = hauteur exacte
   du header, aucun `top:-80px` négatif, aucun chevauchement). Le texte du
   slide est mesuré au pixel : h1 80px/700 (pas 40px !), h2 50px/700 (pas
   22px/500), verticalement CENTRÉ dans le slider (mesuré : bloc légendes à
   mi-hauteur, pas un padding fixe), AUCUN voile sombre (le ::before réel du
   thème a `opacity:0` — texte posé à nu sur la photo, jamais assombri). */
[data-theme="dreamlocation"] .dl-slider { position: relative; height: 72vh; min-height: 480px; overflow: hidden; background: var(--dl-primary); }
[data-theme="dreamlocation"] .dl-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity var(--dl-slide-transition-ms, 800ms) ease; overflow: hidden; }
[data-theme="dreamlocation"] .dl-slide.dl-slide-active { opacity: 1; }
[data-theme="dreamlocation"] .dl-slider > .dl-container { position: relative; z-index: 1; height: 100%; display: flex; align-items: center; }
[data-theme="dreamlocation"] .dl-slide-captions { position: relative; z-index: 1; text-align: left; color: #fff; box-sizing: border-box; width: 100%; }
[data-theme="dreamlocation"] .dl-slide-captions h1, [data-theme="dreamlocation"] .dl-slide-captions .dl-slide-logo-wrap, [data-theme="dreamlocation"] .dl-slide-captions .dl-slide-brand { font-size: calc(80px * var(--text-scale, 1)); font-weight: 700; line-height: 1; margin: 0 0 20px; color: #fff; }
[data-theme="dreamlocation"] .dl-slide-captions h2 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 700; line-height: 1.2; margin: 0; color: #fff; text-transform: uppercase; }
@media (max-width: 991px) {
    [data-theme="dreamlocation"] .dl-slide-captions { text-align: center; }
    [data-theme="dreamlocation"] .dl-slide-captions h1, [data-theme="dreamlocation"] .dl-slide-captions .dl-slide-logo-wrap, [data-theme="dreamlocation"] .dl-slide-captions .dl-slide-brand { font-size: calc(36px * var(--text-scale, 1)); }
    [data-theme="dreamlocation"] .dl-slide-captions h2 { font-size: calc(22px * var(--text-scale, 1)); }
}
[data-theme="dreamlocation"] .dl-slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 78px; height: 78px; border-radius: 50%; border: none; background: transparent; color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
[data-theme="dreamlocation"] .dl-slider-arrow svg { width: 18px; height: 18px; }
[data-theme="dreamlocation"] .dl-slider-arrow-prev { left: 0; }
[data-theme="dreamlocation"] .dl-slider-arrow-next { right: 0; }
[data-theme="dreamlocation"] .dl-slider-dots { position: absolute; bottom: 30px; left: 0; right: 0; z-index: 2; display: flex; justify-content: center; gap: 8px; }
[data-theme="dreamlocation"] .dl-slider-dots button { width: 30px; height: 4px; border-radius: 0; border: none; background: #fff; opacity: .5; cursor: pointer; padding: 0; }
[data-theme="dreamlocation"] .dl-slider-dots button.dl-dot-active { opacity: 1; }

/* ── Intro + titre section ── */
[data-theme="dreamlocation"] .dl-hero-intro { padding: 56px 0 0; text-align: center; }
[data-theme="dreamlocation"] .dl-hero-intro h1 { font-size: calc(40px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #000); margin: 0 0 16px; }
[data-theme="dreamlocation"] .dl-seperator { color: #ccc; font-size: calc(18px * var(--text-scale, 1)); margin: 0 0 22px; }
@media (max-width: 767px) { [data-theme="dreamlocation"] .dl-hero-intro h1 { font-size: calc(28px * var(--text-scale, 1)); } }
[data-theme="dreamlocation"] .dl-hero-intro p { max-width: 820px; margin: 0 auto; color: var(--page-ink, #555); line-height: 1.75; font-size: calc(15px * var(--text-scale, 1)); }

/* ── Formulaire de réservation ── */
[data-theme="dreamlocation"] .dl-booking-form { background: var(--dl-primary); margin-top: 40px; padding: 20px 0 20px; }
[data-theme="dreamlocation"] .dl-booking-form-head { margin-bottom: 24px; }
[data-theme="dreamlocation"] .dl-booking-form-head h2 { color: #fff; font-size: calc(30px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 8px; }
[data-theme="dreamlocation"] .dl-booking-form-head p { color: rgba(255,255,255,.85); font-size: calc(14px * var(--text-scale, 1)); margin: 0; }
[data-theme="dreamlocation"] .dl-form-row { display: grid; grid-template-columns: 4fr 3fr 2fr 3fr; gap: 8px 14px; margin-bottom: 8px; }
[data-theme="dreamlocation"] .dl-form-col { box-sizing: border-box; min-width: 0; }
[data-theme="dreamlocation"] .dl-form-col-btn { display: flex; align-items: end; }
[data-theme="dreamlocation"] .dl-booking-form label { display: block; color: #fff; font-size: calc(12.25px * var(--text-scale, 1)); font-weight: 500; margin-bottom: 7px; }
[data-theme="dreamlocation"] .dl-form-control { width: 100%; height: 40px; border: 1px solid #e4e6ef; border-radius: calc(6px * var(--radius-scale, 1)); padding: 7px 14px; font-size: calc(14px * var(--text-scale, 1)); box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="dreamlocation"] .dl-btn-search { width: 100%; height: 40px; padding: 0 20px; background: var(--dl-gold); color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; text-transform: uppercase; font-size: calc(13px * var(--text-scale, 1)); letter-spacing: .5px; cursor: pointer; transition: background .2s; white-space: nowrap; }
[data-theme="dreamlocation"] .dl-btn-search:hover { background: var(--dl-gold-hover); }
@media (max-width: 767px) { [data-theme="dreamlocation"] .dl-form-row { grid-template-columns: 1fr; } }

/* ── Flotte ── */
[data-theme="dreamlocation"] .dl-fleet { padding: 80px 0; background: var(--dl-fleet-bg, transparent); }
[data-theme="dreamlocation"] .dl-fleet h2 { font-size: calc(40px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #000); margin: 0; }
[data-theme="dreamlocation"] .dl-fleet-lead { max-width: 780px; margin: 0 auto 0; color: var(--page-ink, #3c4043); line-height: 1.7; font-size: calc(17.5px * var(--text-scale, 1)); }
[data-theme="dreamlocation"] .dl-fleet-grid { display: grid; grid-template-columns: repeat(var(--dl-fleet-cols, 3), 1fr); gap: 28px; margin-top: 24px; }
[data-theme="dreamlocation"] .dl-fleet-card { background: var(--surface-bg, #fff); border: 1px solid #e4e6ef; border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); padding: 8px; box-sizing: border-box; }
[data-theme="dreamlocation"] .dl-fleet-card h3 { font-size: calc(20px * var(--text-scale, 1)); font-weight: 600; color: var(--surface-ink, #1e2022); text-align: center; padding: 3.5px 0; margin: 8px 0 0; text-transform: uppercase; }
[data-theme="dreamlocation"] .dl-fleet-card img { width: 100%; display: block; }
[data-theme="dreamlocation"] .dl-fleet-illu-generic { height: 160px; display: grid; place-items: center; background: linear-gradient(180deg, #fff, #f5f7fa); }
[data-theme="dreamlocation"] .dl-fleet-illu-generic svg { width: 70%; max-width: 220px; height: auto; }
[data-theme="dreamlocation"] .dl-fleet-price { font-size: calc(13px * var(--text-scale, 1)); color: var(--surface-ink, #6b7280); font-weight: 600; text-align: center; margin-top: 8px; }
[data-theme="dreamlocation"] .dl-fleet-price b { font-family: 'Poppins', sans-serif; font-size: calc(18px * var(--text-scale, 1)); font-weight: 800; color: var(--dl-primary); }
@media (max-width: 991px) { [data-theme="dreamlocation"] .dl-fleet-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { [data-theme="dreamlocation"] .dl-fleet-grid { grid-template-columns: 1fr; } }

/* ── Bandeau titre page — RÉEL mesuré : aplat sombre #1e2022, PAS de photo,
     padding 80px (pas 220/160), h1 35px/400 (pas 2.5rem/700). ── */
/* RÉEL mesuré : pas de superposition sur le header ici non plus (le bandeau
   commence exactement à la hauteur du header, jamais dessous) — même
   correctif que .dl-slider ci-dessus. */
[data-theme="dreamlocation"] .dl-page-title { position: relative; padding: 80px 0; text-align: center; background-color: #1e2022; background-size: cover; background-position: center; }
[data-theme="dreamlocation"] .dl-page-title .dl-container { position: relative; z-index: 1; }
[data-theme="dreamlocation"] .dl-page-title h1 { color: #fff; font-family: 'Poppins', sans-serif; font-size: calc(35px * var(--text-scale, 1)); font-weight: 400; line-height: 1.2; margin: 0 0 .5rem; }
[data-theme="dreamlocation"] .dl-page-title .dl-breadcrumb { color: rgba(255,255,255,.75); font-size: calc(14px * var(--text-scale, 1)); }
[data-theme="dreamlocation"] .dl-page-title .dl-breadcrumb a { color: rgba(255,255,255,.9); text-decoration: none; }
[data-theme="dreamlocation"] .dl-page-title .dl-breadcrumb .dl-crumb-sep { margin: 0 6px; opacity: .6; }
@media (max-width: 991px) { [data-theme="dreamlocation"] .dl-page-title h1 { font-size: calc(24px * var(--text-scale, 1)); } }

/* ── Formulaire de contact — RÉEL mesuré : colonne unique centrée, bandeau
     titre navy plein-largeur au-dessus des champs, PAS de sidebar agence/
     carte contrairement à clickcar. ── */
[data-theme="dreamlocation"] .dl-contact { padding: 64px 0; }
[data-theme="dreamlocation"] .dl-contact h3 { font-size: calc(28px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 10px; }
[data-theme="dreamlocation"] .dl-contact-lead { max-width: 700px; margin: 0 auto 40px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="dreamlocation"] .dl-contact-form { max-width: 780px; margin: 0 auto; border: 1px solid #e4e6ef; border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); }
[data-theme="dreamlocation"] .dl-contact-form-head { background: var(--dl-primary); color: #fff; font-size: calc(18px * var(--text-scale, 1)); font-weight: 700; padding: 18px 24px; text-align: left; }
[data-theme="dreamlocation"] .dl-contact-form-body { padding: 26px 24px; background: var(--surface-bg, #fff); }
[data-theme="dreamlocation"] .dl-contact-field { margin-bottom: 18px; text-align: left; }
[data-theme="dreamlocation"] .dl-contact-field label { display: block; font-size: calc(13px * var(--text-scale, 1)); font-weight: 600; color: var(--surface-ink, #1e2022); margin-bottom: 6px; }
[data-theme="dreamlocation"] .dl-contact-field input,
[data-theme="dreamlocation"] .dl-contact-field textarea { width: 100%; border: 1px solid #e4e6ef; border-radius: calc(6px * var(--radius-scale, 1)); padding: 10px 14px; font-size: calc(14px * var(--text-scale, 1)); font-family: inherit; box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="dreamlocation"] .dl-contact-field textarea { min-height: 130px; resize: vertical; }
[data-theme="dreamlocation"] .dl-contact-submit { width: 100%; padding: 13px 20px; background: var(--dl-primary); color: #fff; border: none; font-weight: 700; font-size: calc(14px * var(--text-scale, 1)); letter-spacing: .3px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; transition: background .2s; }
[data-theme="dreamlocation"] .dl-contact-submit:hover { background: color-mix(in srgb, var(--dl-primary), black 12%); }

/* ── FAQ (accordéon simple, bordures fines) ── */
[data-theme="dreamlocation"] .dl-eyebrow { display: inline-block; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: calc(.78rem * var(--text-scale, 1)); letter-spacing: .12em; text-transform: uppercase; color: var(--dl-primary); margin-bottom: 10px; }
[data-theme="dreamlocation"] .dl-faq { padding: 64px 0; }
[data-theme="dreamlocation"] .dl-faq h3, [data-theme="dreamlocation"] .dl-faq .dl-faq-title { font-size: calc(24px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 16px; }
[data-theme="dreamlocation"] .dl-faq-lead { max-width: 820px; margin: 0 auto 40px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="dreamlocation"] .dl-faq-accordion { max-width: 860px; margin: 0 auto; text-align: left; }
[data-theme="dreamlocation"] .dl-faq-item { border: 1px solid #e4e6ef; border-radius: calc(6px * var(--radius-scale, 1)); margin-bottom: 10px; }
[data-theme="dreamlocation"] .dl-faq-q { width: 100%; display: flex; align-items: center; gap: 10px; padding: 16px 18px; text-align: left; font-family: 'Poppins', sans-serif; font-size: calc(14px * var(--text-scale, 1)); font-weight: 500; color: var(--page-ink, #1e2022); background: none; border: none; cursor: pointer; }
[data-theme="dreamlocation"] .dl-faq-q i { color: var(--dl-primary); font-size: calc(16px * var(--text-scale, 1)); flex: none; }
[data-theme="dreamlocation"] .dl-faq-a { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
[data-theme="dreamlocation"] .dl-faq-a-inner { padding: 0 18px 16px 44px; color: var(--page-ink, #3c4043); font-size: calc(14px * var(--text-scale, 1)); line-height: 1.7; }

/* ── Footer — RÉEL mesuré : fond navy plein (pas gris clair comme
     clickcar), texte blanc, pas de bloc réseaux sociaux (aucun lien réel
     sur le vrai site). ── */
[data-theme="dreamlocation"] #footer.dl-footer { background: var(--dl-primary); color: #fff; }
[data-theme="dreamlocation"] .dl-footer-content { padding: 50px 0 30px; }
[data-theme="dreamlocation"] .dl-footer-row { display: grid; grid-template-columns: repeat(var(--ftr-cols, 3), 1fr); gap: 32px; }
[data-theme="dreamlocation"] .dl-footer-col { position: relative; padding-left: 60px; min-height: 46px; }
[data-theme="dreamlocation"] .dl-footer-icon { position: absolute; left: 0; top: 0; width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; background: var(--dl-gold); border-radius: 50%; color: #fff; font-size: calc(18px * var(--text-scale, 1)); }
[data-theme="dreamlocation"] .dl-footer-col h3 { color: #fff; font-size: calc(17px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 4px; }
[data-theme="dreamlocation"] .dl-footer-col p { color: rgba(255,255,255,.85); font-size: calc(14px * var(--text-scale, 1)); line-height: 1.6; margin: 0 0 6px; }
[data-theme="dreamlocation"] .dl-footer-col p strong { color: #fff; }
[data-theme="dreamlocation"] .dl-copyright { background: rgba(0,0,0,.15); padding: 22px 0; }
[data-theme="dreamlocation"] .dl-copyright-row { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 14px; }
[data-theme="dreamlocation"] .dl-copyright-text { color: rgba(255,255,255,.8); font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="dreamlocation"] .dl-copyright-text a { color: #fff; text-decoration: none; }
[data-theme="dreamlocation"] .dl-copyright-text a:hover { color: var(--dl-gold); }
@media (max-width: 767px) { [data-theme="dreamlocation"] .dl-footer-row { grid-template-columns: 1fr; } }

/* ══════════════════════════════════════════════════════════════════════
   AUTO2R — même famille de thème V1 (Inspiro/POLO) que clickcar/
   dreamlocation, confirmé par mesure indépendante le 05/09/2026 (mêmes
   couleurs #014F73/#FFC107, même police Poppins, même typographie hero,
   même mécanique de header sans chevauchement que dreamlocation). Écarts
   réels : bandeau de page TOUJOURS en aplat sombre (aucune page interne
   n'a de vraie photo, contrairement à dreamlocation), formulaire de
   contact à sujet libre (pas de select). ══════════════════════════════ */
[data-theme="auto2r"] {
    --a2r-primary:      var(--color-primary, #014F73);
    --a2r-gold:         var(--color-secondary, #FFC107);
    --a2r-gold-hover:   color-mix(in srgb, var(--a2r-gold), black 15%);
    --a2r-text:         var(--page-ink, #1e2022);
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    color: var(--a2r-text);
}
[data-theme="auto2r"] .a2r-container { width: 92%; max-width: 1140px; margin: 0 auto; padding: 0 14px; }
[data-theme="auto2r"] .a2r-text-center { text-align: center; }
[data-theme="auto2r"] .hl { color: var(--a2r-primary); }

/* ── Header — pas de topbar réseaux sociaux (absent du vrai site) ── */
[data-theme="auto2r"] #header.a2r-header { position: relative; z-index: 20; background: transparent; }
[data-theme="auto2r"] .a2r-header-inner { height: 80px; }
[data-theme="auto2r"] .a2r-header-inner .a2r-container { display: flex; align-items: center; justify-content: space-between; height: 100%; }
[data-theme="auto2r"] .a2r-logo { height: 80px; display: flex; align-items: center; }
[data-theme="auto2r"] .a2r-logo img { height: 50px; width: auto; }
[data-theme="auto2r"] .a2r-logo-text { font-size: calc(28px * var(--text-scale, 1)); font-weight: 800; color: var(--a2r-primary); }
[data-theme="auto2r"] .a2r-main-menu, [data-theme="auto2r"] .a2r-main-menu nav { height: 100%; }
[data-theme="auto2r"] .a2r-main-menu nav ul { display: flex; align-items: center; list-style: none; margin: 0; padding: 0; height: 100%; }
[data-theme="auto2r"] .a2r-main-menu nav ul li { height: 100%; display: flex; align-items: center; }
[data-theme="auto2r"] .a2r-main-menu nav ul li a { padding: 10px 12px; font-family: 'Poppins', sans-serif; font-size: calc(12px * var(--text-scale, 1)); font-weight: 600; text-transform: uppercase; letter-spacing: .6px; color: #000; text-decoration: none; transition: color .2s; }
[data-theme="auto2r"] .a2r-main-menu nav ul li a:hover,
[data-theme="auto2r"] .a2r-main-menu nav ul li.a2r-active a { color: var(--a2r-primary); }
[data-theme="auto2r"] .a2r-menu-trigger { display: none; cursor: pointer; }
[data-theme="auto2r"] .a2r-lines-button { display: block; width: 26px; height: 20px; position: relative; }
[data-theme="auto2r"] .a2r-lines,
[data-theme="auto2r"] .a2r-lines::before,
[data-theme="auto2r"] .a2r-lines::after { display: block; position: absolute; height: 2px; width: 100%; background: #000; content: ''; }
[data-theme="auto2r"] .a2r-lines { top: 9px; }
[data-theme="auto2r"] .a2r-lines::before { top: -8px; }
[data-theme="auto2r"] .a2r-lines::after { top: 8px; }
@media (max-width: 991px) {
    [data-theme="auto2r"] .a2r-menu-trigger { display: block; }
    /* height:auto indispensable — voir commentaire équivalent clickcar/
       dreamlocation (bug réel du 06/09/2026). */
    [data-theme="auto2r"] .a2r-main-menu { display: none; position: absolute; top: 80px; left: 0; right: 0; height: auto; background: #fff; box-shadow: 0 4px 10px rgba(0,0,0,.15); z-index: 30; }
    [data-theme="auto2r"] .a2r-main-menu.a2r-open { display: block; }
    [data-theme="auto2r"] .a2r-main-menu nav { height: auto; }
    [data-theme="auto2r"] .a2r-main-menu nav ul { height: auto; flex-direction: column; gap: 0; padding: 10px 0; }
    [data-theme="auto2r"] .a2r-main-menu nav ul li { height: auto; }
    [data-theme="auto2r"] .a2r-main-menu nav ul li a { line-height: 44px; display: block; padding: 0 20px; }
}

/* ── Hero carrousel — pas de logo en superposition (texte brut), header en
     flux normal (pas de chevauchement, comme dreamlocation) ── */
[data-theme="auto2r"] .a2r-slider { position: relative; height: 72vh; min-height: 480px; overflow: hidden; background: var(--a2r-primary); }
[data-theme="auto2r"] .a2r-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity var(--a2r-slide-transition-ms, 800ms) ease; overflow: hidden; }
[data-theme="auto2r"] .a2r-slide.a2r-slide-active { opacity: 1; }
[data-theme="auto2r"] .a2r-slider > .a2r-container { position: relative; z-index: 1; height: 100%; display: flex; align-items: center; }
[data-theme="auto2r"] .a2r-slide-captions { position: relative; z-index: 1; text-align: left; color: #fff; box-sizing: border-box; width: 100%; }
[data-theme="auto2r"] .a2r-slide-captions h1, [data-theme="auto2r"] .a2r-slide-captions .a2r-slide-logo-wrap, [data-theme="auto2r"] .a2r-slide-captions .a2r-slide-brand { font-size: calc(80px * var(--text-scale, 1)); font-weight: 700; line-height: 1; margin: 0 0 20px; color: #fff; }
[data-theme="auto2r"] .a2r-slide-captions h2 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 700; line-height: 1.2; margin: 0; color: #fff; text-transform: uppercase; }
@media (max-width: 991px) {
    [data-theme="auto2r"] .a2r-slide-captions { text-align: center; }
    [data-theme="auto2r"] .a2r-slide-captions h1, [data-theme="auto2r"] .a2r-slide-captions .a2r-slide-logo-wrap, [data-theme="auto2r"] .a2r-slide-captions .a2r-slide-brand { font-size: calc(36px * var(--text-scale, 1)); }
    [data-theme="auto2r"] .a2r-slide-captions h2 { font-size: calc(22px * var(--text-scale, 1)); }
}
[data-theme="auto2r"] .a2r-slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 78px; height: 78px; border-radius: 50%; border: none; background: transparent; color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
[data-theme="auto2r"] .a2r-slider-arrow svg { width: 18px; height: 18px; }
[data-theme="auto2r"] .a2r-slider-arrow-prev { left: 0; }
[data-theme="auto2r"] .a2r-slider-arrow-next { right: 0; }
[data-theme="auto2r"] .a2r-slider-dots { position: absolute; bottom: 30px; left: 0; right: 0; z-index: 2; display: flex; justify-content: center; gap: 8px; }
[data-theme="auto2r"] .a2r-slider-dots button { width: 30px; height: 4px; border-radius: 0; border: none; background: #fff; opacity: .5; cursor: pointer; padding: 0; }
[data-theme="auto2r"] .a2r-slider-dots button.a2r-dot-active { opacity: 1; }

/* ── Intro + titre section ── */
[data-theme="auto2r"] .a2r-hero-intro { padding: 56px 0 0; text-align: center; }
[data-theme="auto2r"] .a2r-hero-intro h1 { font-size: calc(40px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #000); margin: 0 0 16px; }
[data-theme="auto2r"] .a2r-seperator { color: #ccc; font-size: calc(18px * var(--text-scale, 1)); margin: 0 0 22px; }
@media (max-width: 767px) { [data-theme="auto2r"] .a2r-hero-intro h1 { font-size: calc(28px * var(--text-scale, 1)); } }
[data-theme="auto2r"] .a2r-hero-intro p { max-width: 820px; margin: 0 auto; color: var(--page-ink, #555); line-height: 1.75; font-size: calc(15px * var(--text-scale, 1)); }

/* ── Formulaire de réservation ── */
[data-theme="auto2r"] .a2r-booking-form { background: var(--a2r-primary); margin-top: 40px; padding: 20px 0 20px; }
[data-theme="auto2r"] .a2r-booking-form-head { margin-bottom: 24px; }
[data-theme="auto2r"] .a2r-booking-form-head h2 { color: #fff; font-size: calc(30px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 8px; }
[data-theme="auto2r"] .a2r-booking-form-head p { color: rgba(255,255,255,.85); font-size: calc(14px * var(--text-scale, 1)); margin: 0; }
[data-theme="auto2r"] .a2r-form-row { display: grid; grid-template-columns: 4fr 3fr 2fr 3fr; gap: 8px 14px; margin-bottom: 8px; }
[data-theme="auto2r"] .a2r-form-col { box-sizing: border-box; min-width: 0; }
[data-theme="auto2r"] .a2r-form-col-btn { display: flex; align-items: end; }
[data-theme="auto2r"] .a2r-booking-form label { display: block; color: #fff; font-size: calc(12.25px * var(--text-scale, 1)); font-weight: 500; margin-bottom: 7px; }
[data-theme="auto2r"] .a2r-form-control { width: 100%; height: 40px; border: 1px solid #e4e6ef; border-radius: calc(6px * var(--radius-scale, 1)); padding: 7px 14px; font-size: calc(14px * var(--text-scale, 1)); box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="auto2r"] .a2r-input-group { display: flex; }
[data-theme="auto2r"] .a2r-input-group .a2r-form-control { border-radius: calc(6px * var(--radius-scale, 1)) 0 0 calc(6px * var(--radius-scale, 1)); border-right: none; }
[data-theme="auto2r"] .a2r-input-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: none; background: #f9f9fa; border: 1px solid #e4e6ef; border-radius: 0 calc(6px * var(--radius-scale, 1)) calc(6px * var(--radius-scale, 1)) 0; color: #1e2022; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="auto2r"] .a2r-btn-search { width: 100%; height: 40px; padding: 0 20px; background: var(--a2r-gold); color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; text-transform: uppercase; font-size: calc(13px * var(--text-scale, 1)); letter-spacing: .5px; cursor: pointer; transition: background .2s; white-space: nowrap; }
[data-theme="auto2r"] .a2r-btn-search:hover { background: var(--a2r-gold-hover); }
@media (max-width: 767px) { [data-theme="auto2r"] .a2r-form-row { grid-template-columns: 1fr; } }

/* ── Flotte ── */
[data-theme="auto2r"] .a2r-fleet { padding: 80px 0; background: var(--a2r-fleet-bg, transparent); }
[data-theme="auto2r"] .a2r-fleet h2 { font-size: calc(40px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #000); margin: 0; }
[data-theme="auto2r"] .a2r-fleet-lead { max-width: 780px; margin: 0 auto 0; color: var(--page-ink, #3c4043); line-height: 1.7; font-size: calc(17.5px * var(--text-scale, 1)); }
[data-theme="auto2r"] .a2r-fleet-grid { display: grid; grid-template-columns: repeat(var(--a2r-fleet-cols, 3), 1fr); gap: 28px; margin-top: 24px; }
[data-theme="auto2r"] .a2r-fleet-card { background: var(--surface-bg, #fff); border: 1px solid #e4e6ef; border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); padding: 8px; box-sizing: border-box; }
[data-theme="auto2r"] .a2r-fleet-card h3 { font-size: calc(20px * var(--text-scale, 1)); font-weight: 600; color: var(--surface-ink, #1e2022); text-align: center; padding: 3.5px 0; margin: 8px 0 0; text-transform: uppercase; }
[data-theme="auto2r"] .a2r-fleet-card img { width: 100%; display: block; }
[data-theme="auto2r"] .a2r-fleet-illu-generic { height: 160px; display: grid; place-items: center; background: linear-gradient(180deg, #fff, #f5f7fa); }
[data-theme="auto2r"] .a2r-fleet-illu-generic svg { width: 70%; max-width: 220px; height: auto; }
[data-theme="auto2r"] .a2r-fleet-price { font-size: calc(13px * var(--text-scale, 1)); color: var(--surface-ink, #6b7280); font-weight: 600; text-align: center; margin-top: 8px; }
[data-theme="auto2r"] .a2r-fleet-price b { font-family: 'Poppins', sans-serif; font-size: calc(18px * var(--text-scale, 1)); font-weight: 800; color: var(--a2r-primary); }
@media (max-width: 991px) { [data-theme="auto2r"] .a2r-fleet-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { [data-theme="auto2r"] .a2r-fleet-grid { grid-template-columns: 1fr; } }

/* ── Bandeau titre page — RÉEL mesuré sur les 4 pages internes : TOUJOURS
     l'aplat sombre #1e2022, jamais de photo (contrairement à dreamlocation
     dont contact/cgl ont une vraie photo) ── */
[data-theme="auto2r"] .a2r-page-title { position: relative; padding: 80px 0; text-align: center; background-color: #1e2022; background-size: cover; background-position: center; }
[data-theme="auto2r"] .a2r-page-title .a2r-container { position: relative; z-index: 1; }
[data-theme="auto2r"] .a2r-page-title h1 { color: #fff; font-family: 'Poppins', sans-serif; font-size: calc(35px * var(--text-scale, 1)); font-weight: 400; line-height: 1.2; margin: 0 0 .5rem; }
[data-theme="auto2r"] .a2r-page-title .a2r-breadcrumb { color: rgba(255,255,255,.75); font-size: calc(14px * var(--text-scale, 1)); }
[data-theme="auto2r"] .a2r-page-title .a2r-breadcrumb a { color: rgba(255,255,255,.9); text-decoration: none; }
[data-theme="auto2r"] .a2r-page-title .a2r-breadcrumb .a2r-crumb-sep { margin: 0 6px; opacity: .6; }
@media (max-width: 991px) { [data-theme="auto2r"] .a2r-page-title h1 { font-size: calc(24px * var(--text-scale, 1)); } }

/* ── Formulaire de contact — colonne unique centrée, bandeau titre navy
     plein-largeur, identique à dreamlocation (même thème V1 partagé) ── */
[data-theme="auto2r"] .a2r-contact { padding: 64px 0; }
[data-theme="auto2r"] .a2r-contact h3 { font-size: calc(28px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 10px; }
[data-theme="auto2r"] .a2r-contact-lead { max-width: 700px; margin: 0 auto 40px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="auto2r"] .a2r-contact-form { max-width: 780px; margin: 0 auto; border: 1px solid #e4e6ef; border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); }
[data-theme="auto2r"] .a2r-contact-form-head { background: var(--a2r-primary); color: #fff; font-size: calc(18px * var(--text-scale, 1)); font-weight: 700; padding: 18px 24px; text-align: left; }
[data-theme="auto2r"] .a2r-contact-form-body { padding: 26px 24px; background: var(--surface-bg, #fff); }
[data-theme="auto2r"] .a2r-contact-field { margin-bottom: 18px; text-align: left; }
[data-theme="auto2r"] .a2r-contact-field label { display: block; font-size: calc(13px * var(--text-scale, 1)); font-weight: 600; color: var(--surface-ink, #1e2022); margin-bottom: 6px; }
[data-theme="auto2r"] .a2r-contact-field input,
[data-theme="auto2r"] .a2r-contact-field textarea { width: 100%; border: 1px solid #e4e6ef; border-radius: calc(6px * var(--radius-scale, 1)); padding: 10px 14px; font-size: calc(14px * var(--text-scale, 1)); font-family: inherit; box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="auto2r"] .a2r-contact-field textarea { min-height: 130px; resize: vertical; }
[data-theme="auto2r"] .a2r-contact-submit { width: 100%; padding: 13px 20px; background: var(--a2r-primary); color: #fff; border: none; font-weight: 700; font-size: calc(14px * var(--text-scale, 1)); letter-spacing: .3px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; transition: background .2s; }
[data-theme="auto2r"] .a2r-contact-submit:hover { background: color-mix(in srgb, var(--a2r-primary), black 12%); }

/* ── FAQ (accordéon simple, bordures fines) ── */
[data-theme="auto2r"] .a2r-eyebrow { display: inline-block; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: calc(.78rem * var(--text-scale, 1)); letter-spacing: .12em; text-transform: uppercase; color: var(--a2r-primary); margin-bottom: 10px; }
[data-theme="auto2r"] .a2r-faq { padding: 64px 0; }
[data-theme="auto2r"] .a2r-faq h3, [data-theme="auto2r"] .a2r-faq .a2r-faq-title { font-size: calc(24px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 16px; }
[data-theme="auto2r"] .a2r-faq-lead { max-width: 820px; margin: 0 auto 40px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="auto2r"] .a2r-faq-accordion { max-width: 860px; margin: 0 auto; text-align: left; }
[data-theme="auto2r"] .a2r-faq-item { border: 1px solid #e4e6ef; border-radius: calc(6px * var(--radius-scale, 1)); margin-bottom: 10px; }
[data-theme="auto2r"] .a2r-faq-q { width: 100%; display: flex; align-items: center; gap: 10px; padding: 16px 18px; text-align: left; font-family: 'Poppins', sans-serif; font-size: calc(14px * var(--text-scale, 1)); font-weight: 500; color: var(--page-ink, #1e2022); background: none; border: none; cursor: pointer; }
[data-theme="auto2r"] .a2r-faq-q i { color: var(--a2r-primary); font-size: calc(16px * var(--text-scale, 1)); flex: none; }
[data-theme="auto2r"] .a2r-faq-a { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
[data-theme="auto2r"] .a2r-faq-a-inner { padding: 0 18px 16px 44px; color: var(--page-ink, #3c4043); font-size: calc(14px * var(--text-scale, 1)); line-height: 1.7; }

/* ── Footer — fond navy plein, texte blanc, pas de réseaux sociaux ── */
[data-theme="auto2r"] #footer.a2r-footer { background: var(--a2r-primary); color: #fff; }
[data-theme="auto2r"] .a2r-footer-content { padding: 50px 0 30px; }
[data-theme="auto2r"] .a2r-footer-row { display: grid; grid-template-columns: repeat(var(--ftr-cols, 3), 1fr); gap: 32px; }
[data-theme="auto2r"] .a2r-footer-col { position: relative; padding-left: 60px; min-height: 46px; }
[data-theme="auto2r"] .a2r-footer-icon { position: absolute; left: 0; top: 0; width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; background: var(--a2r-gold); border-radius: 50%; color: #fff; font-size: calc(18px * var(--text-scale, 1)); }
[data-theme="auto2r"] .a2r-footer-col h3 { color: #fff; font-size: calc(17px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 4px; }
[data-theme="auto2r"] .a2r-footer-col p { color: rgba(255,255,255,.85); font-size: calc(14px * var(--text-scale, 1)); line-height: 1.6; margin: 0 0 6px; }
[data-theme="auto2r"] .a2r-footer-col p strong { color: #fff; }
[data-theme="auto2r"] .a2r-copyright { background: rgba(0,0,0,.15); padding: 22px 0; }
[data-theme="auto2r"] .a2r-copyright-row { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 14px; }
[data-theme="auto2r"] .a2r-copyright-text { color: rgba(255,255,255,.8); font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="auto2r"] .a2r-copyright-text a { color: #fff; text-decoration: none; }
[data-theme="auto2r"] .a2r-copyright-text a:hover { color: var(--a2r-gold); }
@media (max-width: 767px) { [data-theme="auto2r"] .a2r-footer-row { grid-template-columns: 1fr; } }

/* ══════════════════════════════════════════════════════════════════════
   BRIGITTE LOCATIONS — même moteur V1 (Inspiro/POLO, .inspiro-slider,
   /public/list/polo/) que clickcar/dreamlocation/auto2r, mais variante
   claire "color-first" mesurée indépendamment le 06/09/2026 : PAS de
   couleur primaire navy (aucune trouvée sur tout le site — customize.css
   contient des règles .bg-form-resa/#014F73 mortes, jamais appliquées dans
   le vrai DOM, vérifié), header TRANSPARENT superposé à la photo d'accueil,
   barre de réservation posée à même le fond blanc (pas de bandeau plein
   largeur), flotte SANS prix ni CTA par carte, footer gris très clair (pas
   un aplat sombre), icônes de pied de page plates sans pastille colorée.
   Seul accent de marque mesuré à plusieurs endroits (bouton "RECHERCHER",
   bouton "Envoyer") : ambre #FFC107. Couleur de survol des liens de nav
   déduite de cet unique accent mesuré (jamais vérifiée directement au
   survol sur le vrai site — seule valeur non strictement mesurée de ce
   bloc). ══════════════════════════════════════════════════════════════ */
[data-theme="brigitte-locations"] {
    --bl-dark:  var(--color-primary, #1e2022);
    --bl-gold:  var(--color-secondary, #FFC107);
    --bl-gold-hover: color-mix(in srgb, var(--bl-gold), black 15%);
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    color: var(--page-ink, #1e2022);
}
[data-theme="brigitte-locations"] .bl-container { width: 92%; max-width: 1140px; margin: 0 auto; padding: 0 14px; }
[data-theme="brigitte-locations"] .bl-text-center { text-align: center; }
[data-theme="brigitte-locations"] .hl { color: var(--bl-dark); }

/* ── Header — transparent, superposé à la photo d'accueil (mesuré :
     data-transparent="true", nav blanche en majuscules sur la photo). ── */
[data-theme="brigitte-locations"] #header.bl-header { position: absolute; top: 0; left: 0; right: 0; z-index: 20; background: transparent; }
[data-theme="brigitte-locations"] .bl-header-inner { height: 80px; }
[data-theme="brigitte-locations"] .bl-header-inner .bl-container { display: flex; align-items: center; justify-content: space-between; height: 100%; }
[data-theme="brigitte-locations"] .bl-logo { height: 80px; display: flex; align-items: center; }
[data-theme="brigitte-locations"] .bl-logo img { height: 50px; width: auto; }
[data-theme="brigitte-locations"] .bl-logo-text { font-size: calc(28px * var(--text-scale, 1)); font-weight: 800; color: #fff; }
[data-theme="brigitte-locations"] .bl-main-menu, [data-theme="brigitte-locations"] .bl-main-menu nav { height: 100%; }
[data-theme="brigitte-locations"] .bl-main-menu nav ul { display: flex; align-items: center; list-style: none; margin: 0; padding: 0; height: 100%; }
[data-theme="brigitte-locations"] .bl-main-menu nav ul li { height: 100%; display: flex; align-items: center; }
[data-theme="brigitte-locations"] .bl-main-menu nav ul li a { padding: 10px 12px; font-family: 'Poppins', sans-serif; font-size: calc(12px * var(--text-scale, 1)); font-weight: 600; text-transform: uppercase; letter-spacing: .6px; color: #fff; text-decoration: none; transition: color .2s; }
[data-theme="brigitte-locations"] .bl-main-menu nav ul li a:hover,
[data-theme="brigitte-locations"] .bl-main-menu nav ul li.bl-active a { color: var(--bl-gold); }
[data-theme="brigitte-locations"] .bl-menu-trigger { display: none; cursor: pointer; }
[data-theme="brigitte-locations"] .bl-lines-button { display: block; width: 26px; height: 20px; position: relative; }
[data-theme="brigitte-locations"] .bl-lines,
[data-theme="brigitte-locations"] .bl-lines::before,
[data-theme="brigitte-locations"] .bl-lines::after { display: block; position: absolute; height: 2px; width: 100%; background: #fff; content: ''; }
[data-theme="brigitte-locations"] .bl-lines { top: 9px; }
[data-theme="brigitte-locations"] .bl-lines::before { top: -8px; }
[data-theme="brigitte-locations"] .bl-lines::after { top: 8px; }
@media (max-width: 991px) {
    [data-theme="brigitte-locations"] .bl-menu-trigger { display: block; }
    /* height:auto indispensable : .bl-main-menu/nav héritent height:100% de
       la règle desktop (calée sur .bl-header-inner, 80px) — sans ce reset,
       le fond opaque du menu déroulant reste figé à 80px alors que les 3
       liens empilés en colonne dépassent largement (~132px), laissant les
       liens du bas se superposer directement à la photo du hero sans aucun
       fond derrière eux (bug réel constaté à l'écran, corrigé 06/09/2026). */
    [data-theme="brigitte-locations"] .bl-main-menu { display: none; position: absolute; top: 80px; left: 0; right: 0; height: auto; background: #1e2022; box-shadow: 0 4px 10px rgba(0,0,0,.15); z-index: 30; }
    [data-theme="brigitte-locations"] .bl-main-menu.bl-open { display: block; }
    [data-theme="brigitte-locations"] .bl-main-menu nav { height: auto; }
    [data-theme="brigitte-locations"] .bl-main-menu nav ul { height: auto; flex-direction: column; gap: 0; padding: 10px 0; }
    [data-theme="brigitte-locations"] .bl-main-menu nav ul li { height: auto; }
    [data-theme="brigitte-locations"] .bl-main-menu nav ul li a { line-height: 44px; display: block; padding: 0 20px; }
}

/* ── Hero — UNE SEULE photo statique (pas de carrousel, aucun point/flèche
     mesuré sur le vrai site), hauteur compacte ~415px (contre ~900px pour
     clickcar/dreamlocation/auto2r), header superposé en transparence. ── */
[data-theme="brigitte-locations"] .bl-slider { position: relative; height: 415px; min-height: 320px; overflow: hidden; background: var(--bl-dark); }
[data-theme="brigitte-locations"] .bl-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity var(--bl-slide-transition-ms, 800ms) ease; overflow: hidden; }
[data-theme="brigitte-locations"] .bl-slide.bl-slide-active { opacity: 1; }
[data-theme="brigitte-locations"] .bl-slider > .bl-container { position: relative; z-index: 1; height: 100%; display: flex; align-items: center; }
[data-theme="brigitte-locations"] .bl-slide-captions { position: relative; z-index: 1; text-align: left; color: #fff; box-sizing: border-box; width: 100%; }
[data-theme="brigitte-locations"] .bl-slide-captions h1, [data-theme="brigitte-locations"] .bl-slide-captions .bl-slide-logo-wrap, [data-theme="brigitte-locations"] .bl-slide-captions .bl-slide-brand { font-size: calc(80px * var(--text-scale, 1)); font-weight: 700; line-height: 1; margin: 0 0 20px; color: #fff; }
[data-theme="brigitte-locations"] .bl-slide-captions h2 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 700; line-height: 1.2; margin: 0; color: #fff; }
@media (max-width: 991px) {
    [data-theme="brigitte-locations"] .bl-slide-captions { text-align: center; }
    [data-theme="brigitte-locations"] .bl-slide-captions h1, [data-theme="brigitte-locations"] .bl-slide-captions .bl-slide-logo-wrap, [data-theme="brigitte-locations"] .bl-slide-captions .bl-slide-brand { font-size: calc(36px * var(--text-scale, 1)); }
    [data-theme="brigitte-locations"] .bl-slide-captions h2 { font-size: calc(22px * var(--text-scale, 1)); }
}
[data-theme="brigitte-locations"] .bl-slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 78px; height: 78px; border-radius: 50%; border: none; background: transparent; color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
[data-theme="brigitte-locations"] .bl-slider-arrow svg { width: 18px; height: 18px; }
[data-theme="brigitte-locations"] .bl-slider-arrow-prev { left: 0; }
[data-theme="brigitte-locations"] .bl-slider-arrow-next { right: 0; }
[data-theme="brigitte-locations"] .bl-slider-dots { position: absolute; bottom: 30px; left: 0; right: 0; z-index: 2; display: flex; justify-content: center; gap: 8px; }
[data-theme="brigitte-locations"] .bl-slider-dots button { width: 30px; height: 4px; border-radius: 0; border: none; background: #fff; opacity: .5; cursor: pointer; padding: 0; }
[data-theme="brigitte-locations"] .bl-slider-dots button.bl-dot-active { opacity: 1; }

/* ── Intro + titre section — RÉEL mesuré : titre 50px/800 NOIR centré
     (pas 40px/700 comme dreamlocation), pas de padding-top ajouté (le
     bandeau photo est déjà compact). ── */
[data-theme="brigitte-locations"] .bl-hero-intro { padding: 56px 0 0; text-align: center; }
[data-theme="brigitte-locations"] .bl-hero-intro h1 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 800; color: #000; margin: 0 0 16px; }
[data-theme="brigitte-locations"] .bl-seperator { color: #ccc; font-size: calc(18px * var(--text-scale, 1)); margin: 0 0 22px; }
@media (max-width: 767px) { [data-theme="brigitte-locations"] .bl-hero-intro h1 { font-size: calc(30px * var(--text-scale, 1)); } }
[data-theme="brigitte-locations"] .bl-hero-intro p { max-width: 820px; margin: 0 auto; color: var(--page-ink, #555); line-height: 1.75; font-size: calc(15px * var(--text-scale, 1)); }

/* ── Formulaire de réservation — RÉEL mesuré : posé à même le fond blanc
     de la page (PAS de bandeau navy plein largeur, contrairement à
     clickcar/dreamlocation/auto2r), champs blancs à bordure claire, bouton
     ambre. ── */
[data-theme="brigitte-locations"] .bl-booking-form { background: transparent; margin-top: 40px; padding: 20px 0 20px; }
[data-theme="brigitte-locations"] .bl-booking-form-head { margin-bottom: 24px; }
[data-theme="brigitte-locations"] .bl-booking-form-head h2 { color: #000; font-size: calc(30px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 8px; }
[data-theme="brigitte-locations"] .bl-booking-form-head p { color: var(--page-ink, #555); font-size: calc(14px * var(--text-scale, 1)); margin: 0; }
[data-theme="brigitte-locations"] .bl-form-row { display: grid; grid-template-columns: 4fr 3fr 2fr 3fr; gap: 8px 14px; margin-bottom: 8px; }
[data-theme="brigitte-locations"] .bl-form-col { box-sizing: border-box; min-width: 0; }
[data-theme="brigitte-locations"] .bl-form-col-btn { display: flex; align-items: end; }
[data-theme="brigitte-locations"] .bl-booking-form label { display: block; color: #2e2e2e; font-size: calc(12.25px * var(--text-scale, 1)); font-weight: 500; margin-bottom: 7px; }
[data-theme="brigitte-locations"] .bl-form-control { width: 100%; height: 40px; border: 1px solid #e4e6ef; border-radius: calc(6px * var(--radius-scale, 1)); padding: 7px 14px; font-size: calc(14px * var(--text-scale, 1)); box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="brigitte-locations"] .bl-input-group { display: flex; }
[data-theme="brigitte-locations"] .bl-input-group .bl-form-control { border-radius: calc(6px * var(--radius-scale, 1)) 0 0 calc(6px * var(--radius-scale, 1)); border-right: none; }
[data-theme="brigitte-locations"] .bl-input-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: none; background: #f9f9fa; border: 1px solid #e4e6ef; border-radius: 0 calc(6px * var(--radius-scale, 1)) calc(6px * var(--radius-scale, 1)) 0; color: #1e2022; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="brigitte-locations"] .bl-btn-search { width: 100%; height: 40px; padding: 0 20px; background: var(--bl-gold); color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; text-transform: uppercase; font-size: calc(13px * var(--text-scale, 1)); letter-spacing: .5px; cursor: pointer; transition: background .2s; white-space: nowrap; }
[data-theme="brigitte-locations"] .bl-btn-search:hover { background: var(--bl-gold-hover); }
@media (max-width: 767px) { [data-theme="brigitte-locations"] .bl-form-row { grid-template-columns: 1fr; } }

/* ── Flotte — RÉEL mesuré : 3 colonnes, cartes blanches à bordure fine,
     SANS prix ni CTA par carte (aucun bouton "Réserver" sur le vrai site,
     contrairement au fleet générique) : show_price par défaut false. ── */
[data-theme="brigitte-locations"] .bl-fleet { padding: 80px 0; background: var(--bl-fleet-bg, transparent); }
[data-theme="brigitte-locations"] .bl-fleet h2 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 800; color: #000; margin: 0; }
[data-theme="brigitte-locations"] .bl-fleet-lead { max-width: 780px; margin: 0 auto 0; color: var(--page-ink, #3c4043); line-height: 1.7; font-size: calc(17.5px * var(--text-scale, 1)); }
[data-theme="brigitte-locations"] .bl-fleet-grid { display: grid; grid-template-columns: repeat(var(--bl-fleet-cols, 3), 1fr); gap: 28px; margin-top: 24px; }
[data-theme="brigitte-locations"] .bl-fleet-card { background: var(--surface-bg, #fff); border: 1px solid #e4e6ef; border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); padding: 8px; box-sizing: border-box; }
[data-theme="brigitte-locations"] .bl-fleet-card h3 { font-size: calc(25px * var(--text-scale, 1)); font-weight: 500; color: var(--surface-ink, #1e2022); text-align: center; padding: 3.5px 0; margin: 8px 0 0; }
[data-theme="brigitte-locations"] .bl-fleet-card img { width: 100%; display: block; }
[data-theme="brigitte-locations"] .bl-fleet-illu-generic { height: 160px; display: grid; place-items: center; background: linear-gradient(180deg, #fff, #f5f7fa); }
[data-theme="brigitte-locations"] .bl-fleet-illu-generic svg { width: 70%; max-width: 220px; height: auto; }
[data-theme="brigitte-locations"] .bl-fleet-price { font-size: calc(13px * var(--text-scale, 1)); color: var(--surface-ink, #6b7280); font-weight: 600; text-align: center; margin-top: 8px; }
[data-theme="brigitte-locations"] .bl-fleet-price b { font-family: 'Poppins', sans-serif; font-size: calc(18px * var(--text-scale, 1)); font-weight: 800; color: var(--bl-dark); }
@media (max-width: 991px) { [data-theme="brigitte-locations"] .bl-fleet-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { [data-theme="brigitte-locations"] .bl-fleet-grid { grid-template-columns: 1fr; } }

/* ── Bandeau titre page — RÉEL mesuré (data-bg-parallax) : vraie photo sur
     les 4 pages internes (FAQ/CGV/CGU partagent la même photo par défaut,
     Contact a la sienne), JAMAIS d'aplat sombre ici contrairement à la FAQ
     de dreamlocation. ── */
[data-theme="brigitte-locations"] .bl-page-title { position: relative; padding: 80px 0; text-align: center; background-color: #1e2022; background-size: cover; background-position: center; }
[data-theme="brigitte-locations"] .bl-page-title .bl-container { position: relative; z-index: 1; }
[data-theme="brigitte-locations"] .bl-page-title h1 { color: #fff; font-family: 'Poppins', sans-serif; font-size: calc(35px * var(--text-scale, 1)); font-weight: 400; line-height: 1.2; margin: 0 0 .5rem; }
[data-theme="brigitte-locations"] .bl-page-title .bl-breadcrumb { color: rgba(255,255,255,.75); font-size: calc(14px * var(--text-scale, 1)); }
[data-theme="brigitte-locations"] .bl-page-title .bl-breadcrumb a { color: rgba(255,255,255,.9); text-decoration: none; }
[data-theme="brigitte-locations"] .bl-page-title .bl-breadcrumb .bl-crumb-sep { margin: 0 6px; opacity: .6; }
@media (max-width: 991px) { [data-theme="brigitte-locations"] .bl-page-title h1 { font-size: calc(24px * var(--text-scale, 1)); } }

/* ── Formulaire de contact — RÉEL mesuré : posé à même le fond blanc, PAS
     de carte/bandeau coloré autour (contrairement à dreamlocation dont le
     bandeau "Rédigez votre message" est navy plein) ; le libellé
     "Rédigez votre message" est en réalité blanc-sur-blanc sur le vrai
     site (défaut flagrant corrigé, voir contact_form.blade.php). ── */
[data-theme="brigitte-locations"] .bl-contact { padding: 64px 0; }
[data-theme="brigitte-locations"] .bl-contact h2 { font-size: calc(28px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 10px; }
[data-theme="brigitte-locations"] .bl-contact-lead { max-width: 700px; margin: 0 auto 40px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="brigitte-locations"] .bl-contact-form { max-width: 780px; margin: 0 auto; text-align: left; }
[data-theme="brigitte-locations"] .bl-contact-form-head { color: var(--page-ink, #1e2022); font-size: calc(19px * var(--text-scale, 1)); font-weight: 600; margin-bottom: 20px; }
[data-theme="brigitte-locations"] .bl-contact-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
[data-theme="brigitte-locations"] .bl-contact-field { margin-bottom: 20px; }
[data-theme="brigitte-locations"] .bl-contact-field label { display: block; font-size: calc(12.25px * var(--text-scale, 1)); font-weight: 500; color: #2e2e2e; margin-bottom: 7px; }
[data-theme="brigitte-locations"] .bl-contact-field input,
[data-theme="brigitte-locations"] .bl-contact-field textarea { width: 100%; border: 1px solid #e4e6ef; border-radius: calc(6px * var(--radius-scale, 1)); padding: 10px 14px; font-size: calc(14px * var(--text-scale, 1)); font-family: inherit; box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="brigitte-locations"] .bl-contact-field textarea { min-height: 130px; resize: vertical; }
[data-theme="brigitte-locations"] .bl-contact-submit { padding: 12px 28px; background: var(--bl-gold); color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; font-size: calc(13px * var(--text-scale, 1)); letter-spacing: .3px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 8px; transition: background .2s; }
[data-theme="brigitte-locations"] .bl-contact-submit:hover { background: var(--bl-gold-hover); }
@media (max-width: 560px) { [data-theme="brigitte-locations"] .bl-contact-row { grid-template-columns: 1fr; } }

/* ── FAQ (accordéon simple, bordures fines, PAS de catégories/onglets). ── */
[data-theme="brigitte-locations"] .bl-eyebrow { display: inline-block; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: calc(.78rem * var(--text-scale, 1)); letter-spacing: .12em; text-transform: uppercase; color: var(--bl-dark); margin-bottom: 10px; }
[data-theme="brigitte-locations"] .bl-faq { padding: 64px 0; }
[data-theme="brigitte-locations"] .bl-faq h3, [data-theme="brigitte-locations"] .bl-faq .bl-faq-title { font-size: calc(24px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 16px; }
[data-theme="brigitte-locations"] .bl-faq-lead { max-width: 820px; margin: 0 auto 40px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="brigitte-locations"] .bl-faq-accordion { max-width: 860px; margin: 0 auto; text-align: left; }
[data-theme="brigitte-locations"] .bl-faq-item { border: 1px solid #e4e6ef; border-radius: calc(6px * var(--radius-scale, 1)); margin-bottom: 10px; }
[data-theme="brigitte-locations"] .bl-faq-q { width: 100%; display: flex; align-items: center; gap: 10px; padding: 16px 18px; text-align: left; font-family: 'Poppins', sans-serif; font-size: calc(14px * var(--text-scale, 1)); font-weight: 500; color: var(--page-ink, #1e2022); background: none; border: none; cursor: pointer; }
[data-theme="brigitte-locations"] .bl-faq-q i { color: var(--bl-gold); font-size: calc(16px * var(--text-scale, 1)); flex: none; }
[data-theme="brigitte-locations"] .bl-faq-a { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
[data-theme="brigitte-locations"] .bl-faq-a-inner { padding: 0 18px 16px 44px; color: var(--page-ink, #3c4043); font-size: calc(14px * var(--text-scale, 1)); line-height: 1.7; }

/* ── Footer — RÉEL mesuré : fond GRIS TRÈS CLAIR rgb(249,249,250), PAS un
     aplat sombre, icônes plates SANS pastille colorée (contrairement à
     clickcar/dreamlocation/auto2r), pas de bloc réseaux sociaux. ── */
[data-theme="brigitte-locations"] #footer.bl-footer { background: rgb(249,249,250); color: rgb(60,64,67); }
[data-theme="brigitte-locations"] .bl-footer-content { padding: 50px 0 30px; }
[data-theme="brigitte-locations"] .bl-footer-row { display: grid; grid-template-columns: repeat(var(--ftr-cols, 3), 1fr); gap: 32px; }
[data-theme="brigitte-locations"] .bl-footer-col { position: relative; padding-left: 46px; min-height: 30px; }
[data-theme="brigitte-locations"] .bl-footer-icon { position: absolute; left: 0; top: 2px; width: 24px; text-align: center; color: rgb(60,64,67); font-size: calc(18px * var(--text-scale, 1)); }
[data-theme="brigitte-locations"] .bl-footer-col h3 { color: rgb(30,32,34); font-size: calc(18px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 4px; }
[data-theme="brigitte-locations"] .bl-footer-col p { color: rgb(60,64,67); font-size: calc(14px * var(--text-scale, 1)); line-height: 1.6; margin: 0 0 6px; }
[data-theme="brigitte-locations"] .bl-footer-col p strong { color: rgb(30,32,34); }
[data-theme="brigitte-locations"] .bl-copyright { background: transparent; border-top: 1px solid #e4e6ef; padding: 22px 0; }
[data-theme="brigitte-locations"] .bl-copyright-row { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 14px; }
[data-theme="brigitte-locations"] .bl-copyright-text { color: rgb(60,64,67); font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="brigitte-locations"] .bl-copyright-text a { color: rgb(60,64,67); text-decoration: none; }
[data-theme="brigitte-locations"] .bl-copyright-text a:hover { color: var(--bl-gold); }
@media (max-width: 767px) { [data-theme="brigitte-locations"] .bl-footer-row { grid-template-columns: 1fr; } }

/* ══════════════════════════════════════════════════════════════════════
   COCO-LAGON — même moteur V1 (Inspiro/POLO) et même variante claire
   "color-first" que brigitte-locations (RÉEL mesuré 06/09/2026, mêmes
   valeurs fleet/footer/hero-intro), mais header OPAQUE en flux normal
   (comme dreamlocation/auto2r, PAS de superposition transparente comme
   brigitte-locations) et seul accent de marque réel mesuré : bleu #2250FC
   (aucune trace d'ambre ici, contrairement à brigitte-locations). Nav 5
   liens (Accueil/A propos/Partenaires/FAQ/Nous contacter). ══════════════ */
[data-theme="coco-lagon"] {
    --cl-blue: var(--color-primary, #2250FC);
    --cl-blue-hover: color-mix(in srgb, var(--cl-blue), black 12%);
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    color: var(--page-ink, #1e2022);
}
[data-theme="coco-lagon"] .cl-container { width: 92%; max-width: 1140px; margin: 0 auto; padding: 0 14px; }
[data-theme="coco-lagon"] .cl-text-center { text-align: center; }
[data-theme="coco-lagon"] .hl { color: var(--cl-blue); }

/* ── Header — opaque, flux normal (pas de chevauchement avec le hero). ── */
[data-theme="coco-lagon"] #header.cl-header { position: relative; z-index: 20; background: #fff; }
[data-theme="coco-lagon"] .cl-header-inner { height: 80px; }
[data-theme="coco-lagon"] .cl-header-inner .cl-container { display: flex; align-items: center; justify-content: space-between; height: 100%; }
[data-theme="coco-lagon"] .cl-logo { height: 80px; display: flex; align-items: center; }
[data-theme="coco-lagon"] .cl-logo img { height: 50px; width: auto; }
[data-theme="coco-lagon"] .cl-logo-text { font-size: calc(28px * var(--text-scale, 1)); font-weight: 800; color: var(--cl-blue); }
[data-theme="coco-lagon"] .cl-main-menu, [data-theme="coco-lagon"] .cl-main-menu nav { height: 100%; }
[data-theme="coco-lagon"] .cl-main-menu nav ul { display: flex; align-items: center; list-style: none; margin: 0; padding: 0; height: 100%; }
[data-theme="coco-lagon"] .cl-main-menu nav ul li { height: 100%; display: flex; align-items: center; }
[data-theme="coco-lagon"] .cl-main-menu nav ul li a { padding: 10px 12px; font-family: 'Poppins', sans-serif; font-size: calc(12px * var(--text-scale, 1)); font-weight: 600; text-transform: uppercase; letter-spacing: .6px; color: #000; text-decoration: none; transition: color .2s; }
[data-theme="coco-lagon"] .cl-main-menu nav ul li a:hover,
[data-theme="coco-lagon"] .cl-main-menu nav ul li.cl-active a { color: var(--cl-blue); }
[data-theme="coco-lagon"] .cl-menu-trigger { display: none; cursor: pointer; }
[data-theme="coco-lagon"] .cl-lines-button { display: block; width: 26px; height: 20px; position: relative; }
[data-theme="coco-lagon"] .cl-lines,
[data-theme="coco-lagon"] .cl-lines::before,
[data-theme="coco-lagon"] .cl-lines::after { display: block; position: absolute; height: 2px; width: 100%; background: #000; content: ''; }
[data-theme="coco-lagon"] .cl-lines { top: 9px; }
[data-theme="coco-lagon"] .cl-lines::before { top: -8px; }
[data-theme="coco-lagon"] .cl-lines::after { top: 8px; }
@media (max-width: 991px) {
    [data-theme="coco-lagon"] .cl-menu-trigger { display: block; }
    /* height:auto indispensable — voir commentaire équivalent clickcar/
       dreamlocation/auto2r/brigitte-locations (bug réel du 06/09/2026). */
    [data-theme="coco-lagon"] .cl-main-menu { display: none; position: absolute; top: 80px; left: 0; right: 0; height: auto; background: #fff; box-shadow: 0 4px 10px rgba(0,0,0,.15); z-index: 30; }
    [data-theme="coco-lagon"] .cl-main-menu.cl-open { display: block; }
    [data-theme="coco-lagon"] .cl-main-menu nav { height: auto; }
    [data-theme="coco-lagon"] .cl-main-menu nav ul { height: auto; flex-direction: column; gap: 0; padding: 10px 0; }
    [data-theme="coco-lagon"] .cl-main-menu nav ul li { height: auto; }
    [data-theme="coco-lagon"] .cl-main-menu nav ul li a { line-height: 44px; display: block; padding: 0 20px; }
}

/* ── Hero — RÉEL mesuré : 1 photo, hauteur ~648px (contre ~415px pour
     brigitte-locations, plus proche de dreamlocation/auto2r), header en
     flux normal donc pas de recouvrement. ── */
[data-theme="coco-lagon"] .cl-slider { position: relative; height: 648px; min-height: 420px; overflow: hidden; background: var(--cl-blue); }
[data-theme="coco-lagon"] .cl-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity var(--cl-slide-transition-ms, 800ms) ease; overflow: hidden; }
[data-theme="coco-lagon"] .cl-slide.cl-slide-active { opacity: 1; }
[data-theme="coco-lagon"] .cl-slider > .cl-container { position: relative; z-index: 1; height: 100%; display: flex; align-items: center; }
[data-theme="coco-lagon"] .cl-slide-captions { position: relative; z-index: 1; text-align: left; color: #fff; box-sizing: border-box; width: 100%; }
[data-theme="coco-lagon"] .cl-slide-captions h1, [data-theme="coco-lagon"] .cl-slide-captions .cl-slide-logo-wrap, [data-theme="coco-lagon"] .cl-slide-captions .cl-slide-brand { font-size: calc(80px * var(--text-scale, 1)); font-weight: 700; line-height: 1; margin: 0 0 20px; color: #fff; }
[data-theme="coco-lagon"] .cl-slide-captions h2 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 700; line-height: 1.2; margin: 0; color: #fff; }
@media (max-width: 991px) {
    [data-theme="coco-lagon"] .cl-slide-captions { text-align: center; }
    [data-theme="coco-lagon"] .cl-slide-captions h1, [data-theme="coco-lagon"] .cl-slide-captions .cl-slide-logo-wrap, [data-theme="coco-lagon"] .cl-slide-captions .cl-slide-brand { font-size: calc(36px * var(--text-scale, 1)); }
    [data-theme="coco-lagon"] .cl-slide-captions h2 { font-size: calc(22px * var(--text-scale, 1)); }
}
[data-theme="coco-lagon"] .cl-slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 78px; height: 78px; border-radius: 50%; border: none; background: transparent; color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
[data-theme="coco-lagon"] .cl-slider-arrow svg { width: 18px; height: 18px; }
[data-theme="coco-lagon"] .cl-slider-arrow-prev { left: 0; }
[data-theme="coco-lagon"] .cl-slider-arrow-next { right: 0; }
[data-theme="coco-lagon"] .cl-slider-dots { position: absolute; bottom: 30px; left: 0; right: 0; z-index: 2; display: flex; justify-content: center; gap: 8px; }
[data-theme="coco-lagon"] .cl-slider-dots button { width: 30px; height: 4px; border-radius: 0; border: none; background: #fff; opacity: .5; cursor: pointer; padding: 0; }
[data-theme="coco-lagon"] .cl-slider-dots button.cl-dot-active { opacity: 1; }

/* ── Intro + titre section — RÉEL mesuré : 50px/800 NOIR centré (identique
     à brigitte-locations). ── */
[data-theme="coco-lagon"] .cl-hero-intro { padding: 56px 0 0; text-align: center; }
[data-theme="coco-lagon"] .cl-hero-intro h2, [data-theme="coco-lagon"] .cl-hero-intro .cl-intro-title { font-size: calc(50px * var(--text-scale, 1)); font-weight: 800; color: #000; margin: 0 0 16px; }
[data-theme="coco-lagon"] .cl-seperator { color: #ccc; font-size: calc(18px * var(--text-scale, 1)); margin: 0 0 22px; }
@media (max-width: 767px) { [data-theme="coco-lagon"] .cl-hero-intro h2, [data-theme="coco-lagon"] .cl-hero-intro .cl-intro-title { font-size: calc(30px * var(--text-scale, 1)); } }
[data-theme="coco-lagon"] .cl-hero-intro p { max-width: 820px; margin: 0 auto; color: var(--page-ink, #555); line-height: 1.75; font-size: calc(15px * var(--text-scale, 1)); }

/* ── Formulaire de réservation — posé à même le fond blanc, bouton bleu. ── */
[data-theme="coco-lagon"] .cl-booking-form { background: transparent; margin-top: 40px; padding: 20px 0 20px; }
[data-theme="coco-lagon"] .cl-booking-form-head { margin-bottom: 24px; }
[data-theme="coco-lagon"] .cl-booking-form-head h2 { color: #000; font-size: calc(30px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 8px; }
[data-theme="coco-lagon"] .cl-booking-form-head p { color: var(--page-ink, #555); font-size: calc(14px * var(--text-scale, 1)); margin: 0; }
[data-theme="coco-lagon"] .cl-form-row { display: grid; grid-template-columns: 4fr 3fr 2fr 3fr; gap: 8px 14px; margin-bottom: 8px; }
[data-theme="coco-lagon"] .cl-form-col { box-sizing: border-box; min-width: 0; }
[data-theme="coco-lagon"] .cl-form-col-btn { display: flex; align-items: end; }
[data-theme="coco-lagon"] .cl-booking-form label { display: block; color: #2e2e2e; font-size: calc(12.25px * var(--text-scale, 1)); font-weight: 500; margin-bottom: 7px; }
[data-theme="coco-lagon"] .cl-form-control { width: 100%; height: 40px; border: 1px solid #e4e6ef; border-radius: calc(6px * var(--radius-scale, 1)); padding: 7px 14px; font-size: calc(14px * var(--text-scale, 1)); box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="coco-lagon"] .cl-input-group { display: flex; }
[data-theme="coco-lagon"] .cl-input-group .cl-form-control { border-radius: calc(6px * var(--radius-scale, 1)) 0 0 calc(6px * var(--radius-scale, 1)); border-right: none; }
[data-theme="coco-lagon"] .cl-input-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: none; background: #f9f9fa; border: 1px solid #e4e6ef; border-radius: 0 calc(6px * var(--radius-scale, 1)) calc(6px * var(--radius-scale, 1)) 0; color: #1e2022; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="coco-lagon"] .cl-btn-search { width: 100%; height: 40px; padding: 0 20px; background: var(--cl-blue); color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; text-transform: uppercase; font-size: calc(13px * var(--text-scale, 1)); letter-spacing: .5px; cursor: pointer; transition: background .2s; white-space: nowrap; }
[data-theme="coco-lagon"] .cl-btn-search:hover { background: var(--cl-blue-hover); }
@media (max-width: 767px) { [data-theme="coco-lagon"] .cl-form-row { grid-template-columns: 1fr; } }

/* ── Flotte — SANS prix ni CTA par carte. ── */
[data-theme="coco-lagon"] .cl-fleet { padding: 80px 0; background: var(--cl-fleet-bg, transparent); }
[data-theme="coco-lagon"] .cl-fleet h2 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 800; color: #000; margin: 0; }
[data-theme="coco-lagon"] .cl-fleet-lead { max-width: 780px; margin: 0 auto 0; color: var(--page-ink, #3c4043); line-height: 1.7; font-size: calc(17.5px * var(--text-scale, 1)); }
[data-theme="coco-lagon"] .cl-fleet-grid { display: grid; grid-template-columns: repeat(var(--cl-fleet-cols, 3), 1fr); gap: 28px; margin-top: 24px; }
[data-theme="coco-lagon"] .cl-fleet-card { background: var(--surface-bg, #fff); border: 1px solid #e4e6ef; border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); padding: 8px; box-sizing: border-box; }
[data-theme="coco-lagon"] .cl-fleet-card h3 { font-size: calc(25px * var(--text-scale, 1)); font-weight: 500; color: var(--surface-ink, #1e2022); text-align: center; padding: 3.5px 0; margin: 8px 0 0; }
[data-theme="coco-lagon"] .cl-fleet-card img { width: 100%; display: block; }
[data-theme="coco-lagon"] .cl-fleet-illu-generic { height: 160px; display: grid; place-items: center; background: linear-gradient(180deg, #fff, #f5f7fa); }
[data-theme="coco-lagon"] .cl-fleet-illu-generic svg { width: 70%; max-width: 220px; height: auto; }
[data-theme="coco-lagon"] .cl-fleet-price { font-size: calc(13px * var(--text-scale, 1)); color: var(--surface-ink, #6b7280); font-weight: 600; text-align: center; margin-top: 8px; }
[data-theme="coco-lagon"] .cl-fleet-price b { font-family: 'Poppins', sans-serif; font-size: calc(18px * var(--text-scale, 1)); font-weight: 800; color: var(--cl-blue); }
@media (max-width: 991px) { [data-theme="coco-lagon"] .cl-fleet-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { [data-theme="coco-lagon"] .cl-fleet-grid { grid-template-columns: 1fr; } }

/* ── À propos — colonnes 7/5 (texte + photo), RÉEL mesuré. ── */
[data-theme="coco-lagon"] .cl-about { padding: 64px 0; }
[data-theme="coco-lagon"] .cl-about-row { display: grid; grid-template-columns: 7fr 5fr; gap: 40px; align-items: center; }
[data-theme="coco-lagon"] .cl-about-text h2 { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: calc(32px * var(--text-scale, 1)); color: #000; margin: 0 0 18px; }
[data-theme="coco-lagon"] .cl-about-text p { color: var(--page-ink, #3c4043); line-height: 1.75; font-size: calc(15px * var(--text-scale, 1)); margin: 0 0 14px; }
[data-theme="coco-lagon"] .cl-about-photo img { width: 100%; border-radius: calc(10px * var(--radius-scale, 1)); display: block; }
[data-theme="coco-lagon"] .cl-eyebrow { display: inline-block; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: calc(.78rem * var(--text-scale, 1)); letter-spacing: .12em; text-transform: uppercase; color: var(--cl-blue); margin-bottom: 10px; }
@media (max-width: 900px) { [data-theme="coco-lagon"] .cl-about-row { grid-template-columns: 1fr; } }

/* ── Partenaires — liste simple en une colonne, RÉEL mesuré (pas de
     filtres/catégories comme le partners_listing générique). ── */
[data-theme="coco-lagon"] .cl-partners { padding: 64px 0; }
[data-theme="coco-lagon"] .cl-partners h2 { font-size: calc(40px * var(--text-scale, 1)); font-weight: 800; color: #000; margin: 0; }
[data-theme="coco-lagon"] .cl-partners-lead { max-width: 700px; margin: 0 auto 20px; color: var(--page-ink, #555); font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="coco-lagon"] .cl-partner-row { max-width: 900px; margin: 0 auto 48px; }
[data-theme="coco-lagon"] .cl-partner-row h3 { font-size: calc(26px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 4px; }
[data-theme="coco-lagon"] .cl-partner-row h3 a { color: var(--cl-blue); text-decoration: none; }
[data-theme="coco-lagon"] .cl-partner-row h3 a:hover { text-decoration: underline; }
[data-theme="coco-lagon"] .cl-partner-loc { display: block; font-size: calc(13px * var(--text-scale, 1)); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #9ca3af; margin-bottom: 16px; }
[data-theme="coco-lagon"] .cl-partner-body { display: grid; grid-template-columns: 320px 1fr; gap: 26px; align-items: start; }
[data-theme="coco-lagon"] .cl-partner-media img { width: 100%; border-radius: calc(10px * var(--radius-scale, 1)); display: block; }
[data-theme="coco-lagon"] .cl-partner-text p { color: var(--page-ink, #3c4043); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); margin: 0 0 14px; }
[data-theme="coco-lagon"] .cl-partner-cta { display: inline-flex; align-items: center; font-size: calc(12px * var(--text-scale, 1)); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--cl-blue); text-decoration: none; border-bottom: 2px solid var(--cl-blue); padding-bottom: 2px; }
[data-theme="coco-lagon"] .cl-partners-empty { text-align: center; color: var(--page-ink, #555); }
@media (max-width: 767px) { [data-theme="coco-lagon"] .cl-partner-body { grid-template-columns: 1fr; } }

/* ── Bandeau titre page — RÉEL mesuré (data-bg-parallax) : vraie photo sur
     toutes les pages internes. ── */
[data-theme="coco-lagon"] .cl-page-title { position: relative; padding: 80px 0; text-align: center; background-color: #1e2022; background-size: cover; background-position: center; }
[data-theme="coco-lagon"] .cl-page-title .cl-container { position: relative; z-index: 1; }
[data-theme="coco-lagon"] .cl-page-title h1 { color: #fff; font-family: 'Poppins', sans-serif; font-size: calc(35px * var(--text-scale, 1)); font-weight: 400; line-height: 1.2; margin: 0 0 .5rem; }
[data-theme="coco-lagon"] .cl-page-title .cl-breadcrumb { color: rgba(255,255,255,.75); font-size: calc(14px * var(--text-scale, 1)); }
[data-theme="coco-lagon"] .cl-page-title .cl-breadcrumb a { color: rgba(255,255,255,.9); text-decoration: none; }
[data-theme="coco-lagon"] .cl-page-title .cl-breadcrumb .cl-crumb-sep { margin: 0 6px; opacity: .6; }
@media (max-width: 991px) { [data-theme="coco-lagon"] .cl-page-title h1 { font-size: calc(24px * var(--text-scale, 1)); } }

/* ── Formulaire de contact — posé à même le fond blanc. ── */
[data-theme="coco-lagon"] .cl-contact { padding: 64px 0; }
[data-theme="coco-lagon"] .cl-contact h2 { font-size: calc(28px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 10px; }
[data-theme="coco-lagon"] .cl-contact-lead { max-width: 700px; margin: 0 auto 40px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="coco-lagon"] .cl-contact-form { max-width: 780px; margin: 0 auto; text-align: left; }
[data-theme="coco-lagon"] .cl-contact-form-head { color: var(--page-ink, #1e2022); font-size: calc(19px * var(--text-scale, 1)); font-weight: 600; margin-bottom: 20px; }
[data-theme="coco-lagon"] .cl-contact-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
[data-theme="coco-lagon"] .cl-contact-field { margin-bottom: 20px; }
[data-theme="coco-lagon"] .cl-contact-field label { display: block; font-size: calc(12.25px * var(--text-scale, 1)); font-weight: 500; color: #2e2e2e; margin-bottom: 7px; }
[data-theme="coco-lagon"] .cl-contact-field input,
[data-theme="coco-lagon"] .cl-contact-field textarea { width: 100%; border: 1px solid #e4e6ef; border-radius: calc(6px * var(--radius-scale, 1)); padding: 10px 14px; font-size: calc(14px * var(--text-scale, 1)); font-family: inherit; box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="coco-lagon"] .cl-contact-field textarea { min-height: 130px; resize: vertical; }
[data-theme="coco-lagon"] .cl-contact-submit { padding: 12px 28px; background: var(--cl-blue); color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; font-size: calc(13px * var(--text-scale, 1)); letter-spacing: .3px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 8px; transition: background .2s; }
[data-theme="coco-lagon"] .cl-contact-submit:hover { background: var(--cl-blue-hover); }
@media (max-width: 560px) { [data-theme="coco-lagon"] .cl-contact-row { grid-template-columns: 1fr; } }

/* ── FAQ (accordéon simple, PAS de catégories/onglets). ── */
[data-theme="coco-lagon"] .cl-faq { padding: 64px 0; }
[data-theme="coco-lagon"] .cl-faq h3, [data-theme="coco-lagon"] .cl-faq .cl-faq-title { font-size: calc(24px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 16px; }
[data-theme="coco-lagon"] .cl-faq-lead { max-width: 820px; margin: 0 auto 40px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="coco-lagon"] .cl-faq-accordion { max-width: 860px; margin: 0 auto; text-align: left; }
[data-theme="coco-lagon"] .cl-faq-item { border: 1px solid #e4e6ef; border-radius: calc(6px * var(--radius-scale, 1)); margin-bottom: 10px; }
[data-theme="coco-lagon"] .cl-faq-q { width: 100%; display: flex; align-items: center; gap: 10px; padding: 16px 18px; text-align: left; font-family: 'Poppins', sans-serif; font-size: calc(14px * var(--text-scale, 1)); font-weight: 500; color: var(--page-ink, #1e2022); background: none; border: none; cursor: pointer; }
[data-theme="coco-lagon"] .cl-faq-q i { color: var(--cl-blue); font-size: calc(16px * var(--text-scale, 1)); flex: none; }
[data-theme="coco-lagon"] .cl-faq-a { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
[data-theme="coco-lagon"] .cl-faq-a-inner { padding: 0 18px 16px 44px; color: var(--page-ink, #3c4043); font-size: calc(14px * var(--text-scale, 1)); line-height: 1.7; }

/* ── Footer — gris très clair, icônes plates SANS pastille colorée. ── */
[data-theme="coco-lagon"] #footer.cl-footer { background: rgb(249,249,250); color: rgb(60,64,67); }
[data-theme="coco-lagon"] .cl-footer-content { padding: 50px 0 30px; }
[data-theme="coco-lagon"] .cl-footer-row { display: grid; grid-template-columns: repeat(var(--ftr-cols, 3), 1fr); gap: 32px; }
[data-theme="coco-lagon"] .cl-footer-col { position: relative; padding-left: 46px; min-height: 30px; }
[data-theme="coco-lagon"] .cl-footer-icon { position: absolute; left: 0; top: 2px; width: 24px; text-align: center; color: rgb(60,64,67); font-size: calc(18px * var(--text-scale, 1)); }
[data-theme="coco-lagon"] .cl-footer-col h3 { color: rgb(30,32,34); font-size: calc(18px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 4px; }
[data-theme="coco-lagon"] .cl-footer-col p { color: rgb(60,64,67); font-size: calc(14px * var(--text-scale, 1)); line-height: 1.6; margin: 0 0 6px; }
[data-theme="coco-lagon"] .cl-footer-col p strong { color: rgb(30,32,34); }
[data-theme="coco-lagon"] .cl-copyright { background: transparent; border-top: 1px solid #e4e6ef; padding: 22px 0; }
[data-theme="coco-lagon"] .cl-copyright-row { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 14px; }
[data-theme="coco-lagon"] .cl-copyright-text { color: rgb(60,64,67); font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="coco-lagon"] .cl-copyright-text a { color: rgb(60,64,67); text-decoration: none; }
[data-theme="coco-lagon"] .cl-copyright-text a:hover { color: var(--cl-blue); }
@media (max-width: 767px) { [data-theme="coco-lagon"] .cl-footer-row { grid-template-columns: 1fr; } }

/* ══════════════════════════════════════════════════════════════════════
   ZENITHAUTORENT — même famille sombre que clickcar/dreamlocation/auto2r
   (navy #014F73, accent ambre #FFC107, footer plein), mais avec un écart
   RÉEL majeur mesuré le 06/09/2026 : AUCUNE photo/carrousel sur le vrai
   site (`#slider` absent), le titre "Location de voitures en Guadeloupe"
   est directement sous le header (33px/500, PAS 40-50px/700-800 comme les
   autres) ; icônes de pied de page plates SANS pastille colorée
   (contrairement à dreamlocation/auto2r). Header opaque en flux normal
   (comme dreamlocation/coco-lagon). Nav 2 pages internes réelles (Accueil/
   Témoignages) + 2 liens externes vers le site WordPress du client. ══════ */
[data-theme="zenithautorent"] {
    --zah-primary: var(--color-primary, #014F73);
    --zah-gold:    var(--color-secondary, #FFC107);
    --zah-gold-hover: color-mix(in srgb, var(--zah-gold), black 15%);
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    color: var(--page-ink, #1e2022);
}
[data-theme="zenithautorent"] .zah-container { width: 92%; max-width: 1140px; margin: 0 auto; padding: 0 14px; }
[data-theme="zenithautorent"] .zah-text-center { text-align: center; }
[data-theme="zenithautorent"] .hl { color: var(--zah-primary); }

/* ── Header — opaque, flux normal. ── */
[data-theme="zenithautorent"] #header.zah-header { position: relative; z-index: 20; background: #fff; }
[data-theme="zenithautorent"] .zah-header-inner { height: 80px; }
[data-theme="zenithautorent"] .zah-header-inner .zah-container { display: flex; align-items: center; justify-content: space-between; height: 100%; }
[data-theme="zenithautorent"] .zah-logo { height: 80px; display: flex; align-items: center; }
[data-theme="zenithautorent"] .zah-logo img { height: 50px; width: auto; }
[data-theme="zenithautorent"] .zah-logo-text { font-size: calc(28px * var(--text-scale, 1)); font-weight: 800; color: var(--zah-primary); }
[data-theme="zenithautorent"] .zah-main-menu, [data-theme="zenithautorent"] .zah-main-menu nav { height: 100%; }
[data-theme="zenithautorent"] .zah-main-menu nav ul { display: flex; align-items: center; list-style: none; margin: 0; padding: 0; height: 100%; }
[data-theme="zenithautorent"] .zah-main-menu nav ul li { height: 100%; display: flex; align-items: center; }
[data-theme="zenithautorent"] .zah-main-menu nav ul li a { padding: 10px 12px; font-family: 'Poppins', sans-serif; font-size: calc(12px * var(--text-scale, 1)); font-weight: 600; text-transform: uppercase; letter-spacing: .6px; color: #000; text-decoration: none; transition: color .2s; }
[data-theme="zenithautorent"] .zah-main-menu nav ul li a:hover,
[data-theme="zenithautorent"] .zah-main-menu nav ul li.zah-active a { color: var(--zah-primary); }
[data-theme="zenithautorent"] .zah-menu-trigger { display: none; cursor: pointer; }
[data-theme="zenithautorent"] .zah-lines-button { display: block; width: 26px; height: 20px; position: relative; }
[data-theme="zenithautorent"] .zah-lines,
[data-theme="zenithautorent"] .zah-lines::before,
[data-theme="zenithautorent"] .zah-lines::after { display: block; position: absolute; height: 2px; width: 100%; background: #000; content: ''; }
[data-theme="zenithautorent"] .zah-lines { top: 9px; }
[data-theme="zenithautorent"] .zah-lines::before { top: -8px; }
[data-theme="zenithautorent"] .zah-lines::after { top: 8px; }
@media (max-width: 991px) {
    [data-theme="zenithautorent"] .zah-menu-trigger { display: block; }
    [data-theme="zenithautorent"] .zah-main-menu { display: none; position: absolute; top: 80px; left: 0; right: 0; height: auto; background: #fff; box-shadow: 0 4px 10px rgba(0,0,0,.15); z-index: 30; }
    [data-theme="zenithautorent"] .zah-main-menu.zah-open { display: block; }
    [data-theme="zenithautorent"] .zah-main-menu nav { height: auto; }
    [data-theme="zenithautorent"] .zah-main-menu nav ul { height: auto; flex-direction: column; gap: 0; padding: 10px 0; }
    [data-theme="zenithautorent"] .zah-main-menu nav ul li { height: auto; }
    [data-theme="zenithautorent"] .zah-main-menu nav ul li a { line-height: 44px; display: block; padding: 0 20px; }
}

/* ── Pas de hero photo sur ce tenant (RÉEL) — .zah-slider n'est rendu par
     le Blade que si des slides existent réellement (voir hero.blade.php).
     Conservé ici uniquement pour le cas où un futur média serait ajouté. ── */
[data-theme="zenithautorent"] .zah-slider { position: relative; height: 500px; min-height: 320px; overflow: hidden; background: var(--zah-primary); }
[data-theme="zenithautorent"] .zah-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity var(--zah-slide-transition-ms, 800ms) ease; overflow: hidden; }
[data-theme="zenithautorent"] .zah-slide.zah-slide-active { opacity: 1; }
[data-theme="zenithautorent"] .zah-slider > .zah-container { position: relative; z-index: 1; height: 100%; display: flex; align-items: center; }
[data-theme="zenithautorent"] .zah-slide-captions { position: relative; z-index: 1; text-align: left; color: #fff; box-sizing: border-box; width: 100%; }
[data-theme="zenithautorent"] .zah-slide-captions h1, [data-theme="zenithautorent"] .zah-slide-captions .zah-slide-brand { font-size: calc(80px * var(--text-scale, 1)); font-weight: 700; line-height: 1; margin: 0 0 20px; color: #fff; }
[data-theme="zenithautorent"] .zah-slide-captions h2 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 700; line-height: 1.2; margin: 0; color: #fff; }
[data-theme="zenithautorent"] .zah-slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 78px; height: 78px; border-radius: 50%; border: none; background: transparent; color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
[data-theme="zenithautorent"] .zah-slider-arrow svg { width: 18px; height: 18px; }
[data-theme="zenithautorent"] .zah-slider-arrow-prev { left: 0; }
[data-theme="zenithautorent"] .zah-slider-arrow-next { right: 0; }
[data-theme="zenithautorent"] .zah-slider-dots { position: absolute; bottom: 30px; left: 0; right: 0; z-index: 2; display: flex; justify-content: center; gap: 8px; }
[data-theme="zenithautorent"] .zah-slider-dots button { width: 30px; height: 4px; border-radius: 0; border: none; background: #fff; opacity: .5; cursor: pointer; padding: 0; }
[data-theme="zenithautorent"] .zah-slider-dots button.zah-dot-active { opacity: 1; }

/* ── Intro/titre — RÉEL mesuré : 33px/500 NOIR (PAS 40-50px/700-800 comme
     les autres templates — le titre est directement sous le header, sans
     photo au-dessus, l'échelle plus modeste est un choix réel du site
     source, pas une approximation). ── */
[data-theme="zenithautorent"] .zah-hero-intro { padding: 56px 0 0; text-align: center; }
[data-theme="zenithautorent"] .zah-hero-intro h1 { font-size: calc(33px * var(--text-scale, 1)); font-weight: 500; color: var(--page-ink, #000); margin: 0 0 16px; }
[data-theme="zenithautorent"] .zah-seperator { color: #ccc; font-size: calc(18px * var(--text-scale, 1)); margin: 0 0 22px; }
[data-theme="zenithautorent"] .zah-hero-intro p { max-width: 820px; margin: 0 auto; color: var(--page-ink, #555); line-height: 1.75; font-size: calc(15px * var(--text-scale, 1)); }

/* ── Formulaire de réservation — bandeau navy plein-largeur, bouton ambre. ── */
[data-theme="zenithautorent"] .zah-booking-form { background: var(--zah-primary); margin-top: 40px; padding: 20px 0 20px; }
[data-theme="zenithautorent"] .zah-booking-form-head { margin-bottom: 24px; }
[data-theme="zenithautorent"] .zah-booking-form-head h2 { color: #fff; font-size: calc(30px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 8px; }
[data-theme="zenithautorent"] .zah-booking-form-head p { color: rgba(255,255,255,.85); font-size: calc(14px * var(--text-scale, 1)); margin: 0; }
[data-theme="zenithautorent"] .zah-form-row { display: grid; grid-template-columns: 4fr 3fr 2fr 3fr; gap: 8px 14px; margin-bottom: 8px; }
[data-theme="zenithautorent"] .zah-form-col { box-sizing: border-box; min-width: 0; }
[data-theme="zenithautorent"] .zah-form-col-btn { display: flex; align-items: end; }
[data-theme="zenithautorent"] .zah-booking-form label { display: block; color: #fff; font-size: calc(12.25px * var(--text-scale, 1)); font-weight: 500; margin-bottom: 7px; }
[data-theme="zenithautorent"] .zah-form-control { width: 100%; height: 40px; border: 1px solid #e4e6ef; border-radius: calc(6px * var(--radius-scale, 1)); padding: 7px 14px; font-size: calc(14px * var(--text-scale, 1)); box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="zenithautorent"] .zah-input-group { display: flex; }
[data-theme="zenithautorent"] .zah-input-group .zah-form-control { border-radius: calc(6px * var(--radius-scale, 1)) 0 0 calc(6px * var(--radius-scale, 1)); border-right: none; }
[data-theme="zenithautorent"] .zah-input-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: none; background: #f9f9fa; border: 1px solid #e4e6ef; border-radius: 0 calc(6px * var(--radius-scale, 1)) calc(6px * var(--radius-scale, 1)) 0; color: #1e2022; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="zenithautorent"] .zah-btn-search { width: 100%; height: 40px; padding: 0 20px; background: var(--zah-gold); color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; text-transform: uppercase; font-size: calc(13px * var(--text-scale, 1)); letter-spacing: .5px; cursor: pointer; transition: background .2s; white-space: nowrap; }
[data-theme="zenithautorent"] .zah-btn-search:hover { background: var(--zah-gold-hover); }
@media (max-width: 767px) { [data-theme="zenithautorent"] .zah-form-row { grid-template-columns: 1fr; } }

/* ── Flotte ── */
[data-theme="zenithautorent"] .zah-fleet { padding: 80px 0; background: var(--zah-fleet-bg, transparent); }
[data-theme="zenithautorent"] .zah-fleet h2 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 800; color: var(--page-ink, #000); margin: 0; }
[data-theme="zenithautorent"] .zah-fleet-lead { max-width: 780px; margin: 0 auto 0; color: var(--page-ink, #3c4043); line-height: 1.7; font-size: calc(17.5px * var(--text-scale, 1)); }
[data-theme="zenithautorent"] .zah-fleet-grid { display: grid; grid-template-columns: repeat(var(--zah-fleet-cols, 3), 1fr); gap: 28px; margin-top: 24px; }
[data-theme="zenithautorent"] .zah-fleet-card { background: var(--surface-bg, #fff); border: 1px solid #e4e6ef; border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); padding: 8px; box-sizing: border-box; }
[data-theme="zenithautorent"] .zah-fleet-card h3 { font-size: calc(25px * var(--text-scale, 1)); font-weight: 500; color: var(--surface-ink, #1e2022); text-align: center; padding: 3.5px 0; margin: 8px 0 0; }
[data-theme="zenithautorent"] .zah-fleet-card img { width: 100%; display: block; }
[data-theme="zenithautorent"] .zah-fleet-illu-generic { height: 160px; display: grid; place-items: center; background: linear-gradient(180deg, #fff, #f5f7fa); }
[data-theme="zenithautorent"] .zah-fleet-illu-generic svg { width: 70%; max-width: 220px; height: auto; }
[data-theme="zenithautorent"] .zah-fleet-price { font-size: calc(13px * var(--text-scale, 1)); color: var(--surface-ink, #6b7280); font-weight: 600; text-align: center; margin-top: 8px; }
[data-theme="zenithautorent"] .zah-fleet-price b { font-family: 'Poppins', sans-serif; font-size: calc(18px * var(--text-scale, 1)); font-weight: 800; color: var(--zah-primary); }
@media (max-width: 991px) { [data-theme="zenithautorent"] .zah-fleet-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { [data-theme="zenithautorent"] .zah-fleet-grid { grid-template-columns: 1fr; } }

/* ── Bandeau titre page — aplat sombre, PAS de photo (mesuré : data-bg-
     parallax pointe vers un dossier vide, aucun nom de fichier). ── */
[data-theme="zenithautorent"] .zah-page-title { position: relative; padding: 80px 0; text-align: center; background-color: #1e2022; background-size: cover; background-position: center; }
[data-theme="zenithautorent"] .zah-page-title .zah-container { position: relative; z-index: 1; }
[data-theme="zenithautorent"] .zah-page-title h1 { color: #fff; font-family: 'Poppins', sans-serif; font-size: calc(35px * var(--text-scale, 1)); font-weight: 400; line-height: 1.2; margin: 0 0 .5rem; }
[data-theme="zenithautorent"] .zah-page-title .zah-breadcrumb { color: rgba(255,255,255,.75); font-size: calc(14px * var(--text-scale, 1)); }
[data-theme="zenithautorent"] .zah-page-title .zah-breadcrumb a { color: rgba(255,255,255,.9); text-decoration: none; }
[data-theme="zenithautorent"] .zah-page-title .zah-breadcrumb .zah-crumb-sep { margin: 0 6px; opacity: .6; }
@media (max-width: 991px) { [data-theme="zenithautorent"] .zah-page-title h1 { font-size: calc(24px * var(--text-scale, 1)); } }

/* ── Témoignages — RÉEL mesuré : liste empilée centrée, 33px/500 titre,
     nom 19px/600, citation 17.5px/400, étoiles ambre. ── */
[data-theme="zenithautorent"] .zah-testimonials { padding: 64px 0; }
[data-theme="zenithautorent"] .zah-testimonials h2 { font-size: calc(33px * var(--text-scale, 1)); font-weight: 500; color: var(--page-ink, #1e2022); margin: 0 0 16px; }
[data-theme="zenithautorent"] .zah-testimonials-lead { max-width: 820px; margin: 0 auto 40px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="zenithautorent"] .zah-testimonials-list { max-width: 780px; margin: 0 auto; }
[data-theme="zenithautorent"] .zah-testimonials-list hr { border: none; border-top: 1px solid #e5e5e5; margin: 40px 0; }
[data-theme="zenithautorent"] .zah-testimonial-photo { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; margin: 0 auto 12px; display: block; }
[data-theme="zenithautorent"] .zah-testimonial-date { font-size: calc(14px * var(--text-scale, 1)); color: var(--page-ink, #1e2022); margin-bottom: 8px; }
[data-theme="zenithautorent"] .zah-testimonial-stars { color: #e5e5e5; font-size: calc(15px * var(--text-scale, 1)); margin-bottom: 12px; }
[data-theme="zenithautorent"] .zah-testimonial-stars .zah-star-filled { color: #ffc107; }
[data-theme="zenithautorent"] .zah-testimonial h3 { font-size: calc(19px * var(--text-scale, 1)); font-weight: 600; color: var(--page-ink, #1e2022); margin: 0 0 10px; }
[data-theme="zenithautorent"] .zah-testimonial p { font-size: calc(17.5px * var(--text-scale, 1)); font-weight: 400; color: var(--page-ink, #3c4043); line-height: 1.6; margin: 0; white-space: pre-line; }

/* ── Footer — navy plein, icônes plates ambre SANS pastille (écart réel
     avec dreamlocation/auto2r qui ont une pastille colorée). ── */
[data-theme="zenithautorent"] #footer.zah-footer { background: var(--zah-primary); color: #fff; }
[data-theme="zenithautorent"] .zah-footer-content { padding: 50px 0 30px; }
[data-theme="zenithautorent"] .zah-footer-row { display: grid; grid-template-columns: repeat(var(--ftr-cols, 3), 1fr); gap: 32px; }
[data-theme="zenithautorent"] .zah-footer-col { position: relative; padding-left: 52px; min-height: 40px; }
[data-theme="zenithautorent"] .zah-footer-icon { position: absolute; left: 0; top: 0; width: 40px; text-align: center; color: var(--zah-gold); font-size: calc(36px * var(--text-scale, 1)); }
[data-theme="zenithautorent"] .zah-footer-col h3 { color: #fff; font-size: calc(17px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 4px; }
[data-theme="zenithautorent"] .zah-footer-col p { color: #fff; font-size: calc(14px * var(--text-scale, 1)); line-height: 1.6; margin: 0 0 6px; }
[data-theme="zenithautorent"] .zah-footer-col p strong { color: #fff; }
[data-theme="zenithautorent"] .zah-footer-link { color: #fff; text-decoration: none; word-break: break-word; }
[data-theme="zenithautorent"] .zah-footer-link:hover { color: var(--zah-gold); }
[data-theme="zenithautorent"] .zah-footer-social { display: flex; gap: 10px; margin-top: 8px; }
[data-theme="zenithautorent"] .zah-footer-social a { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.14); color: #fff; text-decoration: none; transition: background .2s, color .2s; }
[data-theme="zenithautorent"] .zah-footer-social a:hover { background: var(--zah-gold); color: var(--zah-primary); }
[data-theme="zenithautorent"] .zah-copyright { background: rgba(0,0,0,.15); padding: 22px 0; }
[data-theme="zenithautorent"] .zah-copyright-row { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 14px; }
[data-theme="zenithautorent"] .zah-copyright-text { color: rgba(255,255,255,.8); font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="zenithautorent"] .zah-copyright-text a { color: #fff; text-decoration: none; }
[data-theme="zenithautorent"] .zah-copyright-text a:hover { color: var(--zah-gold); }
@media (max-width: 767px) { [data-theme="zenithautorent"] .zah-footer-row { grid-template-columns: 1fr; } }

/* ══════════════ TP AUTO LOC (tpautoloc.fr) — RÉEL mesuré 06/09/2026 ══════════════
   Même famille V1 Inspiro/POLO que clickcar/dreamlocation/zenithautorent
   (#header/#logo/#mainMenu-trigger/.lines-button, .inspiro-slider Flickity,
   .ac-item accordéon) mais palette et structure propres : AUCUN navy/couleur
   primaire — noir/blanc/or (#FFC107) uniquement, header et sections blanches
   partout (pas de bandeau plein-largeur coloré pour le formulaire de résa,
   contrairement à toute la famille zah/ck/dl), cartes flotte à bordure fine
   (pas de card sans bordure). --}} */
:root { --tpa-gold: #ffc107; --tpa-gold-hover: #e0a800; --tpa-ink: #1e2022; --tpa-border: #e4e6ef; }
[data-theme="tpautoloc"] .hl { color: var(--tpa-gold-hover); }
[data-theme="tpautoloc"] .tpa-eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--tpa-gold-hover); font-weight: 800; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 16px; }
[data-theme="tpautoloc"] .tpa-eyebrow::before { content: ""; width: 26px; height: 2px; background: var(--tpa-gold); }
[data-theme="tpautoloc"] .tpa-container.tpa-text-center, [data-theme="tpautoloc"] section.tpa-faq .tpa-container, [data-theme="tpautoloc"] section.tpa-contact .tpa-container { text-align: center; }

[data-theme="tpautoloc"] .tpa-header { background: #fff; height: 80px; display: flex; align-items: center; }
[data-theme="tpautoloc"] .tpa-header-inner { width: 100%; }
[data-theme="tpautoloc"] .tpa-container { width: min(1180px, 92%); margin-inline: auto; }
[data-theme="tpautoloc"] .tpa-header .tpa-container { display: flex; align-items: center; justify-content: space-between; }
[data-theme="tpautoloc"] .tpa-logo img { height: 46px; display: block; }
[data-theme="tpautoloc"] .tpa-logo-text { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: 1.3rem; color: #000; }
[data-theme="tpautoloc"] .tpa-main-menu nav ul { display: flex; gap: 34px; list-style: none; margin: 0; padding: 0; }
[data-theme="tpautoloc"] .tpa-main-menu nav a { color: #000; font-size: calc(12px * var(--text-scale, 1)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
[data-theme="tpautoloc"] .tpa-main-menu nav li.tpa-active a { color: var(--tpa-gold-hover); }
[data-theme="tpautoloc"] .tpa-menu-trigger { display: none; cursor: pointer; }
[data-theme="tpautoloc"] .tpa-lines-button { display: block; width: 26px; height: 18px; position: relative; }
[data-theme="tpautoloc"] .tpa-lines, [data-theme="tpautoloc"] .tpa-lines::before, [data-theme="tpautoloc"] .tpa-lines::after { content: ""; display: block; width: 26px; height: 2px; background: #000; position: absolute; left: 0; transition: transform .2s; }
[data-theme="tpautoloc"] .tpa-lines { top: 8px; }
[data-theme="tpautoloc"] .tpa-lines::before { top: -8px; }
[data-theme="tpautoloc"] .tpa-lines::after { top: 8px; }
@media (max-width: 991px) {
    [data-theme="tpautoloc"] .tpa-menu-trigger { display: block; }
    [data-theme="tpautoloc"] .tpa-main-menu { position: absolute; top: 80px; left: 0; right: 0; background: #fff; box-shadow: 0 12px 24px rgba(0,0,0,.08); max-height: 0; overflow: hidden; transition: max-height .25s ease; z-index: 30; }
    [data-theme="tpautoloc"] .tpa-main-menu.tpa-open { max-height: 400px; }
    [data-theme="tpautoloc"] .tpa-main-menu nav, [data-theme="tpautoloc"] .tpa-main-menu ul, [data-theme="tpautoloc"] .tpa-main-menu li { height: auto; }
    [data-theme="tpautoloc"] .tpa-main-menu nav ul { flex-direction: column; gap: 0; padding: 10px 0; }
    [data-theme="tpautoloc"] .tpa-main-menu nav li { padding: 12px 24px; }
}

/* ── Carrousel hero — 4 diapositives réelles, h1 constant + h2 par diapo. ── */
[data-theme="tpautoloc"] .tpa-slider { position: relative; height: 648px; min-height: 320px; overflow: hidden; background: #111; }
[data-theme="tpautoloc"] .tpa-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity var(--tpa-slide-transition-ms, 800ms) ease; }
[data-theme="tpautoloc"] .tpa-slide.tpa-slide-active { opacity: 1; }
[data-theme="tpautoloc"] .tpa-slider::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.35); z-index: 0; }
[data-theme="tpautoloc"] .tpa-slider > .tpa-container { position: relative; z-index: 1; height: 100%; display: flex; align-items: center; justify-content: flex-start; }
[data-theme="tpautoloc"] .tpa-slide-captions { position: relative; z-index: 1; text-align: left; color: #fff; box-sizing: border-box; width: 100%; }
[data-theme="tpautoloc"] .tpa-slide-captions h1 { font-size: calc(80px * var(--text-scale, 1)); font-weight: 700; line-height: 1; margin: 0 0 20px; color: #fff; }
[data-theme="tpautoloc"] .tpa-slide-captions h2 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 700; line-height: 1.2; margin: 0; color: #fff; max-width: 14ch; }
[data-theme="tpautoloc"] .tpa-slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 60px; height: 60px; border-radius: 50%; border: none; background: rgba(255,255,255,.15); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
[data-theme="tpautoloc"] .tpa-slider-arrow svg { width: 18px; height: 18px; }
[data-theme="tpautoloc"] .tpa-slider-arrow-prev { left: 20px; }
[data-theme="tpautoloc"] .tpa-slider-arrow-next { right: 20px; }
[data-theme="tpautoloc"] .tpa-slider-dots { position: absolute; bottom: 30px; left: 0; right: 0; z-index: 2; display: flex; justify-content: center; gap: 8px; }
[data-theme="tpautoloc"] .tpa-slider-dots button { width: 30px; height: 4px; border-radius: 0; border: none; background: #fff; opacity: .5; cursor: pointer; padding: 0; }
[data-theme="tpautoloc"] .tpa-slider-dots button.tpa-dot-active { opacity: 1; background: var(--tpa-gold); }

/* ── Formulaire de réservation — pas de bandeau coloré, section blanche. ── */
[data-theme="tpautoloc"] .tpa-booking-form { background: #fff; padding: 60px 0 20px; }
[data-theme="tpautoloc"] .tpa-booking-form-head { text-align: center; margin-bottom: 40px; }
[data-theme="tpautoloc"] .tpa-booking-form-head h2 { color: var(--page-ink, #000); font-size: calc(50px * var(--text-scale, 1)); font-weight: 800; margin: 0 0 16px; }
[data-theme="tpautoloc"] .tpa-booking-form-head p { color: var(--page-ink, #555); font-size: calc(14px * var(--text-scale, 1)); margin: 0; }
[data-theme="tpautoloc"] .tpa-seperator { text-align: center; color: #ccc; font-size: 18px; margin: 0 0 22px; }
[data-theme="tpautoloc"] .tpa-form-row { display: grid; grid-template-columns: 4fr 3fr 2fr 3fr; gap: 8px 14px; margin-bottom: 8px; }
[data-theme="tpautoloc"] .tpa-form-col { box-sizing: border-box; min-width: 0; }
[data-theme="tpautoloc"] .tpa-form-col-btn { display: flex; align-items: end; }
[data-theme="tpautoloc"] .tpa-booking-form label { display: block; color: #2e2e2e; font-size: calc(12.25px * var(--text-scale, 1)); font-weight: 500; margin-bottom: 7px; }
[data-theme="tpautoloc"] .tpa-form-control { width: 100%; height: 40px; border: 1px solid var(--tpa-border); border-radius: calc(6px * var(--radius-scale, 1)); padding: 7px 14px; font-size: calc(14px * var(--text-scale, 1)); box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="tpautoloc"] .tpa-input-group { display: flex; }
[data-theme="tpautoloc"] .tpa-input-group .tpa-form-control { border-radius: calc(6px * var(--radius-scale, 1)) 0 0 calc(6px * var(--radius-scale, 1)); border-right: none; }
[data-theme="tpautoloc"] .tpa-input-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: none; background: #f9f9fa; border: 1px solid var(--tpa-border); border-radius: 0 calc(6px * var(--radius-scale, 1)) calc(6px * var(--radius-scale, 1)) 0; color: #1e2022; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="tpautoloc"] .tpa-btn-search { width: 100%; height: 40px; padding: 0 20px; background: var(--tpa-gold); color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; text-transform: uppercase; font-size: calc(13px * var(--text-scale, 1)); letter-spacing: .5px; cursor: pointer; transition: background .2s; white-space: nowrap; }
[data-theme="tpautoloc"] .tpa-btn-search:hover { background: var(--tpa-gold-hover); }
@media (max-width: 767px) { [data-theme="tpautoloc"] .tpa-form-row { grid-template-columns: 1fr; } }

/* ── Flotte — cartes à bordure fine + ombre légère (RÉEL mesuré). ── */
[data-theme="tpautoloc"] .tpa-fleet { padding: 20px 0 80px; background: var(--tpa-fleet-bg, transparent); }
[data-theme="tpautoloc"] .tpa-fleet-head { text-align: center; margin-bottom: 24px; }
[data-theme="tpautoloc"] .tpa-fleet h2 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 800; color: var(--page-ink, #000); margin: 0 0 16px; }
[data-theme="tpautoloc"] .tpa-fleet-lead { max-width: 780px; margin: 0 auto; color: var(--page-ink, #3c4043); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="tpautoloc"] .tpa-fleet-grid { display: grid; grid-template-columns: repeat(var(--tpa-fleet-cols, 3), 1fr); gap: 28px; margin-top: 24px; }
[data-theme="tpautoloc"] .tpa-fleet-card { background: var(--surface-bg, #fff); border: 1px solid var(--tpa-border); border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); padding: 8px; box-sizing: border-box; }
[data-theme="tpautoloc"] .tpa-fleet-card h3 { font-size: calc(20px * var(--text-scale, 1)); font-weight: 700; color: var(--surface-ink, #1e2022); text-align: center; padding: 3.5px 0; margin: 8px 0 0; text-transform: uppercase; }
[data-theme="tpautoloc"] .tpa-fleet-card img { width: 100%; display: block; }
[data-theme="tpautoloc"] .tpa-fleet-illu-generic { height: 160px; display: grid; place-items: center; background: linear-gradient(180deg, #fff, #f5f7fa); }
[data-theme="tpautoloc"] .tpa-fleet-illu-generic svg { width: 70%; max-width: 220px; height: auto; }
[data-theme="tpautoloc"] .tpa-fleet-price { font-size: calc(13px * var(--text-scale, 1)); color: var(--surface-ink, #6b7280); font-weight: 600; text-align: center; margin-top: 8px; }
[data-theme="tpautoloc"] .tpa-fleet-price b { font-family: 'Poppins', sans-serif; font-size: calc(18px * var(--text-scale, 1)); font-weight: 800; color: var(--tpa-gold-hover); }
@media (max-width: 991px) { [data-theme="tpautoloc"] .tpa-fleet-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { [data-theme="tpautoloc"] .tpa-fleet-grid { grid-template-columns: 1fr; } }

/* ── Bandeau titre page — aplat sombre par défaut, photo réelle si fournie
     (mesuré : FAQ = aplat #1e2022 seul, Contact = vraie photo Guadeloupe). ── */
[data-theme="tpautoloc"] .tpa-page-title { position: relative; padding: 80px 0; text-align: center; background-color: #1e2022; background-size: cover; background-position: center; }
[data-theme="tpautoloc"] .tpa-page-title[style*="background-image"]::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.45); }
[data-theme="tpautoloc"] .tpa-page-title .tpa-container { position: relative; z-index: 1; display: block; }
[data-theme="tpautoloc"] .tpa-page-title h1 { color: #fff; font-family: 'Poppins', sans-serif; font-size: calc(35px * var(--text-scale, 1)); font-weight: 400; line-height: 1.2; margin: 0 0 .5rem; }
[data-theme="tpautoloc"] .tpa-page-title .tpa-breadcrumb { color: rgba(255,255,255,.75); font-size: calc(14px * var(--text-scale, 1)); }
[data-theme="tpautoloc"] .tpa-page-title .tpa-breadcrumb a { color: rgba(255,255,255,.9); text-decoration: none; }
[data-theme="tpautoloc"] .tpa-page-title .tpa-breadcrumb .tpa-crumb-sep { margin: 0 6px; opacity: .6; }
@media (max-width: 991px) { [data-theme="tpautoloc"] .tpa-page-title h1 { font-size: calc(24px * var(--text-scale, 1)); } }

/* ── FAQ — accordéon plat, PAS de catégories visibles (RÉEL mesuré). ── */
[data-theme="tpautoloc"] .tpa-faq { padding: 64px 0; }
[data-theme="tpautoloc"] .tpa-faq h3 { text-align: center; font-size: calc(28px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 16px; }
[data-theme="tpautoloc"] .tpa-faq-lead { text-align: center; max-width: 780px; margin: 0 auto 36px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="tpautoloc"] .tpa-faq-accordion { max-width: 860px; margin: 0 auto; }
[data-theme="tpautoloc"] .tpa-faq-item { border: 1px solid var(--tpa-border); border-radius: calc(6px * var(--radius-scale, 1)); margin-bottom: 10px; overflow: hidden; }
[data-theme="tpautoloc"] .tpa-faq-q { width: 100%; display: flex; align-items: center; gap: 10px; background: none; border: none; padding: 12px 20px; text-align: left; font-size: calc(14px * var(--text-scale, 1)); font-weight: 500; color: var(--surface-ink, #1e2022); cursor: pointer; font-family: inherit; }
[data-theme="tpautoloc"] .tpa-faq-q i { color: var(--surface-ink, #1e2022); }
[data-theme="tpautoloc"] .tpa-faq-a { max-height: 0; overflow: hidden; transition: max-height .25s ease; }
[data-theme="tpautoloc"] .tpa-faq-a-inner { padding: 0 20px 16px 46px; color: var(--page-ink, #4b5563); font-size: calc(14px * var(--text-scale, 1)); line-height: 1.65; }

/* ── Contact — colonne unique, formulaire blanc bordé (RÉEL mesuré). Le
     bandeau "Rédigez votre message" est blanc-sur-blanc sur le vrai site
     (bug flagrant, illisible) — rendu ici en eyebrow sombre visible, seule
     correction apportée (voir CLAUDE.md "AUDIT PIXEL-PERFECT" point 6). ── */
[data-theme="tpautoloc"] .tpa-contact { padding: 64px 0; text-align: center; }
[data-theme="tpautoloc"] .tpa-contact h3 { font-size: calc(33px * var(--text-scale, 1)); font-weight: 500; color: var(--page-ink, #111); margin: 0 0 10px; }
[data-theme="tpautoloc"] .tpa-contact-lead { max-width: 700px; margin: 0 auto 40px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="tpautoloc"] .tpa-contact-form { max-width: 780px; margin: 0 auto; border: 1px solid var(--tpa-border); border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); }
[data-theme="tpautoloc"] .tpa-contact-form-head { background: var(--surface-bg, #f9f9fa); color: var(--surface-ink, #1e2022); font-size: calc(13px * var(--text-scale, 1)); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: 16px 24px; text-align: left; border-bottom: 1px solid var(--tpa-border); }
[data-theme="tpautoloc"] .tpa-contact-form-body { padding: 26px 24px; background: var(--surface-bg, #fff); }
[data-theme="tpautoloc"] .tpa-contact-field { margin-bottom: 18px; text-align: left; }
[data-theme="tpautoloc"] .tpa-contact-field label { display: block; font-size: calc(13px * var(--text-scale, 1)); font-weight: 600; color: var(--surface-ink, #1e2022); margin-bottom: 6px; }
[data-theme="tpautoloc"] .tpa-contact-field input,
[data-theme="tpautoloc"] .tpa-contact-field textarea { width: 100%; border: 1px solid var(--tpa-border); border-radius: calc(6px * var(--radius-scale, 1)); padding: 10px 14px; font-size: calc(14px * var(--text-scale, 1)); font-family: inherit; box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="tpautoloc"] .tpa-contact-field textarea { min-height: 130px; resize: vertical; }
[data-theme="tpautoloc"] .tpa-contact-submit { width: 100%; padding: 13px 20px; background: #2250fc; color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; font-size: calc(14px * var(--text-scale, 1)); letter-spacing: .3px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; transition: background .2s; }
[data-theme="tpautoloc"] .tpa-contact-submit:hover { background: #1a3fd1; }

/* ── Footer — gris clair, texte/titres normalement blancs sur le vrai site
     (bug flagrant, illisibles sur ce fond clair) — corrigé en sombre ici,
     icônes déjà sombres et visibles sans changement (voir point 6). ── */
[data-theme="tpautoloc"] #footer.tpa-footer { background: #f9f9fa; color: var(--tpa-ink); }
[data-theme="tpautoloc"] .tpa-footer-content { padding: 50px 0 30px; }
[data-theme="tpautoloc"] .tpa-footer-row { display: grid; grid-template-columns: repeat(var(--ftr-cols, 3), 1fr); gap: 32px; }
[data-theme="tpautoloc"] .tpa-footer-col { position: relative; padding-left: 46px; min-height: 36px; }
[data-theme="tpautoloc"] .tpa-footer-icon { position: absolute; left: 0; top: 0; width: 36px; text-align: center; color: var(--tpa-ink); font-size: calc(30px * var(--text-scale, 1)); }
[data-theme="tpautoloc"] .tpa-footer-col h3 { color: var(--tpa-ink); font-size: calc(16px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 4px; }
[data-theme="tpautoloc"] .tpa-footer-col p { color: #4b5563; font-size: calc(14px * var(--text-scale, 1)); line-height: 1.6; margin: 0 0 6px; }
[data-theme="tpautoloc"] .tpa-footer-col p strong { color: var(--tpa-ink); }
[data-theme="tpautoloc"] .tpa-copyright { background: #f1f1f3; padding: 20px 0; }
[data-theme="tpautoloc"] .tpa-copyright-row { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 14px; }
[data-theme="tpautoloc"] .tpa-copyright-text { color: #6b7280; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="tpautoloc"] .tpa-copyright-text a { color: var(--tpa-ink); text-decoration: none; }
[data-theme="tpautoloc"] .tpa-copyright-text a:hover { color: var(--tpa-gold-hover); }
@media (max-width: 767px) { [data-theme="tpautoloc"] .tpa-footer-row { grid-template-columns: 1fr; } }

/* ══════════════ TOP LOCATION (top-location.fr) — RÉEL mesuré 06/09/2026 ══════════════
   Même famille V1 Inspiro/POLO que clickcar/dreamlocation/zenithautorent
   (#header/#logo/#mainMenu-trigger/.lines-button, .inspiro-slider Flickity,
   .ac-item accordéon) mais palette et structure propres : AUCUN navy/couleur
   primaire — noir/blanc/or (#FFC107) uniquement, header et sections blanches
   partout (pas de bandeau plein-largeur coloré pour le formulaire de résa,
   contrairement à toute la famille zah/ck/dl), cartes flotte à bordure fine
   (pas de card sans bordure). --}} */
:root { --tol-gold: #ffc107; --tol-gold-hover: #e0a800; --tol-ink: #1e2022; --tol-border: #e4e6ef; }
[data-theme="top-location"] .hl { color: var(--tol-gold-hover); }
[data-theme="top-location"] .tol-eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--tol-gold-hover); font-weight: 800; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 16px; }
[data-theme="top-location"] .tol-eyebrow::before { content: ""; width: 26px; height: 2px; background: var(--tol-gold); }
[data-theme="top-location"] .tol-container.tol-text-center, [data-theme="top-location"] section.tol-faq .tol-container, [data-theme="top-location"] section.tol-contact .tol-container { text-align: center; }

[data-theme="top-location"] .tol-header { background: #fff; height: 80px; display: flex; align-items: center; }
[data-theme="top-location"] .tol-header-inner { width: 100%; }
[data-theme="top-location"] .tol-container { width: min(1180px, 92%); margin-inline: auto; }
[data-theme="top-location"] .tol-header .tol-container { display: flex; align-items: center; justify-content: space-between; }
[data-theme="top-location"] .tol-logo img { height: 46px; display: block; }
[data-theme="top-location"] .tol-logo-text { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: 1.3rem; color: #000; }
[data-theme="top-location"] .tol-main-menu nav ul { display: flex; gap: 34px; list-style: none; margin: 0; padding: 0; }
[data-theme="top-location"] .tol-main-menu nav a { color: #000; font-size: calc(12px * var(--text-scale, 1)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
[data-theme="top-location"] .tol-main-menu nav li.tol-active a { color: var(--tol-gold-hover); }
[data-theme="top-location"] .tol-menu-trigger { display: none; cursor: pointer; }
[data-theme="top-location"] .tol-lines-button { display: block; width: 26px; height: 18px; position: relative; }
[data-theme="top-location"] .tol-lines, [data-theme="top-location"] .tol-lines::before, [data-theme="top-location"] .tol-lines::after { content: ""; display: block; width: 26px; height: 2px; background: #000; position: absolute; left: 0; transition: transform .2s; }
[data-theme="top-location"] .tol-lines { top: 8px; }
[data-theme="top-location"] .tol-lines::before { top: -8px; }
[data-theme="top-location"] .tol-lines::after { top: 8px; }
@media (max-width: 991px) {
    [data-theme="top-location"] .tol-menu-trigger { display: block; }
    [data-theme="top-location"] .tol-main-menu { position: absolute; top: 80px; left: 0; right: 0; background: #fff; box-shadow: 0 12px 24px rgba(0,0,0,.08); max-height: 0; overflow: hidden; transition: max-height .25s ease; z-index: 30; }
    [data-theme="top-location"] .tol-main-menu.tol-open { max-height: 400px; }
    [data-theme="top-location"] .tol-main-menu nav, [data-theme="top-location"] .tol-main-menu ul, [data-theme="top-location"] .tol-main-menu li { height: auto; }
    [data-theme="top-location"] .tol-main-menu nav ul { flex-direction: column; gap: 0; padding: 10px 0; }
    [data-theme="top-location"] .tol-main-menu nav li { padding: 12px 24px; }
}

/* ── Carrousel hero — 4 diapositives réelles, h1 constant + h2 par diapo. ── */
[data-theme="top-location"] .tol-slider { position: relative; height: 648px; min-height: 320px; overflow: hidden; background: #111; }
[data-theme="top-location"] .tol-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity var(--tol-slide-transition-ms, 800ms) ease; }
[data-theme="top-location"] .tol-slide.tol-slide-active { opacity: 1; }
[data-theme="top-location"] .tol-slider::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.35); z-index: 0; }
[data-theme="top-location"] .tol-slider > .tol-container { position: relative; z-index: 1; height: 100%; display: flex; align-items: center; justify-content: flex-start; }
[data-theme="top-location"] .tol-slide-captions { position: relative; z-index: 1; text-align: left; color: #fff; box-sizing: border-box; width: 100%; }
[data-theme="top-location"] .tol-slide-captions h1 { font-size: calc(80px * var(--text-scale, 1)); font-weight: 700; line-height: 1; margin: 0 0 20px; color: #fff; }
[data-theme="top-location"] .tol-slide-captions h2 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 700; line-height: 1.2; margin: 0; color: #fff; max-width: 14ch; }
[data-theme="top-location"] .tol-slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 60px; height: 60px; border-radius: 50%; border: none; background: rgba(255,255,255,.15); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
[data-theme="top-location"] .tol-slider-arrow svg { width: 18px; height: 18px; }
[data-theme="top-location"] .tol-slider-arrow-prev { left: 20px; }
[data-theme="top-location"] .tol-slider-arrow-next { right: 20px; }
[data-theme="top-location"] .tol-slider-dots { position: absolute; bottom: 30px; left: 0; right: 0; z-index: 2; display: flex; justify-content: center; gap: 8px; }
[data-theme="top-location"] .tol-slider-dots button { width: 30px; height: 4px; border-radius: 0; border: none; background: #fff; opacity: .5; cursor: pointer; padding: 0; }
[data-theme="top-location"] .tol-slider-dots button.tol-dot-active { opacity: 1; background: var(--tol-gold); }

/* ── Formulaire de réservation — pas de bandeau coloré, section blanche. ── */
[data-theme="top-location"] .tol-booking-form { background: #fff; padding: 60px 0 20px; }
[data-theme="top-location"] .tol-booking-form-head { text-align: center; margin-bottom: 40px; }
[data-theme="top-location"] .tol-booking-form-head h2 { color: var(--page-ink, #000); font-size: calc(50px * var(--text-scale, 1)); font-weight: 800; margin: 0 0 16px; }
[data-theme="top-location"] .tol-booking-form-head p { color: var(--page-ink, #555); font-size: calc(14px * var(--text-scale, 1)); margin: 0; }
[data-theme="top-location"] .tol-seperator { text-align: center; color: #ccc; font-size: 18px; margin: 0 0 22px; }
[data-theme="top-location"] .tol-form-row { display: grid; grid-template-columns: 4fr 3fr 2fr 3fr; gap: 8px 14px; margin-bottom: 8px; }
[data-theme="top-location"] .tol-form-col { box-sizing: border-box; min-width: 0; }
[data-theme="top-location"] .tol-form-col-btn { display: flex; align-items: end; }
[data-theme="top-location"] .tol-booking-form label { display: block; color: #2e2e2e; font-size: calc(12.25px * var(--text-scale, 1)); font-weight: 500; margin-bottom: 7px; }
[data-theme="top-location"] .tol-form-control { width: 100%; height: 40px; border: 1px solid var(--tol-border); border-radius: calc(6px * var(--radius-scale, 1)); padding: 7px 14px; font-size: calc(14px * var(--text-scale, 1)); box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="top-location"] .tol-input-group { display: flex; }
[data-theme="top-location"] .tol-input-group .tol-form-control { border-radius: calc(6px * var(--radius-scale, 1)) 0 0 calc(6px * var(--radius-scale, 1)); border-right: none; }
[data-theme="top-location"] .tol-input-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: none; background: #f9f9fa; border: 1px solid var(--tol-border); border-radius: 0 calc(6px * var(--radius-scale, 1)) calc(6px * var(--radius-scale, 1)) 0; color: #1e2022; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="top-location"] .tol-btn-search { width: 100%; height: 40px; padding: 0 20px; background: var(--tol-gold); color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; text-transform: uppercase; font-size: calc(13px * var(--text-scale, 1)); letter-spacing: .5px; cursor: pointer; transition: background .2s; white-space: nowrap; }
[data-theme="top-location"] .tol-btn-search:hover { background: var(--tol-gold-hover); }
@media (max-width: 767px) { [data-theme="top-location"] .tol-form-row { grid-template-columns: 1fr; } }

/* ── Flotte — cartes à bordure fine + ombre légère (RÉEL mesuré). ── */
[data-theme="top-location"] .tol-fleet { padding: 20px 0 80px; background: var(--tol-fleet-bg, transparent); }
[data-theme="top-location"] .tol-fleet-head { text-align: center; margin-bottom: 24px; }
[data-theme="top-location"] .tol-fleet h2 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 800; color: var(--page-ink, #000); margin: 0 0 16px; }
[data-theme="top-location"] .tol-fleet-lead { max-width: 780px; margin: 0 auto; color: var(--page-ink, #3c4043); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="top-location"] .tol-fleet-grid { display: grid; grid-template-columns: repeat(var(--tol-fleet-cols, 3), 1fr); gap: 28px; margin-top: 24px; }
[data-theme="top-location"] .tol-fleet-card { background: var(--surface-bg, #fff); border: 1px solid var(--tol-border); border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); padding: 8px; box-sizing: border-box; }
[data-theme="top-location"] .tol-fleet-card h3 { font-size: calc(20px * var(--text-scale, 1)); font-weight: 700; color: var(--surface-ink, #1e2022); text-align: center; padding: 3.5px 0; margin: 8px 0 0; text-transform: uppercase; }
[data-theme="top-location"] .tol-fleet-card img { width: 100%; display: block; }
[data-theme="top-location"] .tol-fleet-illu-generic { height: 160px; display: grid; place-items: center; background: linear-gradient(180deg, #fff, #f5f7fa); }
[data-theme="top-location"] .tol-fleet-illu-generic svg { width: 70%; max-width: 220px; height: auto; }
[data-theme="top-location"] .tol-fleet-price { font-size: calc(13px * var(--text-scale, 1)); color: var(--surface-ink, #1e2022); font-weight: 500; text-align: center; margin-top: 8px; }
@media (max-width: 991px) { [data-theme="top-location"] .tol-fleet-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { [data-theme="top-location"] .tol-fleet-grid { grid-template-columns: 1fr; } }

/* ── Bandeau titre page — aplat sombre par défaut, photo réelle si fournie
     (mesuré : FAQ = aplat #1e2022 seul, Contact = vraie photo Guadeloupe). ── */
[data-theme="top-location"] .tol-page-title { position: relative; padding: 80px 0; text-align: center; background-color: #1e2022; background-size: cover; background-position: center; }
[data-theme="top-location"] .tol-page-title[style*="background-image"]::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.45); }
[data-theme="top-location"] .tol-page-title .tol-container { position: relative; z-index: 1; display: block; }
[data-theme="top-location"] .tol-page-title h1 { color: #fff; font-family: 'Poppins', sans-serif; font-size: calc(35px * var(--text-scale, 1)); font-weight: 400; line-height: 1.2; margin: 0 0 .5rem; }
[data-theme="top-location"] .tol-page-title .tol-breadcrumb { color: rgba(255,255,255,.75); font-size: calc(14px * var(--text-scale, 1)); }
[data-theme="top-location"] .tol-page-title .tol-breadcrumb a { color: rgba(255,255,255,.9); text-decoration: none; }
[data-theme="top-location"] .tol-page-title .tol-breadcrumb .tol-crumb-sep { margin: 0 6px; opacity: .6; }
@media (max-width: 991px) { [data-theme="top-location"] .tol-page-title h1 { font-size: calc(24px * var(--text-scale, 1)); } }

/* ── FAQ — accordéon plat, PAS de catégories visibles (RÉEL mesuré). ── */
[data-theme="top-location"] .tol-faq { padding: 64px 0; }
[data-theme="top-location"] .tol-faq h3 { text-align: center; font-size: calc(28px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 16px; }
[data-theme="top-location"] .tol-faq-lead { text-align: center; max-width: 780px; margin: 0 auto 36px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="top-location"] .tol-faq-accordion { max-width: 860px; margin: 0 auto; }
[data-theme="top-location"] .tol-faq-item { border: 1px solid var(--tol-border); border-radius: calc(6px * var(--radius-scale, 1)); margin-bottom: 10px; overflow: hidden; }
[data-theme="top-location"] .tol-faq-q { width: 100%; display: flex; align-items: center; gap: 10px; background: none; border: none; padding: 12px 20px; text-align: left; font-size: calc(14px * var(--text-scale, 1)); font-weight: 500; color: var(--surface-ink, #1e2022); cursor: pointer; font-family: inherit; }
[data-theme="top-location"] .tol-faq-q i { color: var(--surface-ink, #1e2022); }
[data-theme="top-location"] .tol-faq-a { max-height: 0; overflow: hidden; transition: max-height .25s ease; }
[data-theme="top-location"] .tol-faq-a-inner { padding: 0 20px 16px 46px; color: var(--page-ink, #4b5563); font-size: calc(14px * var(--text-scale, 1)); line-height: 1.65; }

/* ── Contact — colonne unique, formulaire blanc bordé (RÉEL mesuré). Le
     bandeau "Rédigez votre message" est blanc-sur-blanc sur le vrai site
     (bug flagrant, illisible) — rendu ici en eyebrow sombre visible, seule
     correction apportée (voir CLAUDE.md "AUDIT PIXEL-PERFECT" point 6). ── */
[data-theme="top-location"] .tol-contact { padding: 64px 0; text-align: center; }
[data-theme="top-location"] .tol-contact h3 { font-size: calc(33px * var(--text-scale, 1)); font-weight: 500; color: var(--page-ink, #111); margin: 0 0 10px; }
[data-theme="top-location"] .tol-contact-lead { max-width: 700px; margin: 0 auto 40px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="top-location"] .tol-contact-form { max-width: 780px; margin: 0 auto; border: 1px solid var(--tol-border); border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); }
[data-theme="top-location"] .tol-contact-form-head { background: var(--surface-bg, #f9f9fa); color: var(--surface-ink, #1e2022); font-size: calc(13px * var(--text-scale, 1)); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: 16px 24px; text-align: left; border-bottom: 1px solid var(--tol-border); }
[data-theme="top-location"] .tol-contact-form-body { padding: 26px 24px; background: var(--surface-bg, #fff); }
[data-theme="top-location"] .tol-contact-field { margin-bottom: 18px; text-align: left; }
[data-theme="top-location"] .tol-contact-field label { display: block; font-size: calc(13px * var(--text-scale, 1)); font-weight: 600; color: var(--surface-ink, #1e2022); margin-bottom: 6px; }
[data-theme="top-location"] .tol-contact-field input,
[data-theme="top-location"] .tol-contact-field textarea { width: 100%; border: 1px solid var(--tol-border); border-radius: calc(6px * var(--radius-scale, 1)); padding: 10px 14px; font-size: calc(14px * var(--text-scale, 1)); font-family: inherit; box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="top-location"] .tol-contact-field textarea { min-height: 130px; resize: vertical; }
[data-theme="top-location"] .tol-contact-submit { width: 100%; padding: 13px 20px; background: #2250fc; color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; font-size: calc(14px * var(--text-scale, 1)); letter-spacing: .3px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; transition: background .2s; }
[data-theme="top-location"] .tol-contact-submit:hover { background: #1a3fd1; }

/* ── Footer — gris clair, texte/titres normalement blancs sur le vrai site
     (bug flagrant, illisibles sur ce fond clair) — corrigé en sombre ici,
     icônes déjà sombres et visibles sans changement (voir point 6). ── */
[data-theme="top-location"] #footer.tol-footer { background: #f9f9fa; color: var(--tol-ink); }
[data-theme="top-location"] .tol-footer-content { padding: 50px 0 30px; }
[data-theme="top-location"] .tol-footer-row { display: grid; grid-template-columns: repeat(var(--ftr-cols, 3), 1fr); gap: 32px; }
[data-theme="top-location"] .tol-footer-col { position: relative; padding-left: 46px; min-height: 36px; }
[data-theme="top-location"] .tol-footer-icon { position: absolute; left: 0; top: 0; width: 36px; text-align: center; color: var(--tol-ink); font-size: calc(30px * var(--text-scale, 1)); }
[data-theme="top-location"] .tol-footer-col h3 { color: var(--tol-ink); font-size: calc(16px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 4px; }
[data-theme="top-location"] .tol-footer-col p { color: #4b5563; font-size: calc(14px * var(--text-scale, 1)); line-height: 1.6; margin: 0 0 6px; }
[data-theme="top-location"] .tol-footer-col p strong { color: var(--tol-ink); }
[data-theme="top-location"] .tol-copyright { background: #f1f1f3; padding: 20px 0; }
[data-theme="top-location"] .tol-copyright-row { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 14px; }
[data-theme="top-location"] .tol-copyright-text { color: #6b7280; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="top-location"] .tol-copyright-text a { color: var(--tol-ink); text-decoration: none; }
[data-theme="top-location"] .tol-copyright-text a:hover { color: var(--tol-gold-hover); }
@media (max-width: 767px) { [data-theme="top-location"] .tol-footer-row { grid-template-columns: 1fr; } }

/* ══════════════ SLV PRO (slvpro.fr) — RÉEL mesuré 06/09/2026 ══════════════
   Même famille V1 Inspiro/POLO (#header/#logo/#mainMenu-trigger/
   .lines-button, .inspiro-slider Flickity, .ac-item accordéon, icon-box
   .fa #333 pour "Nos Services") mais ÉCART RÉEL propre à ce tenant : bandeau
   de réservation GRIS FONCÉ (#444) avec labels blancs — ni navy (clickcar/
   dreamlocation/zenithautorent) ni blanc (tpautoloc/top-location). Bouton
   "Rechercher" reste or (#FFC107). Pages À propos (about_photo) et Nos
   Services (advantages) réutilisées telles quelles depuis clickcar. --}} */
:root { --slv-gold: #ffc107; --slv-gold-hover: #e0a800; --slv-ink: #1e2022; --slv-border: #e4e6ef; --slv-booking-bg: #444; }
[data-theme="slvpro"] .hl { color: var(--slv-gold-hover); }
[data-theme="slvpro"] .slv-eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--slv-gold-hover); font-weight: 800; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 16px; }
[data-theme="slvpro"] .slv-eyebrow::before { content: ""; width: 26px; height: 2px; background: var(--slv-gold); }

[data-theme="slvpro"] .slv-header { background: #fff; height: 80px; display: flex; align-items: center; }
[data-theme="slvpro"] .slv-header-inner { width: 100%; }
[data-theme="slvpro"] .slv-container { width: min(1180px, 92%); margin-inline: auto; }
[data-theme="slvpro"] .slv-header .slv-container { display: flex; align-items: center; justify-content: space-between; }
[data-theme="slvpro"] .slv-logo img { height: 50px; display: block; }
[data-theme="slvpro"] .slv-logo-text { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: 1.3rem; color: #1a2b4c; }
[data-theme="slvpro"] .slv-main-menu nav ul { display: flex; gap: 30px; list-style: none; margin: 0; padding: 0; }
[data-theme="slvpro"] .slv-main-menu nav a { color: #000; font-size: calc(12px * var(--text-scale, 1)); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; }
[data-theme="slvpro"] .slv-main-menu nav li.slv-active a { color: var(--slv-gold-hover); }
[data-theme="slvpro"] .slv-menu-trigger { display: none; cursor: pointer; }
[data-theme="slvpro"] .slv-lines-button { display: block; width: 26px; height: 18px; position: relative; }
[data-theme="slvpro"] .slv-lines, [data-theme="slvpro"] .slv-lines::before, [data-theme="slvpro"] .slv-lines::after { content: ""; display: block; width: 26px; height: 2px; background: #000; position: absolute; left: 0; transition: transform .2s; }
[data-theme="slvpro"] .slv-lines { top: 8px; }
[data-theme="slvpro"] .slv-lines::before { top: -8px; }
[data-theme="slvpro"] .slv-lines::after { top: 8px; }
@media (max-width: 991px) {
    [data-theme="slvpro"] .slv-menu-trigger { display: block; }
    [data-theme="slvpro"] .slv-main-menu { position: absolute; top: 80px; left: 0; right: 0; background: #fff; box-shadow: 0 12px 24px rgba(0,0,0,.08); max-height: 0; overflow: hidden; transition: max-height .25s ease; z-index: 30; }
    [data-theme="slvpro"] .slv-main-menu.slv-open { max-height: 400px; }
    [data-theme="slvpro"] .slv-main-menu nav, [data-theme="slvpro"] .slv-main-menu ul, [data-theme="slvpro"] .slv-main-menu li { height: auto; }
    [data-theme="slvpro"] .slv-main-menu nav ul { flex-direction: column; gap: 0; padding: 10px 0; }
    [data-theme="slvpro"] .slv-main-menu nav li { padding: 12px 24px; }
}

/* ── Carrousel hero — 3 diapositives réelles, h1 constant + h2 par diapo,
     PUIS hero-intro RÉEL (titre + accroche), contrairement à tpautoloc. ── */
[data-theme="slvpro"] .slv-slider { position: relative; height: 648px; min-height: 320px; overflow: hidden; background: #111; }
[data-theme="slvpro"] .slv-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity var(--slv-slide-transition-ms, 800ms) ease; }
[data-theme="slvpro"] .slv-slide.slv-slide-active { opacity: 1; }
[data-theme="slvpro"] .slv-slider::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.3); z-index: 0; }
[data-theme="slvpro"] .slv-slider > .slv-container { position: relative; z-index: 1; height: 100%; display: flex; align-items: center; justify-content: flex-start; }
[data-theme="slvpro"] .slv-slide-captions { position: relative; z-index: 1; text-align: left; color: #fff; box-sizing: border-box; width: 100%; }
[data-theme="slvpro"] .slv-slide-captions h1, [data-theme="slvpro"] .slv-slide-captions .slv-slide-brand { font-size: calc(80px * var(--text-scale, 1)); font-weight: 700; line-height: 1; margin: 0 0 20px; color: #fff; }
[data-theme="slvpro"] .slv-slide-captions h2 { font-size: calc(42px * var(--text-scale, 1)); font-weight: 700; line-height: 1.2; margin: 0; color: #fff; text-transform: uppercase; }
[data-theme="slvpro"] .slv-slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 60px; height: 60px; border-radius: 50%; border: none; background: rgba(255,255,255,.15); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
[data-theme="slvpro"] .slv-slider-arrow svg { width: 18px; height: 18px; }
[data-theme="slvpro"] .slv-slider-arrow-prev { left: 20px; }
[data-theme="slvpro"] .slv-slider-arrow-next { right: 20px; }
[data-theme="slvpro"] .slv-slider-dots { position: absolute; bottom: 30px; left: 0; right: 0; z-index: 2; display: flex; justify-content: center; gap: 8px; }
[data-theme="slvpro"] .slv-slider-dots button { width: 30px; height: 4px; border-radius: 0; border: none; background: #fff; opacity: .5; cursor: pointer; padding: 0; }
[data-theme="slvpro"] .slv-slider-dots button.slv-dot-active { opacity: 1; background: var(--slv-gold); }
[data-theme="slvpro"] .slv-hero-intro { padding: 56px 0 0; text-align: center; }
[data-theme="slvpro"] .slv-hero-intro h1 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 800; color: var(--page-ink, #1e2022); margin: 0 0 16px; }
[data-theme="slvpro"] .slv-seperator { text-align: center; color: #ccc; font-size: 18px; margin: 0 0 22px; }
[data-theme="slvpro"] .slv-hero-intro p { max-width: 820px; margin: 0 auto; color: var(--page-ink, #555); line-height: 1.75; font-size: calc(15px * var(--text-scale, 1)); }

/* ── Formulaire de réservation — bandeau GRIS FONCÉ (RÉEL mesuré #444). ── */
[data-theme="slvpro"] .slv-booking-form { background: var(--slv-booking-bg); padding: 40px 0; }
[data-theme="slvpro"] .slv-booking-form-head { text-align: center; margin-bottom: 24px; }
[data-theme="slvpro"] .slv-booking-form-head h2 { color: #fff; font-size: calc(32px * var(--text-scale, 1)); font-weight: 800; margin: 0 0 10px; }
[data-theme="slvpro"] .slv-booking-form-head p { color: rgba(255,255,255,.8); font-size: calc(14px * var(--text-scale, 1)); margin: 0; }
[data-theme="slvpro"] .slv-form-row { display: grid; grid-template-columns: 3fr 2fr 1.4fr 2fr; gap: 8px 14px; margin-bottom: 8px; }
[data-theme="slvpro"] .slv-form-col { box-sizing: border-box; min-width: 0; }
[data-theme="slvpro"] .slv-form-col-btn { display: flex; align-items: end; }
[data-theme="slvpro"] .slv-booking-form label { display: block; color: #fff; font-size: calc(12.25px * var(--text-scale, 1)); font-weight: 500; margin-bottom: 7px; }
[data-theme="slvpro"] .slv-form-control { width: 100%; height: 40px; border: 1px solid var(--slv-border); border-radius: calc(6px * var(--radius-scale, 1)); padding: 7px 14px; font-size: calc(14px * var(--text-scale, 1)); box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="slvpro"] .slv-input-group { display: flex; }
[data-theme="slvpro"] .slv-input-group .slv-form-control { border-radius: calc(6px * var(--radius-scale, 1)) 0 0 calc(6px * var(--radius-scale, 1)); border-right: none; }
[data-theme="slvpro"] .slv-input-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: none; background: #f9f9fa; border: 1px solid var(--slv-border); border-radius: 0 calc(6px * var(--radius-scale, 1)) calc(6px * var(--radius-scale, 1)) 0; color: #1e2022; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="slvpro"] .slv-btn-search { width: 100%; height: 40px; padding: 0 20px; background: var(--slv-gold); color: #1e2022; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; text-transform: uppercase; font-size: calc(13px * var(--text-scale, 1)); letter-spacing: .5px; cursor: pointer; transition: background .2s; white-space: nowrap; }
[data-theme="slvpro"] .slv-btn-search:hover { background: var(--slv-gold-hover); }
@media (max-width: 767px) { [data-theme="slvpro"] .slv-form-row { grid-template-columns: 1fr; } }

/* ── Flotte — cartes bordure fine (RÉEL mesuré, comme tpautoloc/top-location). ── */
[data-theme="slvpro"] .slv-fleet { padding: 20px 0 80px; background: var(--slv-fleet-bg, transparent); }
[data-theme="slvpro"] .slv-fleet-head { text-align: center; margin-bottom: 24px; }
[data-theme="slvpro"] .slv-fleet h2 { font-size: calc(40px * var(--text-scale, 1)); font-weight: 800; color: var(--page-ink, #000); margin: 0 0 16px; }
[data-theme="slvpro"] .slv-fleet-lead { max-width: 780px; margin: 0 auto; color: var(--page-ink, #3c4043); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="slvpro"] .slv-fleet-grid { display: grid; grid-template-columns: repeat(var(--slv-fleet-cols, 3), 1fr); gap: 24px; margin-top: 24px; }
[data-theme="slvpro"] .slv-fleet-card { background: var(--surface-bg, #fff); border: 1px solid var(--slv-border); border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); padding: 8px; box-sizing: border-box; }
[data-theme="slvpro"] .slv-fleet-card h3 { font-size: calc(17px * var(--text-scale, 1)); font-weight: 700; color: var(--surface-ink, #1e2022); text-align: center; padding: 3.5px 0; margin: 8px 0 0; text-transform: uppercase; }
[data-theme="slvpro"] .slv-fleet-card img { width: 100%; display: block; }
[data-theme="slvpro"] .slv-fleet-illu-generic { height: 140px; display: grid; place-items: center; background: linear-gradient(180deg, #fff, #f5f7fa); }
[data-theme="slvpro"] .slv-fleet-illu-generic svg { width: 70%; max-width: 200px; height: auto; }
[data-theme="slvpro"] .slv-fleet-price { font-size: calc(13px * var(--text-scale, 1)); color: var(--surface-ink, #6b7280); font-weight: 600; text-align: center; margin-top: 8px; }
[data-theme="slvpro"] .slv-fleet-price b { font-family: 'Poppins', sans-serif; font-size: calc(18px * var(--text-scale, 1)); font-weight: 800; color: var(--slv-gold-hover); }
@media (max-width: 991px) { [data-theme="slvpro"] .slv-fleet-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { [data-theme="slvpro"] .slv-fleet-grid { grid-template-columns: 1fr; } }

/* ── Bandeau titre page — aplat sombre, jamais de photo (RÉEL mesuré,
     A propos/Services/FAQ/Contact toutes vérifiées). ── */
[data-theme="slvpro"] .slv-page-title { position: relative; padding: 80px 0; text-align: center; background-color: #1e2022; background-size: cover; background-position: center; }
[data-theme="slvpro"] .slv-page-title .slv-container { position: relative; z-index: 1; display: block; }
[data-theme="slvpro"] .slv-page-title h1 { color: #fff; font-family: 'Poppins', sans-serif; font-size: calc(35px * var(--text-scale, 1)); font-weight: 400; line-height: 1.2; margin: 0 0 .5rem; }
[data-theme="slvpro"] .slv-page-title .slv-breadcrumb { color: rgba(255,255,255,.75); font-size: calc(14px * var(--text-scale, 1)); }
[data-theme="slvpro"] .slv-page-title .slv-breadcrumb a { color: rgba(255,255,255,.9); text-decoration: none; }
[data-theme="slvpro"] .slv-page-title .slv-breadcrumb .slv-crumb-sep { margin: 0 6px; opacity: .6; }
@media (max-width: 991px) { [data-theme="slvpro"] .slv-page-title h1 { font-size: calc(24px * var(--text-scale, 1)); } }

/* ── A propos — colonnes 7/5 texte+photo (RÉEL mesuré). ── */
[data-theme="slvpro"] .slv-about { padding: 64px 0; }
[data-theme="slvpro"] .slv-about-row { display: grid; grid-template-columns: 7fr 5fr; gap: 48px; align-items: center; }
[data-theme="slvpro"] .slv-about-text h2 { font-size: calc(36px * var(--text-scale, 1)); font-weight: 800; color: var(--page-ink, #1e2022); margin: 0 0 18px; }
[data-theme="slvpro"] .slv-about-text p { color: var(--page-ink, #4b5563); line-height: 1.75; margin: 0 0 16px; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="slvpro"] .slv-about-photo img { width: 100%; border-radius: calc(10px * var(--radius-scale, 1)); display: block; }
@media (max-width: 900px) { [data-theme="slvpro"] .slv-about-row { grid-template-columns: 1fr; } [data-theme="slvpro"] .slv-about-photo { order: -1; } }

/* ── Nos Services — grille icon-box centrée, icône #333 SANS pastille
     colorée (RÉEL mesuré) — flexbox plutôt que grid pour centrer
     naturellement la dernière ligne incomplète (5 items = 3+2, le vrai site
     centre les 2 restants via un offset Bootstrap ad hoc ; flexbox+wrap
     reproduit le même résultat visuel sans dépendre du nombre d'items). ── */
[data-theme="slvpro"] .slv-advantages { padding: 64px 0; }
[data-theme="slvpro"] .slv-advantages h2 { text-align: center; font-size: calc(34px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 40px; }
[data-theme="slvpro"] .slv-advantages-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 40px; }
[data-theme="slvpro"] .slv-advantage { width: min(320px, 100%); text-align: center; }
[data-theme="slvpro"] .slv-advantage-icon { width: 64px; height: 64px; border-radius: 50%; border: 1px solid #333; color: #333; display: flex; align-items: center; justify-content: center; margin: 0 auto 18px; font-size: 22px; }
[data-theme="slvpro"] .slv-advantage h3 { font-size: calc(19px * var(--text-scale, 1)); font-weight: 700; color: var(--surface-ink, #1e2022); margin: 0 0 8px; }
[data-theme="slvpro"] .slv-advantage p { color: var(--page-ink, #6b7280); font-size: calc(14px * var(--text-scale, 1)); line-height: 1.6; margin: 0; }

/* ── FAQ — accordéon plat (RÉEL mesuré, comme tpautoloc/top-location). ── */
[data-theme="slvpro"] .slv-faq { padding: 64px 0; }
[data-theme="slvpro"] .slv-faq h3 { text-align: center; font-size: calc(28px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 16px; }
[data-theme="slvpro"] .slv-faq-lead { text-align: center; max-width: 780px; margin: 0 auto 36px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="slvpro"] .slv-faq-accordion { max-width: 860px; margin: 0 auto; }
[data-theme="slvpro"] .slv-faq-item { border: 1px solid var(--slv-border); border-radius: calc(6px * var(--radius-scale, 1)); margin-bottom: 10px; overflow: hidden; }
[data-theme="slvpro"] .slv-faq-q { width: 100%; display: flex; align-items: center; gap: 10px; background: none; border: none; padding: 12px 20px; text-align: left; font-size: calc(14px * var(--text-scale, 1)); font-weight: 500; color: var(--surface-ink, #1e2022); cursor: pointer; font-family: inherit; }
[data-theme="slvpro"] .slv-faq-q i { color: var(--surface-ink, #1e2022); }
[data-theme="slvpro"] .slv-faq-a { max-height: 0; overflow: hidden; transition: max-height .25s ease; }
[data-theme="slvpro"] .slv-faq-a-inner { padding: 0 20px 16px 46px; color: var(--page-ink, #4b5563); font-size: calc(14px * var(--text-scale, 1)); line-height: 1.65; }

/* ── Contact — colonne unique (RÉEL mesuré). Eyebrow "Rédigez votre
     message" blanc-sur-blanc sur le vrai site (bug flagrant) — corrigé en
     visible (voir CLAUDE.md "AUDIT PIXEL-PERFECT" point 6). Bouton Envoyer
     TEAL (rgb(23,162,184), RÉELLEMENT mesuré — pas la même couleur bleue
     que tpautoloc/top-location, reproduit tel quel). ── */
[data-theme="slvpro"] .slv-contact { padding: 64px 0; text-align: center; }
[data-theme="slvpro"] .slv-contact h3 { font-size: calc(30px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 10px; }
[data-theme="slvpro"] .slv-contact-lead { max-width: 700px; margin: 0 auto 40px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="slvpro"] .slv-contact-form { max-width: 780px; margin: 0 auto; border: 1px solid var(--slv-border); border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); }
[data-theme="slvpro"] .slv-contact-form-head { background: var(--surface-bg, #f9f9fa); color: var(--surface-ink, #1e2022); font-size: calc(13px * var(--text-scale, 1)); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: 16px 24px; text-align: left; border-bottom: 1px solid var(--slv-border); }
[data-theme="slvpro"] .slv-contact-form-body { padding: 26px 24px; background: var(--surface-bg, #fff); }
[data-theme="slvpro"] .slv-contact-field { margin-bottom: 18px; text-align: left; }
[data-theme="slvpro"] .slv-contact-field label { display: block; font-size: calc(13px * var(--text-scale, 1)); font-weight: 600; color: var(--surface-ink, #1e2022); margin-bottom: 6px; }
[data-theme="slvpro"] .slv-contact-field input,
[data-theme="slvpro"] .slv-contact-field textarea { width: 100%; border: 1px solid var(--slv-border); border-radius: calc(6px * var(--radius-scale, 1)); padding: 10px 14px; font-size: calc(14px * var(--text-scale, 1)); font-family: inherit; box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="slvpro"] .slv-contact-field textarea { min-height: 130px; resize: vertical; }
[data-theme="slvpro"] .slv-contact-submit { width: 100%; padding: 13px 20px; background: rgb(23,162,184); color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; font-size: calc(14px * var(--text-scale, 1)); letter-spacing: .3px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; transition: background .2s; }
[data-theme="slvpro"] .slv-contact-submit:hover { background: rgb(18,140,159); }

/* ── Footer — gris clair, textes DÉJÀ sombres et lisibles sur le vrai site
     (PAS de bug ici, contrairement à tpautoloc/top-location — vérifié par
     mesure directe avant de conclure, jamais supposé identique). ── */
[data-theme="slvpro"] #footer.slv-footer { background: #f9f9fa; color: var(--slv-ink); }
[data-theme="slvpro"] .slv-footer-content { padding: 50px 0 30px; }
[data-theme="slvpro"] .slv-footer-row { display: grid; grid-template-columns: repeat(var(--ftr-cols, 3), 1fr); gap: 32px; }
[data-theme="slvpro"] .slv-footer-col { position: relative; padding-left: 46px; min-height: 36px; }
[data-theme="slvpro"] .slv-footer-icon { position: absolute; left: 0; top: 0; width: 36px; text-align: center; color: var(--slv-ink); font-size: calc(30px * var(--text-scale, 1)); }
[data-theme="slvpro"] .slv-footer-col h3 { color: var(--slv-ink); font-size: calc(16px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 4px; }
[data-theme="slvpro"] .slv-footer-col p { color: #4b5563; font-size: calc(14px * var(--text-scale, 1)); line-height: 1.6; margin: 0 0 6px; }
[data-theme="slvpro"] .slv-footer-col p strong { color: var(--slv-ink); }
[data-theme="slvpro"] .slv-copyright { background: #f1f1f3; padding: 20px 0; }
[data-theme="slvpro"] .slv-copyright-row { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 14px; }
[data-theme="slvpro"] .slv-copyright-text { color: #6b7280; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="slvpro"] .slv-copyright-text a { color: var(--slv-ink); text-decoration: none; }
[data-theme="slvpro"] .slv-copyright-text a:hover { color: var(--slv-gold-hover); }
@media (max-width: 767px) { [data-theme="slvpro"] .slv-footer-row { grid-template-columns: 1fr; } }

/* ══════════════ GWADACAR (gwadacar.com) — RÉEL mesuré 06/09/2026 ══════════════
   Même famille V1 Inspiro/POLO mais ÉCART MAJEUR : header TRANSPARENT EN
   OVERLAY (position absolute, jamais en flux normal comme tpautoloc/
   top-location/slvpro) sur TOUTES les pages (hero carrousel ET bandeau de
   page interne) — texte de nav blanc. Bouton "Rechercher" BLEU
   (rgb(34,80,252), pas or) — accent inédit dans ce chantier. --}} */
:root { --gwa-accent: #2250fc; --gwa-accent-hover: #1a3fd1; --gwa-ink: #1e2022; --gwa-border: #e4e6ef; }
[data-theme="gwadacar"] .hl { color: var(--gwa-accent); }
[data-theme="gwadacar"] .gwa-eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--gwa-accent); font-weight: 800; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 16px; }
[data-theme="gwadacar"] .gwa-eyebrow::before { content: ""; width: 26px; height: 2px; background: var(--gwa-accent); }

[data-theme="gwadacar"] .gwa-header { position: absolute; top: 0; left: 0; right: 0; z-index: 30; background: transparent; height: 80px; display: flex; align-items: center; }
[data-theme="gwadacar"] .gwa-header-inner { width: 100%; }
[data-theme="gwadacar"] .gwa-container { width: min(1180px, 92%); margin-inline: auto; }
[data-theme="gwadacar"] .gwa-header .gwa-container { display: flex; align-items: center; justify-content: space-between; }
[data-theme="gwadacar"] .gwa-logo img { height: 46px; display: block; }
[data-theme="gwadacar"] .gwa-logo-text { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: 1.5rem; letter-spacing: .04em; color: #fff; }
[data-theme="gwadacar"] .gwa-main-menu nav ul { display: flex; gap: 34px; list-style: none; margin: 0; padding: 0; }
[data-theme="gwadacar"] .gwa-main-menu nav a { color: #fff; font-size: calc(12px * var(--text-scale, 1)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
[data-theme="gwadacar"] .gwa-main-menu nav li.gwa-active a { color: var(--gwa-accent); }
[data-theme="gwadacar"] .gwa-menu-trigger { display: none; cursor: pointer; }
[data-theme="gwadacar"] .gwa-lines-button { display: block; width: 26px; height: 18px; position: relative; }
[data-theme="gwadacar"] .gwa-lines, [data-theme="gwadacar"] .gwa-lines::before, [data-theme="gwadacar"] .gwa-lines::after { content: ""; display: block; width: 26px; height: 2px; background: #fff; position: absolute; left: 0; transition: transform .2s; }
[data-theme="gwadacar"] .gwa-lines { top: 8px; }
[data-theme="gwadacar"] .gwa-lines::before { top: -8px; }
[data-theme="gwadacar"] .gwa-lines::after { top: 8px; }
@media (max-width: 991px) {
    [data-theme="gwadacar"] .gwa-menu-trigger { display: block; }
    [data-theme="gwadacar"] .gwa-main-menu { position: absolute; top: 80px; left: 0; right: 0; background: #fff; box-shadow: 0 12px 24px rgba(0,0,0,.08); max-height: 0; overflow: hidden; transition: max-height .25s ease; z-index: 30; }
    [data-theme="gwadacar"] .gwa-main-menu.gwa-open { max-height: 400px; }
    [data-theme="gwadacar"] .gwa-main-menu nav, [data-theme="gwadacar"] .gwa-main-menu ul, [data-theme="gwadacar"] .gwa-main-menu li { height: auto; }
    [data-theme="gwadacar"] .gwa-main-menu.gwa-open nav a { color: #1e2022; }
    [data-theme="gwadacar"] .gwa-main-menu nav ul { flex-direction: column; gap: 0; padding: 10px 0; }
    [data-theme="gwadacar"] .gwa-main-menu nav li { padding: 12px 24px; }
}

/* ── Carrousel hero — 5 diapositives réelles, h1 ET h2 VARIENT tous les
     deux par diapositive (contrairement à toute la famille tpautoloc/
     top-location/slvpro où h1 est constant) — voir hero.blade.php,
     slides[].caption (h1) + slides[].subcaption (h2, additif). ── */
[data-theme="gwadacar"] .gwa-slider { position: relative; height: 648px; min-height: 320px; overflow: hidden; background: #111; }
[data-theme="gwadacar"] .gwa-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity var(--gwa-slide-transition-ms, 800ms) ease; }
[data-theme="gwadacar"] .gwa-slide.gwa-slide-active { opacity: 1; }
[data-theme="gwadacar"] .gwa-slider::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.3); z-index: 0; }
[data-theme="gwadacar"] .gwa-slider > .gwa-container { position: relative; z-index: 1; height: 100%; display: flex; align-items: center; justify-content: flex-start; }
[data-theme="gwadacar"] .gwa-slide-captions { position: relative; z-index: 1; text-align: left; color: #fff; box-sizing: border-box; width: 100%; }
[data-theme="gwadacar"] .gwa-slide-captions h1 { font-size: calc(80px * var(--text-scale, 1)); font-weight: 700; line-height: 1; margin: 0 0 20px; color: #fff; }
[data-theme="gwadacar"] .gwa-slide-captions h2 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 700; line-height: 1.2; margin: 0; color: #fff; text-transform: uppercase; }
[data-theme="gwadacar"] .gwa-slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 60px; height: 60px; border-radius: 50%; border: none; background: rgba(255,255,255,.15); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
[data-theme="gwadacar"] .gwa-slider-arrow svg { width: 18px; height: 18px; }
[data-theme="gwadacar"] .gwa-slider-arrow-prev { left: 20px; }
[data-theme="gwadacar"] .gwa-slider-arrow-next { right: 20px; }
[data-theme="gwadacar"] .gwa-slider-dots { position: absolute; bottom: 30px; left: 0; right: 0; z-index: 2; display: flex; justify-content: center; gap: 8px; }
[data-theme="gwadacar"] .gwa-slider-dots button { width: 30px; height: 4px; border-radius: 0; border: none; background: #fff; opacity: .5; cursor: pointer; padding: 0; }
[data-theme="gwadacar"] .gwa-slider-dots button.gwa-dot-active { opacity: 1; background: var(--gwa-accent); }

/* ── Formulaire de réservation — section blanche, bouton bleu. ── */
[data-theme="gwadacar"] .gwa-booking-form { background: #fff; padding: 60px 0 20px; }
[data-theme="gwadacar"] .gwa-booking-form-head { text-align: center; margin-bottom: 40px; }
[data-theme="gwadacar"] .gwa-booking-form-head h2 { color: var(--page-ink, #000); font-size: calc(50px * var(--text-scale, 1)); font-weight: 800; margin: 0 0 16px; }
[data-theme="gwadacar"] .gwa-booking-form-head p { color: var(--page-ink, #555); font-size: calc(14px * var(--text-scale, 1)); margin: 0; }
[data-theme="gwadacar"] .gwa-seperator { text-align: center; color: #ccc; font-size: 18px; margin: 0 0 22px; }
[data-theme="gwadacar"] .gwa-form-row { display: grid; grid-template-columns: 4fr 3fr 2fr 3fr; gap: 8px 14px; margin-bottom: 8px; }
[data-theme="gwadacar"] .gwa-form-col { box-sizing: border-box; min-width: 0; }
[data-theme="gwadacar"] .gwa-form-col-btn { display: flex; align-items: end; }
[data-theme="gwadacar"] .gwa-booking-form label { display: block; color: #2e2e2e; font-size: calc(12.25px * var(--text-scale, 1)); font-weight: 500; margin-bottom: 7px; }
[data-theme="gwadacar"] .gwa-form-control { width: 100%; height: 40px; border: 1px solid var(--gwa-border); border-radius: calc(6px * var(--radius-scale, 1)); padding: 7px 14px; font-size: calc(14px * var(--text-scale, 1)); box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="gwadacar"] .gwa-input-group { display: flex; }
[data-theme="gwadacar"] .gwa-input-group .gwa-form-control { border-radius: calc(6px * var(--radius-scale, 1)) 0 0 calc(6px * var(--radius-scale, 1)); border-right: none; }
[data-theme="gwadacar"] .gwa-input-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: none; background: #f9f9fa; border: 1px solid var(--gwa-border); border-radius: 0 calc(6px * var(--radius-scale, 1)) calc(6px * var(--radius-scale, 1)) 0; color: #1e2022; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="gwadacar"] .gwa-btn-search { width: 100%; height: 40px; padding: 0 20px; background: var(--gwa-accent); color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; text-transform: uppercase; font-size: calc(13px * var(--text-scale, 1)); letter-spacing: .5px; cursor: pointer; transition: background .2s; white-space: nowrap; }
[data-theme="gwadacar"] .gwa-btn-search:hover { background: var(--gwa-accent-hover); }
@media (max-width: 767px) { [data-theme="gwadacar"] .gwa-form-row { grid-template-columns: 1fr; } }

/* ── Flotte — 4 catégories, cartes bordure fine (RÉEL mesuré, 3 colonnes). ── */
[data-theme="gwadacar"] .gwa-fleet { padding: 20px 0 80px; background: var(--gwa-fleet-bg, transparent); }
[data-theme="gwadacar"] .gwa-fleet-head { text-align: center; margin-bottom: 24px; }
[data-theme="gwadacar"] .gwa-fleet h2 { font-size: calc(40px * var(--text-scale, 1)); font-weight: 800; color: var(--page-ink, #000); margin: 0 0 16px; }
[data-theme="gwadacar"] .gwa-fleet-lead { max-width: 780px; margin: 0 auto; color: var(--page-ink, #3c4043); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="gwadacar"] .gwa-fleet-grid { display: grid; grid-template-columns: repeat(var(--gwa-fleet-cols, 3), 1fr); gap: 28px; margin-top: 24px; }
[data-theme="gwadacar"] .gwa-fleet-card { background: var(--surface-bg, #fff); border: 1px solid var(--gwa-border); border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); padding: 8px; box-sizing: border-box; }
[data-theme="gwadacar"] .gwa-fleet-card h3 { font-size: calc(20px * var(--text-scale, 1)); font-weight: 700; color: var(--surface-ink, #1e2022); text-align: center; padding: 3.5px 0; margin: 8px 0 0; text-transform: uppercase; }
[data-theme="gwadacar"] .gwa-fleet-card img { width: 100%; display: block; }
[data-theme="gwadacar"] .gwa-fleet-illu-generic { height: 160px; display: grid; place-items: center; background: linear-gradient(180deg, #fff, #f5f7fa); }
[data-theme="gwadacar"] .gwa-fleet-illu-generic svg { width: 70%; max-width: 220px; height: auto; }
[data-theme="gwadacar"] .gwa-fleet-price { font-size: calc(13px * var(--text-scale, 1)); color: var(--surface-ink, #6b7280); font-weight: 600; text-align: center; margin-top: 8px; }
@media (max-width: 991px) { [data-theme="gwadacar"] .gwa-fleet-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { [data-theme="gwadacar"] .gwa-fleet-grid { grid-template-columns: 1fr; } }

/* ── Bandeau titre page — aplat sombre par défaut, photo réelle si fournie
     (mesuré : FAQ = aplat seul, Contact = vraie photo) — header transparent
     déjà en overlay au-dessus (voir .gwa-header), pas besoin de padding
     supplémentaire ici. ── */
[data-theme="gwadacar"] .gwa-page-title { position: relative; padding: 140px 0 80px; text-align: center; background-color: #1e2022; background-size: cover; background-position: center; }
[data-theme="gwadacar"] .gwa-page-title[style*="background-image"]::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.45); }
[data-theme="gwadacar"] .gwa-page-title .gwa-container { position: relative; z-index: 1; display: block; }
[data-theme="gwadacar"] .gwa-page-title h1 { color: #fff; font-family: 'Poppins', sans-serif; font-size: calc(35px * var(--text-scale, 1)); font-weight: 400; line-height: 1.2; margin: 0 0 .5rem; }
[data-theme="gwadacar"] .gwa-page-title .gwa-breadcrumb { color: rgba(255,255,255,.75); font-size: calc(14px * var(--text-scale, 1)); }
[data-theme="gwadacar"] .gwa-page-title .gwa-breadcrumb a { color: rgba(255,255,255,.9); text-decoration: none; }
[data-theme="gwadacar"] .gwa-page-title .gwa-breadcrumb .gwa-crumb-sep { margin: 0 6px; opacity: .6; }
@media (max-width: 991px) { [data-theme="gwadacar"] .gwa-page-title h1 { font-size: calc(24px * var(--text-scale, 1)); } }

/* ── FAQ — accordéon plat. ── */
[data-theme="gwadacar"] .gwa-faq { padding: 64px 0; }
[data-theme="gwadacar"] .gwa-faq h3 { text-align: center; font-size: calc(28px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 16px; }
[data-theme="gwadacar"] .gwa-faq-lead { text-align: center; max-width: 780px; margin: 0 auto 36px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="gwadacar"] .gwa-faq-accordion { max-width: 860px; margin: 0 auto; }
[data-theme="gwadacar"] .gwa-faq-item { border: 1px solid var(--gwa-border); border-radius: calc(6px * var(--radius-scale, 1)); margin-bottom: 10px; overflow: hidden; }
[data-theme="gwadacar"] .gwa-faq-q { width: 100%; display: flex; align-items: center; gap: 10px; background: none; border: none; padding: 12px 20px; text-align: left; font-size: calc(14px * var(--text-scale, 1)); font-weight: 500; color: var(--surface-ink, #1e2022); cursor: pointer; font-family: inherit; }
[data-theme="gwadacar"] .gwa-faq-q i { color: var(--surface-ink, #1e2022); }
[data-theme="gwadacar"] .gwa-faq-a { max-height: 0; overflow: hidden; transition: max-height .25s ease; }
[data-theme="gwadacar"] .gwa-faq-a-inner { padding: 0 20px 16px 46px; color: var(--page-ink, #4b5563); font-size: calc(14px * var(--text-scale, 1)); line-height: 1.65; }

/* ── Contact — colonne unique. Eyebrow "Rédigez votre message" blanc-sur-
     blanc sur le vrai site (bug flagrant) — corrigé en visible (voir
     CLAUDE.md "AUDIT PIXEL-PERFECT" point 6). Bouton Envoyer BLEU (même
     accent que "Rechercher", rgb(34,80,252), RÉEL mesuré). ── */
[data-theme="gwadacar"] .gwa-contact { padding: 64px 0; text-align: center; }
[data-theme="gwadacar"] .gwa-contact h3 { font-size: calc(33px * var(--text-scale, 1)); font-weight: 500; color: var(--page-ink, #111); margin: 0 0 10px; }
[data-theme="gwadacar"] .gwa-contact-lead { max-width: 700px; margin: 0 auto 40px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="gwadacar"] .gwa-contact-form { max-width: 780px; margin: 0 auto; border: 1px solid var(--gwa-border); border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); }
[data-theme="gwadacar"] .gwa-contact-form-head { background: var(--surface-bg, #f9f9fa); color: var(--surface-ink, #1e2022); font-size: calc(13px * var(--text-scale, 1)); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: 16px 24px; text-align: left; border-bottom: 1px solid var(--gwa-border); }
[data-theme="gwadacar"] .gwa-contact-form-body { padding: 26px 24px; background: var(--surface-bg, #fff); }
[data-theme="gwadacar"] .gwa-contact-field { margin-bottom: 18px; text-align: left; }
[data-theme="gwadacar"] .gwa-contact-field label { display: block; font-size: calc(13px * var(--text-scale, 1)); font-weight: 600; color: var(--surface-ink, #1e2022); margin-bottom: 6px; }
[data-theme="gwadacar"] .gwa-contact-field input,
[data-theme="gwadacar"] .gwa-contact-field textarea { width: 100%; border: 1px solid var(--gwa-border); border-radius: calc(6px * var(--radius-scale, 1)); padding: 10px 14px; font-size: calc(14px * var(--text-scale, 1)); font-family: inherit; box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="gwadacar"] .gwa-contact-field textarea { min-height: 130px; resize: vertical; }
[data-theme="gwadacar"] .gwa-contact-submit { width: 100%; padding: 13px 20px; background: var(--gwa-accent); color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; font-size: calc(14px * var(--text-scale, 1)); letter-spacing: .3px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; transition: background .2s; }
[data-theme="gwadacar"] .gwa-contact-submit:hover { background: var(--gwa-accent-hover); }

/* ── Footer — gris clair, texte/titres normalement blancs sur le vrai site
     (bug flagrant, illisibles) — corrigé en sombre ici. ── */
[data-theme="gwadacar"] #footer.gwa-footer { background: #f9f9fa; color: var(--gwa-ink); }
[data-theme="gwadacar"] .gwa-footer-content { padding: 50px 0 30px; }
[data-theme="gwadacar"] .gwa-footer-row { display: grid; grid-template-columns: repeat(var(--ftr-cols, 3), 1fr); gap: 32px; }
[data-theme="gwadacar"] .gwa-footer-col { position: relative; padding-left: 46px; min-height: 36px; }
[data-theme="gwadacar"] .gwa-footer-icon { position: absolute; left: 0; top: 0; width: 36px; text-align: center; color: var(--gwa-ink); font-size: calc(30px * var(--text-scale, 1)); }
[data-theme="gwadacar"] .gwa-footer-col h3 { color: var(--gwa-ink); font-size: calc(16px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 4px; }
[data-theme="gwadacar"] .gwa-footer-col p { color: #4b5563; font-size: calc(14px * var(--text-scale, 1)); line-height: 1.6; margin: 0 0 6px; }
[data-theme="gwadacar"] .gwa-footer-col p strong { color: var(--gwa-ink); }
[data-theme="gwadacar"] .gwa-copyright { background: #f1f1f3; padding: 20px 0; }
[data-theme="gwadacar"] .gwa-copyright-row { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 14px; }
[data-theme="gwadacar"] .gwa-copyright-text { color: #6b7280; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="gwadacar"] .gwa-copyright-text a { color: var(--gwa-ink); text-decoration: none; }
[data-theme="gwadacar"] .gwa-copyright-text a:hover { color: var(--gwa-accent); }
@media (max-width: 767px) { [data-theme="gwadacar"] .gwa-footer-row { grid-template-columns: 1fr; } }

/* ── evo-loc.com — RÉEL mesuré 06/09/2026. Header blanc standard (comme
   tpautoloc, même famille "Renter Concept"/Inspiro : #header/#logo/
   #mainMenu-trigger, .card fleet à bordure fine). Accent orange #FF8C00
   (jamais mesuré ailleurs dans cette famille — propre à evo-loc), bandeau
   réservation navy #014F73 + bouton or #FFC107 (même famille que
   clickcar/dreamlocation/zenithautorent), cartes "avantages" crème
   #FFF9F2. Hero = UNE SEULE image statique, aucun texte HTML dessus
   (RÉEL : h1/h2 vides dans le DOM source, contrairement à tous les autres
   templates custom de ce chantier). --}} */
:root { --evo-orange: #ff8c00; --evo-navy: #014f73; --evo-gold: #ffc107; --evo-gold-hover: #e0a800; --evo-ink: #1e2022; --evo-border: #e4e6ef; }
[data-theme="evo-loc"] .hl { color: var(--evo-orange); }
[data-theme="evo-loc"] .evo-eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--evo-orange); font-weight: 800; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 16px; }
[data-theme="evo-loc"] .evo-eyebrow::before { content: ""; width: 26px; height: 2px; background: var(--evo-orange); }
[data-theme="evo-loc"] .evo-container { width: min(1180px, 92%); margin-inline: auto; }
[data-theme="evo-loc"] .evo-text-center { text-align: center; }

/* ── Header — blanc standard, 80px (RÉEL mesuré, header class="white"). ── */
[data-theme="evo-loc"] .evo-header { background: #fff; height: 80px; display: flex; align-items: center; }
[data-theme="evo-loc"] .evo-header-inner { width: 100%; }
[data-theme="evo-loc"] .evo-header .evo-container { display: flex; align-items: center; justify-content: space-between; }
[data-theme="evo-loc"] .evo-logo img { height: 46px; display: block; }
[data-theme="evo-loc"] .evo-logo-text { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: 1.3rem; color: #000; }
[data-theme="evo-loc"] .evo-main-menu nav ul { display: flex; gap: 34px; list-style: none; margin: 0; padding: 0; }
[data-theme="evo-loc"] .evo-main-menu nav a { color: #000; font-size: calc(12px * var(--text-scale, 1)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
[data-theme="evo-loc"] .evo-main-menu nav li.evo-active a { color: var(--evo-orange); }
[data-theme="evo-loc"] .evo-menu-trigger { display: none; cursor: pointer; }
[data-theme="evo-loc"] .evo-lines-button { display: block; width: 26px; height: 18px; position: relative; }
[data-theme="evo-loc"] .evo-lines, [data-theme="evo-loc"] .evo-lines::before, [data-theme="evo-loc"] .evo-lines::after { content: ""; display: block; width: 26px; height: 2px; background: #000; position: absolute; left: 0; transition: transform .2s; }
[data-theme="evo-loc"] .evo-lines { top: 8px; }
[data-theme="evo-loc"] .evo-lines::before { top: -8px; }
[data-theme="evo-loc"] .evo-lines::after { top: 8px; }
@media (max-width: 991px) {
    [data-theme="evo-loc"] .evo-menu-trigger { display: block; }
    [data-theme="evo-loc"] .evo-main-menu { position: absolute; top: 80px; left: 0; right: 0; background: #fff; box-shadow: 0 12px 24px rgba(0,0,0,.08); max-height: 0; overflow: hidden; transition: max-height .25s ease; z-index: 30; }
    [data-theme="evo-loc"] .evo-main-menu.evo-open { max-height: 400px; }
    [data-theme="evo-loc"] .evo-main-menu nav, [data-theme="evo-loc"] .evo-main-menu ul, [data-theme="evo-loc"] .evo-main-menu li { height: auto; }
    [data-theme="evo-loc"] .evo-main-menu nav ul { flex-direction: column; gap: 0; padding: 10px 0; }
    [data-theme="evo-loc"] .evo-main-menu nav li { padding: 12px 24px; }
}

/* ── Hero — UNE SEULE image statique plein cadre, aucun texte (RÉEL). ── */
[data-theme="evo-loc"] .evo-hero { height: 648px; min-height: 320px; background-size: cover; background-position: center; }
@media (max-width: 767px) { [data-theme="evo-loc"] .evo-hero { height: 380px; } }

/* ── Formulaire de réservation — bandeau NAVY plein-largeur (RÉEL mesuré
     #014F73, même famille que clickcar/dreamlocation/zenithautorent),
     bouton or #FFC107. Titre "Location de voitures en Guadeloupe" (RÉEL,
     recomposé ici dans l'en-tête du bandeau — texte identique au vrai
     site, simple repositionnement de la mise en page CMS d'origine où ce
     même titre et le formulaire réel étaient disjoints). ── */
[data-theme="evo-loc"] .evo-booking-form { background: var(--evo-navy); padding: 40px 0; }
[data-theme="evo-loc"] .evo-booking-form-head { text-align: center; margin-bottom: 24px; }
[data-theme="evo-loc"] .evo-booking-form-head h2, [data-theme="evo-loc"] .evo-booking-form-head .evo-booking-title { color: #fff; font-size: calc(30px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 8px; }
[data-theme="evo-loc"] .evo-booking-form-head p { color: rgba(255,255,255,.85); font-size: calc(14px * var(--text-scale, 1)); margin: 0; }
[data-theme="evo-loc"] .evo-form-row { display: grid; grid-template-columns: 4fr 3fr 2fr 3fr; gap: 8px 14px; margin-bottom: 8px; }
[data-theme="evo-loc"] .evo-form-col { box-sizing: border-box; min-width: 0; }
[data-theme="evo-loc"] .evo-form-col-btn { display: flex; align-items: end; }
[data-theme="evo-loc"] .evo-booking-form label { display: block; color: #fff; font-size: calc(12.25px * var(--text-scale, 1)); font-weight: 500; margin-bottom: 7px; }
[data-theme="evo-loc"] .evo-form-control { width: 100%; height: 40px; border: 1px solid var(--evo-border); border-radius: calc(6px * var(--radius-scale, 1)); padding: 7px 14px; font-size: calc(14px * var(--text-scale, 1)); box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="evo-loc"] .evo-input-group { display: flex; }
[data-theme="evo-loc"] .evo-input-group .evo-form-control { border-radius: calc(6px * var(--radius-scale, 1)) 0 0 calc(6px * var(--radius-scale, 1)); border-right: none; }
[data-theme="evo-loc"] .evo-input-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: none; background: #f9f9fa; border: 1px solid var(--evo-border); border-radius: 0 calc(6px * var(--radius-scale, 1)) calc(6px * var(--radius-scale, 1)) 0; color: #1e2022; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="evo-loc"] .evo-btn-search { width: 100%; height: 40px; padding: 0 20px; background: var(--evo-gold); color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; text-transform: uppercase; font-size: calc(13px * var(--text-scale, 1)); letter-spacing: .5px; cursor: pointer; transition: background .2s; white-space: nowrap; }
[data-theme="evo-loc"] .evo-btn-search:hover { background: var(--evo-gold-hover); }
@media (max-width: 767px) { [data-theme="evo-loc"] .evo-form-row { grid-template-columns: 1fr; } }

/* ── Avantages — RÉEL mesuré (.evo-global-section) : intro à gauche, grille
     2x2 de feature-box à droite, PAS la grille centrée pleine largeur des
     autres templates de la famille. ── */
[data-theme="evo-loc"] .evo-advantages { padding: 40px 15px; background: transparent; }
[data-theme="evo-loc"] .evo-advantages-flex { display: flex; flex-wrap: wrap; gap: 30px; align-items: center; text-align: left; }
[data-theme="evo-loc"] .evo-advantages-intro { flex: 1; min-width: 300px; }
[data-theme="evo-loc"] .evo-advantages-intro h2 { color: var(--evo-orange); font-size: 2rem; margin: 0 0 15px; line-height: 1.2; font-weight: 700; }
[data-theme="evo-loc"] .evo-advantages-intro p { font-size: 1.05rem; color: var(--page-ink, #444); line-height: 1.6; margin: 0 0 20px; }
[data-theme="evo-loc"] .evo-advantages-grid { flex: 1; min-width: 300px; display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
[data-theme="evo-loc"] .evo-advantage { background: #fff9f2; padding: 15px; border-radius: 12px; border-bottom: 3px solid var(--evo-orange); text-align: center; box-shadow: 0 3px 8px rgba(0,0,0,.05); }
[data-theme="evo-loc"] .evo-advantage i { color: var(--evo-orange); font-size: 1.5rem; margin-bottom: 10px; display: block; }
[data-theme="evo-loc"] .evo-advantage h3 { font-size: .9rem; margin: 5px 0; color: #222; font-weight: 700; }
[data-theme="evo-loc"] .evo-advantage span { font-size: .75rem; color: #666; line-height: 1.3; display: block; }
@media (min-width: 769px) {
    [data-theme="evo-loc"] .evo-advantages-flex { gap: 50px; }
    [data-theme="evo-loc"] .evo-advantages-intro h2 { font-size: 2.2rem; }
    [data-theme="evo-loc"] .evo-advantage i { font-size: 2rem; }
    [data-theme="evo-loc"] .evo-advantage h3 { font-size: 1.1rem; }
    [data-theme="evo-loc"] .evo-advantage span { font-size: .9rem; }
}

/* ── Vitrine de catégories (fleet_showcase) — RÉEL mesuré (.evo-flotte-
     section) : 3 cartes centrées, largeur fixe 320px, étiquettes +
     description + 2 caractéristiques. ── */
[data-theme="evo-loc"] .evo-showcase { padding: 50px 20px; background: #fdfdfd; }
[data-theme="evo-loc"] .evo-showcase h2 { color: var(--evo-orange); font-size: 2rem; margin: 0 0 40px; }
[data-theme="evo-loc"] .evo-showcase-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 25px; max-width: 1200px; margin: 0 auto; }
[data-theme="evo-loc"] .evo-showcase-card { background: #fff; border: 1px solid #eee; border-radius: 15px; width: 320px; overflow: hidden; transition: .3s; text-align: left; }
[data-theme="evo-loc"] .evo-showcase-card:hover { box-shadow: 0 10px 25px rgba(255,140,0,.15); border-color: var(--evo-orange); }
[data-theme="evo-loc"] .evo-showcase-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 15px; padding: 20px 20px 0; }
[data-theme="evo-loc"] .evo-showcase-tags .tag { background: #fff3e6; color: var(--evo-orange); padding: 4px 10px; border-radius: 20px; font-size: .8rem; font-weight: 700; border: 1px solid #ffe0b3; }
[data-theme="evo-loc"] .evo-showcase-card h3 { color: #333; margin: 0 0 10px; padding: 0 20px; font-size: 1.4rem; }
[data-theme="evo-loc"] .evo-showcase-desc { color: #666; font-size: .95rem; line-height: 1.5; margin: 0 0 20px; padding: 0 20px; }
[data-theme="evo-loc"] .evo-showcase-features { display: flex; justify-content: space-between; border-top: 1px solid #eee; padding: 15px 20px; color: #888; font-size: .9rem; }
[data-theme="evo-loc"] .evo-showcase-features i { color: var(--evo-orange); margin-right: 5px; }
@media (max-width: 768px) { [data-theme="evo-loc"] .evo-showcase-card { width: 100%; } }

/* ── Flotte — cartes à bordure fine + ombre légère (RÉEL mesuré, même
     famille que tpautoloc/top-location/slvpro/gwadacar), 3 colonnes,
     AUCUN prix affiché. ── */
[data-theme="evo-loc"] .evo-fleet { padding: 20px 0 80px; background: var(--evo-fleet-bg, transparent); }
[data-theme="evo-loc"] .evo-fleet-head { text-align: center; margin-bottom: 24px; }
[data-theme="evo-loc"] .evo-fleet h2 { font-size: calc(40px * var(--text-scale, 1)); font-weight: 800; color: var(--page-ink, #000); margin: 0 0 16px; }
[data-theme="evo-loc"] .evo-fleet-lead { max-width: 780px; margin: 0 auto; color: var(--page-ink, #3c4043); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="evo-loc"] .evo-fleet-grid { display: grid; grid-template-columns: repeat(var(--evo-fleet-cols, 3), 1fr); gap: 28px; margin-top: 24px; }
[data-theme="evo-loc"] .evo-fleet-card { background: var(--surface-bg, #fff); border: 1px solid var(--evo-border); border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); padding: 8px; box-sizing: border-box; }
[data-theme="evo-loc"] .evo-fleet-card h3 { font-size: calc(20px * var(--text-scale, 1)); font-weight: 500; color: var(--surface-ink, #1e2022); text-align: center; padding: 3.5px 0; margin: 8px 0 0; text-transform: uppercase; }
[data-theme="evo-loc"] .evo-fleet-card img { width: 100%; display: block; }
[data-theme="evo-loc"] .evo-fleet-illu-generic { height: 160px; display: grid; place-items: center; background: linear-gradient(180deg, #fff, #f5f7fa); }
[data-theme="evo-loc"] .evo-fleet-illu-generic svg { width: 70%; max-width: 220px; height: auto; }
[data-theme="evo-loc"] .evo-fleet-price { font-size: calc(13px * var(--text-scale, 1)); color: var(--surface-ink, #6b7280); font-weight: 600; text-align: center; margin-top: 8px; }
[data-theme="evo-loc"] .evo-fleet-price b { font-family: 'Poppins', sans-serif; font-size: calc(18px * var(--text-scale, 1)); font-weight: 800; color: var(--evo-orange); }
@media (max-width: 991px) { [data-theme="evo-loc"] .evo-fleet-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { [data-theme="evo-loc"] .evo-fleet-grid { grid-template-columns: 1fr; } }

/* ── Bandeau titre page — aplat sombre (RÉEL mesuré #1e2022, même valeur
     que tpautoloc/top-location/slvpro), aucune photo de bandeau par page
     sur le vrai site. ── */
[data-theme="evo-loc"] .evo-page-title { position: relative; padding: 80px 0; text-align: center; background-color: #1e2022; background-size: cover; background-position: center; }
[data-theme="evo-loc"] .evo-page-title[style*="background-image"]::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.45); }
[data-theme="evo-loc"] .evo-page-title .evo-container { position: relative; z-index: 1; display: block; }
[data-theme="evo-loc"] .evo-page-title h1 { color: #fff; font-family: 'Poppins', sans-serif; font-size: calc(35px * var(--text-scale, 1)); font-weight: 400; line-height: 1.2; margin: 0 0 .5rem; }
[data-theme="evo-loc"] .evo-page-title .evo-breadcrumb { color: rgba(255,255,255,.75); font-size: calc(14px * var(--text-scale, 1)); }
[data-theme="evo-loc"] .evo-page-title .evo-breadcrumb a { color: rgba(255,255,255,.9); text-decoration: none; }
[data-theme="evo-loc"] .evo-page-title .evo-breadcrumb .evo-crumb-sep { margin: 0 6px; opacity: .6; }
@media (max-width: 991px) { [data-theme="evo-loc"] .evo-page-title h1 { font-size: calc(24px * var(--text-scale, 1)); } }

/* ── FAQ — accordéon plat, PAS de catégories visibles (RÉEL mesuré). ── */
[data-theme="evo-loc"] .evo-faq { padding: 64px 0; }
[data-theme="evo-loc"] .evo-faq h3 { text-align: center; font-size: calc(28px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 16px; }
[data-theme="evo-loc"] .evo-faq-lead { text-align: center; max-width: 780px; margin: 0 auto 36px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="evo-loc"] .evo-faq-accordion { max-width: 860px; margin: 0 auto; }
[data-theme="evo-loc"] .evo-faq-item { border: 1px solid var(--evo-border); border-radius: calc(6px * var(--radius-scale, 1)); margin-bottom: 10px; overflow: hidden; }
[data-theme="evo-loc"] .evo-faq-q { width: 100%; display: flex; align-items: center; gap: 10px; background: none; border: none; padding: 12px 20px; text-align: left; font-size: calc(14px * var(--text-scale, 1)); font-weight: 500; color: var(--surface-ink, #1e2022); cursor: pointer; font-family: inherit; }
[data-theme="evo-loc"] .evo-faq-q i { color: var(--surface-ink, #1e2022); }
[data-theme="evo-loc"] .evo-faq-a { max-height: 0; overflow: hidden; transition: max-height .25s ease; }
[data-theme="evo-loc"] .evo-faq-a-inner { padding: 0 20px 16px 46px; color: var(--page-ink, #4b5563); font-size: calc(14px * var(--text-scale, 1)); line-height: 1.65; }

/* ── Contact — colonne unique, formulaire blanc bordé (RÉEL mesuré). ── */
[data-theme="evo-loc"] .evo-contact { padding: 64px 0; text-align: center; }
[data-theme="evo-loc"] .evo-contact h3 { font-size: calc(33px * var(--text-scale, 1)); font-weight: 500; color: var(--page-ink, #111); margin: 0 0 10px; }
[data-theme="evo-loc"] .evo-contact-lead { max-width: 700px; margin: 0 auto 40px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="evo-loc"] .evo-contact-form { max-width: 780px; margin: 0 auto; border: 1px solid var(--evo-border); border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); }
[data-theme="evo-loc"] .evo-contact-form-head { background: var(--surface-bg, #f9f9fa); color: var(--surface-ink, #1e2022); font-size: calc(13px * var(--text-scale, 1)); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: 16px 24px; text-align: left; border-bottom: 1px solid var(--evo-border); }
[data-theme="evo-loc"] .evo-contact-form-body { padding: 26px 24px; background: var(--surface-bg, #fff); }
[data-theme="evo-loc"] .evo-contact-field { margin-bottom: 18px; text-align: left; }
[data-theme="evo-loc"] .evo-contact-field label { display: block; font-size: calc(13px * var(--text-scale, 1)); font-weight: 600; color: var(--surface-ink, #1e2022); margin-bottom: 6px; }
[data-theme="evo-loc"] .evo-contact-field input,
[data-theme="evo-loc"] .evo-contact-field textarea { width: 100%; border: 1px solid var(--evo-border); border-radius: calc(6px * var(--radius-scale, 1)); padding: 10px 14px; font-size: calc(14px * var(--text-scale, 1)); font-family: inherit; box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="evo-loc"] .evo-contact-field textarea { min-height: 130px; resize: vertical; }
[data-theme="evo-loc"] .evo-contact-submit { width: 100%; padding: 13px 20px; background: var(--evo-orange); color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; font-size: calc(14px * var(--text-scale, 1)); letter-spacing: .3px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; transition: background .2s; }
[data-theme="evo-loc"] .evo-contact-submit:hover { background: #e07b00; }

/* ── Partenaires — liste simple 1 colonne (RÉEL mesuré, même famille que
     coco-lagon). ── */
[data-theme="evo-loc"] .evo-partners { padding: 64px 0 20px; }
[data-theme="evo-loc"] .evo-partners h2 { font-size: calc(33px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 10px; }
[data-theme="evo-loc"] .evo-partners-lead { max-width: 700px; margin: 0 auto 30px; color: var(--page-ink, #555); font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="evo-loc"] .evo-partner-row { max-width: 900px; margin: 0 auto 40px; padding-bottom: 40px; border-bottom: 1px solid var(--evo-border); }
[data-theme="evo-loc"] .evo-partner-row:last-child { border-bottom: none; }
[data-theme="evo-loc"] .evo-partner-row h3 { margin: 0 0 4px; font-size: calc(22px * var(--text-scale, 1)); }
[data-theme="evo-loc"] .evo-partner-row h3 a { color: var(--evo-orange); text-decoration: none; }
[data-theme="evo-loc"] .evo-partner-loc { display: inline-block; margin-bottom: 14px; font-size: calc(12px * var(--text-scale, 1)); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #888; }
[data-theme="evo-loc"] .evo-partner-body { display: flex; gap: 24px; flex-wrap: wrap; text-align: left; }
[data-theme="evo-loc"] .evo-partner-media { flex: 0 0 280px; max-width: 280px; border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; }
[data-theme="evo-loc"] .evo-partner-media img { width: 100%; display: block; }
[data-theme="evo-loc"] .evo-partner-text { flex: 1; min-width: 240px; }
[data-theme="evo-loc"] .evo-partner-text p { color: var(--page-ink, #4b5563); line-height: 1.7; font-size: calc(14px * var(--text-scale, 1)); margin: 0 0 14px; }
[data-theme="evo-loc"] .evo-partner-cta { display: inline-block; padding: 9px 18px; background: var(--evo-orange); color: #fff; border-radius: calc(6px * var(--radius-scale, 1)); text-decoration: none; font-weight: 700; font-size: calc(12.5px * var(--text-scale, 1)); letter-spacing: .04em; }
[data-theme="evo-loc"] .evo-partner-cta:hover { background: #e07b00; }
[data-theme="evo-loc"] .evo-partners-empty { text-align: center; color: #6b7280; }

/* ── Footer — gris clair, texte sombre (RÉEL mesuré : footer transparent
     sur fond blanc, copyright #f1f1f3). ── */
[data-theme="evo-loc"] #footer.evo-footer { background: #fff; color: var(--evo-ink); }
[data-theme="evo-loc"] .evo-footer-content { padding: 50px 0 30px; }
[data-theme="evo-loc"] .evo-footer-row { display: grid; grid-template-columns: repeat(var(--ftr-cols, 3), 1fr); gap: 32px; }
[data-theme="evo-loc"] .evo-footer-col { position: relative; padding-left: 46px; min-height: 36px; }
[data-theme="evo-loc"] .evo-footer-icon { position: absolute; left: 0; top: 0; width: 36px; text-align: center; color: var(--evo-ink); font-size: calc(30px * var(--text-scale, 1)); }
[data-theme="evo-loc"] .evo-footer-col h3 { color: var(--evo-ink); font-size: calc(16px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 4px; }
[data-theme="evo-loc"] .evo-footer-col p { color: #4b5563; font-size: calc(14px * var(--text-scale, 1)); line-height: 1.6; margin: 0 0 6px; }
[data-theme="evo-loc"] .evo-footer-col p strong { color: var(--evo-ink); }
[data-theme="evo-loc"] .evo-copyright { background: #f1f1f3; padding: 20px 0; }
[data-theme="evo-loc"] .evo-copyright-row { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 14px; }
[data-theme="evo-loc"] .evo-social-copyright { display: flex; gap: 6px; list-style: none; margin: 0; padding: 0; }
[data-theme="evo-loc"] .evo-social-copyright a { width: 32px; height: 32px; border-radius: calc(4px * var(--radius-scale, 1)); background: #5d82d1; color: #fff; display: flex; align-items: center; justify-content: center; font-size: calc(14px * var(--text-scale, 1)); }
[data-theme="evo-loc"] .evo-copyright-text { color: #6b7280; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="evo-loc"] .evo-copyright-text a { color: var(--evo-ink); text-decoration: none; }
[data-theme="evo-loc"] .evo-copyright-text a:hover { color: var(--evo-orange); }
@media (max-width: 767px) { [data-theme="evo-loc"] .evo-footer-row { grid-template-columns: 1fr; } }

/* ── dkmrent.fr — RÉEL mesuré 06/09/2026, même famille "Renter Concept"
   qu'tpautoloc (header blanc 80px, bandeau réservation blanc, cartes flotte
   à bordure fine avec prix affiché en texte plain), accent BLEU #2250FC
   (jamais or/gold ici — mesuré sur le bouton "Rechercher"). ── */
:root { --dkm-gold: #2250fc; --dkm-gold-hover: #1a3fd1; --dkm-ink: #1e2022; --dkm-border: #e4e6ef; }
[data-theme="dkmrent"] .hl { color: var(--dkm-gold-hover); }
[data-theme="dkmrent"] .dkm-eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--dkm-gold-hover); font-weight: 800; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 16px; }
[data-theme="dkmrent"] .dkm-eyebrow::before { content: ""; width: 26px; height: 2px; background: var(--dkm-gold); }
[data-theme="dkmrent"] .dkm-container.dkm-text-center, [data-theme="dkmrent"] section.dkm-faq .dkm-container, [data-theme="dkmrent"] section.dkm-contact .dkm-container { text-align: center; }

[data-theme="dkmrent"] .dkm-header { background: #fff; height: 80px; display: flex; align-items: center; }
[data-theme="dkmrent"] .dkm-header-inner { width: 100%; }
[data-theme="dkmrent"] .dkm-container { width: 100%; max-width: 1141px; padding-inline: 14px; box-sizing: border-box; margin-inline: auto; }
[data-theme="dkmrent"] .dkm-header .dkm-container { display: flex; align-items: center; justify-content: space-between; }
[data-theme="dkmrent"] .dkm-logo img { height: 80px; width: auto; display: block; }
[data-theme="dkmrent"] .dkm-logo-text { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: 1.3rem; color: #000; }
[data-theme="dkmrent"] .dkm-main-menu nav ul { display: flex; gap: 6px; list-style: none; margin: 0; padding: 0; }
[data-theme="dkmrent"] .dkm-main-menu nav a { display: inline-block; padding: 10px 12px; line-height: normal; color: #000; font-size: calc(12px * var(--text-scale, 1)); font-weight: 600; letter-spacing: .6px; text-transform: uppercase; text-decoration: none; }
[data-theme="dkmrent"] .dkm-menu-trigger { display: none; cursor: pointer; }
[data-theme="dkmrent"] .dkm-lines-button { display: block; width: 26px; height: 18px; position: relative; }
[data-theme="dkmrent"] .dkm-lines, [data-theme="dkmrent"] .dkm-lines::before, [data-theme="dkmrent"] .dkm-lines::after { content: ""; display: block; width: 26px; height: 2px; background: #000; position: absolute; left: 0; transition: transform .2s; }
[data-theme="dkmrent"] .dkm-lines { top: 8px; }
[data-theme="dkmrent"] .dkm-lines::before { top: -8px; }
[data-theme="dkmrent"] .dkm-lines::after { top: 8px; }
@media (max-width: 991.98px) {
    [data-theme="dkmrent"] .dkm-menu-trigger { display: block; }
    [data-theme="dkmrent"] .dkm-main-menu { position: absolute; top: 80px; left: 0; right: 0; background: #fff; box-shadow: 0 12px 24px rgba(0,0,0,.08); max-height: 0; overflow: hidden; transition: max-height .25s ease; z-index: 30; }
    [data-theme="dkmrent"] .dkm-main-menu.dkm-open { max-height: 400px; }
    [data-theme="dkmrent"] .dkm-main-menu nav, [data-theme="dkmrent"] .dkm-main-menu ul, [data-theme="dkmrent"] .dkm-main-menu li { height: auto; }
    [data-theme="dkmrent"] .dkm-main-menu nav ul { flex-direction: column; gap: 0; padding: 10px 0; }
    [data-theme="dkmrent"] .dkm-main-menu nav li { padding: 12px 24px; }
}

/* ── Carrousel hero — 4 diapositives réelles, h1 constant + h2 par diapo. ── */
[data-theme="dkmrent"] .dkm-slider { position: relative; height: 72vh; overflow: hidden; background: #111; }
[data-theme="dkmrent"] .dkm-slide { position: absolute; inset: 0; background-size: cover; background-position: 50% 20%; opacity: 0; transition: opacity var(--dkm-slide-transition-ms, 800ms) ease; }
[data-theme="dkmrent"] .dkm-slide.dkm-slide-active { opacity: 1; }
[data-theme="dkmrent"] .dkm-slider::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.295); z-index: 0; }
[data-theme="dkmrent"] .dkm-slider > .dkm-container { position: relative; z-index: 1; height: 100%; display: flex; align-items: center; justify-content: flex-start; }
[data-theme="dkmrent"] .dkm-slide-captions { position: relative; z-index: 1; text-align: left; color: #fff; box-sizing: border-box; width: 100%; padding-bottom: 10px; }
[data-theme="dkmrent"] .dkm-slide-captions h1 { font-size: calc(80px * var(--text-scale, 1)); font-weight: 700; line-height: 1; letter-spacing: .5px; margin: 0 0 30px; color: #fff; }
[data-theme="dkmrent"] .dkm-slide-captions h2 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 700; line-height: 1.36; letter-spacing: .5px; text-transform: uppercase; margin: 0; color: #fff; }
[data-theme="dkmrent"] .dkm-slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 60px; height: 60px; border-radius: 50%; border: none; background: rgba(255,255,255,.15); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
[data-theme="dkmrent"] .dkm-slider-arrow svg { width: 18px; height: 18px; }
[data-theme="dkmrent"] .dkm-slider-arrow-prev { left: 20px; }
[data-theme="dkmrent"] .dkm-slider-arrow-next { right: 20px; }
[data-theme="dkmrent"] .dkm-slider-dots { position: absolute; bottom: 30px; left: 0; right: 0; z-index: 2; display: flex; justify-content: center; gap: 8px; }
[data-theme="dkmrent"] .dkm-slider-dots button { width: 30px; height: 4px; border-radius: 0; border: none; background: #fff; opacity: .5; cursor: pointer; padding: 0; }
[data-theme="dkmrent"] .dkm-slider-dots button.dkm-dot-active { opacity: 1; background: var(--dkm-gold); }

/* ── Formulaire de réservation — pas de bandeau coloré, section blanche. ── */
[data-theme="dkmrent"] .dkm-booking-form { background: #fff; padding: 80px 0 0; }
[data-theme="dkmrent"] .dkm-booking-form-head { text-align: center; margin-bottom: 40px; }
[data-theme="dkmrent"] .dkm-booking-form-head h2 { color: var(--page-ink, #000); font-size: calc(50px * var(--text-scale, 1)); font-weight: 800; line-height: 1.1; letter-spacing: .5px; margin: 0 0 16px; }
[data-theme="dkmrent"] .dkm-booking-form form { padding: 67px 0 14px; }
/* Avec bouton assistant (16 + 44px) : 86px sous la dernière ligne comme en V1 ; sans lui, 58px de marge. */
[data-theme="dkmrent"] .dkm-booking-form form:not(:has(.bwp-booking-guided)) { padding-bottom: 58px; }
[data-theme="dkmrent"] .dkm-booking-form-head p { color: var(--page-ink, #555); font-size: calc(14px * var(--text-scale, 1)); margin: 0; }
[data-theme="dkmrent"] .dkm-seperator { text-align: center; color: #ccc; font-size: 14px; line-height: 1.2; height: 19px; margin: 30px 0; }
[data-theme="dkmrent"] .dkm-form-row { display: grid; grid-template-columns: 352.33fr 257.25fr 162.17fr 257.25fr; gap: 28px; margin-bottom: 28px; }
[data-theme="dkmrent"] .dkm-form-col { box-sizing: border-box; min-width: 0; }
[data-theme="dkmrent"] .dkm-form-col-btn { display: flex; align-items: end; }
[data-theme="dkmrent"] .dkm-booking-form label { display: block; color: #2e2e2e; font-size: calc(12.25px * var(--text-scale, 1)); font-weight: 500; line-height: 23.2px; margin-bottom: 7px; }
[data-theme="dkmrent"] .dkm-form-control { width: 100%; height: 40px; border: 1px solid var(--dkm-border); border-radius: calc(6px * var(--radius-scale, 1)); padding: 7px 14px; font-size: calc(14px * var(--text-scale, 1)); box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="dkmrent"] .dkm-input-group { display: flex; }
[data-theme="dkmrent"] .dkm-input-group .dkm-form-control { border-radius: calc(6px * var(--radius-scale, 1)) 0 0 calc(6px * var(--radius-scale, 1)); border-right: none; }
[data-theme="dkmrent"] .dkm-input-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: none; background: #f9f9fa; border: 1px solid var(--dkm-border); border-radius: 0 calc(6px * var(--radius-scale, 1)) calc(6px * var(--radius-scale, 1)) 0; color: #1e2022; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="dkmrent"] .dkm-btn-search { width: 100%; height: 39px; padding: 12px 18px; line-height: 14px; background: var(--dkm-gold); color: #fff; border: 1px solid var(--dkm-gold); border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 600; text-transform: uppercase; font-size: calc(12px * var(--text-scale, 1)); letter-spacing: .5px; cursor: pointer; transition: background .2s; white-space: nowrap; }
[data-theme="dkmrent"] .dkm-btn-search:hover { background: var(--dkm-gold-hover); }
@media (max-width: 767.98px) { [data-theme="dkmrent"] .dkm-form-row { grid-template-columns: 1fr; } }

/* ── Flotte — cartes à bordure fine + ombre légère (RÉEL mesuré). ── */
[data-theme="dkmrent"] .dkm-fleet { padding: 80px 0; background: var(--dkm-fleet-bg, #fff); }
[data-theme="dkmrent"] .dkm-fleet-head { text-align: center; }
[data-theme="dkmrent"] .dkm-fleet h2 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 800; line-height: 1.1; letter-spacing: .5px; color: var(--page-ink, #000); margin: 0 0 16px; }
[data-theme="dkmrent"] .dkm-fleet-lead { margin: 0 0 14px; color: var(--page-ink, #3c4043); line-height: 1.7; font-size: calc(17.5px * var(--text-scale, 1)); }
[data-theme="dkmrent"] .dkm-fleet-grid { display: grid; grid-template-columns: repeat(var(--dkm-fleet-cols, 3), 1fr); gap: 28px; margin: 40px 0 28px; }
[data-theme="dkmrent"] .dkm-fleet-card { background: var(--surface-bg, #fff); border: 1px solid var(--dkm-border); border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); padding: 7px; box-sizing: border-box; }
[data-theme="dkmrent"] .dkm-fleet-card h3 { font-size: calc(25px * var(--text-scale, 1)); font-weight: 500; line-height: 1.5; letter-spacing: .5px; color: var(--surface-ink, #1e2022); text-align: center; padding: 3.5px 0; margin: 7px 0 12px; }
[data-theme="dkmrent"] .dkm-fleet-card img { width: calc(100% - 42px); margin: 33px 21px 0; display: block; }
[data-theme="dkmrent"] .dkm-fleet-illu-generic { height: 160px; display: grid; place-items: center; background: linear-gradient(180deg, #fff, #f5f7fa); }
[data-theme="dkmrent"] .dkm-fleet-illu-generic svg { width: 70%; max-width: 220px; height: auto; }
[data-theme="dkmrent"] .dkm-fleet-price { font-size: calc(12px * var(--text-scale, 1)); color: var(--surface-ink, #1e2022); font-weight: 500; line-height: 26px; letter-spacing: .5px; text-align: center; margin: 14px 21px 21px; }
@media (max-width: 991.98px) { [data-theme="dkmrent"] .dkm-fleet-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { [data-theme="dkmrent"] .dkm-fleet-grid { grid-template-columns: 1fr; } }

/* ── Bandeau titre page — aplat sombre par défaut, photo réelle si fournie
     (mesuré : FAQ = aplat #1e2022 seul, Contact = vraie photo Guadeloupe). ── */
[data-theme="dkmrent"] .dkm-page-title { position: relative; padding: 80px 0; text-align: center; background-color: #1e2022; background-size: cover; background-position: 0 0; }
[data-theme="dkmrent"] .dkm-page-title .dkm-container { position: relative; z-index: 1; display: block; }
[data-theme="dkmrent"] .dkm-page-title h1 { color: #fff; font-family: 'Poppins', sans-serif; font-size: calc(35px * var(--text-scale, 1)); font-weight: 400; line-height: 1.2; letter-spacing: .5px; margin: 0 0 14px; }
[data-theme="dkmrent"] .dkm-page-title .dkm-breadcrumb { color: #fff; font-size: calc(12px * var(--text-scale, 1)); line-height: 25px; letter-spacing: .5px; }
[data-theme="dkmrent"] .dkm-page-title .dkm-breadcrumb a { color: #fff; text-decoration: none; }
[data-theme="dkmrent"] .dkm-page-title .dkm-breadcrumb .dkm-crumb-sep { margin: 0 6px; opacity: .6; }
@media (max-width: 991.98px) { [data-theme="dkmrent"] .dkm-page-title h1 { font-size: calc(26px * var(--text-scale, 1)); line-height: 34px; } }

/* ── FAQ — accordéon plat, PAS de catégories visibles (RÉEL mesuré). ── */
[data-theme="dkmrent"] .dkm-faq { padding: 80px 0; }
[data-theme="dkmrent"] .dkm-faq h3 { text-align: center; font-size: calc(25px * var(--text-scale, 1)); font-weight: 500; line-height: 1.5; letter-spacing: .5px; color: var(--page-ink, #1e2022); max-width: 923px; margin: 0 auto 12px; }
[data-theme="dkmrent"] .dkm-faq-lead { text-align: center; max-width: 923px; margin: 0 auto 14px; color: var(--page-ink, #3c4043); line-height: 1.7; font-size: calc(14px * var(--text-scale, 1)); }
[data-theme="dkmrent"] .dkm-faq-accordion { max-width: 923px; margin: 30px auto 0; }
[data-theme="dkmrent"] .dkm-faq-item { border: 1px solid var(--dkm-border); border-radius: calc(5px * var(--radius-scale, 1)); margin-bottom: 10px; overflow: hidden; }
[data-theme="dkmrent"] .dkm-faq-q { width: 100%; display: block; background: none; border: none; padding: 12px 20px; text-align: left; font-size: calc(14px * var(--text-scale, 1)); font-weight: 500; line-height: 26px; letter-spacing: .5px; color: var(--surface-ink, #1e2022); cursor: pointer; font-family: inherit; }
[data-theme="dkmrent"] .dkm-faq-q i { color: var(--surface-ink, #1e2022); margin-right: 8px; }
[data-theme="dkmrent"] .dkm-faq-q { position: relative; padding-right: 30px; }
/* « + » fin à droite de chaque question (V1), sa barre verticale disparaît à l'ouverture. */
[data-theme="dkmrent"] .dkm-faq-q::after { content: ""; position: absolute; right: 20px; top: 18px; width: 13px; height: 13px; background: linear-gradient(currentColor, currentColor) center / 13px 1.5px no-repeat, linear-gradient(currentColor, currentColor) center / 1.5px 13px no-repeat; }
[data-theme="dkmrent"] .dkm-faq-item.dkm-open .dkm-faq-q::after { background: linear-gradient(currentColor, currentColor) center / 13px 1.5px no-repeat; }
[data-theme="dkmrent"] .dkm-faq-a { max-height: 0; overflow: hidden; transition: max-height .25s ease; }
[data-theme="dkmrent"] .dkm-faq-a-inner { text-align: left; padding: 0 20px 12px; color: var(--page-ink, #3c4043); font-size: calc(14px * var(--text-scale, 1)); line-height: 23.2px; }
/* CGV / CGU (V1) : titre aligné à gauche, articles en accordéon. */
[data-theme="dkmrent"] .dkm-legal h3 { text-align: left; }
/* Paragraphes enchaînés sans espace (simples retours à la ligne en V1). */
[data-theme="dkmrent"] .dkm-legal-body p { margin: 0; }
[data-theme="dkmrent"] .dkm-legal-body > :last-child { margin-bottom: 0; }
[data-theme="dkmrent"] .dkm-legal-body h4 { margin: 14px 0 8px; font-size: calc(15px * var(--text-scale, 1)); font-weight: 600; color: var(--surface-ink, #1e2022); }
[data-theme="dkmrent"] .dkm-legal-body h4.dkm-legal-h--sub { font-size: calc(14px * var(--text-scale, 1)); font-weight: 600; color: #3c4043; }
[data-theme="dkmrent"] .dkm-legal-body ul { margin: 0; padding-left: 20px; }
[data-theme="dkmrent"] .dkm-legal-prices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; margin: 6px 0 12px; }
[data-theme="dkmrent"] .dkm-legal-prices div { display: flex; justify-content: space-between; gap: 10px; padding: 3px 0; border-bottom: 1px dashed var(--dkm-border); }
[data-theme="dkmrent"] .dkm-legal-prices dd { margin: 0; font-weight: 600; white-space: nowrap; color: var(--surface-ink, #1e2022); }
[data-theme="dkmrent"] .dkm-legal-table-wrap { overflow-x: auto; margin: 6px 0 12px; }
[data-theme="dkmrent"] .dkm-legal-table { width: 100%; border-collapse: collapse; }
[data-theme="dkmrent"] .dkm-legal-table th, [data-theme="dkmrent"] .dkm-legal-table td { border: 1px solid var(--dkm-border); padding: 6px 10px; text-align: left; }
[data-theme="dkmrent"] .dkm-legal-callout { font-style: italic; }
@media (max-width: 640px) { [data-theme="dkmrent"] .dkm-legal-prices { grid-template-columns: 1fr; } }

/* ── Contact — colonne unique, formulaire blanc bordé (RÉEL mesuré). Le
     bandeau "Rédigez votre message" est blanc-sur-blanc sur le vrai site
     (bug flagrant, illisible) — rendu ici en eyebrow sombre visible, seule
     correction apportée (voir CLAUDE.md "AUDIT PIXEL-PERFECT" point 6). ── */
[data-theme="dkmrent"] .dkm-contact { padding: 80px 0; text-align: center; }
[data-theme="dkmrent"] .dkm-contact h3 { font-size: calc(33px * var(--text-scale, 1)); font-weight: 500; line-height: 45px; letter-spacing: .5px; color: var(--page-ink, #1e2022); margin: 0 0 16px; }
/* 34em : retour à la ligne après « ci-dessous », comme le <br> de la V1. */
[data-theme="dkmrent"] .dkm-contact-lead { max-width: 34em; margin: 0 auto 14px; color: var(--page-ink, #3c4043); line-height: 1.7; font-size: calc(18.2px * var(--text-scale, 1)); }
[data-theme="dkmrent"] .dkm-contact-form { max-width: 733px; margin: 93px auto 0; }
/* Intitulé blanc sur blanc en V1 : seul l'espace occupé (62px + 8px) est reproduit. */
[data-theme="dkmrent"] .dkm-contact-form-head { visibility: hidden; height: 62px; margin: 0 0 8px; }
[data-theme="dkmrent"] .dkm-contact-form-body { padding: 0; }
[data-theme="dkmrent"] .dkm-contact-row { display: grid; grid-template-columns: 1fr 1fr; column-gap: 28px; margin-bottom: 10px; }
[data-theme="dkmrent"] .dkm-contact-row .dkm-contact-field { margin: 20px 0 14px; }
[data-theme="dkmrent"] .dkm-contact-field { margin: 0 0 24px; text-align: left; }
[data-theme="dkmrent"] .dkm-contact-field label { display: block; font-size: calc(12.25px * var(--text-scale, 1)); font-weight: 500; line-height: 23.2px; color: #2e2e2e; margin-bottom: 7px; }
[data-theme="dkmrent"] .dkm-contact-field input,
[data-theme="dkmrent"] .dkm-contact-field textarea { width: 100%; border: 1px solid var(--dkm-border); border-radius: calc(6px * var(--radius-scale, 1)); padding: 7px 14px; font-size: calc(14px * var(--text-scale, 1)); font-family: inherit; box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="dkmrent"] .dkm-contact-field input { height: 40px; }
[data-theme="dkmrent"] .dkm-contact-field textarea { display: block; height: 120px; min-height: 120px; resize: vertical; }
[data-theme="dkmrent"] .dkm-contact-submit { width: 100%; height: 39px; margin-top: 106px; padding: 12px 18px; line-height: 14px; background: #2250fc; color: #fff; border: 1px solid #2250fc; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 600; font-size: calc(12px * var(--text-scale, 1)); letter-spacing: .5px; text-transform: uppercase; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 19px; transition: background .2s; }
[data-theme="dkmrent"] .dkm-contact-submit:hover { background: #1a3fd1; }

/* ── Footer — gris clair, texte/titres normalement blancs sur le vrai site
     (bug flagrant, illisibles sur ce fond clair) — corrigé en sombre ici,
     icônes déjà sombres et visibles sans changement (voir point 6). ── */
[data-theme="dkmrent"] #footer.dkm-footer { background: #f9f9fa; color: var(--dkm-ink); }
[data-theme="dkmrent"] .dkm-footer-content { padding: 60px 0 40px; }
[data-theme="dkmrent"] .dkm-footer-row { display: grid; grid-template-columns: repeat(var(--ftr-cols, 3), 1fr); gap: 0 28px; }
[data-theme="dkmrent"] .dkm-footer-col { position: relative; margin-bottom: 50px; }
[data-theme="dkmrent"] .dkm-footer-icon { position: absolute; left: 0; top: 0; width: 46px; height: 46px; color: #333; font-size: calc(36px * var(--text-scale, 1)); }
[data-theme="dkmrent"] .dkm-footer-icon i { display: block; width: 46px; height: 46px; line-height: 47px; }
[data-theme="dkmrent"] .dkm-footer-col h3 { color: var(--dkm-ink); font-size: calc(18px * var(--text-scale, 1)); font-weight: 700; line-height: 25px; margin: 0 12px 4px 60px; }
[data-theme="dkmrent"] .dkm-footer-col p { color: #3c4043; font-size: calc(14px * var(--text-scale, 1)); line-height: 1.6; margin: 0 0 20px 60px; }
[data-theme="dkmrent"] .dkm-footer-col p strong { color: var(--dkm-ink); }
[data-theme="dkmrent"] .dkm-copyright { background: #f1f1f3; padding: 30px 0; }
[data-theme="dkmrent"] .dkm-copyright-row { display: grid; grid-template-columns: 257.25fr 827.75fr; column-gap: 28px; }
[data-theme="dkmrent"] .dkm-copyright-text { grid-column: 2; text-align: center; color: #3c4043; font-size: calc(13px * var(--text-scale, 1)); line-height: 32px; }
[data-theme="dkmrent"] .dkm-copyright-text a { color: #3c4043; text-decoration: none; }
[data-theme="dkmrent"] .dkm-copyright-text a:hover { color: var(--dkm-gold-hover); }
@media (max-width: 767.98px) { [data-theme="dkmrent"] .dkm-footer-row { grid-template-columns: 1fr; } [data-theme="dkmrent"] .dkm-copyright-row { grid-template-columns: 1fr; } [data-theme="dkmrent"] .dkm-copyright-text { grid-column: 1; } }

/* dkmrent sous 992px (paliers Bootstrap de la V1) : conteneur 720px, logo centré,
   légendes centrées, formulaire sur 2 colonnes, une voiture par ligne. */
@media (max-width: 991.98px) {
    [data-theme="dkmrent"] .dkm-container { max-width: 720px; padding-inline: 30px; }
    [data-theme="dkmrent"] .dkm-header .dkm-container { justify-content: center; position: relative; }
    [data-theme="dkmrent"] .dkm-menu-trigger { position: absolute; right: 30px; top: 50%; transform: translateY(-50%); }
    [data-theme="dkmrent"] .dkm-slide-captions { padding: 6px 10px 0; text-align: center; }
    [data-theme="dkmrent"] .dkm-slide-captions h1 { font-size: calc(40px * var(--text-scale, 1)); margin-bottom: 14px; }
    [data-theme="dkmrent"] .dkm-slide-captions h2 { line-height: 40px; }
    [data-theme="dkmrent"] .dkm-form-row { grid-template-columns: 1fr 1fr; row-gap: 7px; }
    [data-theme="dkmrent"] .dkm-form-col-btn { grid-column: 1 / -1; padding-top: 30px; }
    /* 4e champ du départ sur toute la largeur, comme le code promo de la V1. */
    [data-theme="dkmrent"] .dkm-form-row:first-of-type > :nth-child(4) { grid-column: 1 / -1; }
    [data-theme="dkmrent"] .dkm-btn-search { height: 32px; padding: 0 14px; line-height: 30px; }
    [data-theme="dkmrent"] .dkm-fleet-grid { grid-template-columns: 1fr; }
    /* Copyright : colonne de 9/12 alignée à gauche, sans le décalage de 3/12 de l'ordinateur. */
    [data-theme="dkmrent"] .dkm-copyright-row { display: block; }
    [data-theme="dkmrent"] .dkm-copyright-text { width: calc((100% + 28px) * .75 - 28px); }
}

/* dkmrent sur mobile (mesuré sur la V1 à 390px et 600px) : conteneur 540px, bandeau
   360px, titres réduits, formulaire sur une colonne. */
@media (max-width: 767.98px) {
    [data-theme="dkmrent"] .dkm-container { max-width: 540px; }
    [data-theme="dkmrent"] .dkm-slider { height: 360px; }
    [data-theme="dkmrent"] .dkm-form-row { grid-template-columns: 1fr; }
    [data-theme="dkmrent"] .dkm-fleet-lead { font-size: calc(19px * var(--text-scale, 1)); line-height: 32px; }
    [data-theme="dkmrent"] .dkm-slide-captions h2 { font-size: calc(30px * var(--text-scale, 1)); }
    [data-theme="dkmrent"] .dkm-booking-form-head h2, [data-theme="dkmrent"] .dkm-fleet h2 { font-size: calc(30px * var(--text-scale, 1)); line-height: 33px; }
    [data-theme="dkmrent"] .dkm-fleet-card h3 { font-size: calc(19px * var(--text-scale, 1)); line-height: 35.29px; }
    [data-theme="dkmrent"] .dkm-faq h3 { font-size: calc(19px * var(--text-scale, 1)); line-height: 35.29px; }
    [data-theme="dkmrent"] .dkm-contact h3 { font-size: calc(25px * var(--text-scale, 1)); line-height: 37.5px; }
    [data-theme="dkmrent"] .dkm-contact-row { grid-template-columns: 1fr; }
    [data-theme="dkmrent"] .dkm-contact-submit { height: 32px; padding: 0 14px; line-height: 30px; }
}

/* ── pacificar.fr — RÉEL mesuré 06/09/2026. Thème V1 DIFFÉRENT du reste de
   la famille "Renter Concept"/Inspiro (CGV à 9 articles propres, pas les 21
   articles habituels) mais mêmes conventions visuelles de base : header
   TRANSPARENT EN OVERLAY (comme gwadacar) + un TOPBAR supplémentaire au-
   dessus (bandeau téléphone "Contact: ..." — INÉDIT dans ce chantier,
   jamais vu ailleurs), accent OR #FFC107 (comme clickcar/tpautoloc, pas le
   bleu de gwadacar). Hero : h1 ET h2 varient TOUS LES DEUX par diapositive
   (comme gwadacar, slides[].caption+subcaption), 5 vraies diapositives.
   Pages A propos/Services/Témoignages reprennent le patron clickcar
   (about_photo/advantages/testimonials), jamais utilisé par gwadacar. ── */
:root { --pac-accent: #ffc107; --pac-accent-hover: #e0a800; --pac-ink: #1e2022; --pac-border: #e4e6ef; }
[data-theme="pacificar"] .hl { color: var(--pac-accent); }
[data-theme="pacificar"] .pac-eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--pac-accent); font-weight: 800; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 16px; }
[data-theme="pacificar"] .pac-eyebrow::before { content: ""; width: 26px; height: 2px; background: var(--pac-accent); }

[data-theme="pacificar"] .pac-topbar { position: absolute; top: 0; left: 0; right: 0; z-index: 31; padding: 10px 0; }
[data-theme="pacificar"] .pac-topbar .pac-container { display: flex; }
[data-theme="pacificar"] .pac-topbar a { color: #fff; font-size: calc(13px * var(--text-scale, 1)); font-weight: 600; text-decoration: none; }
[data-theme="pacificar"] .pac-header { position: absolute; top: 38px; left: 0; right: 0; z-index: 30; background: transparent; height: 80px; display: flex; align-items: center; }
[data-theme="pacificar"] .pac-header-inner { width: 100%; }
[data-theme="pacificar"] .pac-container { width: min(1180px, 92%); margin-inline: auto; }
[data-theme="pacificar"] .pac-header .pac-container { display: flex; align-items: center; justify-content: space-between; }
[data-theme="pacificar"] .pac-logo img { height: 46px; display: block; }
[data-theme="pacificar"] .pac-logo-text { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: 1.5rem; letter-spacing: .04em; color: #fff; }
[data-theme="pacificar"] .pac-main-menu nav ul { display: flex; gap: 34px; list-style: none; margin: 0; padding: 0; }
[data-theme="pacificar"] .pac-main-menu nav a { color: #fff; font-size: calc(12px * var(--text-scale, 1)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
[data-theme="pacificar"] .pac-main-menu nav li.pac-active a { color: var(--pac-accent); }
[data-theme="pacificar"] .pac-menu-trigger { display: none; cursor: pointer; }
[data-theme="pacificar"] .pac-lines-button { display: block; width: 26px; height: 18px; position: relative; }
[data-theme="pacificar"] .pac-lines, [data-theme="pacificar"] .pac-lines::before, [data-theme="pacificar"] .pac-lines::after { content: ""; display: block; width: 26px; height: 2px; background: #fff; position: absolute; left: 0; transition: transform .2s; }
[data-theme="pacificar"] .pac-lines { top: 8px; }
[data-theme="pacificar"] .pac-lines::before { top: -8px; }
[data-theme="pacificar"] .pac-lines::after { top: 8px; }
@media (max-width: 991px) {
    [data-theme="pacificar"] .pac-menu-trigger { display: block; }
    [data-theme="pacificar"] .pac-main-menu { position: absolute; top: 80px; left: 0; right: 0; background: #fff; box-shadow: 0 12px 24px rgba(0,0,0,.08); max-height: 0; overflow: hidden; transition: max-height .25s ease; z-index: 30; }
    [data-theme="pacificar"] .pac-main-menu.pac-open { max-height: 400px; }
    [data-theme="pacificar"] .pac-main-menu nav, [data-theme="pacificar"] .pac-main-menu ul, [data-theme="pacificar"] .pac-main-menu li { height: auto; }
    [data-theme="pacificar"] .pac-main-menu.pac-open nav a { color: #1e2022; }
    [data-theme="pacificar"] .pac-main-menu nav ul { flex-direction: column; gap: 0; padding: 10px 0; }
    [data-theme="pacificar"] .pac-main-menu nav li { padding: 12px 24px; }
}

/* ── Carrousel hero — 5 diapositives réelles, h1 ET h2 VARIENT tous les
     deux par diapositive (contrairement à toute la famille tpautoloc/
     top-location/slvpro où h1 est constant) — voir hero.blade.php,
     slides[].caption (h1) + slides[].subcaption (h2, additif). ── */
[data-theme="pacificar"] .pac-slider { position: relative; height: 648px; min-height: 320px; overflow: hidden; background: #111; }
[data-theme="pacificar"] .pac-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity var(--pac-slide-transition-ms, 800ms) ease; }
[data-theme="pacificar"] .pac-slide.pac-slide-active { opacity: 1; }
[data-theme="pacificar"] .pac-slider::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.3); z-index: 0; }
[data-theme="pacificar"] .pac-slider > .pac-container { position: relative; z-index: 1; height: 100%; display: flex; align-items: center; justify-content: flex-start; }
[data-theme="pacificar"] .pac-slide-captions { position: relative; z-index: 1; text-align: left; color: #fff; box-sizing: border-box; width: 100%; }
[data-theme="pacificar"] .pac-slide-captions h1 { font-size: calc(80px * var(--text-scale, 1)); font-weight: 700; line-height: 1; margin: 0 0 20px; color: #fff; }
[data-theme="pacificar"] .pac-slide-captions h2 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 700; line-height: 1.2; margin: 0; color: #fff; text-transform: uppercase; }
[data-theme="pacificar"] .pac-slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 60px; height: 60px; border-radius: 50%; border: none; background: rgba(255,255,255,.15); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
[data-theme="pacificar"] .pac-slider-arrow svg { width: 18px; height: 18px; }
[data-theme="pacificar"] .pac-slider-arrow-prev { left: 20px; }
[data-theme="pacificar"] .pac-slider-arrow-next { right: 20px; }
[data-theme="pacificar"] .pac-slider-dots { position: absolute; bottom: 30px; left: 0; right: 0; z-index: 2; display: flex; justify-content: center; gap: 8px; }
[data-theme="pacificar"] .pac-slider-dots button { width: 30px; height: 4px; border-radius: 0; border: none; background: #fff; opacity: .5; cursor: pointer; padding: 0; }
[data-theme="pacificar"] .pac-slider-dots button.pac-dot-active { opacity: 1; background: var(--pac-accent); }

/* ── Formulaire de réservation — section blanche, bouton bleu. ── */
[data-theme="pacificar"] .pac-booking-form { background: #fff; padding: 60px 0 20px; }
[data-theme="pacificar"] .pac-booking-form-head { text-align: center; margin-bottom: 40px; }
[data-theme="pacificar"] .pac-booking-form-head h2 { color: var(--page-ink, #000); font-size: calc(50px * var(--text-scale, 1)); font-weight: 800; margin: 0 0 16px; }
[data-theme="pacificar"] .pac-booking-form-head p { color: var(--page-ink, #555); font-size: calc(14px * var(--text-scale, 1)); margin: 0; }
[data-theme="pacificar"] .pac-seperator { text-align: center; color: #ccc; font-size: 18px; margin: 0 0 22px; }
[data-theme="pacificar"] .pac-form-row { display: grid; grid-template-columns: 4fr 3fr 2fr 3fr; gap: 8px 14px; margin-bottom: 8px; }
[data-theme="pacificar"] .pac-form-col { box-sizing: border-box; min-width: 0; }
[data-theme="pacificar"] .pac-form-col-btn { display: flex; align-items: end; }
[data-theme="pacificar"] .pac-booking-form label { display: block; color: #2e2e2e; font-size: calc(12.25px * var(--text-scale, 1)); font-weight: 500; margin-bottom: 7px; }
[data-theme="pacificar"] .pac-form-control { width: 100%; height: 40px; border: 1px solid var(--pac-border); border-radius: calc(6px * var(--radius-scale, 1)); padding: 7px 14px; font-size: calc(14px * var(--text-scale, 1)); box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="pacificar"] .pac-input-group { display: flex; }
[data-theme="pacificar"] .pac-input-group .pac-form-control { border-radius: calc(6px * var(--radius-scale, 1)) 0 0 calc(6px * var(--radius-scale, 1)); border-right: none; }
[data-theme="pacificar"] .pac-input-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: none; background: #f9f9fa; border: 1px solid var(--pac-border); border-radius: 0 calc(6px * var(--radius-scale, 1)) calc(6px * var(--radius-scale, 1)) 0; color: #1e2022; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="pacificar"] .pac-btn-search { width: 100%; height: 40px; padding: 0 20px; background: var(--pac-accent); color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; text-transform: uppercase; font-size: calc(13px * var(--text-scale, 1)); letter-spacing: .5px; cursor: pointer; transition: background .2s; white-space: nowrap; }
[data-theme="pacificar"] .pac-btn-search:hover { background: var(--pac-accent-hover); }
@media (max-width: 767px) { [data-theme="pacificar"] .pac-form-row { grid-template-columns: 1fr; } }

/* ── Flotte — 4 catégories, cartes bordure fine (RÉEL mesuré, 3 colonnes). ── */
[data-theme="pacificar"] .pac-fleet { padding: 20px 0 80px; background: var(--pac-fleet-bg, transparent); }
[data-theme="pacificar"] .pac-fleet-head { text-align: center; margin-bottom: 24px; }
[data-theme="pacificar"] .pac-fleet h2 { font-size: calc(40px * var(--text-scale, 1)); font-weight: 800; color: var(--page-ink, #000); margin: 0 0 16px; }
[data-theme="pacificar"] .pac-fleet-lead { max-width: 780px; margin: 0 auto; color: var(--page-ink, #3c4043); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="pacificar"] .pac-fleet-grid { display: grid; grid-template-columns: repeat(var(--pac-fleet-cols, 3), 1fr); gap: 28px; margin-top: 24px; }
[data-theme="pacificar"] .pac-fleet-card { background: var(--surface-bg, #fff); border: 1px solid var(--pac-border); border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); padding: 8px; box-sizing: border-box; }
[data-theme="pacificar"] .pac-fleet-card h3 { font-size: calc(20px * var(--text-scale, 1)); font-weight: 700; color: var(--surface-ink, #1e2022); text-align: center; padding: 3.5px 0; margin: 8px 0 0; text-transform: uppercase; }
[data-theme="pacificar"] .pac-fleet-card img { width: 100%; display: block; }
[data-theme="pacificar"] .pac-fleet-illu-generic { height: 160px; display: grid; place-items: center; background: linear-gradient(180deg, #fff, #f5f7fa); }
[data-theme="pacificar"] .pac-fleet-illu-generic svg { width: 70%; max-width: 220px; height: auto; }
[data-theme="pacificar"] .pac-fleet-price { font-size: calc(13px * var(--text-scale, 1)); color: var(--surface-ink, #6b7280); font-weight: 600; text-align: center; margin-top: 8px; }
@media (max-width: 991px) { [data-theme="pacificar"] .pac-fleet-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { [data-theme="pacificar"] .pac-fleet-grid { grid-template-columns: 1fr; } }

/* ── Bandeau titre page — aplat sombre par défaut, photo réelle si fournie
     (mesuré : FAQ = aplat seul, Contact = vraie photo) — header transparent
     déjà en overlay au-dessus (voir .pac-header), pas besoin de padding
     supplémentaire ici. ── */
[data-theme="pacificar"] .pac-page-title { position: relative; padding: 140px 0 80px; text-align: center; background-color: #1e2022; background-size: cover; background-position: center; }
[data-theme="pacificar"] .pac-page-title[style*="background-image"]::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.45); }
[data-theme="pacificar"] .pac-page-title .pac-container { position: relative; z-index: 1; display: block; }
[data-theme="pacificar"] .pac-page-title h1 { color: #fff; font-family: 'Poppins', sans-serif; font-size: calc(35px * var(--text-scale, 1)); font-weight: 400; line-height: 1.2; margin: 0 0 .5rem; }
[data-theme="pacificar"] .pac-page-title .pac-breadcrumb { color: rgba(255,255,255,.75); font-size: calc(14px * var(--text-scale, 1)); }
[data-theme="pacificar"] .pac-page-title .pac-breadcrumb a { color: rgba(255,255,255,.9); text-decoration: none; }
[data-theme="pacificar"] .pac-page-title .pac-breadcrumb .pac-crumb-sep { margin: 0 6px; opacity: .6; }
@media (max-width: 991px) { [data-theme="pacificar"] .pac-page-title h1 { font-size: calc(24px * var(--text-scale, 1)); } }

/* ── FAQ — accordéon plat. ── */
[data-theme="pacificar"] .pac-faq { padding: 64px 0; }
[data-theme="pacificar"] .pac-faq h3 { text-align: center; font-size: calc(28px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 16px; }
[data-theme="pacificar"] .pac-faq-lead { text-align: center; max-width: 780px; margin: 0 auto 36px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="pacificar"] .pac-faq-accordion { max-width: 860px; margin: 0 auto; }
[data-theme="pacificar"] .pac-faq-item { border: 1px solid var(--pac-border); border-radius: calc(6px * var(--radius-scale, 1)); margin-bottom: 10px; overflow: hidden; }
[data-theme="pacificar"] .pac-faq-q { width: 100%; display: flex; align-items: center; gap: 10px; background: none; border: none; padding: 12px 20px; text-align: left; font-size: calc(14px * var(--text-scale, 1)); font-weight: 500; color: var(--surface-ink, #1e2022); cursor: pointer; font-family: inherit; }
[data-theme="pacificar"] .pac-faq-q i { color: var(--surface-ink, #1e2022); }
[data-theme="pacificar"] .pac-faq-a { max-height: 0; overflow: hidden; transition: max-height .25s ease; }
[data-theme="pacificar"] .pac-faq-a-inner { padding: 0 20px 16px 46px; color: var(--page-ink, #4b5563); font-size: calc(14px * var(--text-scale, 1)); line-height: 1.65; }

/* ── Contact — colonne unique. Eyebrow "Rédigez votre message" blanc-sur-
     blanc sur le vrai site (bug flagrant) — corrigé en visible (voir
     CLAUDE.md "AUDIT PIXEL-PERFECT" point 6). Bouton Envoyer BLEU (même
     accent que "Rechercher", rgb(34,80,252), RÉEL mesuré). ── */
[data-theme="pacificar"] .pac-contact { padding: 64px 0; text-align: center; }
[data-theme="pacificar"] .pac-contact h3 { font-size: calc(33px * var(--text-scale, 1)); font-weight: 500; color: var(--page-ink, #111); margin: 0 0 10px; }
[data-theme="pacificar"] .pac-contact-lead { max-width: 700px; margin: 0 auto 40px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="pacificar"] .pac-contact-form { max-width: 780px; margin: 0 auto; border: 1px solid var(--pac-border); border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); }
[data-theme="pacificar"] .pac-contact-form-head { background: var(--surface-bg, #f9f9fa); color: var(--surface-ink, #1e2022); font-size: calc(13px * var(--text-scale, 1)); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: 16px 24px; text-align: left; border-bottom: 1px solid var(--pac-border); }
[data-theme="pacificar"] .pac-contact-form-body { padding: 26px 24px; background: var(--surface-bg, #fff); }
[data-theme="pacificar"] .pac-contact-field { margin-bottom: 18px; text-align: left; }
[data-theme="pacificar"] .pac-contact-field label { display: block; font-size: calc(13px * var(--text-scale, 1)); font-weight: 600; color: var(--surface-ink, #1e2022); margin-bottom: 6px; }
[data-theme="pacificar"] .pac-contact-field input,
[data-theme="pacificar"] .pac-contact-field textarea { width: 100%; border: 1px solid var(--pac-border); border-radius: calc(6px * var(--radius-scale, 1)); padding: 10px 14px; font-size: calc(14px * var(--text-scale, 1)); font-family: inherit; box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="pacificar"] .pac-contact-field textarea { min-height: 130px; resize: vertical; }
[data-theme="pacificar"] .pac-contact-submit { width: 100%; padding: 13px 20px; background: var(--pac-accent); color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; font-size: calc(14px * var(--text-scale, 1)); letter-spacing: .3px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; transition: background .2s; }
[data-theme="pacificar"] .pac-contact-submit:hover { background: var(--pac-accent-hover); }

/* ── Footer — gris clair, texte/titres normalement blancs sur le vrai site
     (bug flagrant, illisibles) — corrigé en sombre ici. ── */
[data-theme="pacificar"] #footer.pac-footer { background: #f9f9fa; color: var(--pac-ink); }
[data-theme="pacificar"] .pac-footer-content { padding: 50px 0 30px; }
[data-theme="pacificar"] .pac-footer-row { display: grid; grid-template-columns: repeat(var(--ftr-cols, 3), 1fr); gap: 32px; }
[data-theme="pacificar"] .pac-footer-col { position: relative; padding-left: 46px; min-height: 36px; }
[data-theme="pacificar"] .pac-footer-icon { position: absolute; left: 0; top: 0; width: 36px; text-align: center; color: var(--pac-ink); font-size: calc(30px * var(--text-scale, 1)); }
[data-theme="pacificar"] .pac-footer-col h3 { color: var(--pac-ink); font-size: calc(16px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 4px; }
[data-theme="pacificar"] .pac-footer-col p { color: #4b5563; font-size: calc(14px * var(--text-scale, 1)); line-height: 1.6; margin: 0 0 6px; }
[data-theme="pacificar"] .pac-footer-col p strong { color: var(--pac-ink); }
[data-theme="pacificar"] .pac-copyright { background: #f1f1f3; padding: 20px 0; }
[data-theme="pacificar"] .pac-copyright-row { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 14px; }
[data-theme="pacificar"] .pac-copyright-text { color: #6b7280; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="pacificar"] .pac-copyright-text a { color: var(--pac-ink); text-decoration: none; }
[data-theme="pacificar"] .pac-copyright-text a:hover { color: var(--pac-accent); }
@media (max-width: 767px) { [data-theme="pacificar"] .pac-footer-row { grid-template-columns: 1fr; } }
/* ── A propos (2 colonnes 7/5, texte + photo) ── */
[data-theme="pacificar"] .pac-about { padding: 64px 0; }
[data-theme="pacificar"] .pac-about-row { display: grid; grid-template-columns: 58.33% 41.67%; gap: 0 30px; align-items: start; }
[data-theme="pacificar"] .pac-eyebrow { display: inline-block; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: calc(.78rem * var(--text-scale, 1)); letter-spacing: .12em; text-transform: uppercase; color: var(--pac-accent); margin-bottom: 10px; }
[data-theme="pacificar"] .pac-about-text h2 .hl { color: var(--pac-accent); }
[data-theme="pacificar"] .pac-about-text h2 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 800; color: var(--page-ink, #000); margin: 0 0 16px; }
[data-theme="pacificar"] .pac-about-text p { font-size: calc(14px * var(--text-scale, 1)); color: var(--page-ink, #3c4043); line-height: 23.8px; }
[data-theme="pacificar"] .pac-about-photo img { width: 100%; border-radius: calc(4px * var(--radius-scale, 1)); }
@media (max-width: 991px) {
    [data-theme="pacificar"] .pac-about-row { grid-template-columns: 1fr; }
    [data-theme="pacificar"] .pac-about-text h2 { font-size: calc(32px * var(--text-scale, 1)); }
    [data-theme="pacificar"] .pac-about-photo { margin-top: 24px; }
}

/* ── Services (grille icon-box centrée) ── */
[data-theme="pacificar"] .pac-advantages { padding: 64px 0; }
[data-theme="pacificar"] .pac-advantages h2 { font-size: calc(48px * var(--text-scale, 1)); font-weight: 500; color: var(--page-ink, #1e2022); margin: 0 0 40px; }
[data-theme="pacificar"] .pac-advantages-lead { max-width: 780px; margin: 0 auto 30px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="pacificar"] .pac-advantages-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 30px; text-align: center; }
[data-theme="pacificar"] .pac-advantage-icon { width: 64px; height: 64px; margin: 0 auto 22px; border: 3px solid var(--page-ink, #333); border-radius: 50%; display: flex; align-items: center; justify-content: center; }
[data-theme="pacificar"] .pac-advantage-icon i { font-size: calc(28px * var(--text-scale, 1)); color: inherit; }
[data-theme="pacificar"] .pac-advantage h3 { font-size: calc(16px * var(--text-scale, 1)); font-weight: 700; line-height: 25px; color: var(--page-ink, #1e2022); margin: 0 0 15px; }
[data-theme="pacificar"] .pac-advantage p { font-size: calc(16px * var(--text-scale, 1)); line-height: 28px; font-weight: 400; color: var(--page-ink, #3c4043); margin: 0; }
@media (max-width: 991px) { [data-theme="pacificar"] .pac-advantages-grid { grid-template-columns: 1fr; } }

/* ── Témoignages (liste empilée, PAS une grille de cartes) ── */
[data-theme="pacificar"] .pac-testimonials { padding: 64px 0; }
[data-theme="pacificar"] .pac-testimonials h2 { font-size: calc(33px * var(--text-scale, 1)); font-weight: 500; color: var(--page-ink, #1e2022); margin: 0 0 16px; }
[data-theme="pacificar"] .pac-testimonials-lead { max-width: 820px; margin: 0 auto 40px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="pacificar"] .pac-testimonials-list { max-width: 780px; margin: 0 auto; }
[data-theme="pacificar"] .pac-testimonials-list hr { border: none; border-top: 1px solid #e5e5e5; margin: 40px 0; }
[data-theme="pacificar"] .pac-testimonial-photo { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; margin: 0 auto 12px; display: block; }
[data-theme="pacificar"] .pac-testimonial-date { font-size: calc(14px * var(--text-scale, 1)); color: #888; margin-bottom: 8px; }
[data-theme="pacificar"] .pac-testimonial-stars { color: #e5e5e5; font-size: calc(15px * var(--text-scale, 1)); margin-bottom: 12px; }
[data-theme="pacificar"] .pac-testimonial-stars .pac-star-filled { color: #ffc107; }
[data-theme="pacificar"] .pac-testimonial h3 { font-size: calc(18px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 10px; }
[data-theme="pacificar"] .pac-testimonial p { font-size: calc(20px * var(--text-scale, 1)); font-weight: 300; color: var(--page-ink, #333); line-height: 1.6; margin: 0; }
[data-theme="pacificar"] .pac-about-cta { margin-top: 10px; }
[data-theme="pacificar"] .pac-btn-info { display: inline-block; padding: 12px 18px; background: #17a2b8; color: #fff; border-radius: calc(6px * var(--radius-scale, 1)); text-decoration: none; font-weight: 700; font-size: calc(14px * var(--text-scale, 1)); }
[data-theme="pacificar"] .pac-btn-info:hover { background: #138496; }

/* ── location-reflexe.fr — RÉEL mesuré 06/09/2026. Même patron que
   pacificar (header TRANSPARENT EN OVERLAY + TOPBAR au-dessus), mais
   topbar avec UNE ICÔNE Facebook seule (pas de téléphone). Accent OR
   #FFC107 (bouton "Rechercher"), bandeau réservation NAVY #014F73 (comme
   evo-loc/clickcar/zenithautorent — PAS blanc comme pacificar/tpautoloc).
   Hero : h1 CONSTANT (nom du client) + h2 variable par diapositive (comme
   dkmrent/tpautoloc — PAS les deux qui varient comme pacificar/gwadacar).
   Page contact RICHE avec vraie carte OpenStreetMap (reprend le
   contact_form crb-* autonome de clickcar tel quel, jamais adapté par
   template car déjà générique/auto-suffisant). ── */
:root { --lrf-accent: #ffc107; --lrf-accent-hover: #e0a800; --lrf-ink: #1e2022; --lrf-border: #e4e6ef; --lrf-navy: #014f73; }
[data-theme="locationreflexe"] .hl { color: var(--lrf-accent); }
[data-theme="locationreflexe"] .lrf-eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--lrf-accent); font-weight: 800; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 16px; }
[data-theme="locationreflexe"] .lrf-eyebrow::before { content: ""; width: 26px; height: 2px; background: var(--lrf-accent); }

[data-theme="locationreflexe"] .lrf-topbar { position: absolute; top: 0; left: 0; right: 0; z-index: 31; padding: 10px 0; }
[data-theme="locationreflexe"] .lrf-topbar .lrf-container { display: flex; }
[data-theme="locationreflexe"] .lrf-topbar a { color: #fff; font-size: calc(13px * var(--text-scale, 1)); font-weight: 600; text-decoration: none; }
[data-theme="locationreflexe"] .lrf-topbar-social { display: flex; gap: 10px; }
[data-theme="locationreflexe"] .lrf-topbar-social a { font-size: 15px; }
[data-theme="locationreflexe"] .lrf-header { position: absolute; top: 38px; left: 0; right: 0; z-index: 30; background: transparent; height: 80px; display: flex; align-items: center; }
[data-theme="locationreflexe"] .lrf-header-inner { width: 100%; }
[data-theme="locationreflexe"] .lrf-container { width: min(1180px, 92%); margin-inline: auto; }
[data-theme="locationreflexe"] .lrf-header .lrf-container { display: flex; align-items: center; justify-content: space-between; }
[data-theme="locationreflexe"] .lrf-logo img { height: 46px; display: block; }
[data-theme="locationreflexe"] .lrf-logo-text { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: 1.5rem; letter-spacing: .04em; color: #fff; }
[data-theme="locationreflexe"] .lrf-main-menu nav ul { display: flex; gap: 34px; list-style: none; margin: 0; padding: 0; }
[data-theme="locationreflexe"] .lrf-main-menu nav a { color: #fff; font-size: calc(12px * var(--text-scale, 1)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
[data-theme="locationreflexe"] .lrf-main-menu nav li.lrf-active a { color: var(--lrf-accent); }
[data-theme="locationreflexe"] .lrf-menu-trigger { display: none; cursor: pointer; }
[data-theme="locationreflexe"] .lrf-lines-button { display: block; width: 26px; height: 18px; position: relative; }
[data-theme="locationreflexe"] .lrf-lines, [data-theme="locationreflexe"] .lrf-lines::before, [data-theme="locationreflexe"] .lrf-lines::after { content: ""; display: block; width: 26px; height: 2px; background: #fff; position: absolute; left: 0; transition: transform .2s; }
[data-theme="locationreflexe"] .lrf-lines { top: 8px; }
[data-theme="locationreflexe"] .lrf-lines::before { top: -8px; }
[data-theme="locationreflexe"] .lrf-lines::after { top: 8px; }
@media (max-width: 991px) {
    [data-theme="locationreflexe"] .lrf-menu-trigger { display: block; }
    [data-theme="locationreflexe"] .lrf-main-menu { position: absolute; top: 80px; left: 0; right: 0; background: #fff; box-shadow: 0 12px 24px rgba(0,0,0,.08); max-height: 0; overflow: hidden; transition: max-height .25s ease; z-index: 30; }
    [data-theme="locationreflexe"] .lrf-main-menu.lrf-open { max-height: 400px; }
    [data-theme="locationreflexe"] .lrf-main-menu nav, [data-theme="locationreflexe"] .lrf-main-menu ul, [data-theme="locationreflexe"] .lrf-main-menu li { height: auto; }
    [data-theme="locationreflexe"] .lrf-main-menu.lrf-open nav a { color: #1e2022; }
    [data-theme="locationreflexe"] .lrf-main-menu nav ul { flex-direction: column; gap: 0; padding: 10px 0; }
    [data-theme="locationreflexe"] .lrf-main-menu nav li { padding: 12px 24px; }
}

/* ── Carrousel hero — 5 diapositives réelles, h1 ET h2 VARIENT tous les
     deux par diapositive (contrairement à toute la famille tpautoloc/
     top-location/slvpro où h1 est constant) — voir hero.blade.php,
     slides[].caption (h1) + slides[].subcaption (h2, additif). ── */
[data-theme="locationreflexe"] .lrf-slider { position: relative; height: 648px; min-height: 320px; overflow: hidden; background: #111; }
[data-theme="locationreflexe"] .lrf-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity var(--lrf-slide-transition-ms, 800ms) ease; }
[data-theme="locationreflexe"] .lrf-slide.lrf-slide-active { opacity: 1; }
[data-theme="locationreflexe"] .lrf-slider::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.3); z-index: 0; }
[data-theme="locationreflexe"] .lrf-slider > .lrf-container { position: relative; z-index: 1; height: 100%; display: flex; align-items: center; justify-content: flex-start; }
[data-theme="locationreflexe"] .lrf-slide-captions { position: relative; z-index: 1; text-align: left; color: #fff; box-sizing: border-box; width: 100%; }
[data-theme="locationreflexe"] .lrf-slide-captions h1 { font-size: calc(80px * var(--text-scale, 1)); font-weight: 700; line-height: 1; margin: 0 0 20px; color: #fff; }
[data-theme="locationreflexe"] .lrf-slide-captions h2 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 700; line-height: 1.2; margin: 0; color: #fff; text-transform: uppercase; }
[data-theme="locationreflexe"] .lrf-slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 60px; height: 60px; border-radius: 50%; border: none; background: rgba(255,255,255,.15); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
[data-theme="locationreflexe"] .lrf-slider-arrow svg { width: 18px; height: 18px; }
[data-theme="locationreflexe"] .lrf-slider-arrow-prev { left: 20px; }
[data-theme="locationreflexe"] .lrf-slider-arrow-next { right: 20px; }
[data-theme="locationreflexe"] .lrf-slider-dots { position: absolute; bottom: 30px; left: 0; right: 0; z-index: 2; display: flex; justify-content: center; gap: 8px; }
[data-theme="locationreflexe"] .lrf-slider-dots button { width: 30px; height: 4px; border-radius: 0; border: none; background: #fff; opacity: .5; cursor: pointer; padding: 0; }
[data-theme="locationreflexe"] .lrf-slider-dots button.lrf-dot-active { opacity: 1; background: var(--lrf-accent); }

/* ── Formulaire de réservation — bandeau NAVY plein-largeur (RÉEL mesuré #014F73, même famille que clickcar/evo-loc/zenithautorent), bouton or. ── */
[data-theme="locationreflexe"] .lrf-booking-form { background: var(--lrf-navy, #014f73); padding: 40px 0; }
[data-theme="locationreflexe"] .lrf-booking-form-head { text-align: center; margin-bottom: 24px; }
[data-theme="locationreflexe"] .lrf-booking-form-head h2 { color: #fff; font-size: calc(30px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 8px; }
[data-theme="locationreflexe"] .lrf-booking-form-head p { color: rgba(255,255,255,.85); font-size: calc(14px * var(--text-scale, 1)); margin: 0; }
[data-theme="locationreflexe"] .lrf-seperator { text-align: center; color: #ccc; font-size: 18px; margin: 0 0 22px; }
[data-theme="locationreflexe"] .lrf-form-row { display: grid; grid-template-columns: 4fr 3fr 2fr 3fr; gap: 8px 14px; margin-bottom: 8px; }
[data-theme="locationreflexe"] .lrf-form-col { box-sizing: border-box; min-width: 0; }
[data-theme="locationreflexe"] .lrf-form-col-btn { display: flex; align-items: end; }
[data-theme="locationreflexe"] .lrf-booking-form label { display: block; color: #fff; font-size: calc(12.25px * var(--text-scale, 1)); font-weight: 500; margin-bottom: 7px; }
[data-theme="locationreflexe"] .lrf-form-control { width: 100%; height: 40px; border: 1px solid var(--lrf-border); border-radius: calc(6px * var(--radius-scale, 1)); padding: 7px 14px; font-size: calc(14px * var(--text-scale, 1)); box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="locationreflexe"] .lrf-input-group { display: flex; }
[data-theme="locationreflexe"] .lrf-input-group .lrf-form-control { border-radius: calc(6px * var(--radius-scale, 1)) 0 0 calc(6px * var(--radius-scale, 1)); border-right: none; }
[data-theme="locationreflexe"] .lrf-input-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: none; background: #f9f9fa; border: 1px solid var(--lrf-border); border-radius: 0 calc(6px * var(--radius-scale, 1)) calc(6px * var(--radius-scale, 1)) 0; color: #1e2022; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="locationreflexe"] .lrf-btn-search { width: 100%; height: 40px; padding: 0 20px; background: var(--lrf-accent); color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; text-transform: uppercase; font-size: calc(13px * var(--text-scale, 1)); letter-spacing: .5px; cursor: pointer; transition: background .2s; white-space: nowrap; }
[data-theme="locationreflexe"] .lrf-btn-search:hover { background: var(--lrf-accent-hover); }
@media (max-width: 767px) { [data-theme="locationreflexe"] .lrf-form-row { grid-template-columns: 1fr; } }

/* ── Flotte — 4 catégories, cartes bordure fine (RÉEL mesuré, 3 colonnes). ── */
[data-theme="locationreflexe"] .lrf-fleet { padding: 20px 0 80px; background: var(--lrf-fleet-bg, transparent); }
[data-theme="locationreflexe"] .lrf-fleet-head { text-align: center; margin-bottom: 24px; }
[data-theme="locationreflexe"] .lrf-fleet h2 { font-size: calc(40px * var(--text-scale, 1)); font-weight: 800; color: var(--page-ink, #000); margin: 0 0 16px; }
[data-theme="locationreflexe"] .lrf-fleet-lead { max-width: 780px; margin: 0 auto; color: var(--page-ink, #3c4043); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="locationreflexe"] .lrf-fleet-grid { display: grid; grid-template-columns: repeat(var(--lrf-fleet-cols, 3), 1fr); gap: 28px; margin-top: 24px; }
[data-theme="locationreflexe"] .lrf-fleet-card { background: var(--surface-bg, #fff); border: 1px solid var(--lrf-border); border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); padding: 8px; box-sizing: border-box; }
[data-theme="locationreflexe"] .lrf-fleet-card h3 { font-size: calc(20px * var(--text-scale, 1)); font-weight: 700; color: var(--surface-ink, #1e2022); text-align: center; padding: 3.5px 0; margin: 8px 0 0; text-transform: uppercase; }
[data-theme="locationreflexe"] .lrf-fleet-card img { width: 100%; display: block; }
[data-theme="locationreflexe"] .lrf-fleet-illu-generic { height: 160px; display: grid; place-items: center; background: linear-gradient(180deg, #fff, #f5f7fa); }
[data-theme="locationreflexe"] .lrf-fleet-illu-generic svg { width: 70%; max-width: 220px; height: auto; }
[data-theme="locationreflexe"] .lrf-fleet-price { font-size: calc(13px * var(--text-scale, 1)); color: var(--surface-ink, #6b7280); font-weight: 600; text-align: center; margin-top: 8px; }
@media (max-width: 991px) { [data-theme="locationreflexe"] .lrf-fleet-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { [data-theme="locationreflexe"] .lrf-fleet-grid { grid-template-columns: 1fr; } }

/* ── Bandeau titre page — aplat sombre par défaut, photo réelle si fournie
     (mesuré : FAQ = aplat seul, Contact = vraie photo) — header transparent
     déjà en overlay au-dessus (voir .lrf-header), pas besoin de padding
     supplémentaire ici. ── */
[data-theme="locationreflexe"] .lrf-page-title { position: relative; padding: 140px 0 80px; text-align: center; background-color: #1e2022; background-size: cover; background-position: center; }
[data-theme="locationreflexe"] .lrf-page-title[style*="background-image"]::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.45); }
[data-theme="locationreflexe"] .lrf-page-title .lrf-container { position: relative; z-index: 1; display: block; }
[data-theme="locationreflexe"] .lrf-page-title h1 { color: #fff; font-family: 'Poppins', sans-serif; font-size: calc(35px * var(--text-scale, 1)); font-weight: 400; line-height: 1.2; margin: 0 0 .5rem; }
[data-theme="locationreflexe"] .lrf-page-title .lrf-breadcrumb { color: rgba(255,255,255,.75); font-size: calc(14px * var(--text-scale, 1)); }
[data-theme="locationreflexe"] .lrf-page-title .lrf-breadcrumb a { color: rgba(255,255,255,.9); text-decoration: none; }
[data-theme="locationreflexe"] .lrf-page-title .lrf-breadcrumb .lrf-crumb-sep { margin: 0 6px; opacity: .6; }
@media (max-width: 991px) { [data-theme="locationreflexe"] .lrf-page-title h1 { font-size: calc(24px * var(--text-scale, 1)); } }

/* ── FAQ — accordéon plat. ── */
[data-theme="locationreflexe"] .lrf-faq { padding: 64px 0; }
[data-theme="locationreflexe"] .lrf-faq h3 { text-align: center; font-size: calc(28px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 16px; }
[data-theme="locationreflexe"] .lrf-faq-lead { text-align: center; max-width: 780px; margin: 0 auto 36px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="locationreflexe"] .lrf-faq-accordion { max-width: 860px; margin: 0 auto; }
[data-theme="locationreflexe"] .lrf-faq-item { border: 1px solid var(--lrf-border); border-radius: calc(6px * var(--radius-scale, 1)); margin-bottom: 10px; overflow: hidden; }
[data-theme="locationreflexe"] .lrf-faq-q { width: 100%; display: flex; align-items: center; gap: 10px; background: none; border: none; padding: 12px 20px; text-align: left; font-size: calc(14px * var(--text-scale, 1)); font-weight: 500; color: var(--surface-ink, #1e2022); cursor: pointer; font-family: inherit; }
[data-theme="locationreflexe"] .lrf-faq-q i { color: var(--surface-ink, #1e2022); }
[data-theme="locationreflexe"] .lrf-faq-a { max-height: 0; overflow: hidden; transition: max-height .25s ease; }
[data-theme="locationreflexe"] .lrf-faq-a-inner { padding: 0 20px 16px 46px; color: var(--page-ink, #4b5563); font-size: calc(14px * var(--text-scale, 1)); line-height: 1.65; }

/* ── Contact — colonne unique. Eyebrow "Rédigez votre message" blanc-sur-
     blanc sur le vrai site (bug flagrant) — corrigé en visible (voir
     CLAUDE.md "AUDIT PIXEL-PERFECT" point 6). Bouton Envoyer BLEU (même
     accent que "Rechercher", rgb(34,80,252), RÉEL mesuré). ── */
[data-theme="locationreflexe"] .lrf-contact { padding: 64px 0; text-align: center; }
[data-theme="locationreflexe"] .lrf-contact h3 { font-size: calc(33px * var(--text-scale, 1)); font-weight: 500; color: var(--page-ink, #111); margin: 0 0 10px; }
[data-theme="locationreflexe"] .lrf-contact-lead { max-width: 700px; margin: 0 auto 40px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="locationreflexe"] .lrf-contact-form { max-width: 780px; margin: 0 auto; border: 1px solid var(--lrf-border); border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); }
[data-theme="locationreflexe"] .lrf-contact-form-head { background: var(--surface-bg, #f9f9fa); color: var(--surface-ink, #1e2022); font-size: calc(13px * var(--text-scale, 1)); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: 16px 24px; text-align: left; border-bottom: 1px solid var(--lrf-border); }
[data-theme="locationreflexe"] .lrf-contact-form-body { padding: 26px 24px; background: var(--surface-bg, #fff); }
[data-theme="locationreflexe"] .lrf-contact-field { margin-bottom: 18px; text-align: left; }
[data-theme="locationreflexe"] .lrf-contact-field label { display: block; font-size: calc(13px * var(--text-scale, 1)); font-weight: 600; color: var(--surface-ink, #1e2022); margin-bottom: 6px; }
[data-theme="locationreflexe"] .lrf-contact-field input,
[data-theme="locationreflexe"] .lrf-contact-field textarea { width: 100%; border: 1px solid var(--lrf-border); border-radius: calc(6px * var(--radius-scale, 1)); padding: 10px 14px; font-size: calc(14px * var(--text-scale, 1)); font-family: inherit; box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="locationreflexe"] .lrf-contact-field textarea { min-height: 130px; resize: vertical; }
[data-theme="locationreflexe"] .lrf-contact-submit { width: 100%; padding: 13px 20px; background: var(--lrf-accent); color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; font-size: calc(14px * var(--text-scale, 1)); letter-spacing: .3px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; transition: background .2s; }
[data-theme="locationreflexe"] .lrf-contact-submit:hover { background: var(--lrf-accent-hover); }

/* ── Footer — gris clair, texte/titres normalement blancs sur le vrai site
     (bug flagrant, illisibles) — corrigé en sombre ici. ── */
[data-theme="locationreflexe"] #footer.lrf-footer { background: #f9f9fa; color: var(--lrf-ink); }
[data-theme="locationreflexe"] .lrf-footer-content { padding: 50px 0 30px; }
[data-theme="locationreflexe"] .lrf-footer-row { display: grid; grid-template-columns: repeat(var(--ftr-cols, 3), 1fr); gap: 32px; }
[data-theme="locationreflexe"] .lrf-footer-col { position: relative; padding-left: 46px; min-height: 36px; }
[data-theme="locationreflexe"] .lrf-footer-icon { position: absolute; left: 0; top: 0; width: 36px; text-align: center; color: var(--lrf-ink); font-size: calc(30px * var(--text-scale, 1)); }
[data-theme="locationreflexe"] .lrf-footer-col h3 { color: var(--lrf-ink); font-size: calc(16px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 4px; }
[data-theme="locationreflexe"] .lrf-footer-col p { color: #4b5563; font-size: calc(14px * var(--text-scale, 1)); line-height: 1.6; margin: 0 0 6px; }
[data-theme="locationreflexe"] .lrf-footer-col p strong { color: var(--lrf-ink); }
[data-theme="locationreflexe"] .lrf-copyright { background: #f1f1f3; padding: 20px 0; }
[data-theme="locationreflexe"] .lrf-copyright-row { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 14px; }
[data-theme="locationreflexe"] .lrf-copyright-text { color: #6b7280; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="locationreflexe"] .lrf-copyright-text a { color: var(--lrf-ink); text-decoration: none; }
[data-theme="locationreflexe"] .lrf-copyright-text a:hover { color: var(--lrf-accent); }
@media (max-width: 767px) { [data-theme="locationreflexe"] .lrf-footer-row { grid-template-columns: 1fr; } }

/* ── tmrent.fr — RÉEL mesuré 06/09/2026, même famille "Renter Concept"
   qu'evo-loc/dkmrent (header BLANC plein 80px — pas d'overlay transparent
   malgré la ressemblance du thème V1, contrairement à pacificar/location-
   reflexe), accent OR #FFC107 + navy #014F73 (même famille que clickcar/
   evo-loc/location-reflexe), logo néon vert/noir "TM RENT". ── */
:root { --tmr-accent: #ffc107; --tmr-accent-hover: #e0a800; --tmr-navy: #014f73; --tmr-ink: #1e2022; --tmr-border: #e4e6ef; }
[data-theme="tmrent"] .hl { color: var(--tmr-accent-hover); }
[data-theme="tmrent"] .tmr-eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--tmr-accent-hover); font-weight: 800; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 16px; }
[data-theme="tmrent"] .tmr-eyebrow::before { content: ""; width: 26px; height: 2px; background: var(--tmr-accent); }
[data-theme="tmrent"] .tmr-container.tmr-text-center, [data-theme="tmrent"] section.tmr-faq .tmr-container, [data-theme="tmrent"] section.tmr-contact .tmr-container { text-align: center; }

[data-theme="tmrent"] .tmr-header { background: #fff; height: 80px; display: flex; align-items: center; }
[data-theme="tmrent"] .tmr-header-inner { width: 100%; }
[data-theme="tmrent"] .tmr-container { width: min(1180px, 92%); margin-inline: auto; }
[data-theme="tmrent"] .tmr-header .tmr-container { display: flex; align-items: center; justify-content: space-between; }
[data-theme="tmrent"] .tmr-logo img { height: 46px; display: block; }
[data-theme="tmrent"] .tmr-logo-text { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: 1.3rem; color: #000; }
[data-theme="tmrent"] .tmr-main-menu nav ul { display: flex; gap: 34px; list-style: none; margin: 0; padding: 0; }
[data-theme="tmrent"] .tmr-main-menu nav a { color: rgb(60,64,67); font-size: calc(12px * var(--text-scale, 1)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
[data-theme="tmrent"] .tmr-main-menu nav li.tmr-active a { color: var(--tmr-accent-hover); }
[data-theme="tmrent"] .tmr-menu-trigger { display: none; cursor: pointer; }
[data-theme="tmrent"] .tmr-lines-button { display: block; width: 26px; height: 18px; position: relative; }
[data-theme="tmrent"] .tmr-lines, [data-theme="tmrent"] .tmr-lines::before, [data-theme="tmrent"] .tmr-lines::after { content: ""; display: block; width: 26px; height: 2px; background: #000; position: absolute; left: 0; transition: transform .2s; }
[data-theme="tmrent"] .tmr-lines { top: 8px; }
[data-theme="tmrent"] .tmr-lines::before { top: -8px; }
[data-theme="tmrent"] .tmr-lines::after { top: 8px; }
@media (max-width: 991px) {
    [data-theme="tmrent"] .tmr-menu-trigger { display: block; }
    [data-theme="tmrent"] .tmr-main-menu { position: absolute; top: 80px; left: 0; right: 0; background: #fff; box-shadow: 0 12px 24px rgba(0,0,0,.08); max-height: 0; overflow: hidden; transition: max-height .25s ease; z-index: 30; }
    [data-theme="tmrent"] .tmr-main-menu.tmr-open { max-height: 400px; }
    [data-theme="tmrent"] .tmr-main-menu nav, [data-theme="tmrent"] .tmr-main-menu ul, [data-theme="tmrent"] .tmr-main-menu li { height: auto; }
    [data-theme="tmrent"] .tmr-main-menu nav ul { flex-direction: column; gap: 0; padding: 10px 0; }
    [data-theme="tmrent"] .tmr-main-menu nav li { padding: 12px 24px; }
}

/* ── Carrousel hero — 3 diapositives réelles, h1 constant + h2 par diapo. ── */
[data-theme="tmrent"] .tmr-slider { position: relative; height: 648px; min-height: 320px; overflow: hidden; background: #111; }
[data-theme="tmrent"] .tmr-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity var(--tmr-slide-transition-ms, 800ms) ease; }
[data-theme="tmrent"] .tmr-slide.tmr-slide-active { opacity: 1; }
[data-theme="tmrent"] .tmr-slider::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.35); z-index: 0; }
[data-theme="tmrent"] .tmr-slider > .tmr-container { position: relative; z-index: 1; height: 100%; display: flex; align-items: center; justify-content: flex-start; }
[data-theme="tmrent"] .tmr-slide-captions { position: relative; z-index: 1; text-align: left; color: #fff; box-sizing: border-box; width: 100%; }
[data-theme="tmrent"] .tmr-slide-captions h1 { font-size: calc(80px * var(--text-scale, 1)); font-weight: 700; line-height: 1; margin: 0 0 20px; color: #fff; opacity: .3; }
[data-theme="tmrent"] .tmr-slide-captions h2 { font-size: calc(44px * var(--text-scale, 1)); font-weight: 700; line-height: 1.2; margin: 0; color: #fff; max-width: 18ch; }
[data-theme="tmrent"] .tmr-slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 60px; height: 60px; border-radius: 50%; border: none; background: rgba(255,255,255,.15); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
[data-theme="tmrent"] .tmr-slider-arrow svg { width: 18px; height: 18px; }
[data-theme="tmrent"] .tmr-slider-arrow-prev { left: 20px; }
[data-theme="tmrent"] .tmr-slider-arrow-next { right: 20px; }
[data-theme="tmrent"] .tmr-slider-dots { position: absolute; bottom: 30px; left: 0; right: 0; z-index: 2; display: flex; justify-content: center; gap: 8px; }
[data-theme="tmrent"] .tmr-slider-dots button { width: 30px; height: 4px; border-radius: 0; border: none; background: #fff; opacity: .5; cursor: pointer; padding: 0; }
[data-theme="tmrent"] .tmr-slider-dots button.tmr-dot-active { opacity: 1; background: var(--tmr-accent); }

/* ── Formulaire de réservation — titre/accroche BLANCS au-dessus (RÉEL
     mesuré : h1 "Location de voitures en Martinique" + paragraphe, section
     blanche séparée), PUIS bandeau NAVY plein-largeur #014F73 pour le
     formulaire lui-même (même famille que clickcar/evo-loc/location-
     reflexe), bouton or. ── */
[data-theme="tmrent"] .tmr-booking-head { background: #fff; padding: 56px 0 34px; }
[data-theme="tmrent"] .tmr-booking-head h1 { color: var(--page-ink, #000); font-size: calc(42px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 16px; }
[data-theme="tmrent"] .tmr-booking-head p { max-width: 900px; margin: 0 auto; color: var(--page-ink, #444); font-size: calc(15px * var(--text-scale, 1)); line-height: 1.7; }
[data-theme="tmrent"] .tmr-booking-form { background: var(--tmr-navy); padding: 40px 0; }
[data-theme="tmrent"] .tmr-form-row { display: grid; grid-template-columns: 4fr 3fr 2fr 3fr; gap: 8px 14px; margin-bottom: 8px; }
[data-theme="tmrent"] .tmr-form-col { box-sizing: border-box; min-width: 0; }
[data-theme="tmrent"] .tmr-form-col-btn { display: flex; align-items: end; }
[data-theme="tmrent"] .tmr-booking-form label { display: block; color: #fff; font-size: calc(12.25px * var(--text-scale, 1)); font-weight: 500; margin-bottom: 7px; }
[data-theme="tmrent"] .tmr-form-control { width: 100%; height: 40px; border: 1px solid #fff; border-radius: calc(6px * var(--radius-scale, 1)); padding: 7px 14px; font-size: calc(14px * var(--text-scale, 1)); box-sizing: border-box; background: #fff; color: var(--tmr-ink); }
[data-theme="tmrent"] .tmr-input-group { display: flex; }
[data-theme="tmrent"] .tmr-input-group .tmr-form-control { border-radius: calc(6px * var(--radius-scale, 1)) 0 0 calc(6px * var(--radius-scale, 1)); border-right: none; }
[data-theme="tmrent"] .tmr-input-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: none; background: #f9f9fa; border: 1px solid #fff; border-radius: 0 calc(6px * var(--radius-scale, 1)) calc(6px * var(--radius-scale, 1)) 0; color: var(--tmr-ink); font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="tmrent"] .tmr-btn-search { width: 100%; height: 40px; padding: 0 20px; background: var(--tmr-accent); color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; text-transform: uppercase; font-size: calc(13px * var(--text-scale, 1)); letter-spacing: .5px; cursor: pointer; transition: background .2s; white-space: nowrap; }
[data-theme="tmrent"] .tmr-btn-search:hover { background: var(--tmr-accent-hover); }
@media (max-width: 767px) { [data-theme="tmrent"] .tmr-form-row { grid-template-columns: 1fr; } }

/* ── Flotte — cartes à bordure fine + ombre légère (RÉEL mesuré, 3 colonnes, AUCUN prix affiché). ── */
[data-theme="tmrent"] .tmr-fleet { padding: 20px 0 80px; background: var(--tmr-fleet-bg, transparent); }
[data-theme="tmrent"] .tmr-fleet-head { text-align: center; margin-bottom: 24px; }
[data-theme="tmrent"] .tmr-fleet h2 { font-size: calc(38px * var(--text-scale, 1)); font-weight: 800; color: var(--page-ink, #000); margin: 0 0 16px; }
[data-theme="tmrent"] .tmr-fleet-lead { max-width: 780px; margin: 0 auto; color: var(--page-ink, #3c4043); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="tmrent"] .tmr-fleet-grid { display: grid; grid-template-columns: repeat(var(--tmr-fleet-cols, 3), 1fr); gap: 28px; margin-top: 24px; }
[data-theme="tmrent"] .tmr-fleet-card { background: var(--surface-bg, #fff); border: 1px solid var(--tmr-border); border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); padding: 8px; box-sizing: border-box; }
[data-theme="tmrent"] .tmr-fleet-card h3 { font-size: calc(20px * var(--text-scale, 1)); font-weight: 700; color: var(--surface-ink, #1e2022); text-align: center; padding: 3.5px 0; margin: 8px 0 0; text-transform: uppercase; }
[data-theme="tmrent"] .tmr-fleet-card img { width: 100%; display: block; }
[data-theme="tmrent"] .tmr-fleet-illu-generic { height: 160px; display: grid; place-items: center; background: linear-gradient(180deg, #fff, #f5f7fa); }
[data-theme="tmrent"] .tmr-fleet-illu-generic svg { width: 70%; max-width: 220px; height: auto; }
[data-theme="tmrent"] .tmr-fleet-price { font-size: calc(12px * var(--text-scale, 1)); color: var(--surface-ink, #1e2022); font-weight: 500; text-align: center; margin-top: 8px; }
@media (max-width: 991px) { [data-theme="tmrent"] .tmr-fleet-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { [data-theme="tmrent"] .tmr-fleet-grid { grid-template-columns: 1fr; } }

/* ── Bandeau titre page — même photo que le hero avec voile sombre (RÉEL mesuré sur /services). ── */
[data-theme="tmrent"] .tmr-page-title { position: relative; padding: 80px 0; text-align: center; background-color: #1e2022; background-size: cover; background-position: center; }
[data-theme="tmrent"] .tmr-page-title[style*="background-image"]::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.45); }
[data-theme="tmrent"] .tmr-page-title .tmr-container { position: relative; z-index: 1; display: block; }
[data-theme="tmrent"] .tmr-page-title h1 { color: #fff; font-family: 'Poppins', sans-serif; font-size: calc(35px * var(--text-scale, 1)); font-weight: 400; line-height: 1.2; margin: 0 0 .5rem; }
[data-theme="tmrent"] .tmr-page-title .tmr-breadcrumb { color: rgba(255,255,255,.75); font-size: calc(14px * var(--text-scale, 1)); }
[data-theme="tmrent"] .tmr-page-title .tmr-breadcrumb a { color: rgba(255,255,255,.9); text-decoration: none; }
[data-theme="tmrent"] .tmr-page-title .tmr-breadcrumb .tmr-crumb-sep { margin: 0 6px; opacity: .6; }
@media (max-width: 991px) { [data-theme="tmrent"] .tmr-page-title h1 { font-size: calc(24px * var(--text-scale, 1)); } }

/* ── Services (grille icon-box centrée, RÉEL mesuré : icônes gris foncé
     UNIFORME sur les 6 items malgré des classes V1 text-cpink/text-cblue
     suggérant des couleurs différentes — classes CSS mortes, jamais
     appliquées sur le vrai site, voir CLAUDE.md "AUDIT PIXEL-PERFECT"). ── */
[data-theme="tmrent"] .tmr-advantages { padding: 64px 0; }
[data-theme="tmrent"] .tmr-advantages h2 { font-size: calc(38px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 14px; }
[data-theme="tmrent"] .tmr-advantages-sep { width: 60px; height: 3px; background: var(--tmr-accent); margin: 0 auto 20px; }
[data-theme="tmrent"] .tmr-advantages-lead { max-width: 760px; margin: 0 auto 36px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="tmrent"] .tmr-advantages-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
[data-theme="tmrent"] .tmr-advantage { text-align: center; }
[data-theme="tmrent"] .tmr-advantage-icon { width: 64px; height: 64px; border-radius: 50%; border: 2px solid var(--surface-ink, #333); display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; }
[data-theme="tmrent"] .tmr-advantage-icon i { font-size: 22px; color: var(--surface-ink, #333); }
[data-theme="tmrent"] .tmr-advantage h3 { font-size: calc(17px * var(--text-scale, 1)); font-weight: 700; color: var(--surface-ink, #1e2022); margin: 0 0 8px; }
[data-theme="tmrent"] .tmr-advantage p { color: var(--page-ink, #4b5563); font-size: calc(14px * var(--text-scale, 1)); line-height: 1.6; margin: 0; }
@media (max-width: 860px) { [data-theme="tmrent"] .tmr-advantages-grid { grid-template-columns: 1fr; } }

/* ── Caution/SWIKLY (about_photo condensé) — bandeau photo pleine largeur,
     puis colonne texte + logo partenaire (RÉEL mesuré 06/09/2026). ── */
[data-theme="tmrent"] .tmr-about-banner { position: relative; height: 500px; background-size: cover; background-position: center; }
[data-theme="tmrent"] .tmr-about-row { display: grid; grid-template-columns: 7fr 5fr; gap: 40px; align-items: start; padding: 48px 0; }
[data-theme="tmrent"] .tmr-about-text h2 { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: calc(30px * var(--text-scale, 1)); color: var(--surface-ink, #1e2022); margin: 0 0 16px; }
[data-theme="tmrent"] .tmr-about-text p { color: var(--page-ink, #4b5563); font-size: calc(15px * var(--text-scale, 1)); line-height: 1.75; margin: 0 0 16px; }
[data-theme="tmrent"] .tmr-about-logo { display: flex; align-items: flex-start; justify-content: center; padding-top: 8px; }
[data-theme="tmrent"] .tmr-about-logo img { max-width: 260px; width: 100%; border-radius: calc(10px * var(--radius-scale, 1)); }
@media (max-width: 860px) { [data-theme="tmrent"] .tmr-about-row { grid-template-columns: 1fr; } [data-theme="tmrent"] .tmr-about-banner { height: 280px; } }

/* ── FAQ — accordéon plat, PAS de catégories visibles (RÉEL mesuré). ── */
[data-theme="tmrent"] .tmr-faq { padding: 64px 0; }
[data-theme="tmrent"] .tmr-faq h3 { text-align: center; font-size: calc(28px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 16px; }
[data-theme="tmrent"] .tmr-faq-lead { text-align: center; max-width: 780px; margin: 0 auto 36px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="tmrent"] .tmr-faq-accordion { max-width: 860px; margin: 0 auto; }
[data-theme="tmrent"] .tmr-faq-item { border: 1px solid var(--tmr-border); border-radius: calc(6px * var(--radius-scale, 1)); margin-bottom: 10px; overflow: hidden; }
[data-theme="tmrent"] .tmr-faq-q { width: 100%; display: flex; align-items: center; gap: 10px; background: none; border: none; padding: 12px 20px; text-align: left; font-size: calc(14px * var(--text-scale, 1)); font-weight: 500; color: var(--surface-ink, #1e2022); cursor: pointer; font-family: inherit; }
[data-theme="tmrent"] .tmr-faq-q i { color: var(--surface-ink, #1e2022); }
[data-theme="tmrent"] .tmr-faq-a { max-height: 0; overflow: hidden; transition: max-height .25s ease; }
[data-theme="tmrent"] .tmr-faq-a-inner { padding: 0 20px 16px 46px; color: var(--page-ink, #4b5563); font-size: calc(14px * var(--text-scale, 1)); line-height: 1.65; }

/* ── Contact — colonne unique, formulaire blanc bordé (RÉEL mesuré, mêmes
     libellés/placeholders que dkmrent/location-reflexe, même plateforme V1
     partagée). ── */
[data-theme="tmrent"] .tmr-contact { padding: 64px 0; text-align: center; }
[data-theme="tmrent"] .tmr-contact h3 { font-size: calc(33px * var(--text-scale, 1)); font-weight: 500; color: var(--page-ink, #111); margin: 0 0 10px; }
[data-theme="tmrent"] .tmr-contact-lead { max-width: 700px; margin: 0 auto 40px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="tmrent"] .tmr-contact-form { max-width: 780px; margin: 0 auto; border: 1px solid var(--tmr-border); border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); }
[data-theme="tmrent"] .tmr-contact-form-head { background: var(--surface-bg, #f9f9fa); color: var(--surface-ink, #1e2022); font-size: calc(13px * var(--text-scale, 1)); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: 16px 24px; text-align: left; border-bottom: 1px solid var(--tmr-border); }
[data-theme="tmrent"] .tmr-contact-form-body { padding: 26px 24px; background: var(--surface-bg, #fff); }
[data-theme="tmrent"] .tmr-contact-field { margin-bottom: 18px; text-align: left; }
[data-theme="tmrent"] .tmr-contact-field label { display: block; font-size: calc(13px * var(--text-scale, 1)); font-weight: 600; color: var(--surface-ink, #1e2022); margin-bottom: 6px; }
[data-theme="tmrent"] .tmr-contact-field input,
[data-theme="tmrent"] .tmr-contact-field textarea { width: 100%; border: 1px solid var(--tmr-border); border-radius: calc(6px * var(--radius-scale, 1)); padding: 10px 14px; font-size: calc(14px * var(--text-scale, 1)); font-family: inherit; box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="tmrent"] .tmr-contact-field textarea { min-height: 130px; resize: vertical; }
[data-theme="tmrent"] .tmr-contact-submit { width: 100%; padding: 13px 20px; background: var(--tmr-navy); color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; font-size: calc(14px * var(--text-scale, 1)); letter-spacing: .3px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; transition: background .2s; }
[data-theme="tmrent"] .tmr-contact-submit:hover { background: #013a54; }

/* ── Footer — navy plein #014F73, icônes rondes or, texte blanc (RÉEL
     mesuré). Le 2e numéro de "Contact" ("Bureau") est en jaune sur le vrai
     site (style inline délibéré du client, PAS un bug — reproduit tel
     quel). Barre de copyright gris clair distincte, texte sombre. ── */
[data-theme="tmrent"] #footer.tmr-footer { background: var(--tmr-navy); color: #fff; }
[data-theme="tmrent"] .tmr-footer-content { padding: 50px 0 30px; }
[data-theme="tmrent"] .tmr-footer-row { display: grid; grid-template-columns: repeat(var(--ftr-cols, 3), 1fr); gap: 32px; }
[data-theme="tmrent"] .tmr-footer-col { position: relative; padding-left: 46px; min-height: 36px; }
[data-theme="tmrent"] .tmr-footer-icon { position: absolute; left: 0; top: 0; width: 36px; height: 36px; text-align: center; line-height: 36px; border-radius: 50%; background: var(--tmr-accent); color: #fff; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="tmrent"] .tmr-footer-col h3 { color: #fff; font-size: calc(16px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 4px; }
[data-theme="tmrent"] .tmr-footer-col p { color: #fff; font-size: calc(14px * var(--text-scale, 1)); line-height: 1.6; margin: 0 0 6px; }
[data-theme="tmrent"] .tmr-footer-col p strong { color: #fff; }
[data-theme="tmrent"] .tmr-footer-social { display: flex; gap: 10px; margin-top: 24px; }
[data-theme="tmrent"] .tmr-footer-social a { width: 36px; height: 36px; border-radius: calc(8px * var(--radius-scale, 1)); display: flex; align-items: center; justify-content: center; color: #fff; text-decoration: none; }
[data-theme="tmrent"] .tmr-footer-social a.tmr-social-fb { background: #3b5998; }
[data-theme="tmrent"] .tmr-footer-social a.tmr-social-ig { background: #d6249f; }
[data-theme="tmrent"] .tmr-copyright { background: #f1f1f3; padding: 20px 0; }
[data-theme="tmrent"] .tmr-copyright-row { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 14px; }
[data-theme="tmrent"] .tmr-copyright-text { color: #6b7280; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="tmrent"] .tmr-copyright-text a { color: var(--tmr-ink); text-decoration: none; }
[data-theme="tmrent"] .tmr-copyright-text a:hover { color: var(--tmr-accent-hover); }
@media (max-width: 767px) { [data-theme="tmrent"] .tmr-footer-row { grid-template-columns: 1fr; } }

/* ── sevenloc.fr — RÉEL mesuré 06/09/2026, même famille "Renter Concept"
   qu'evo-loc/dkmrent/tmrent (header BLANC plein 80px, sticky au scroll),
   accent BLEU #2250FC (même famille que dkmrent), footer MAGENTA/ROSE VIF
   #ED1ABF (unique dans ce chantier), icônes footer rose pâle #FEC0F1. ── */
:root { --svl-accent: #2250fc; --svl-accent-hover: #1a3fd1; --svl-footer-bg: #ed1abf; --svl-footer-icon: #fec0f1; --svl-ink: #1e2022; --svl-border: #e4e6ef; }
[data-theme="sevenloc"] .hl { color: var(--svl-accent-hover); }
[data-theme="sevenloc"] .svl-eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--svl-accent-hover); font-weight: 800; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 16px; }
[data-theme="sevenloc"] .svl-eyebrow::before { content: ""; width: 26px; height: 2px; background: var(--svl-accent); }
[data-theme="sevenloc"] .svl-container.svl-text-center, [data-theme="sevenloc"] section.svl-faq .svl-container, [data-theme="sevenloc"] section.svl-contact-head .svl-container { text-align: center; }

[data-theme="sevenloc"] .svl-header { background: #fff; height: 80px; display: flex; align-items: center; position: sticky; top: 0; z-index: 40; }
[data-theme="sevenloc"] .svl-header-inner { width: 100%; }
[data-theme="sevenloc"] .svl-container { width: min(1180px, 92%); margin-inline: auto; }
[data-theme="sevenloc"] .svl-header .svl-container { display: flex; align-items: center; justify-content: space-between; }
[data-theme="sevenloc"] .svl-logo img { height: 46px; display: block; }
[data-theme="sevenloc"] .svl-logo-text { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: 1.3rem; color: #000; }
[data-theme="sevenloc"] .svl-main-menu nav ul { display: flex; gap: 34px; list-style: none; margin: 0; padding: 0; }
[data-theme="sevenloc"] .svl-main-menu nav a { color: rgb(60,64,67); font-size: calc(12px * var(--text-scale, 1)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
[data-theme="sevenloc"] .svl-main-menu nav li.svl-active a { color: var(--svl-accent-hover); }
[data-theme="sevenloc"] .svl-menu-trigger { display: none; cursor: pointer; }
[data-theme="sevenloc"] .svl-lines-button { display: block; width: 26px; height: 18px; position: relative; }
[data-theme="sevenloc"] .svl-lines, [data-theme="sevenloc"] .svl-lines::before, [data-theme="sevenloc"] .svl-lines::after { content: ""; display: block; width: 26px; height: 2px; background: #000; position: absolute; left: 0; transition: transform .2s; }
[data-theme="sevenloc"] .svl-lines { top: 8px; }
[data-theme="sevenloc"] .svl-lines::before { top: -8px; }
[data-theme="sevenloc"] .svl-lines::after { top: 8px; }
@media (max-width: 991px) {
    [data-theme="sevenloc"] .svl-menu-trigger { display: block; }
    [data-theme="sevenloc"] .svl-main-menu { position: absolute; top: 80px; left: 0; right: 0; background: #fff; box-shadow: 0 12px 24px rgba(0,0,0,.08); max-height: 0; overflow: hidden; transition: max-height .25s ease; z-index: 30; }
    [data-theme="sevenloc"] .svl-main-menu.svl-open { max-height: 400px; }
    [data-theme="sevenloc"] .svl-main-menu nav, [data-theme="sevenloc"] .svl-main-menu ul, [data-theme="sevenloc"] .svl-main-menu li { height: auto; }
    [data-theme="sevenloc"] .svl-main-menu nav ul { flex-direction: column; gap: 0; padding: 10px 0; }
    [data-theme="sevenloc"] .svl-main-menu nav li { padding: 12px 24px; }
}

/* ── Carrousel hero — 3 diapositives réelles, h1 constant + h2 par diapo. ── */
[data-theme="sevenloc"] .svl-slider { position: relative; height: 648px; min-height: 320px; overflow: hidden; background: #111; }
[data-theme="sevenloc"] .svl-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity var(--svl-slide-transition-ms, 800ms) ease; }
[data-theme="sevenloc"] .svl-slide.svl-slide-active { opacity: 1; }
[data-theme="sevenloc"] .svl-slider::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.35); z-index: 0; }
[data-theme="sevenloc"] .svl-slider > .svl-container { position: relative; z-index: 1; height: 100%; display: flex; align-items: center; justify-content: flex-start; }
[data-theme="sevenloc"] .svl-slide-captions { position: relative; z-index: 1; text-align: left; color: #fff; box-sizing: border-box; width: 100%; }
[data-theme="sevenloc"] .svl-slide-captions h1 { font-size: calc(70px * var(--text-scale, 1)); font-weight: 800; line-height: 1; margin: 0 0 20px; color: #fff; }
[data-theme="sevenloc"] .svl-slide-captions h2 { font-size: calc(44px * var(--text-scale, 1)); font-weight: 700; line-height: 1.2; margin: 0; color: #fff; max-width: 18ch; }
[data-theme="sevenloc"] .svl-slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 60px; height: 60px; border-radius: 50%; border: none; background: rgba(255,255,255,.15); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
[data-theme="sevenloc"] .svl-slider-arrow svg { width: 18px; height: 18px; }
[data-theme="sevenloc"] .svl-slider-arrow-prev { left: 20px; }
[data-theme="sevenloc"] .svl-slider-arrow-next { right: 20px; }
[data-theme="sevenloc"] .svl-slider-dots { position: absolute; bottom: 30px; left: 0; right: 0; z-index: 2; display: flex; justify-content: center; gap: 8px; }
[data-theme="sevenloc"] .svl-slider-dots button { width: 30px; height: 4px; border-radius: 0; border: none; background: #fff; opacity: .5; cursor: pointer; padding: 0; }
[data-theme="sevenloc"] .svl-slider-dots button.svl-dot-active { opacity: 1; background: var(--svl-accent); }

/* ── Formulaire de réservation — pas de bandeau coloré, section blanche
     (RÉEL mesuré), bouton bleu. ── */
[data-theme="sevenloc"] .svl-booking-form { background: #fff; padding: 60px 0 20px; }
[data-theme="sevenloc"] .svl-booking-form-head { text-align: center; margin-bottom: 40px; }
[data-theme="sevenloc"] .svl-booking-form-head h2 { color: var(--page-ink, #000); font-size: calc(46px * var(--text-scale, 1)); font-weight: 800; margin: 0 0 16px; }
[data-theme="sevenloc"] .svl-booking-form-head p { color: var(--page-ink, #555); font-size: calc(14px * var(--text-scale, 1)); margin: 0; }
[data-theme="sevenloc"] .svl-seperator { text-align: center; color: #ccc; font-size: 18px; margin: 0 0 22px; }
[data-theme="sevenloc"] .svl-form-row { display: grid; grid-template-columns: 4fr 3fr 2fr 3fr; gap: 8px 14px; margin-bottom: 8px; }
[data-theme="sevenloc"] .svl-form-col { box-sizing: border-box; min-width: 0; }
[data-theme="sevenloc"] .svl-form-col-btn { display: flex; align-items: end; }
[data-theme="sevenloc"] .svl-booking-form label { display: block; color: #2e2e2e; font-size: calc(12.25px * var(--text-scale, 1)); font-weight: 500; margin-bottom: 7px; }
[data-theme="sevenloc"] .svl-form-control { width: 100%; height: 40px; border: 1px solid var(--svl-border); border-radius: calc(6px * var(--radius-scale, 1)); padding: 7px 14px; font-size: calc(14px * var(--text-scale, 1)); box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="sevenloc"] .svl-input-group { display: flex; }
[data-theme="sevenloc"] .svl-input-group .svl-form-control { border-radius: calc(6px * var(--radius-scale, 1)) 0 0 calc(6px * var(--radius-scale, 1)); border-right: none; }
[data-theme="sevenloc"] .svl-input-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: none; background: #f9f9fa; border: 1px solid var(--svl-border); border-radius: 0 calc(6px * var(--radius-scale, 1)) calc(6px * var(--radius-scale, 1)) 0; color: #1e2022; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="sevenloc"] .svl-btn-search { width: 100%; height: 40px; padding: 0 20px; background: var(--svl-accent); color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; text-transform: uppercase; font-size: calc(13px * var(--text-scale, 1)); letter-spacing: .5px; cursor: pointer; transition: background .2s; white-space: nowrap; }
[data-theme="sevenloc"] .svl-btn-search:hover { background: var(--svl-accent-hover); }
@media (max-width: 767px) { [data-theme="sevenloc"] .svl-form-row { grid-template-columns: 1fr; } }

/* ── Flotte — cartes à bordure fine + ombre légère (RÉEL mesuré, 10
     catégories, 3 colonnes, AUCUN prix affiché). ── */
[data-theme="sevenloc"] .svl-fleet { padding: 20px 0 80px; background: var(--svl-fleet-bg, transparent); }
[data-theme="sevenloc"] .svl-fleet-head { text-align: center; margin-bottom: 24px; }
[data-theme="sevenloc"] .svl-fleet h2 { font-size: calc(38px * var(--text-scale, 1)); font-weight: 800; color: var(--page-ink, #000); margin: 0 0 16px; }
[data-theme="sevenloc"] .svl-fleet-lead { max-width: 780px; margin: 0 auto; color: var(--page-ink, #3c4043); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="sevenloc"] .svl-fleet-grid { display: grid; grid-template-columns: repeat(var(--svl-fleet-cols, 3), 1fr); gap: 28px; margin-top: 24px; }
[data-theme="sevenloc"] .svl-fleet-card { background: var(--surface-bg, #fff); border: 1px solid var(--svl-border); border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); padding: 8px; box-sizing: border-box; }
[data-theme="sevenloc"] .svl-fleet-card h3 { font-size: calc(20px * var(--text-scale, 1)); font-weight: 700; color: var(--surface-ink, #1e2022); text-align: center; padding: 3.5px 0; margin: 8px 0 0; text-transform: uppercase; }
[data-theme="sevenloc"] .svl-fleet-card img { width: 100%; display: block; }
[data-theme="sevenloc"] .svl-fleet-illu-generic { height: 160px; display: grid; place-items: center; background: linear-gradient(180deg, #fff, #f5f7fa); }
[data-theme="sevenloc"] .svl-fleet-illu-generic svg { width: 70%; max-width: 220px; height: auto; }
[data-theme="sevenloc"] .svl-fleet-price { font-size: calc(12px * var(--text-scale, 1)); color: var(--surface-ink, #1e2022); font-weight: 500; text-align: center; margin-top: 8px; }
@media (max-width: 991px) { [data-theme="sevenloc"] .svl-fleet-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { [data-theme="sevenloc"] .svl-fleet-grid { grid-template-columns: 1fr; } }

/* ── Services (grille icon-box centrée, RÉEL mesuré : trait blEU sous le
     titre, icônes gris foncé uniforme). ── */
[data-theme="sevenloc"] .svl-advantages { padding: 64px 0; }
[data-theme="sevenloc"] .svl-advantages h2 { font-size: calc(38px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 14px; }
[data-theme="sevenloc"] .svl-advantages-sep { width: 60px; height: 3px; background: var(--svl-accent); margin: 0 auto 20px; }
[data-theme="sevenloc"] .svl-advantages-lead { max-width: 760px; margin: 0 auto 36px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="sevenloc"] .svl-advantages-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
[data-theme="sevenloc"] .svl-advantage { text-align: center; }
[data-theme="sevenloc"] .svl-advantage-icon { width: 64px; height: 64px; border-radius: 50%; border: 2px solid var(--surface-ink, #333); display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; }
[data-theme="sevenloc"] .svl-advantage-icon i { font-size: 22px; color: var(--surface-ink, #333); }
[data-theme="sevenloc"] .svl-advantage h3 { font-size: calc(17px * var(--text-scale, 1)); font-weight: 700; color: var(--surface-ink, #1e2022); margin: 0 0 8px; }
[data-theme="sevenloc"] .svl-advantage p { color: var(--page-ink, #4b5563); font-size: calc(14px * var(--text-scale, 1)); line-height: 1.6; margin: 0; }
@media (max-width: 860px) { [data-theme="sevenloc"] .svl-advantages-grid { grid-template-columns: 1fr; } }

/* ── A propos (2 colonnes 7/5, texte + photo) ── */
[data-theme="sevenloc"] .svl-about { padding: 64px 0; }
[data-theme="sevenloc"] .svl-about-row { display: grid; grid-template-columns: 7fr 5fr; gap: 40px; align-items: center; }
[data-theme="sevenloc"] .svl-about-text h2 { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: calc(32px * var(--text-scale, 1)); color: var(--surface-ink, #1e2022); margin: 0 0 16px; }
[data-theme="sevenloc"] .svl-about-text p { color: var(--page-ink, #4b5563); font-size: calc(15px * var(--text-scale, 1)); line-height: 1.75; margin: 0 0 16px; }
[data-theme="sevenloc"] .svl-about-photo img { width: 100%; border-radius: calc(12px * var(--radius-scale, 1)); display: block; }
@media (max-width: 860px) { [data-theme="sevenloc"] .svl-about-row { grid-template-columns: 1fr; } }

/* ── Témoignages (liste empilée centrée, PAS une grille de cartes, 25 avis
     réels — RÉEL mesuré). ── */
[data-theme="sevenloc"] .svl-testimonials { padding: 64px 0; }
[data-theme="sevenloc"] .svl-testimonials h2 { font-size: calc(33px * var(--text-scale, 1)); font-weight: 500; color: var(--page-ink, #1e2022); margin: 0 0 10px; }
[data-theme="sevenloc"] .svl-testimonials-lead { max-width: 700px; margin: 0 auto 30px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="sevenloc"] .svl-testimonials-list { max-width: 760px; margin: 0 auto; }
[data-theme="sevenloc"] .svl-testimonial { padding: 34px 0; }
[data-theme="sevenloc"] .svl-testimonial-photo { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; margin: 0 auto 14px; display: block; }
[data-theme="sevenloc"] .svl-testimonial-date { font-size: calc(13px * var(--text-scale, 1)); font-weight: 700; color: var(--surface-ink, #1e2022); margin-bottom: 6px; }
[data-theme="sevenloc"] .svl-testimonial-stars { margin-bottom: 10px; }
[data-theme="sevenloc"] .svl-testimonial-stars i { color: #ccc; font-size: 14px; margin: 0 1px; }
[data-theme="sevenloc"] .svl-testimonial-stars i.svl-star-filled { color: gold; }
[data-theme="sevenloc"] .svl-testimonial h3 { font-size: calc(15px * var(--text-scale, 1)); font-weight: 700; color: var(--surface-ink, #1e2022); margin: 0 0 8px; }
[data-theme="sevenloc"] .svl-testimonial p { color: var(--page-ink, #4b5563); font-size: calc(14.5px * var(--text-scale, 1)); line-height: 1.65; margin: 0; }
[data-theme="sevenloc"] .svl-testimonials-list hr { border: none; border-top: 1px solid var(--svl-border); margin: 0; }

/* ── Bandeau titre page — vraie photo réelle par défaut (RÉEL mesuré). ── */
[data-theme="sevenloc"] .svl-page-title { position: relative; padding: 80px 0; text-align: center; background-color: #1e2022; background-size: cover; background-position: center; }
[data-theme="sevenloc"] .svl-page-title::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.45); }
[data-theme="sevenloc"] .svl-page-title .svl-container { position: relative; z-index: 1; display: block; }
[data-theme="sevenloc"] .svl-page-title h1 { color: #fff; font-family: 'Poppins', sans-serif; font-size: calc(35px * var(--text-scale, 1)); font-weight: 400; line-height: 1.2; margin: 0 0 .5rem; }
[data-theme="sevenloc"] .svl-page-title .svl-breadcrumb { color: rgba(255,255,255,.75); font-size: calc(14px * var(--text-scale, 1)); }
[data-theme="sevenloc"] .svl-page-title .svl-breadcrumb a { color: rgba(255,255,255,.9); text-decoration: none; }
[data-theme="sevenloc"] .svl-page-title .svl-breadcrumb .svl-crumb-sep { margin: 0 6px; opacity: .6; }
@media (max-width: 991px) { [data-theme="sevenloc"] .svl-page-title h1 { font-size: calc(24px * var(--text-scale, 1)); } }

/* ── FAQ — accordéon plat, PAS de catégories visibles (RÉEL mesuré). ── */
[data-theme="sevenloc"] .svl-faq { padding: 64px 0; }
[data-theme="sevenloc"] .svl-faq h3 { text-align: center; font-size: calc(28px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 16px; }
[data-theme="sevenloc"] .svl-faq-lead { text-align: center; max-width: 780px; margin: 0 auto 36px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="sevenloc"] .svl-faq-accordion { max-width: 860px; margin: 0 auto; }
[data-theme="sevenloc"] .svl-faq-item { border: 1px solid var(--svl-border); border-radius: calc(6px * var(--radius-scale, 1)); margin-bottom: 10px; overflow: hidden; }
[data-theme="sevenloc"] .svl-faq-q { width: 100%; display: flex; align-items: center; gap: 10px; background: none; border: none; padding: 12px 20px; text-align: left; font-size: calc(14px * var(--text-scale, 1)); font-weight: 500; color: var(--surface-ink, #1e2022); cursor: pointer; font-family: inherit; }
[data-theme="sevenloc"] .svl-faq-q i { color: var(--surface-ink, #1e2022); }
[data-theme="sevenloc"] .svl-faq-a { max-height: 0; overflow: hidden; transition: max-height .25s ease; }
[data-theme="sevenloc"] .svl-faq-a-inner { padding: 0 20px 16px 46px; color: var(--page-ink, #4b5563); font-size: calc(14px * var(--text-scale, 1)); line-height: 1.65; }

/* ── Contact — titre+accroche blancs en tête (bandeau photo/breadcrumb
     géré par le navbar partagé), formulaire + vraie carte OSM (RÉEL mesuré
     : coordonnées Mapbox du Gosier extraites du script de la page réelle). ── */
[data-theme="sevenloc"] .svl-contact-head { padding: 56px 0 34px; background: #fff; }
[data-theme="sevenloc"] .svl-contact-head h2 { font-size: calc(33px * var(--text-scale, 1)); font-weight: 500; color: var(--page-ink, #111); margin: 0 0 10px; }
[data-theme="sevenloc"] .svl-contact-lead { max-width: 700px; margin: 0 auto; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="sevenloc"] .svl-contact-section { padding: 0 0 64px; }
[data-theme="sevenloc"] .svl-contact-grid { display: grid; grid-template-columns: 1.2fr .9fr; gap: 32px; align-items: start; }
[data-theme="sevenloc"] .svl-form-card { background: var(--surface-bg, #fff); border: 1px solid var(--svl-border); border-radius: calc(10px * var(--radius-scale, 1)); box-shadow: 0 0 17.5px rgba(31,45,61,.05); padding: 26px; }
[data-theme="sevenloc"] .svl-field { margin-bottom: 18px; text-align: left; }
[data-theme="sevenloc"] .svl-field label { display: block; font-size: calc(13px * var(--text-scale, 1)); font-weight: 600; color: var(--surface-ink, #1e2022); margin-bottom: 6px; }
[data-theme="sevenloc"] .svl-input, [data-theme="sevenloc"] .svl-textarea { width: 100%; border: 1px solid var(--svl-border); border-radius: calc(6px * var(--radius-scale, 1)); padding: 10px 14px; font-size: calc(14px * var(--text-scale, 1)); font-family: inherit; box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="sevenloc"] .svl-textarea { min-height: 130px; resize: vertical; }
[data-theme="sevenloc"] .svl-contact-submit { width: 100%; padding: 13px 20px; background: var(--svl-accent); color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; font-size: calc(14px * var(--text-scale, 1)); letter-spacing: .3px; cursor: pointer; transition: background .2s; }
[data-theme="sevenloc"] .svl-contact-submit:hover { background: var(--svl-accent-hover); }
[data-theme="sevenloc"] .svl-side { display: flex; flex-direction: column; gap: 16px; }
[data-theme="sevenloc"] .svl-addr-map { border-radius: calc(10px * var(--radius-scale, 1)); overflow: hidden; border: 1px solid var(--svl-border); aspect-ratio: 4/3; }
[data-theme="sevenloc"] .svl-addr-line { display: flex; align-items: flex-start; gap: 10px; font-size: .92rem; color: #4b5563; font-weight: 600; }
[data-theme="sevenloc"] .svl-addr-line i { width: 18px; flex: none; color: var(--svl-accent); margin-top: 3px; }
[data-theme="sevenloc"] .svl-addr-line a { color: var(--svl-accent); text-decoration: none; }
@media (max-width: 900px) { [data-theme="sevenloc"] .svl-contact-grid { grid-template-columns: 1fr; } }

/* ── Footer — MAGENTA plein #ED1ABF, icônes rose pâle, texte blanc (RÉEL
     mesuré). Barre de copyright gris clair distincte, texte sombre. ── */
[data-theme="sevenloc"] #footer.svl-footer { background: #f9f9fa; color: var(--svl-ink); }
[data-theme="sevenloc"] .svl-footer-content { background: var(--svl-footer-bg); padding: 50px 0 30px; color: #fff; }
[data-theme="sevenloc"] .svl-footer-row { display: grid; grid-template-columns: repeat(var(--ftr-cols, 3), 1fr); gap: 32px; }
[data-theme="sevenloc"] .svl-footer-col { position: relative; padding-left: 46px; min-height: 36px; }
[data-theme="sevenloc"] .svl-footer-icon { position: absolute; left: 0; top: 0; width: 36px; text-align: center; color: var(--svl-footer-icon); font-size: calc(30px * var(--text-scale, 1)); }
[data-theme="sevenloc"] .svl-footer-col h3 { color: #fff; font-size: calc(16px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 4px; }
[data-theme="sevenloc"] .svl-footer-col p { color: #fff; font-size: calc(14px * var(--text-scale, 1)); line-height: 1.6; margin: 0 0 6px; }
[data-theme="sevenloc"] .svl-footer-col p strong { color: #fff; }
[data-theme="sevenloc"] .svl-copyright { background: #f1f1f3; padding: 20px 0; }
[data-theme="sevenloc"] .svl-copyright-row { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 14px; }
[data-theme="sevenloc"] .svl-copyright-text { color: #6b7280; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="sevenloc"] .svl-copyright-text a { color: var(--svl-ink); text-decoration: none; }
[data-theme="sevenloc"] .svl-copyright-text a:hover { color: var(--svl-accent-hover); }
@media (max-width: 767px) { [data-theme="sevenloc"] .svl-footer-row { grid-template-columns: 1fr; } }

/* ── locarlocation.fr — RÉEL mesuré 07/09/2026, même famille "Renter Concept"
   que dkmrent (bandeau réservation blanc, cartes flotte à bordure fine),
   accent BLEU #2250FC (mesuré sur le bouton "Rechercher" et le trait sous
   les titres de section) — header DARK #1e2022 plein (PAS blanc comme
   dkmrent), en flux normal (pas d'overlay transparent, pas de sticky). ── */
:root { --llc-gold: #2250fc; --llc-gold-hover: #1a3fd1; --llc-ink: #1e2022; --llc-border: #e4e6ef; }
[data-theme="locarlocation"] .hl { color: var(--llc-gold-hover); }
[data-theme="locarlocation"] .llc-container.llc-text-center, [data-theme="locarlocation"] section.llc-faq .llc-container, [data-theme="locarlocation"] section.llc-contact .llc-container { text-align: center; }

[data-theme="locarlocation"] .llc-header { background: var(--llc-ink); height: 80px; display: flex; align-items: center; }
[data-theme="locarlocation"] .llc-header-inner { width: 100%; }
[data-theme="locarlocation"] .llc-container { width: min(1180px, 92%); margin-inline: auto; }
[data-theme="locarlocation"] .llc-header .llc-container { display: flex; align-items: center; justify-content: space-between; }
[data-theme="locarlocation"] .llc-logo img { height: 40px; display: block; }
[data-theme="locarlocation"] .llc-logo-text { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: 1.3rem; color: #fff; }
[data-theme="locarlocation"] .llc-main-menu nav ul { display: flex; gap: 34px; list-style: none; margin: 0; padding: 0; }
[data-theme="locarlocation"] .llc-main-menu nav a { color: #fff; font-size: calc(12px * var(--text-scale, 1)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
[data-theme="locarlocation"] .llc-main-menu nav li.llc-active a { color: var(--llc-gold); }
[data-theme="locarlocation"] .llc-menu-trigger { display: none; cursor: pointer; }
[data-theme="locarlocation"] .llc-lines-button { display: block; width: 26px; height: 18px; position: relative; }
[data-theme="locarlocation"] .llc-lines, [data-theme="locarlocation"] .llc-lines::before, [data-theme="locarlocation"] .llc-lines::after { content: ""; display: block; width: 26px; height: 2px; background: #fff; position: absolute; left: 0; transition: transform .2s; }
[data-theme="locarlocation"] .llc-lines { top: 8px; }
[data-theme="locarlocation"] .llc-lines::before { top: -8px; }
[data-theme="locarlocation"] .llc-lines::after { top: 8px; }
@media (max-width: 991px) {
    [data-theme="locarlocation"] .llc-menu-trigger { display: block; }
    [data-theme="locarlocation"] .llc-main-menu { position: absolute; top: 80px; left: 0; right: 0; background: var(--llc-ink); box-shadow: 0 12px 24px rgba(0,0,0,.24); max-height: 0; overflow: hidden; transition: max-height .25s ease; z-index: 30; }
    [data-theme="locarlocation"] .llc-main-menu.llc-open { max-height: 400px; }
    [data-theme="locarlocation"] .llc-main-menu nav, [data-theme="locarlocation"] .llc-main-menu ul, [data-theme="locarlocation"] .llc-main-menu li { height: auto; }
    [data-theme="locarlocation"] .llc-main-menu nav ul { flex-direction: column; gap: 0; padding: 10px 0; }
    [data-theme="locarlocation"] .llc-main-menu nav li { padding: 12px 24px; }
}

/* ── Hero — une seule vraie photo de fond, overlay sombre, titre+accroche
     dans le flux canonique (pas de h1 nom-client séparé). ── */
[data-theme="locarlocation"] .llc-hero { position: relative; min-height: 420px; display: flex; align-items: center; overflow: hidden; }
[data-theme="locarlocation"] .llc-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
[data-theme="locarlocation"] .llc-hero-bg::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.42); }
[data-theme="locarlocation"] .llc-hero-inner { position: relative; z-index: 1; width: min(1180px, 92%); margin-inline: auto; padding: 60px 0; color: #fff; }
[data-theme="locarlocation"] .llc-hero-inner h3 { font-size: calc(36px * var(--text-scale, 1)); font-weight: 600; margin: 0 0 18px; }
[data-theme="locarlocation"] .llc-hero-inner p { font-size: calc(20px * var(--text-scale, 1)); font-weight: 400; max-width: 640px; line-height: 1.5; margin: 0; }

/* ── Nos Services (advantages) — grille centrée, icônes noires, trait bleu. ── */
[data-theme="locarlocation"] .llc-advantages { padding: 64px 0; }
[data-theme="locarlocation"] .llc-advantages h2 { font-size: calc(38px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #000); margin: 0 0 14px; }
[data-theme="locarlocation"] .llc-advantages-sep { width: 60px; height: 3px; background: var(--llc-gold); margin: 0 auto 22px; }
[data-theme="locarlocation"] .llc-advantages-lead { max-width: 720px; margin: 0 auto 40px; color: #6b7280; line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="locarlocation"] .llc-advantages-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 24px; max-width: 900px; margin: 0 auto; }
[data-theme="locarlocation"] .llc-advantage { text-align: center; }
[data-theme="locarlocation"] .llc-advantage-icon { width: 72px; height: 72px; border-radius: 50%; border: 1.5px solid #1e2022; display: flex; align-items: center; justify-content: center; margin: 0 auto 18px; color: #1e2022; font-size: 24px; }
[data-theme="locarlocation"] .llc-advantage h3 { font-size: calc(16px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 10px; }
[data-theme="locarlocation"] .llc-advantage p { color: #6b7280; font-size: calc(14px * var(--text-scale, 1)); line-height: 1.6; margin: 0; }
@media (max-width: 767px) { [data-theme="locarlocation"] .llc-advantages-grid { grid-template-columns: 1fr; } }

/* ── Formulaire de réservation — pas de bandeau coloré, section blanche. ── */
[data-theme="locarlocation"] .llc-booking-form { background: #fff; padding: 60px 0 20px; }
[data-theme="locarlocation"] .llc-booking-form-head { text-align: center; margin-bottom: 40px; }
[data-theme="locarlocation"] .llc-booking-form-head h2, [data-theme="locarlocation"] .llc-booking-form-head .llc-booking-title { color: var(--page-ink, #000); font-size: calc(50px * var(--text-scale, 1)); font-weight: 800; margin: 0 0 16px; }
[data-theme="locarlocation"] .llc-booking-form-head p { color: var(--page-ink, #555); font-size: calc(14px * var(--text-scale, 1)); margin: 0; }
[data-theme="locarlocation"] .llc-seperator { text-align: center; color: #ccc; font-size: 18px; margin: 0 0 22px; }
[data-theme="locarlocation"] .llc-form-row { display: grid; grid-template-columns: 4fr 3fr 2fr 3fr; gap: 8px 14px; margin-bottom: 8px; }
[data-theme="locarlocation"] .llc-form-col { box-sizing: border-box; min-width: 0; }
[data-theme="locarlocation"] .llc-form-col-btn { display: flex; align-items: end; }
[data-theme="locarlocation"] .llc-booking-form label { display: block; color: #2e2e2e; font-size: calc(12.25px * var(--text-scale, 1)); font-weight: 500; margin-bottom: 7px; }
[data-theme="locarlocation"] .llc-form-control { width: 100%; height: 40px; border: 1px solid var(--llc-border); border-radius: calc(6px * var(--radius-scale, 1)); padding: 7px 14px; font-size: calc(14px * var(--text-scale, 1)); box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="locarlocation"] .llc-input-group { display: flex; }
[data-theme="locarlocation"] .llc-input-group .llc-form-control { border-radius: calc(6px * var(--radius-scale, 1)) 0 0 calc(6px * var(--radius-scale, 1)); border-right: none; }
[data-theme="locarlocation"] .llc-input-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: none; background: #f9f9fa; border: 1px solid var(--llc-border); border-radius: 0 calc(6px * var(--radius-scale, 1)) calc(6px * var(--radius-scale, 1)) 0; color: #1e2022; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="locarlocation"] .llc-btn-search { width: 100%; height: 40px; padding: 0 20px; background: var(--llc-gold); color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; text-transform: uppercase; font-size: calc(13px * var(--text-scale, 1)); letter-spacing: .5px; cursor: pointer; transition: background .2s; white-space: nowrap; }
[data-theme="locarlocation"] .llc-btn-search:hover { background: var(--llc-gold-hover); }
@media (max-width: 767px) { [data-theme="locarlocation"] .llc-form-row { grid-template-columns: 1fr; } }

/* ── Flotte — cartes à bordure fine + ombre légère (RÉEL mesuré). ── */
[data-theme="locarlocation"] .llc-fleet { padding: 20px 0 80px; background: var(--llc-fleet-bg, transparent); }
[data-theme="locarlocation"] .llc-fleet-head { text-align: center; margin-bottom: 24px; }
[data-theme="locarlocation"] .llc-fleet h2 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 800; color: var(--page-ink, #000); margin: 0 0 16px; }
[data-theme="locarlocation"] .llc-fleet-lead { max-width: 780px; margin: 0 auto; color: var(--page-ink, #3c4043); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="locarlocation"] .llc-fleet-grid { display: grid; grid-template-columns: repeat(var(--llc-fleet-cols, 3), 1fr); gap: 28px; margin-top: 24px; }
[data-theme="locarlocation"] .llc-fleet-card { background: var(--surface-bg, #fff); border: 1px solid var(--llc-border); border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); padding: 8px; box-sizing: border-box; }
[data-theme="locarlocation"] .llc-fleet-card h3 { font-size: calc(20px * var(--text-scale, 1)); font-weight: 700; color: var(--surface-ink, #1e2022); text-align: center; padding: 3.5px 0; margin: 8px 0 0; text-transform: uppercase; }
[data-theme="locarlocation"] .llc-fleet-card img { width: 100%; display: block; }
[data-theme="locarlocation"] .llc-fleet-illu-generic { height: 160px; display: grid; place-items: center; background: linear-gradient(180deg, #fff, #f5f7fa); }
[data-theme="locarlocation"] .llc-fleet-illu-generic svg { width: 70%; max-width: 220px; height: auto; }
[data-theme="locarlocation"] .llc-fleet-price { font-size: calc(12px * var(--text-scale, 1)); color: var(--surface-ink, #1e2022); font-weight: 500; text-align: center; margin-top: 8px; }
@media (max-width: 991px) { [data-theme="locarlocation"] .llc-fleet-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { [data-theme="locarlocation"] .llc-fleet-grid { grid-template-columns: 1fr; } }

/* ── Bandeau titre page — même vraie photo (plage-64535.jpg) réutilisée sur
     TOUTES les pages internes (RÉEL mesuré), aplat #1e2022 en repli si aucune
     photo n'est fournie pour un futur bloc. ── */
[data-theme="locarlocation"] .llc-page-title { position: relative; padding: 80px 0; text-align: center; background-color: #1e2022; background-size: cover; background-position: center; }
[data-theme="locarlocation"] .llc-page-title[style*="background-image"]::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.45); }
[data-theme="locarlocation"] .llc-page-title .llc-container { position: relative; z-index: 1; display: block; }
[data-theme="locarlocation"] .llc-page-title h1 { color: #fff; font-family: 'Poppins', sans-serif; font-size: calc(35px * var(--text-scale, 1)); font-weight: 400; line-height: 1.2; margin: 0 0 .5rem; }
[data-theme="locarlocation"] .llc-page-title .llc-breadcrumb { color: rgba(255,255,255,.75); font-size: calc(14px * var(--text-scale, 1)); }
[data-theme="locarlocation"] .llc-page-title .llc-breadcrumb a { color: rgba(255,255,255,.9); text-decoration: none; }
[data-theme="locarlocation"] .llc-page-title .llc-breadcrumb .llc-crumb-sep { margin: 0 6px; opacity: .6; }
@media (max-width: 991px) { [data-theme="locarlocation"] .llc-page-title h1 { font-size: calc(24px * var(--text-scale, 1)); } }

/* ── FAQ — accordéon plat, PAS de catégories visibles (RÉEL mesuré). ── */
[data-theme="locarlocation"] .llc-faq { padding: 64px 0; }
[data-theme="locarlocation"] .llc-faq h3 { text-align: center; font-size: calc(28px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 16px; }
[data-theme="locarlocation"] .llc-faq-lead { text-align: center; max-width: 780px; margin: 0 auto 36px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="locarlocation"] .llc-faq-accordion { max-width: 860px; margin: 0 auto; }
[data-theme="locarlocation"] .llc-faq-item { border: 1px solid var(--llc-border); border-radius: calc(6px * var(--radius-scale, 1)); margin-bottom: 10px; overflow: hidden; }
[data-theme="locarlocation"] .llc-faq-q { width: 100%; display: flex; align-items: center; gap: 10px; background: none; border: none; padding: 12px 20px; text-align: left; font-size: calc(14px * var(--text-scale, 1)); font-weight: 500; color: var(--surface-ink, #1e2022); cursor: pointer; font-family: inherit; }
[data-theme="locarlocation"] .llc-faq-q i { color: var(--surface-ink, #1e2022); }
[data-theme="locarlocation"] .llc-faq-a { max-height: 0; overflow: hidden; transition: max-height .25s ease; }
[data-theme="locarlocation"] .llc-faq-a-inner { padding: 0 20px 16px 46px; color: var(--page-ink, #4b5563); font-size: calc(14px * var(--text-scale, 1)); line-height: 1.65; }

/* ── Contact — colonne unique, formulaire blanc bordé, sans carte/carte
     (RÉEL mesuré : aucune coordonnée Mapbox renseignée sur le vrai site,
     pas de carte à reproduire). ── */
[data-theme="locarlocation"] .llc-contact { padding: 64px 0; text-align: center; }
[data-theme="locarlocation"] .llc-contact h3 { font-size: calc(33px * var(--text-scale, 1)); font-weight: 500; color: var(--page-ink, #111); margin: 0 0 10px; }
[data-theme="locarlocation"] .llc-contact-lead { max-width: 700px; margin: 0 auto 40px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="locarlocation"] .llc-contact-form { max-width: 780px; margin: 0 auto; border: 1px solid var(--llc-border); border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); }
[data-theme="locarlocation"] .llc-contact-form-head { background: var(--surface-bg, #f9f9fa); color: var(--surface-ink, #1e2022); font-size: calc(13px * var(--text-scale, 1)); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; padding: 16px 24px; text-align: left; border-bottom: 1px solid var(--llc-border); }
[data-theme="locarlocation"] .llc-contact-form-body { padding: 26px 24px; background: var(--surface-bg, #fff); }
[data-theme="locarlocation"] .llc-contact-field { margin-bottom: 18px; text-align: left; }
[data-theme="locarlocation"] .llc-contact-field label { display: block; font-size: calc(13px * var(--text-scale, 1)); font-weight: 600; color: var(--surface-ink, #1e2022); margin-bottom: 6px; }
[data-theme="locarlocation"] .llc-contact-field input,
[data-theme="locarlocation"] .llc-contact-field textarea { width: 100%; border: 1px solid var(--llc-border); border-radius: calc(6px * var(--radius-scale, 1)); padding: 10px 14px; font-size: calc(14px * var(--text-scale, 1)); font-family: inherit; box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="locarlocation"] .llc-contact-field textarea { min-height: 130px; resize: vertical; }
[data-theme="locarlocation"] .llc-contact-submit { width: 100%; padding: 13px 20px; background: #2250fc; color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; font-size: calc(14px * var(--text-scale, 1)); letter-spacing: .3px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; transition: background .2s; }
[data-theme="locarlocation"] .llc-contact-submit:hover { background: #1a3fd1; }

/* ── Footer — gris clair, texte/titres sombres (RÉEL mesuré), pas de
     réseaux sociaux (liste vide sur le vrai site). ── */
[data-theme="locarlocation"] #footer.llc-footer { background: #f9f9fa; color: var(--llc-ink); }
[data-theme="locarlocation"] .llc-footer-content { padding: 50px 0 30px; }
[data-theme="locarlocation"] .llc-footer-row { display: grid; grid-template-columns: repeat(var(--ftr-cols, 3), 1fr); gap: 32px; }
[data-theme="locarlocation"] .llc-footer-col { position: relative; padding-left: 46px; min-height: 36px; }
[data-theme="locarlocation"] .llc-footer-icon { position: absolute; left: 0; top: 0; width: 36px; text-align: center; color: var(--llc-ink); font-size: calc(30px * var(--text-scale, 1)); }
[data-theme="locarlocation"] .llc-footer-col h3 { color: var(--llc-ink); font-size: calc(16px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 4px; }
[data-theme="locarlocation"] .llc-footer-col p { color: #4b5563; font-size: calc(14px * var(--text-scale, 1)); line-height: 1.6; margin: 0 0 6px; }
[data-theme="locarlocation"] .llc-footer-col p strong { color: var(--llc-ink); }
[data-theme="locarlocation"] .llc-copyright { background: #f1f1f3; padding: 20px 0; }
[data-theme="locarlocation"] .llc-copyright-row { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 14px; }
[data-theme="locarlocation"] .llc-copyright-text { color: #6b7280; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="locarlocation"] .llc-copyright-text a { color: var(--llc-ink); text-decoration: none; }
[data-theme="locarlocation"] .llc-copyright-text a:hover { color: var(--llc-gold-hover); }
@media (max-width: 767px) { [data-theme="locarlocation"] .llc-footer-row { grid-template-columns: 1fr; } }

/* ── sunloc971.fr — RÉEL mesuré 07/09/2026, même famille "Renter Concept"
   que tmrent/dkmrent (header blanc plein, bandeau réservation blanc, cartes
   flotte à bordure fine, AUCUN prix affiché), accent AMBRE #FFC107 (mesuré
   sur le bouton "Rechercher" — même couleur exacte que tmrent). ── */
:root { --snl-gold: #ffc107; --snl-gold-hover: #e6ac00; --snl-ink: #1e2022; --snl-border: #e4e6ef; }
[data-theme="sunloc971"] .hl { color: var(--snl-gold-hover); }
[data-theme="sunloc971"] .snl-container.snl-text-center, [data-theme="sunloc971"] section.snl-faq .snl-container { text-align: center; }
[data-theme="sunloc971"] .snl-eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--snl-gold-hover); font-weight: 800; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 16px; }
[data-theme="sunloc971"] .snl-eyebrow::before { content: ""; width: 26px; height: 2px; background: var(--snl-gold); }

[data-theme="sunloc971"] .snl-header { background: #fff; height: 80px; display: flex; align-items: center; }
[data-theme="sunloc971"] .snl-header-inner { width: 100%; }
[data-theme="sunloc971"] .snl-container { width: min(1180px, 92%); margin-inline: auto; }
[data-theme="sunloc971"] .snl-header .snl-container { display: flex; align-items: center; justify-content: space-between; }
[data-theme="sunloc971"] .snl-logo img { height: 46px; display: block; }
[data-theme="sunloc971"] .snl-logo-text { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: 1.3rem; color: #000; }
[data-theme="sunloc971"] .snl-main-menu nav ul { display: flex; gap: 34px; list-style: none; margin: 0; padding: 0; }
[data-theme="sunloc971"] .snl-main-menu nav a { color: #000; font-size: calc(12px * var(--text-scale, 1)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
[data-theme="sunloc971"] .snl-main-menu nav li.snl-active a { color: var(--snl-gold-hover); }
[data-theme="sunloc971"] .snl-menu-trigger { display: none; cursor: pointer; }
[data-theme="sunloc971"] .snl-lines-button { display: block; width: 26px; height: 18px; position: relative; }
[data-theme="sunloc971"] .snl-lines, [data-theme="sunloc971"] .snl-lines::before, [data-theme="sunloc971"] .snl-lines::after { content: ""; display: block; width: 26px; height: 2px; background: #000; position: absolute; left: 0; transition: transform .2s; }
[data-theme="sunloc971"] .snl-lines { top: 8px; }
[data-theme="sunloc971"] .snl-lines::before { top: -8px; }
[data-theme="sunloc971"] .snl-lines::after { top: 8px; }
@media (max-width: 991px) {
    [data-theme="sunloc971"] .snl-menu-trigger { display: block; }
    [data-theme="sunloc971"] .snl-main-menu { position: absolute; top: 80px; left: 0; right: 0; background: #fff; box-shadow: 0 12px 24px rgba(0,0,0,.08); max-height: 0; overflow: hidden; transition: max-height .25s ease; z-index: 30; }
    [data-theme="sunloc971"] .snl-main-menu.snl-open { max-height: 400px; }
    [data-theme="sunloc971"] .snl-main-menu nav, [data-theme="sunloc971"] .snl-main-menu ul, [data-theme="sunloc971"] .snl-main-menu li { height: auto; }
    [data-theme="sunloc971"] .snl-main-menu nav ul { flex-direction: column; gap: 0; padding: 10px 0; }
    [data-theme="sunloc971"] .snl-main-menu nav li { padding: 12px 24px; }
}

/* ── Carrousel hero — 4 diapositives réelles, h1 constant + h2 par diapo. ── */
[data-theme="sunloc971"] .snl-slider { position: relative; height: 648px; min-height: 320px; overflow: hidden; background: #111; }
[data-theme="sunloc971"] .snl-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity var(--snl-slide-transition-ms, 800ms) ease; }
[data-theme="sunloc971"] .snl-slide.snl-slide-active { opacity: 1; }
[data-theme="sunloc971"] .snl-slider::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.35); z-index: 0; }
[data-theme="sunloc971"] .snl-slider > .snl-container { position: relative; z-index: 1; height: 100%; display: flex; align-items: center; justify-content: flex-start; }
[data-theme="sunloc971"] .snl-slide-captions { position: relative; z-index: 1; text-align: left; color: #fff; box-sizing: border-box; width: 100%; }
[data-theme="sunloc971"] .snl-slide-captions h1 { font-size: calc(80px * var(--text-scale, 1)); font-weight: 700; line-height: 1; margin: 0 0 20px; color: #fff; }
[data-theme="sunloc971"] .snl-slide-captions h2 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 700; line-height: 1.2; margin: 0; color: #fff; max-width: 14ch; }
[data-theme="sunloc971"] .snl-slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 60px; height: 60px; border-radius: 50%; border: none; background: rgba(255,255,255,.15); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
[data-theme="sunloc971"] .snl-slider-arrow svg { width: 18px; height: 18px; }
[data-theme="sunloc971"] .snl-slider-arrow-prev { left: 20px; }
[data-theme="sunloc971"] .snl-slider-arrow-next { right: 20px; }
[data-theme="sunloc971"] .snl-slider-dots { position: absolute; bottom: 30px; left: 0; right: 0; z-index: 2; display: flex; justify-content: center; gap: 8px; }
[data-theme="sunloc971"] .snl-slider-dots button { width: 30px; height: 4px; border-radius: 0; border: none; background: #fff; opacity: .5; cursor: pointer; padding: 0; }
[data-theme="sunloc971"] .snl-slider-dots button.snl-dot-active { opacity: 1; background: var(--snl-gold); }

/* ── Formulaire de réservation — pas de bandeau coloré, section blanche. ── */
[data-theme="sunloc971"] .snl-booking-form { background: #fff; padding: 60px 0 20px; }
[data-theme="sunloc971"] .snl-booking-form-head { text-align: center; margin-bottom: 40px; }
[data-theme="sunloc971"] .snl-booking-form-head h2 { color: var(--page-ink, #000); font-size: calc(50px * var(--text-scale, 1)); font-weight: 800; margin: 0 0 16px; }
[data-theme="sunloc971"] .snl-booking-form-head p { color: var(--page-ink, #555); font-size: calc(14px * var(--text-scale, 1)); margin: 0; }
[data-theme="sunloc971"] .snl-seperator { text-align: center; color: #ccc; font-size: 18px; margin: 0 0 22px; }
[data-theme="sunloc971"] .snl-form-row { display: grid; grid-template-columns: 4fr 3fr 2fr 3fr; gap: 8px 14px; margin-bottom: 8px; }
[data-theme="sunloc971"] .snl-form-col { box-sizing: border-box; min-width: 0; }
[data-theme="sunloc971"] .snl-form-col-btn { display: flex; align-items: end; }
[data-theme="sunloc971"] .snl-booking-form label { display: block; color: #2e2e2e; font-size: calc(12.25px * var(--text-scale, 1)); font-weight: 500; margin-bottom: 7px; }
[data-theme="sunloc971"] .snl-form-control { width: 100%; height: 40px; border: 1px solid var(--snl-border); border-radius: calc(6px * var(--radius-scale, 1)); padding: 7px 14px; font-size: calc(14px * var(--text-scale, 1)); box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="sunloc971"] .snl-input-group { display: flex; }
[data-theme="sunloc971"] .snl-input-group .snl-form-control { border-radius: calc(6px * var(--radius-scale, 1)) 0 0 calc(6px * var(--radius-scale, 1)); border-right: none; }
[data-theme="sunloc971"] .snl-input-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: none; background: #f9f9fa; border: 1px solid var(--snl-border); border-radius: 0 calc(6px * var(--radius-scale, 1)) calc(6px * var(--radius-scale, 1)) 0; color: #1e2022; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="sunloc971"] .snl-btn-search { width: 100%; height: 40px; padding: 0 20px; background: var(--snl-gold); color: #fff; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; text-transform: uppercase; font-size: calc(13px * var(--text-scale, 1)); letter-spacing: .5px; cursor: pointer; transition: background .2s; white-space: nowrap; }
[data-theme="sunloc971"] .snl-btn-search:hover { background: var(--snl-gold-hover); }
@media (max-width: 767px) { [data-theme="sunloc971"] .snl-form-row { grid-template-columns: 1fr; } }

/* ── Flotte — cartes à bordure fine + ombre légère (RÉEL mesuré). ── */
[data-theme="sunloc971"] .snl-fleet { padding: 20px 0 80px; background: var(--snl-fleet-bg, transparent); }
[data-theme="sunloc971"] .snl-fleet-head { text-align: center; margin-bottom: 24px; }
[data-theme="sunloc971"] .snl-fleet h2 { font-size: calc(50px * var(--text-scale, 1)); font-weight: 800; color: var(--page-ink, #000); margin: 0 0 16px; }
[data-theme="sunloc971"] .snl-fleet-lead { max-width: 780px; margin: 0 auto; color: var(--page-ink, #3c4043); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="sunloc971"] .snl-fleet-grid { display: grid; grid-template-columns: repeat(var(--snl-fleet-cols, 3), 1fr); gap: 28px; margin-top: 24px; }
[data-theme="sunloc971"] .snl-fleet-card { background: var(--surface-bg, #fff); border: 1px solid var(--snl-border); border-radius: calc(6px * var(--radius-scale, 1)); overflow: hidden; box-shadow: 0 0 17.5px rgba(31,45,61,.05); padding: 8px; box-sizing: border-box; }
[data-theme="sunloc971"] .snl-fleet-card h3 { font-size: calc(20px * var(--text-scale, 1)); font-weight: 700; color: var(--surface-ink, #1e2022); text-align: center; padding: 3.5px 0; margin: 8px 0 0; text-transform: uppercase; }
[data-theme="sunloc971"] .snl-fleet-card img { width: 100%; display: block; }
[data-theme="sunloc971"] .snl-fleet-illu-generic { height: 160px; display: grid; place-items: center; background: linear-gradient(180deg, #fff, #f5f7fa); }
[data-theme="sunloc971"] .snl-fleet-illu-generic svg { width: 70%; max-width: 220px; height: auto; }
[data-theme="sunloc971"] .snl-fleet-price { font-size: calc(12px * var(--text-scale, 1)); color: var(--surface-ink, #1e2022); font-weight: 500; text-align: center; margin-top: 8px; }
@media (max-width: 991px) { [data-theme="sunloc971"] .snl-fleet-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { [data-theme="sunloc971"] .snl-fleet-grid { grid-template-columns: 1fr; } }

/* ── Bandeau titre page — vraie photo RÉELLE et DIFFÉRENTE par page (FAQ =
     mangrove-79538.jpg, Contact = oiseau-d24ee.jpg), aplat #1e2022 en repli
     si aucune photo n'est fournie pour une future page. ── */
[data-theme="sunloc971"] .snl-page-title { position: relative; padding: 80px 0; text-align: center; background-color: #1e2022; background-size: cover; background-position: center; }
[data-theme="sunloc971"] .snl-page-title[style*="background-image"]::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.45); }
[data-theme="sunloc971"] .snl-page-title .snl-container { position: relative; z-index: 1; display: block; }
[data-theme="sunloc971"] .snl-page-title h1 { color: #fff; font-family: 'Poppins', sans-serif; font-size: calc(35px * var(--text-scale, 1)); font-weight: 400; line-height: 1.2; margin: 0 0 .5rem; }
[data-theme="sunloc971"] .snl-page-title .snl-breadcrumb { color: rgba(255,255,255,.75); font-size: calc(14px * var(--text-scale, 1)); }
[data-theme="sunloc971"] .snl-page-title .snl-breadcrumb a { color: rgba(255,255,255,.9); text-decoration: none; }
[data-theme="sunloc971"] .snl-page-title .snl-breadcrumb .snl-crumb-sep { margin: 0 6px; opacity: .6; }
@media (max-width: 991px) { [data-theme="sunloc971"] .snl-page-title h1 { font-size: calc(24px * var(--text-scale, 1)); } }

/* ── FAQ — accordéon plat, PAS de catégories visibles (RÉEL mesuré). ── */
[data-theme="sunloc971"] .snl-faq { padding: 64px 0; }
[data-theme="sunloc971"] .snl-faq h3 { text-align: center; font-size: calc(28px * var(--text-scale, 1)); font-weight: 700; color: var(--page-ink, #1e2022); margin: 0 0 16px; }
[data-theme="sunloc971"] .snl-faq-lead { text-align: center; max-width: 780px; margin: 0 auto 36px; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="sunloc971"] .snl-faq-accordion { max-width: 860px; margin: 0 auto; }
[data-theme="sunloc971"] .snl-faq-item { border: 1px solid var(--snl-border); border-radius: calc(6px * var(--radius-scale, 1)); margin-bottom: 10px; overflow: hidden; }
[data-theme="sunloc971"] .snl-faq-q { width: 100%; display: flex; align-items: center; gap: 10px; background: none; border: none; padding: 12px 20px; text-align: left; font-size: calc(14px * var(--text-scale, 1)); font-weight: 500; color: var(--surface-ink, #1e2022); cursor: pointer; font-family: inherit; }
[data-theme="sunloc971"] .snl-faq-q i { color: var(--surface-ink, #1e2022); }
[data-theme="sunloc971"] .snl-faq-a { max-height: 0; overflow: hidden; transition: max-height .25s ease; }
[data-theme="sunloc971"] .snl-faq-a-inner { padding: 0 20px 16px 46px; color: var(--page-ink, #4b5563); font-size: calc(14px * var(--text-scale, 1)); line-height: 1.65; }

/* ── Contact — titre+accroche réels en section blanche, PUIS formulaire +
     vraie carte OSM (RÉEL mesuré : coordonnées Mapbox de Morne Cayenne). ── */
[data-theme="sunloc971"] .snl-contact-head { padding: 56px 0 34px; background: #fff; }
[data-theme="sunloc971"] .snl-contact-head h2 { font-size: calc(33px * var(--text-scale, 1)); font-weight: 500; color: var(--page-ink, #111); margin: 0 0 10px; }
[data-theme="sunloc971"] .snl-contact-lead { max-width: 700px; margin: 0 auto; color: var(--page-ink, #555); line-height: 1.7; font-size: calc(15px * var(--text-scale, 1)); }
[data-theme="sunloc971"] .snl-contact-section { padding: 0 0 64px; }
[data-theme="sunloc971"] .snl-contact-grid { display: grid; grid-template-columns: 1.2fr .9fr; gap: 32px; align-items: start; }
[data-theme="sunloc971"] .snl-form-card { background: var(--surface-bg, #fff); border: 1px solid var(--snl-border); border-radius: calc(10px * var(--radius-scale, 1)); box-shadow: 0 0 17.5px rgba(31,45,61,.05); padding: 26px; }
[data-theme="sunloc971"] .snl-field { margin-bottom: 18px; text-align: left; }
[data-theme="sunloc971"] .snl-field label { display: block; font-size: calc(13px * var(--text-scale, 1)); font-weight: 600; color: var(--surface-ink, #1e2022); margin-bottom: 6px; }
[data-theme="sunloc971"] .snl-input, [data-theme="sunloc971"] .snl-textarea { width: 100%; border: 1px solid var(--snl-border); border-radius: calc(6px * var(--radius-scale, 1)); padding: 10px 14px; font-size: calc(14px * var(--text-scale, 1)); font-family: inherit; box-sizing: border-box; background: var(--surface-bg, #fff); color: var(--surface-ink, #1e2022); }
[data-theme="sunloc971"] .snl-textarea { min-height: 130px; resize: vertical; }
[data-theme="sunloc971"] .snl-contact-submit { width: 100%; padding: 13px 20px; background: var(--snl-gold); color: #1e2022; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 700; font-size: calc(14px * var(--text-scale, 1)); letter-spacing: .3px; cursor: pointer; transition: background .2s; }
[data-theme="sunloc971"] .snl-contact-submit:hover { background: var(--snl-gold-hover); }
[data-theme="sunloc971"] .snl-side { display: flex; flex-direction: column; gap: 16px; }
[data-theme="sunloc971"] .snl-addr-map { border-radius: calc(10px * var(--radius-scale, 1)); overflow: hidden; border: 1px solid var(--snl-border); aspect-ratio: 4/3; }
[data-theme="sunloc971"] .snl-addr-line { display: flex; align-items: flex-start; gap: 10px; font-size: .92rem; color: #4b5563; font-weight: 600; }
[data-theme="sunloc971"] .snl-addr-line i { width: 18px; flex: none; color: var(--snl-gold-hover); margin-top: 3px; }
[data-theme="sunloc971"] .snl-addr-line a { color: var(--snl-gold-hover); text-decoration: none; }
@media (max-width: 900px) { [data-theme="sunloc971"] .snl-contact-grid { grid-template-columns: 1fr; } }

/* ── Footer — gris clair, texte/titres sombres (RÉEL mesuré), icône
     Facebook ronde dans la barre de copyright (seul réseau réel). ── */
[data-theme="sunloc971"] #footer.snl-footer { background: #f9f9fa; color: var(--snl-ink); }
[data-theme="sunloc971"] .snl-footer-content { padding: 50px 0 30px; }
[data-theme="sunloc971"] .snl-footer-row { display: grid; grid-template-columns: repeat(var(--ftr-cols, 3), 1fr); gap: 32px; }
[data-theme="sunloc971"] .snl-footer-col { position: relative; padding-left: 46px; min-height: 36px; }
[data-theme="sunloc971"] .snl-footer-icon { position: absolute; left: 0; top: 0; width: 36px; text-align: center; color: var(--snl-ink); font-size: calc(30px * var(--text-scale, 1)); }
[data-theme="sunloc971"] .snl-footer-col h3 { color: var(--snl-ink); font-size: calc(16px * var(--text-scale, 1)); font-weight: 700; margin: 0 0 4px; }
[data-theme="sunloc971"] .snl-footer-col p { color: #4b5563; font-size: calc(14px * var(--text-scale, 1)); line-height: 1.6; margin: 0 0 6px; }
[data-theme="sunloc971"] .snl-footer-col p strong { color: var(--snl-ink); }
[data-theme="sunloc971"] .snl-copyright { background: #f1f1f3; padding: 20px 0; }
[data-theme="sunloc971"] .snl-copyright-row { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 14px; }
[data-theme="sunloc971"] .snl-copyright-text { color: #6b7280; font-size: calc(13px * var(--text-scale, 1)); }
[data-theme="sunloc971"] .snl-copyright-text a { color: var(--snl-ink); text-decoration: none; }
[data-theme="sunloc971"] .snl-copyright-text a:hover { color: var(--snl-gold-hover); }
[data-theme="sunloc971"] .snl-social-fb { width: 34px; height: 34px; border-radius: 50%; background: #3b5998; color: #fff; display: flex; align-items: center; justify-content: center; text-decoration: none; flex: none; }
@media (max-width: 767px) { [data-theme="sunloc971"] .snl-footer-row { grid-template-columns: 1fr; } }

/* ── zenithautorent.com — site VITRINE MODERNE (Elementor/WordPress,
   agence "Connect OutreMer"), RÉEL mesuré 07/09/2026, AUCUN rapport avec le
   CMS V1 "Renter Concept" du reste du chantier. Palette : header/footer
   NOIR plein, accent OR/AMBRE sur les CTA principaux (mesure visuelle
   directe faute de valeur calculée exploitable sur le bouton Elementor,
   voir 00-SUIVI.md), dégradé MAGENTA sur le badge "SERVICE PREMIUM +"
   (calculé : linear-gradient(160deg, #490d4d 0%, #d02edc 100%)). ── */
:root { --zar-gold: #f0c419; --zar-gold-dark: #caa20f; --zar-ink: #14120f; --zar-border: #e7e5e0; }
[data-theme="zenithcom"] .zar-container { width: min(1180px, 92%); margin-inline: auto; }
[data-theme="zenithcom"] .hl { color: var(--zar-gold-dark); }
[data-theme="zenithcom"] .zar-eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--zar-gold-dark); font-weight: 800; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 16px; }
[data-theme="zenithcom"] .zar-text-center { text-align: center; }

/* ── Header noir sticky ── */
[data-theme="zenithcom"] .zar-header { background: #000; position: sticky; top: 0; z-index: 40; height: 84px; display: flex; align-items: center; }
[data-theme="zenithcom"] .zar-header-inner { width: 100%; }
[data-theme="zenithcom"] .zar-header .zar-container { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
[data-theme="zenithcom"] .zar-logo img { height: 52px; display: block; }
[data-theme="zenithcom"] .zar-logo-text { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: 1.2rem; color: #fff; letter-spacing: .08em; }
[data-theme="zenithcom"] .zar-main-menu { display: flex; align-items: center; gap: 22px; margin-left: auto; }
[data-theme="zenithcom"] .zar-main-menu nav ul { display: flex; gap: 22px; list-style: none; margin: 0; padding: 0; }
[data-theme="zenithcom"] .zar-main-menu nav a { color: #fff; font-size: calc(13px * var(--text-scale, 1)); font-weight: 600; text-decoration: none; }
[data-theme="zenithcom"] .zar-main-menu nav li.zar-active a { color: var(--zar-gold); }
[data-theme="zenithcom"] .zar-nav-cta { background: var(--zar-gold); color: #14120f; font-weight: 800; font-size: .85rem; padding: 12px 22px; border-radius: calc(6px * var(--radius-scale, 1)); text-decoration: none; white-space: nowrap; }
[data-theme="zenithcom"] .zar-nav-cta:hover { background: var(--zar-gold-dark); }
[data-theme="zenithcom"] .zar-nav-premium { background: linear-gradient(160deg, #490d4d 0%, #d02edc 100%); color: #fff; font-weight: 800; font-size: .78rem; letter-spacing: .03em; padding: 12px 18px; border-radius: calc(6px * var(--radius-scale, 1)); text-decoration: none; white-space: nowrap; text-transform: uppercase; }
[data-theme="zenithcom"] .zar-menu-trigger { display: none; cursor: pointer; }
[data-theme="zenithcom"] .zar-lines-button { display: block; width: 26px; height: 18px; position: relative; }
[data-theme="zenithcom"] .zar-lines, [data-theme="zenithcom"] .zar-lines::before, [data-theme="zenithcom"] .zar-lines::after { content: ""; display: block; width: 26px; height: 2px; background: #fff; position: absolute; left: 0; transition: transform .2s; }
[data-theme="zenithcom"] .zar-lines { top: 8px; } [data-theme="zenithcom"] .zar-lines::before { top: -8px; } [data-theme="zenithcom"] .zar-lines::after { top: 8px; }
@media (max-width: 991px) {
    [data-theme="zenithcom"] .zar-menu-trigger { display: block; }
    [data-theme="zenithcom"] .zar-main-menu { position: absolute; top: 84px; left: 0; right: 0; background: #000; flex-direction: column; align-items: stretch; padding: 0; max-height: 0; overflow: hidden; transition: max-height .25s ease; }
    [data-theme="zenithcom"] .zar-main-menu.zar-open { max-height: 500px; padding: 16px 0; }
    [data-theme="zenithcom"] .zar-main-menu nav ul { flex-direction: column; gap: 0; padding: 0 24px; }
    [data-theme="zenithcom"] .zar-main-menu nav li { padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
    [data-theme="zenithcom"] .zar-nav-cta, [data-theme="zenithcom"] .zar-nav-premium { margin: 10px 24px 0; text-align: center; }
}

/* ── Hero — photo de fond réelle + overlay sombre, texte blanc. ── */
[data-theme="zenithcom"] .zar-hero { position: relative; min-height: 520px; display: flex; align-items: center; overflow: hidden; }
[data-theme="zenithcom"] .zar-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
[data-theme="zenithcom"] .zar-hero-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.42) 55%, rgba(0,0,0,.18) 100%); }
[data-theme="zenithcom"] .zar-hero-inner { position: relative; z-index: 1; width: min(640px, 88%); margin-left: 8%; padding: 60px 0; color: #fff; }
[data-theme="zenithcom"] .zar-hero-inner h1 { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: clamp(2rem, 4.5vw, 3rem); line-height: 1.1; margin: 0 0 14px; }
[data-theme="zenithcom"] .zar-hero-lead { font-weight: 700; font-size: clamp(1.1rem, 2.4vw, 1.4rem); color: var(--zar-gold); margin: 0 0 18px; }
[data-theme="zenithcom"] .zar-hero-badge { display: inline-block; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.3); backdrop-filter: blur(4px); font-weight: 800; font-size: 1.1rem; padding: 8px 18px; border-radius: calc(999px * var(--radius-scale, 1)); margin-bottom: 16px; }
[data-theme="zenithcom"] .zar-hero-desc { font-size: .95rem; line-height: 1.6; color: #e8e6e0; max-width: 480px; margin: 0 0 22px; }
[data-theme="zenithcom"] .zar-hero-cta { display: inline-flex; background: var(--zar-gold); color: #14120f; font-weight: 800; padding: 15px 30px; border-radius: calc(6px * var(--radius-scale, 1)); text-decoration: none; }
[data-theme="zenithcom"] .zar-hero-cta:hover { background: var(--zar-gold-dark); }
@media (max-width: 767px) { [data-theme="zenithcom"] .zar-hero-inner { margin-left: 6%; width: 88%; } }

/* ── Flotte — cartes blanches, étoiles dorées, prix en gras. ── */
[data-theme="zenithcom"] .zar-fleet { padding: 70px 0 40px; background: var(--zar-fleet-bg, #fff); }
[data-theme="zenithcom"] .zar-fleet-head { text-align: center; margin-bottom: 40px; }
[data-theme="zenithcom"] .zar-fleet-head h2 { font-family: 'Poppins', sans-serif; font-size: calc(32px * var(--text-scale, 1)); font-weight: 800; color: var(--page-ink, #14120f); margin: 0 0 12px; }
[data-theme="zenithcom"] .zar-fleet-lead { max-width: 680px; margin: 0 auto; color: var(--page-ink, #555); font-size: calc(14px * var(--text-scale, 1)); }
[data-theme="zenithcom"] .zar-fleet-grid { display: grid; grid-template-columns: repeat(var(--zar-fleet-cols, 3), 1fr); gap: 28px; }
[data-theme="zenithcom"] .zar-fleet-card { background: var(--surface-bg, #fff); border: 1px solid var(--zar-border); border-radius: calc(10px * var(--radius-scale, 1)); padding: 20px; text-align: center; box-shadow: 0 4px 18px rgba(20,18,15,.06); }
[data-theme="zenithcom"] .zar-fleet-card img { width: 100%; height: 140px; object-fit: contain; display: block; margin-bottom: 10px; }
[data-theme="zenithcom"] .zar-fleet-stars { color: var(--zar-gold); letter-spacing: 2px; margin-bottom: 8px; }
[data-theme="zenithcom"] .zar-fleet-card h3 { font-size: calc(15px * var(--text-scale, 1)); font-weight: 800; color: var(--surface-ink, #14120f); text-transform: uppercase; line-height: 1.4; margin: 0 0 10px; }
[data-theme="zenithcom"] .zar-fleet-price { font-size: calc(14px * var(--text-scale, 1)); color: #6b7280; }
[data-theme="zenithcom"] .zar-fleet-price b { color: var(--zar-gold-dark); font-size: 1.2em; }
@media (max-width: 991px) { [data-theme="zenithcom"] .zar-fleet-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { [data-theme="zenithcom"] .zar-fleet-grid { grid-template-columns: 1fr; } }

/* ── Bandeau CTA statique (navy → noir). ── */
[data-theme="zenithcom"] .zar-cta-banner { background: linear-gradient(120deg, #0c1b2b 0%, #14120f 100%); padding: 70px 0; margin-top: 40px; }
[data-theme="zenithcom"] .zar-cta-banner h2 { color: #fff; font-family: 'Poppins', sans-serif; font-weight: 800; font-size: calc(26px * var(--text-scale, 1)); max-width: 780px; margin: 0 auto 14px; }
[data-theme="zenithcom"] .zar-cta-banner p { color: #cbd3dc; max-width: 640px; margin: 0 auto; font-size: calc(14px * var(--text-scale, 1)); }

/* ── Témoignages — grille de cartes + résumé de note Google. ── */
[data-theme="zenithcom"] .zar-testimonials { padding: 60px 0; background: #fafaf8; }
[data-theme="zenithcom"] .zar-testimonials h2 { font-family: 'Poppins', sans-serif; font-size: calc(28px * var(--text-scale, 1)); font-weight: 800; color: var(--page-ink, #14120f); margin: 0 0 10px; }
[data-theme="zenithcom"] .zar-testimonials-lead { max-width: 680px; margin: 0 auto 30px; color: var(--page-ink, #555); }
[data-theme="zenithcom"] .zar-testimonials-summary { display: flex; flex-direction: column; align-items: center; gap: 4px; margin-bottom: 30px; }
[data-theme="zenithcom"] .zar-testimonials-summary-score { font-size: 2rem; font-weight: 800; color: var(--surface-ink, #14120f); }
[data-theme="zenithcom"] .zar-testimonials-summary-stars { color: var(--zar-gold); letter-spacing: 3px; font-size: 1.1rem; }
[data-theme="zenithcom"] .zar-testimonials-summary-count { color: #6b7280; font-size: .85rem; }
[data-theme="zenithcom"] .zar-testimonials-summary-google { color: #9ca3af; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; }
[data-theme="zenithcom"] .zar-testimonials-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; text-align: left; }
[data-theme="zenithcom"] .zar-testimonial { background: #fff; border: 1px solid var(--zar-border); border-radius: calc(10px * var(--radius-scale, 1)); padding: 22px; }
[data-theme="zenithcom"] .zar-testimonial-photo { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; margin-bottom: 10px; }
[data-theme="zenithcom"] .zar-testimonial h3 { font-size: .95rem; font-weight: 800; color: var(--surface-ink, #14120f); margin: 0; }
[data-theme="zenithcom"] .zar-testimonial-date { color: #9ca3af; font-size: .78rem; margin-bottom: 6px; }
[data-theme="zenithcom"] .zar-testimonial-stars { color: #d1d5db; margin-bottom: 10px; }
[data-theme="zenithcom"] .zar-star-filled { color: var(--zar-gold); }
[data-theme="zenithcom"] .zar-testimonial p { font-size: .88rem; line-height: 1.55; color: #4b5563; margin: 0; }
@media (max-width: 991px) { [data-theme="zenithcom"] .zar-testimonials-list { grid-template-columns: 1fr; } }

/* ── A propos — 2 colonnes texte/photo. ── */
[data-theme="zenithcom"] .zar-about { padding: 70px 0; }
[data-theme="zenithcom"] .zar-about-row { display: grid; grid-template-columns: 7fr 5fr; gap: 48px; align-items: center; }
[data-theme="zenithcom"] .zar-about-text h2 { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: calc(30px * var(--text-scale, 1)); color: var(--page-ink, #14120f); margin: 0 0 18px; }
[data-theme="zenithcom"] .zar-about-text p { color: var(--page-ink, #4b5563); line-height: 1.7; margin: 0 0 16px; }
[data-theme="zenithcom"] .zar-about-photo img { width: 100%; border-radius: calc(12px * var(--radius-scale, 1)); display: block; }
@media (max-width: 900px) { [data-theme="zenithcom"] .zar-about-row { grid-template-columns: 1fr; } }

/* ── Contact — colonne info + formulaire. ── */
[data-theme="zenithcom"] .zar-contact-head { padding: 56px 0 30px; }
[data-theme="zenithcom"] .zar-contact-head h2 { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: calc(30px * var(--text-scale, 1)); color: var(--page-ink, #14120f); margin: 0 0 10px; }
[data-theme="zenithcom"] .zar-contact-lead { max-width: 680px; margin: 0 auto; color: var(--page-ink, #555); }
[data-theme="zenithcom"] .zar-contact-section { padding: 0 0 70px; }
[data-theme="zenithcom"] .zar-contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 40px; align-items: start; }
[data-theme="zenithcom"] .zar-side { display: flex; flex-direction: column; gap: 20px; }
[data-theme="zenithcom"] .zar-addr-line { display: flex; align-items: flex-start; gap: 12px; font-size: .95rem; color: #4b5563; }
[data-theme="zenithcom"] .zar-addr-line i { width: 20px; flex: none; color: var(--zar-gold-dark); margin-top: 3px; font-size: 1.1rem; }
[data-theme="zenithcom"] .zar-addr-line a { color: var(--zar-gold-dark); text-decoration: none; }
[data-theme="zenithcom"] .zar-form-card { background: #fafaf8; border: 1px solid var(--zar-border); border-radius: calc(10px * var(--radius-scale, 1)); padding: 28px; }
[data-theme="zenithcom"] .zar-field { margin-bottom: 16px; text-align: left; }
[data-theme="zenithcom"] .zar-field label { display: block; font-size: .82rem; font-weight: 700; color: var(--surface-ink, #14120f); margin-bottom: 6px; }
[data-theme="zenithcom"] .zar-input, [data-theme="zenithcom"] .zar-textarea { width: 100%; border: 1px solid var(--zar-border); border-radius: calc(6px * var(--radius-scale, 1)); padding: 10px 14px; font-size: .9rem; font-family: inherit; box-sizing: border-box; background: #fff; color: var(--surface-ink, #14120f); }
[data-theme="zenithcom"] .zar-textarea { min-height: 130px; resize: vertical; }
[data-theme="zenithcom"] .zar-contact-submit { width: 100%; padding: 14px 20px; background: var(--zar-gold); color: #14120f; border: none; border-radius: calc(6px * var(--radius-scale, 1)); font-weight: 800; cursor: pointer; }
[data-theme="zenithcom"] .zar-contact-submit:hover { background: var(--zar-gold-dark); }
@media (max-width: 900px) { [data-theme="zenithcom"] .zar-contact-grid { grid-template-columns: 1fr; } }

/* ── Footer noir minimal. ── */
[data-theme="zenithcom"] .zar-footer { background: #000; padding: 24px 0; }
[data-theme="zenithcom"] .zar-footer-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; }
[data-theme="zenithcom"] .zar-footer-copy { color: #9ca3af; font-size: .8rem; }
[data-theme="zenithcom"] .zar-footer-payments { display: flex; align-items: center; gap: 12px; color: #9ca3af; font-size: 1.3rem; }
[data-theme="zenithcom"] .zar-footer-3x { background: rgba(240,196,25,.14); color: var(--zar-gold); font-size: .7rem; font-weight: 800; text-transform: uppercase; padding: 5px 10px; border-radius: calc(999px * var(--radius-scale, 1)); }

/* ── Pieds de page des modèles exclusifs : e-mail et réseaux (App\Support\FooterInfo),
     couleur héritée de la colonne pour suivre chaque modèle (fond clair ou foncé). ── */
.ftr-link { color: inherit; text-decoration: none; word-break: break-word; }
.ftr-link:hover { text-decoration: underline; }
.ftr-social { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
.ftr-social a { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; color: inherit; text-decoration: none; border: 1px solid currentColor; opacity: .85; transition: opacity .2s, transform .2s; }
.ftr-social a:hover { opacity: 1; transform: translateY(-2px); }

/* ══════════════════════════════════════════════════════════════════════
   SITES V1 HÉBERGEMENT — lesresidencesdelacaravelle / ansedesrochers.
   Même thème V1 « Polo » (Inspiro) que les sites voiture : valeurs mesurées
   le 30/10/2026 (getComputedStyle, fenêtre 1440 px) sur
   www.lesresidencesdelacaravelle.fr et www.ansedesrochers.fr. Couleurs V1 :
   fond #444 (couleur 1), cyan #00DDFF (couleur 2), reprises par les couleurs
   du site (Apparence) ; bleu du thème #2250FC (survol du menu, boutons).
   ══════════════════════════════════════════════════════════════════════ */
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) {
    --vs-first:  var(--color-primary, #444444);
    --vs-second: var(--color-secondary, #00DDFF);
    --vs-theme:  #2250fc;
    --vs-ink:    var(--page-ink, #1e2022);
    --vs-text:   #3c4043;
    --vs-border: #e4e6ef;
    --vs-radius: calc(5.88px * var(--radius-scale, 1));
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    font-size: 14px;
    line-height: 23.2px;
    color: var(--vs-text);
}
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-container { width: 92%; max-width: 1140px; margin: 0 auto; padding: 0 14px; box-sizing: border-box; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-text-center { text-align: center; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .hl { color: var(--vs-second); }

/* ── En-tête ─────────────────────────────────────────────────────────── */
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) #header.vs-header { position: relative; z-index: 20; background: #fff; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-header-inner { height: 80px; background: #fff; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-header-inner .vs-container { display: flex; align-items: center; justify-content: space-between; height: 100%; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-logo { height: 80px; display: flex; align-items: center; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-logo a { display: block; height: 100%; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-logo img { height: 80px; width: auto; display: block; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-logo-text { font-size: calc(28px * var(--text-scale, 1)); font-weight: 800; color: var(--vs-ink); line-height: 80px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-main-menu, :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-main-menu nav { height: 100%; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-main-menu nav ul { display: flex; align-items: center; list-style: none; margin: 0; padding: 0; height: 100%; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-main-menu nav ul li { height: 100%; display: flex; align-items: center; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-main-menu nav ul li a { padding: 10px 12px; line-height: normal; font-family: 'Poppins', sans-serif; font-size: calc(12px * var(--text-scale, 1)); font-weight: 600; text-transform: uppercase; letter-spacing: .6px; color: #000; text-decoration: none; transition: color .3s; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-main-menu nav ul li a:hover { color: var(--vs-theme); }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-menu-trigger { display: none; cursor: pointer; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-lines-button { display: block; width: 26px; height: 20px; position: relative; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-lines, :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-lines::before, :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-lines::after { display: block; position: absolute; height: 2px; width: 100%; background: #000; content: ''; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-lines { top: 9px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-lines::before { top: -8px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-lines::after { top: 8px; }
@media (max-width: 991px) {
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-menu-trigger { display: block; }
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-main-menu { display: none; position: absolute; top: 80px; left: 0; right: 0; height: auto; background: #fff; box-shadow: 0 4px 10px rgba(0,0,0,.15); z-index: 30; }
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-main-menu.vs-open { display: block; }
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-main-menu nav { height: auto; }
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-main-menu nav ul { height: auto; flex-direction: column; align-items: stretch; padding: 10px 0; }
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-main-menu nav ul li { height: auto; }
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-main-menu nav ul li a { display: block; line-height: 44px; padding: 0 20px; }
}

/* ── Titres et séparateur ────────────────────────────────────────────── */
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-h-big { font-family: 'Poppins', sans-serif; font-size: calc(50px * var(--text-scale, 1)); font-weight: 800; line-height: 1.1; letter-spacing: .5px; color: var(--vs-ink); margin: 0 0 16px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-h-big.vs-h-second { color: var(--vs-second); }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-seperator { color: #ccc; width: 100%; margin: 30px auto; overflow: hidden; text-align: center; line-height: 1.2em; font-size: 14px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-seperator::before, :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-seperator::after { border-bottom: 1px solid #eee; content: ""; display: inline-block; height: .65em; margin: 0 -4px 0 -100%; vertical-align: top; width: 50%; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-seperator::after { margin: 0 -100% 0 0; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-seperator i { font-size: 18px; margin: 0 20px 0 24px; display: inline-block; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-lead { font-size: calc(17.5px * var(--text-scale, 1)); line-height: 1.7; color: var(--vs-text); margin: 0 0 14px; }
@media (max-width: 767px) { :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-h-big { font-size: calc(30px * var(--text-scale, 1)); } }

/* ── Carrousel d'accueil (Anse des Rochers) ──────────────────────────── */
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-slider { position: relative; height: 648px; overflow: hidden; background: #1e2022; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity var(--vs-slide-transition-ms, 600ms) ease; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-slide.vs-slide-active { opacity: 1; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-slider-overlay { position: absolute; inset: 0; background: rgba(0,0,0,.59); opacity: var(--vs-overlay, .5); z-index: 0; pointer-events: none; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-slider > .vs-container { position: relative; z-index: 1; height: 100%; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-slide-captions { position: relative; padding-top: 120px; text-align: left; color: #fff; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-slide-captions h1 { font-family: 'Poppins', sans-serif; font-size: calc(80px * var(--text-scale, 1)); font-weight: 700; line-height: 1; letter-spacing: .5px; margin: 0 0 30px; color: #fff; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-slide-captions h2 { font-family: 'Poppins', sans-serif; font-size: calc(50px * var(--text-scale, 1)); font-weight: 700; line-height: 68px; letter-spacing: .5px; margin: 0 0 30px; color: #fff; text-transform: uppercase; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-partner-box { position: absolute; right: 5%; bottom: 5%; z-index: 2; max-width: 90%; background: rgba(0,0,0,.6); border-radius: calc(10px * var(--radius-scale, 1)); padding: 14px 21px; text-align: right; color: #fff; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-partner-text { font-family: 'Poppins', sans-serif; font-size: calc(60.2px * var(--text-scale, 1)); font-weight: 700; line-height: 1.3; color: #fff; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-partner-text small { display: inline; font-size: calc(28px * var(--text-scale, 1)); line-height: 1.3; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-partner-box .vs-btn-light { display: inline-block; margin-top: 7px; margin-bottom: 6px; background: #fff; color: #4c5667; border: 1px solid var(--vs-border); border-radius: var(--vs-radius); padding: 12px 18px; font-size: calc(12px * var(--text-scale, 1)); font-weight: 600; line-height: 14px; letter-spacing: .5px; text-transform: uppercase; text-decoration: none; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-partner-box .vs-btn-light:hover { background: #f4f5f8; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 60px; height: 60px; border: none; background: transparent; color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; opacity: .8; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-slider-arrow:hover { opacity: 1; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-slider-arrow svg { width: 22px; height: 22px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-slider-arrow-prev { left: 10px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-slider-arrow-next { right: 10px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-slider-dots { position: absolute; bottom: 14px; left: 0; right: 0; z-index: 3; display: flex; justify-content: center; gap: 8px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-slider-dots button { width: 30px; height: 4px; border: none; background: #fff; opacity: .5; cursor: pointer; padding: 0; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-slider-dots button.vs-dot-active { opacity: 1; }
@media (max-width: 991px) {
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-slider { height: 520px; }
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-slide-captions { padding-top: 70px; text-align: center; }
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-slide-captions h1 { font-size: calc(40px * var(--text-scale, 1)); }
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-slide-captions h2 { font-size: calc(24px * var(--text-scale, 1)); line-height: 1.3; }
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-partner-box { left: 16px; right: 16px; bottom: 20px; text-align: center; }
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-partner-text { font-size: calc(30px * var(--text-scale, 1)); }
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-partner-text small { font-size: calc(16px * var(--text-scale, 1)); }
}
@media (max-width: 768px) {
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-partner-box { left: 5%; right: 5%; bottom: 3%; max-width: none; }
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-partner-text { font-size: calc(14px * var(--text-scale, 1)); }
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-partner-text small { font-size: calc(11.2px * var(--text-scale, 1)); }
}
/* Anse des Rochers (styles propres au site V1) : interligne du titre du bandeau, photos des
   logements recadrées sur 200 px de haut (haut de la photo conservé). */
[data-theme="ansedesrochers"] .vs-slide-captions h1 { line-height: calc(40px * var(--text-scale, 1)); }
[data-theme="ansedesrochers"] .vs-unit-img { aspect-ratio: auto; height: 200px; object-position: top; }
[data-theme="ansedesrochers"] .vs-unit-illu { aspect-ratio: auto; height: 200px; }

/* ── Recherche de séjour ─────────────────────────────────────────────── */
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-intro { padding: 80px 0 0; background: #fff; display: flow-root; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-intro .vs-intro-head { margin-bottom: 40px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-intro .vs-lead { white-space: normal; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-booking-form { background: var(--vs-first); padding: 60px 0 80px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-form-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 28px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-form-row + .vs-form-row { margin-top: 21px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-form-col { min-width: 0; padding-top: 7px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-form-col-btn { padding-top: calc(7px + 23.2px + 7px); padding-bottom: 0; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-booking-form label { display: block; color: #fff; font-size: calc(12.25px * var(--text-scale, 1)); font-weight: 500; line-height: 23.2px; margin-bottom: 7px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-form-control { width: 100%; height: 40px; border: 1px solid var(--vs-border); border-radius: var(--vs-radius) 0 0 var(--vs-radius); border-right: none; padding: 7px 14px; font-family: 'Poppins', sans-serif; font-size: calc(14px * var(--text-scale, 1)); line-height: 21px; color: #1e2022; background: #fff; box-sizing: border-box; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-form-control:disabled { background: #f4f5f8; color: #1e2022; opacity: 1; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-input-icon { width: 42px; height: 40px; background: #f9f9fa; border: 1px solid var(--vs-border); border-radius: 0 var(--vs-radius) var(--vs-radius) 0; color: #1e2022; font-size: 14px; box-sizing: border-box; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-btn-search { width: 100%; height: 39.3px; background: #000; color: #fff; border: 1px solid #000; border-radius: var(--vs-radius); padding: 12px 18px; font-family: 'Poppins', sans-serif; font-size: calc(12px * var(--text-scale, 1)); font-weight: 600; line-height: 14px; letter-spacing: .5px; text-transform: uppercase; cursor: pointer; margin-bottom: 6px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-btn-search:hover { background: #222; }
@media (max-width: 991px) { :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-form-row { grid-template-columns: repeat(2, 1fr); gap: 0 20px; } :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-form-row + .vs-form-row { margin-top: 0; } }
@media (max-width: 560px) { :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-form-row { grid-template-columns: 1fr; } :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-booking-form { padding: 36px 0 44px; } }

/* ── Grille des logements ────────────────────────────────────────────── */
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-units { padding: 80px 0; background: var(--vs-units-bg, #fff); }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-units-head { margin-bottom: 40px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-units-grid { display: grid; grid-template-columns: repeat(var(--vs-cols, 3), 1fr); gap: 28px; margin-bottom: 28px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-card { background: var(--surface-bg, #fff); border: 1px solid var(--vs-border); border-radius: var(--vs-radius); box-shadow: 0 0 17.5px rgba(31,45,61,.05); padding: 7px; display: flex; flex-direction: column; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-card h3 { font-family: 'Poppins', sans-serif; font-size: calc(25px * var(--text-scale, 1)); font-weight: 500; line-height: 37.5px; letter-spacing: .5px; color: var(--vs-ink); text-align: center; padding: 3.5px 0; margin: 7px 0 12px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-body { padding: 21px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-illu { aspect-ratio: 4 / 3; display: grid; place-items: center; background: linear-gradient(180deg, #fff, #f5f7fa); color: #c3c7cf; font-size: 46px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-price { text-align: center; margin-top: 10px; font-size: 13px; color: var(--vs-text); }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-price b { font-size: 18px; color: var(--vs-ink); }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-actions { text-align: center; margin-top: 14px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-btn-info { display: inline-block; background: #17a2b8; border: 1px solid #17a2b8; color: #fff; border-radius: var(--vs-radius); padding: 12px 18px; font-family: 'Poppins', sans-serif; font-size: calc(12px * var(--text-scale, 1)); font-weight: 600; line-height: 14px; letter-spacing: .5px; text-transform: uppercase; text-decoration: none; margin-bottom: 6px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-btn-info:hover { background: #138496; border-color: #117a8b; color: #fff; }
@media (max-width: 991px) { :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-units-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-units-grid { grid-template-columns: 1fr; } :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-units { padding: 48px 0; } }

/* ── Bandeau d'appel (encart partenaire) ─────────────────────────────── */
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-cta { background: var(--vs-cta-bg, #fbfbfb); padding: 42px 0; text-align: center; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-cta h2 { font-family: 'Poppins', sans-serif; font-size: calc(33px * var(--text-scale, 1)); font-weight: 500; line-height: 45px; letter-spacing: .5px; color: var(--vs-ink); margin: 0 0 16px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-cta p { font-size: calc(17.5px * var(--text-scale, 1)); line-height: 29.75px; color: var(--vs-text); margin: 14px 0; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-cta p strong { font-weight: 600; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-btn-lg { display: inline-block; margin-top: 14px; background: var(--vs-theme); border: 1px solid var(--vs-theme); color: #fff; border-radius: var(--vs-radius); padding: 14px 40px; font-family: 'Poppins', sans-serif; font-size: calc(16px * var(--text-scale, 1)); font-weight: 600; line-height: 28px; letter-spacing: 2px; text-transform: uppercase; text-decoration: none; margin-bottom: 6px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-btn-lg:hover { filter: brightness(.92); color: #fff; }
@media (max-width: 767px) { :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-cta h2 { font-size: calc(24px * var(--text-scale, 1)); line-height: 1.3; } :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-btn-lg { padding: 12px 22px; letter-spacing: 1px; font-size: 14px; } }

/* ── Bandeau de titre de page ────────────────────────────────────────── */
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-page-title { position: relative; padding: 80px 0; text-align: center; background-color: #1e2022; background-size: cover; background-position: center; color: #fff; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-page-title.has-image::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,var(--vs-pt-overlay, 0)); }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-page-title .vs-container { position: relative; z-index: 1; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-page-title :is(h1, h2) { font-family: 'Poppins', sans-serif; font-size: calc(35px * var(--text-scale, 1)); font-weight: 400; line-height: 1.2; letter-spacing: .5px; color: #fff; margin: 0 0 14px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-breadcrumb { font-size: 12px; letter-spacing: .5px; line-height: 23.2px; color: #fff; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) nav.vs-breadcrumb { display: block; line-height: 24.5px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-breadcrumb a, :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-breadcrumb span { color: #fff; opacity: .8; text-decoration: none; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-breadcrumb span.vs-current { opacity: 1; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-breadcrumb i { font-size: 9px; margin: 0 7px; opacity: .8; }
@media (max-width: 767px) { :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-page-title { padding: 48px 0; } :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-page-title :is(h1, h2) { font-size: calc(26px * var(--text-scale, 1)); } }

/* ── Contact ─────────────────────────────────────────────────────────── */
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-contact-head { padding: 80px 0; background: #fff; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-contact-head h2 { font-family: 'Poppins', sans-serif; font-size: calc(33px * var(--text-scale, 1)); font-weight: 500; line-height: 45px; letter-spacing: .5px; color: #111; margin: 0 0 16px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-contact-head p { font-size: calc(18.2px * var(--text-scale, 1)); line-height: 1.7; color: var(--vs-text); margin: 0 0 14px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-contact { padding: 0 0 160px; background: var(--vs-contact-bg, #fff); }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-contact-col { max-width: 761px; margin: 0 auto; padding: 0; box-sizing: border-box; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-contact-form-head { background: var(--vs-second); color: #fff; border-radius: calc(14px * var(--radius-scale, 1)); padding: 15px; margin: 0 0 8px; font-family: 'Poppins', sans-serif; font-size: calc(19px * var(--text-scale, 1)); font-weight: 600; line-height: 32px; letter-spacing: .5px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; padding: 0 14px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-contact-field { margin: 20px 0 14px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-contact-field--full { grid-column: 1 / -1; margin-top: 10px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-contact-field label { display: block; font-size: calc(12.25px * var(--text-scale, 1)); font-weight: 500; line-height: 23.2px; color: #2e2e2e; margin-bottom: 7px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-contact-field input, :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-contact-field textarea { width: 100%; height: 40px; border: 1px solid var(--vs-border); border-radius: var(--vs-radius); padding: 7px 14px; font-family: 'Poppins', sans-serif; font-size: calc(14px * var(--text-scale, 1)); line-height: 21px; color: #1e2022; background: #fff; box-sizing: border-box; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-contact-field textarea { display: block; height: 120px; resize: vertical; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-contact-submit { display: flex; align-items: center; justify-content: center; gap: 15px; width: calc(100% - 28px); margin: 14px 14px 6px; background: var(--vs-second); border: 1px solid var(--vs-second); color: #fff; border-radius: var(--vs-radius); padding: 12px 18px; font-family: 'Poppins', sans-serif; font-size: calc(12px * var(--text-scale, 1)); font-weight: 600; line-height: 14px; letter-spacing: .5px; text-transform: uppercase; cursor: pointer; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-contact-submit:hover { filter: brightness(.94); }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-form-success { text-align: center; padding: 30px 20px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-form-success h3 { font-size: 20px; font-weight: 700; color: var(--vs-ink); margin: 12px 0 8px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-form-success .vs-succ-ico { width: 60px; height: 60px; margin: 0 auto; border-radius: 50%; display: grid; place-items: center; background: color-mix(in srgb, var(--vs-second), white 82%); color: var(--vs-second); font-size: 26px; }
@media (max-width: 767px) { :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-contact-grid { grid-template-columns: 1fr; } :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-contact-head { padding: 48px 0; } :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-contact { padding-bottom: 64px; } }

/* ── Fiche logement ──────────────────────────────────────────────────── */
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-page { padding: 7px 0 28px; background: #fff; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-page-col { width: 66.6667%; max-width: 940px; margin: 0 auto; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-page-card { background: #fff; border: 1px solid var(--vs-border); border-radius: var(--vs-radius); box-shadow: 0 0 17.5px rgba(31,45,61,.05); padding: 21px; color: #212529; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-page-inner { padding: 0 21px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-mosaic { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; height: 420px; overflow: hidden; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-mosaic-thumbs { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 210px 210px; gap: 7px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-mosaic a { display: block; height: 100%; overflow: hidden; border-radius: var(--vs-radius); background: #f1f1f3; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-mosaic img { width: 100%; height: 100%; object-fit: cover; display: block; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-mosaic--single { grid-template-columns: 1fr; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-gallery-link { text-align: right; margin-top: 7px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-btn-sm { display: inline-block; height: 30px; line-height: 28px; padding: 0 14px; background: var(--vs-theme); border: 1px solid var(--vs-theme); color: #fff; border-radius: var(--vs-radius); font-family: 'Poppins', sans-serif; font-size: calc(11px * var(--text-scale, 1)); font-weight: 600; letter-spacing: .5px; text-transform: uppercase; text-decoration: none; cursor: pointer; margin-bottom: 6px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-btn-sm:hover { filter: brightness(.92); color: #fff; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-page h4.vs-unit-name { font-family: 'Poppins', sans-serif; font-size: calc(19px * var(--text-scale, 1)); font-weight: 600; line-height: 32px; letter-spacing: .5px; color: var(--vs-ink); margin: 0 0 8px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-page h2.vs-unit-headline { font-family: 'Poppins', sans-serif; font-size: calc(33px * var(--text-scale, 1)); font-weight: 500; line-height: 45px; letter-spacing: .5px; color: var(--vs-ink); margin: 0 0 16px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-cols { display: grid; grid-template-columns: 2fr 1fr; margin: 14px -21px 0; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-cols > div { padding: 0 21px; min-width: 0; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-page h3.vs-sub { font-family: 'Poppins', sans-serif; font-size: calc(25px * var(--text-scale, 1)); font-weight: 500; line-height: 37.5px; letter-spacing: .5px; color: var(--vs-ink); margin: 0 0 12px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-page h2.vs-sub-lg { font-family: 'Poppins', sans-serif; font-size: calc(33px * var(--text-scale, 1)); font-weight: 500; line-height: 45px; letter-spacing: .5px; color: var(--vs-ink); margin: 0 0 16px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-desc { margin-top: 14px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-desc .vs-rich { font-size: 14px; line-height: 23.8px; color: var(--vs-text); margin: 14px 0; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-desc .vs-rich p { margin: 0 0 14px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-desc .vs-rich ul { padding-left: 22px; list-style: disc; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-highlights { margin: 14px 0; padding-left: 22px; color: var(--vs-text); list-style: disc; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-highlights li { margin-bottom: 4px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-amenities { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 -14px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-amenities > div { padding: 0 14px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-amenities h6 { font-family: 'Poppins', sans-serif; font-size: 14px; font-weight: 500; line-height: 26px; letter-spacing: .5px; color: var(--vs-ink); margin: 0 0 6px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-amenities ul { padding-left: 28px; margin: 0 0 14px; list-style: disc; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-amenities li { font-size: 14px; line-height: 23.2px; color: #212529; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-avail { margin-top: 35px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-avail-name { background: var(--vs-accent, #03a9f3); color: #fff; text-align: center; padding: 7px 0; margin: 0 0 8px; font-family: 'Poppins', sans-serif; font-size: calc(19px * var(--text-scale, 1)); font-weight: 600; line-height: 32px; letter-spacing: .5px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-avail h3 { text-align: center; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-cal-controls { display: flex; justify-content: space-between; align-items: stretch; margin-bottom: 7px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-cal-btn { width: 39.5px; height: 30px; border: 1px solid var(--vs-accent, #03a9f3); background: var(--vs-accent, #03a9f3); color: #fff; border-radius: var(--vs-radius); cursor: pointer; font-size: 11px; display: inline-flex; align-items: center; justify-content: center; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-cal-btn:disabled { opacity: .45; cursor: default; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-avail[aria-busy="true"] .vs-cal-grid { opacity: .55; transition: opacity .15s; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-cal-title { font-family: 'Poppins', sans-serif; font-size: 14px; font-weight: 500; line-height: 26px; letter-spacing: .5px; color: var(--vs-ink); margin: 0; align-self: center; text-transform: capitalize; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-cal-head, :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-cal-head { margin-bottom: 3.5px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-cal-head div { background: #f5f5f5; padding: 10px; min-height: 50px; text-align: center; box-sizing: border-box; color: #212529; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-cal-grid div { padding: 10px 0; min-height: 50px; text-align: center; box-sizing: border-box; color: #fff; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-cal-grid .is-past, :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-cal-grid .is-outside { background: #efefef; color: #888; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-cal-grid .is-free { background: #2ecc71; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-cal-grid .is-full { background: #e74c3c; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-cal-grid .is-checkin { background: linear-gradient(to left top, #e74c3c 50%, #2ecc71 50%); }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-cal-grid .is-checkout { background: linear-gradient(to left top, #2ecc71 50%, #e74c3c 50%); }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-cal-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 10px; font-size: 12px; color: var(--vs-text); }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-cal-legend span { display: inline-flex; align-items: center; gap: 6px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-cal-legend i { width: 12px; height: 12px; border-radius: 2px; display: inline-block; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-book { margin-top: 24px; border: 1px solid var(--vs-border); border-radius: var(--vs-radius); padding: 16px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-book h3 { font-size: 19px; font-weight: 600; margin: 0 0 10px; color: var(--vs-ink); }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-book .vs-form-row { grid-template-columns: 1fr; gap: 0; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-book .vs-form-row + .vs-form-row { margin-top: 0; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-book label { color: #2e2e2e; font-size: 12.25px; font-weight: 500; margin-bottom: 4px; display: block; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-book .vs-btn-search { margin-top: 12px; height: auto; min-height: 39.3px; line-height: 1.35; white-space: normal; background: var(--vs-accent, #03a9f3); border-color: var(--vs-accent, #03a9f3); }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-book .vs-form-col-btn { padding-top: 0; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-lightbox { position: fixed; inset: 0; z-index: 200; background: rgba(10,12,16,.92); display: flex; align-items: center; justify-content: center; padding: 50px 70px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-lightbox[hidden] { display: none; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-lightbox figure { margin: 0; max-width: 100%; max-height: 100%; text-align: center; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-lightbox img { max-width: 100%; max-height: calc(100vh - 140px); object-fit: contain; border-radius: 4px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-lightbox figcaption { color: #fff; margin-top: 10px; font-size: 14px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-lightbox button { position: absolute; background: rgba(255,255,255,.12); border: none; color: #fff; width: 46px; height: 46px; border-radius: 50%; cursor: pointer; font-size: 18px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-lightbox button:hover { background: rgba(255,255,255,.24); }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-lightbox .vs-lb-close { top: 16px; right: 16px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-lightbox .vs-lb-prev { left: 16px; top: 50%; transform: translateY(-50%); }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-lightbox .vs-lb-next { right: 16px; top: 50%; transform: translateY(-50%); }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-lightbox .vs-lb-count { position: absolute; top: 26px; left: 0; right: 0; text-align: center; color: rgba(255,255,255,.75); font-size: 13px; }
@media (max-width: 1199px) { :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-page-col { width: auto; margin: 0 16px; } }
@media (max-width: 767px) {
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-mosaic { grid-template-columns: 1fr; height: 260px; }
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-mosaic-thumbs { display: none; }
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-cols { grid-template-columns: 1fr; }
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-amenities { grid-template-columns: repeat(2, 1fr); }
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-unit-page h2.vs-unit-headline { font-size: 24px; line-height: 1.3; }
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-lightbox { padding: 60px 10px; }
}

/* ── Pied de page ────────────────────────────────────────────────────── */
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) #footer.vs-footer { background: var(--vs-footer-bg, var(--vs-first)); }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-footer-content { padding: 60px 0 40px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-footer-row { display: grid; grid-template-columns: repeat(var(--ftr-cols, 3), 1fr); margin: 0 -14px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-footer-col { position: relative; padding: 0 14px; min-height: 46px; margin-bottom: 50px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-footer-icon { position: absolute; left: 14px; top: 0; width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; color: var(--vs-second); font-size: 36px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-footer-col h3 { color: #fff; font-family: 'Poppins', sans-serif; font-size: calc(18px * var(--text-scale, 1)); font-weight: 700; line-height: 25px; margin: 0 12px 4px 60px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-footer-col p { color: #fff; font-size: calc(14px * var(--text-scale, 1)); line-height: 1.6; margin: 0 0 20px 60px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-footer-col p strong { font-weight: 600; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-footer-col a { color: #fff; text-decoration: none; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-footer-col a:hover { text-decoration: underline; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-copyright { background: #f1f1f3; padding: 30px 0; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-copyright-row { display: grid; grid-template-columns: 1fr 3fr; margin: 0 -14px; align-items: center; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-copyright-row > div { padding: 0 14px; min-width: 0; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-copyright-text { text-align: center; color: var(--vs-text); font-size: calc(13px * var(--text-scale, 1)); line-height: 32px; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-copyright-text a { color: var(--vs-text); text-decoration: none; }
:is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-copyright-text a:hover { color: var(--vs-theme); }
@media (max-width: 767px) {
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-footer-row { grid-template-columns: 1fr; gap: 10px; }
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-copyright-row { grid-template-columns: 1fr; }
    :is([data-theme="lesresidencesdelacaravelle"], [data-theme="ansedesrochers"]) .vs-copyright-text { line-height: 1.7; }
}
