/* ================================================================
   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(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(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(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(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(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(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-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(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(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(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(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(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(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(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(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(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(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(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(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)); }
