@charset "UTF-8";
@font-face{font-family:"Chakra Petch";src:url(fonts/ChakraPetch-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Chakra Petch";src:url(fonts/ChakraPetch-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Chakra Petch";src:url(fonts/ChakraPetch-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Chakra Petch";src:url(fonts/ChakraPetch-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Chakra Petch";src:url(fonts/ChakraPetch-BoldItalic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:"Mr Dafoe";src:url(fonts/MrDafoe-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
/* ─────────────────────────────────────────────────────────────────
   Fichier PORTÉ depuis flexirent.fr par porter-tunnel.py — ne pas
   modifier à la main : la prochaine exécution écraserait la retouche.
   Le thème RentSmart vit dans tunnel-theme-rentsmart.css.
   ───────────────────────────────────────────────────────────────── */

/* ============================================================
   RENTSMART — design system clair de FlexiLoc.
   Fond blanc, encre noire, accent orange : l'ergonomie du site
   RentSmart (thème clair, cohérent avec l'appli d'origine).
   Les noms de classes sont inchangés : seul le style bouge.
   ============================================================ */
:root{
  --bg:var(--night); --bg2:#ffffff; --card:#ffffff; --card2:#f1f3f6; --fxline:var(--fxline);
  --fxtxt:#15181e; --mut:#68707f; --acc:var(--pink); --acc2:#c2410c; --ok:var(--ok);
  --warn:#b45309; --bad:#dc2626; --chip:var(--night-3);
}
/* Ce fichier est une copie de rentsmart.css (l'appli FlexiRent OS complète),
   mais le tunnel public n'utilise QUE la fenêtre plein écran #wzov/#wzsheet
   (et #edlz pour un éventuel état des lieux) — jamais la coquille de l'appli
   (barre latérale <aside>, <main> décalé, .topbar, .savebadge). Ces règles-là
   étaient globales (sélecteurs *, body, aside, main) : chargées sur une vraie
   page du site public, elles écrasaient le <body>/<main> du site lui-même
   (ex. la page /reservation/) et cassaient toute la mise en page. Supprimées
   ici et remplacées par un reset scopé aux seuls conteneurs du tunnel. */
/* :where() met la spécificité de ce reset à ZÉRO. C'est décisif : écrit
   `#wzov *`, il avait une spécificité d'ID et écrasait silencieusement le
   `padding` de TOUS les composants du tunnel, qui sont écrits en simples
   classes (.wzradio, .wzprot, .wzopt2, .sxhead, .sect...). Résultat : chaque
   écran s'affichait tassé, texte collé aux bords, alors que le CSS prévoyait
   partout des marges confortables. Le reset continue de normaliser (il reste
   prioritaire sur les styles par défaut du navigateur), mais n'importe quelle
   classe peut désormais le surcharger, comme prévu à l'origine.
   Diagnostiqué le 22/08/2026. */
:where(#wzov) *, :where(#edlz) *{box-sizing:border-box;margin:0;padding:0}
#wzov, #edlz{box-sizing:border-box;margin:0;padding:0}
/* color:var(--fxtxt) sur le conteneur racine seulement (pas #wzov *) : depuis
   que la bulle d'accueil vit dans <main class="home-bleu"> (texte blanc
   partout, voir style.css), tout élément du tunnel qui ne fixait pas sa
   couleur héritait de ce blanc ambiant et devenait illisible sur fond clair
   (ex. le texte des cartes "Options de paiement" à l'étape Véhicule) —
   invisible sur /reservation/ (pas de fond bleu) mais pas sur l'accueil. En
   ciblant uniquement #wzov/#edlz (et non leurs descendants), ça redevient
   une couleur HÉRITÉE que les panneaux sombres (.sxcard, .sx25-photo, etc.)
   peuvent continuer à écraser normalement — un `#wzov *{color}` aurait au
   contraire (spécificité d'ID) cassé leur texte blanc sur fond sombre. */
#wzov, #edlz{color:var(--fxtxt)}
/* --- boutons : orange plein / blanc borde / danger --- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 17px;
  background:var(--acc);border:1px solid var(--acc);color:#fff;border-radius:11px;cursor:pointer;
  font-size:13.5px;font-weight:700;line-height:1;white-space:nowrap;
  box-shadow:0 1px 2px rgba(255,80,0,.25);transition:background .12s,box-shadow .12s,border-color .12s}
.btn:hover{background:var(--pink);border-color:var(--pink)}
.btn.sec{background:var(--card2);border:1px solid var(--fxline);color:var(--fxtxt);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.btn.sec:hover{background:var(--card2);border-color:#c2c8d2}
.btn.danger{background:var(--card2);border:1px solid #f3b4b4;color:var(--bad);box-shadow:none}
.btn.danger:hover{background:rgba(255,138,168,.12);border-color:#e89a9a}
.btn.small{height:30px;padding:0 12px;font-size:12.5px;border-radius:9px}
.toolbar{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.toolbar .sp{flex:1}
/* --- tuiles d'action de la fiche --- */
.atiles{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:12px 0 4px}
.atile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;
  background:var(--card2);border:1px solid var(--fxline);border-radius:13px;padding:12px 4px 10px;
  color:#3d4451;cursor:pointer;font-size:11.5px;font-weight:600;text-align:center;line-height:1.25;
  box-shadow:0 1px 2px rgba(0,0,0,.04);transition:border-color .12s,box-shadow .12s}
.atile:hover{border-color:var(--acc);box-shadow:0 3px 10px rgba(255,80,0,.12)}
.atile .i{font-size:21px}
.atile.main{background:var(--acc);border-color:var(--acc);color:#fff}
.atile.main:hover{background:var(--pink)}
.atile.danger{color:var(--bad)}
.atile.danger:hover{border-color:var(--bad);background:rgba(255,138,168,.12)}
.atile .done{color:var(--ok);font-weight:800}
.dfoot{display:flex;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--fxline)}
.dfoot .btn:first-child{flex:1}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(172px,1fr));gap:12px;margin-bottom:18px}
.kpi{background:var(--card);border:1px solid var(--fxline);border-radius:14px;padding:13px 15px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.kpi .lab{font-size:10.5px;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.6px}
.kpi .val{font-size:23px;font-weight:800;letter-spacing:-.4px;margin-top:4px}
.kpi .val.neg{color:var(--bad)}
.card{background:var(--card);border:1px solid var(--fxline);border-radius:14px;padding:16px;margin-bottom:14px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.filters input,.filters select{background:var(--card2);border:1px solid var(--fxline);color:var(--fxtxt);height:38px;padding:0 12px;border-radius:10px;font-size:13px}
.filters input:focus,.filters select:focus{outline:2px solid rgba(255,46,136,.5);border-color:var(--acc)}
table{width:100%;border-collapse:collapse;font-size:13px}
th{color:var(--mut);text-align:left;font-weight:700;padding:8px;border-bottom:1px solid var(--fxline);font-size:11.5px;text-transform:uppercase;letter-spacing:.4px}
td{padding:8px;border-bottom:1px solid var(--fxline);vertical-align:top}
tr.row:hover{background:rgba(255,46,136,.08);cursor:pointer}
.chip{display:inline-block;padding:2.5px 10px;border-radius:20px;font-size:11.5px;font-weight:600;background:var(--chip);color:var(--ink-2);white-space:nowrap}
.chip.c-confirme{background:rgba(45,226,230,.12);color:var(--cyan)}
.chip.c-encours{background:rgba(91,227,168,.12);color:var(--ok)}
.chip.c-termine{background:var(--night-3);color:#5b6472}
.chip.c-expire{background:rgba(255,138,168,.12);color:var(--bad)}
.chip.c-accepte{background:rgba(255,228,92,.12);color:var(--gold)}
.chip.c-franchise{background:#f1e9ff;color:#6d28d9}
.mut{color:var(--mut)} .neg{color:var(--bad)} .pos{color:var(--ok)}
.right{text-align:right}
.pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:10px;font-size:12.5px;color:var(--mut)}
.drawer{position:fixed;top:0;right:-660px;width:630px;max-width:94vw;bottom:0;background:var(--card2);border-left:1px solid var(--fxline);box-shadow:-14px 0 40px rgba(0,0,0,.14);z-index:50;transition:right .2s;overflow-y:auto;padding:20px}
.drawer.open{right:0}
.drawer h3{margin-bottom:4px;font-size:18px;font-weight:800;letter-spacing:-.2px}
.drawer .sub{color:var(--mut);font-size:12.5px;margin-bottom:12px}
.dgrid{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px;font-size:13px}
.dgrid .k{color:var(--mut)}
.sect{border-top:1px solid var(--fxline);margin-top:15px;padding-top:11px}
.sect h4{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--acc2);margin-bottom:9px}
.overlay{position:fixed;inset:0;background:rgba(21,24,30,.35);z-index:40;display:none}
.overlay.on{display:block}
.close{float:right;background:none;border:none;color:var(--mut);font-size:18px;cursor:pointer}
.close:hover{color:var(--fxtxt)}
.hint{font-size:12.5px;color:var(--mut);margin:8px 0}
/* Récapitulatif des dates en tête de l'étape Véhicule. C'était un <p class=hint>
   gris clair sur fond clair : illisible (signalé le 22/08/2026). Devient une
   vraie barre contrastée, avec les dates en évidence. */
/* Toutes ces règles sont préfixées #wzov : le reset en tête de fichier
   (`#wzov *{margin:0;padding:0}`) a une spécificité d'ID et écrasait sinon le
   padding de la barre, qui retombait à une simple ligne de 25 px de haut. */
#wzov .sxbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:var(--card,#fff);border:1px solid var(--line,var(--fxline));border-left:4px solid var(--acc);
  border-radius:12px;padding:13px 18px;margin:2px 0 18px;font-size:14.5px;color:var(--fxtxt);
  box-shadow:0 1px 3px rgba(0,0,0,.05)}
#wzov .sxbar b{font-weight:700}
#wzov .sxbar .sxbar-sep{color:#c8ced8}
#wzov .sxbar .sxbar-mut{color:var(--mut)}
#wzov .sxbar .sxbar-cta{margin-left:auto;font-weight:700;color:var(--acc)}
@media (max-width:700px){#wzov .sxbar .sxbar-cta{margin-left:0;width:100%}}
.droparea{border:2px dashed var(--fxline);border-radius:14px;padding:34px;text-align:center;color:var(--mut);margin:10px 0;background:var(--night)}
.tag{font-size:11px;background:var(--card2);border:1px solid var(--fxline);border-radius:7px;padding:2px 7px;margin-right:4px;color:var(--ink-2)}
.anom{color:var(--warn);font-size:12.5px}
h5.tsec{margin:14px 0 6px;color:var(--fxtxt);font-family:var(--display,"Archivo",system-ui,sans-serif);font-size:14px;font-weight:800;letter-spacing:-.2px}
input.inline{background:var(--card2);border:1px solid var(--fxline);color:var(--fxtxt);padding:5px 8px;border-radius:8px;width:110px}
select.inline{background:var(--card2);border:1px solid var(--fxline);color:var(--fxtxt);padding:5px 8px;border-radius:8px}
input.inline:focus,select.inline:focus{outline:2px solid rgba(255,46,136,.5);border-color:var(--acc)}
/* --- étape "Récap" : formulaire "Qui va conduire ?" façon Sixt (label
   au-dessus du champ, champs plus grands) au lieu du tableau étiquette/valeur
   utilisé ailleurs dans l'app FlexiRent OS — refonte du 22/08/2026. --- */
.wzform{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin-top:2px}
.wzform .wide{grid-column:1 / -1}
.wzfield{display:flex;flex-direction:column;gap:6px}
.wzfield label{font-size:12px;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.4px}
.wzfield input,.wzfield select{height:46px;border:1.5px solid var(--fxline);border-radius:11px;padding:0 14px;
  font-size:14.5px;color:var(--fxtxt);background:var(--card2);transition:border-color .12s,box-shadow .12s;width:100%}
.wzfield input:focus,.wzfield select:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px rgba(255,80,0,.12)}
/* --- planning --- */
.pwrap{overflow-x:auto;border:1px solid var(--fxline);border-radius:12px;background:var(--card2)}
.prow{display:flex;align-items:stretch;border-bottom:1px solid var(--fxline)}
.prow.pcat{background:var(--night)}
.plab{width:200px;min-width:200px;padding:6px 10px;font-size:12px;border-right:1px solid var(--fxline);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ptrack{position:relative;flex:none}
.pday{display:inline-block;font-size:9.5px;color:var(--mut);padding:4px 0;border-right:1px solid var(--fxline);text-align:center;vertical-align:top}
.pday.pwe{background:#f3f5f8}
.pday.ptoday{color:#fff;background:var(--acc);font-weight:700}
.pgrid{background-image:repeating-linear-gradient(to right,var(--fxline) 0 1px,transparent 1px 36px)}
.pnow{position:absolute;top:0;bottom:0;width:2px;background:var(--bad);z-index:5}
.pbar{position:absolute;height:22px;border-radius:7px;font-size:10.5px;font-weight:600;line-height:22px;padding:0 7px;overflow:hidden;white-space:nowrap;cursor:pointer;background:#94a3b8;color:#fff;z-index:4;box-shadow:0 1px 2px rgba(0,0,0,.18)}
.pbar.c-confirme{background:var(--cyan);color:#fff}
.pbar.c-encours{background:#16a34a;color:#fff}
.pbar.c-termine{background:#aab2c0;color:#fff}
.pbar.c-expire{background:#e06767;color:#fff}
.pbar.c-accepte{background:#f59e0b;color:#fff}
.pbar.c-immo{background:repeating-linear-gradient(45deg,rgba(255,138,168,.14) 0 6px,var(--fxline) 6px 12px);color:#a33;border:1px dashed #d88}
.prow.dropon{outline:2px solid var(--acc);outline-offset:-2px;background:rgba(255,46,136,.12)}
.pbar[data-drag="1"]{user-select:none}
/* --- cartes departs/retours + alertes --- */
.agcard{background:var(--card2);border:1px solid var(--fxline);border-left:4px solid var(--cyan);border-radius:12px;padding:11px 13px;margin-bottom:8px;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.agcard.ret{border-left-color:#f59e0b}
.agcard .h{display:flex;gap:10px;align-items:baseline}
.agcard .heure{font-size:17px;font-weight:800}
.iconb{position:relative;padding:6px 11px;font-size:15px}
.badge{position:absolute;top:-7px;right:-7px;background:var(--bad);color:#fff;border-radius:10px;font-size:10px;padding:1px 5px;min-width:16px;text-align:center}
.badge.zero{display:none}
.alcard{background:var(--card2);border:1px solid var(--fxline);border-left:4px solid #f59e0b;border-radius:12px;padding:10px 13px;margin-bottom:8px;cursor:pointer;font-size:13px}
.alcard.grave{border-left-color:var(--bad)}
.totbar{position:sticky;top:0;background:var(--card2);z-index:6;display:flex;gap:16px;justify-content:flex-end;padding:8px 0;border-bottom:1px solid var(--fxline);font-size:13px}
.totbar b{font-family:var(--display,"Archivo",system-ui,sans-serif);font-size:16px;font-weight:800}
/* --- EDL : grilles de photos et pieces --- */
.phgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:7px;margin:8px 0}
.phitem{position:relative;border:1px solid var(--fxline);border-radius:10px;overflow:hidden;background:var(--night);aspect-ratio:4/3}
.phitem img{width:100%;height:100%;object-fit:cover;display:block}
.phitem .phx{position:absolute;top:3px;right:3px;background:rgba(21,24,30,.65);color:#fff;border:none;border-radius:7px;width:20px;height:20px;cursor:pointer;font-size:11px;line-height:1}
.phadd{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:2px dashed var(--fxline);border-radius:10px;color:var(--mut);cursor:pointer;aspect-ratio:4/3;font-size:11px;background:var(--night);text-align:center;padding:2px}
.phadd:hover{border-color:var(--acc);color:var(--acc)}
/* --- tickets CB / caution --- */
.tkrow{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.tkslot{border:1px solid var(--fxline);border-radius:12px;padding:12px;text-align:center;background:var(--card2)}
.tkslot img{max-width:100%;max-height:150px;border-radius:8px;margin-top:8px}
/* --- tunnel de reservation en etapes --- */
.wzsteps{display:flex;align-items:center;gap:6px;margin:10px 0 4px}
.wzstep{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--mut);white-space:nowrap}
.wzstep .n{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--night-3);font-size:11px}
.wzstep.on{color:var(--acc)}
.wzstep.on .n{background:var(--acc);color:#fff}
.wzstep.done{color:var(--ok);cursor:pointer}
.wzstep.done .n{background:rgba(91,227,168,.12);color:var(--ok)}
.wzsep{flex:1;height:2px;background:var(--night-3);border-radius:2px;min-width:12px}
.wzcat{margin-top:12px}
.wzcat-h{display:flex;align-items:baseline;gap:8px;margin-bottom:5px}
.wzcat-h b{font-size:13.5px}
.wzdes{margin-left:auto;font-size:12px;font-weight:800;color:var(--acc)}
/* Cartes radio (étape "Véhicule" — options de paiement / kilométrage) :
   agrandies et détachées du style formulaire d'origine pour se rapprocher
   des cartes de sélection Sixt (gros bouton radio, titre en évidence, prix
   net à droite, état sélectionné marqué) — refonte du 22/08/2026. */
/* Cartes-choix ("bulles") : titre en gras, description SOUS le titre et non
   à la suite derrière un tiret, prix aligné à droite. C'est la composition des
   écrans Sixt — elle laisse l'oeil balayer les titres puis les prix, au lieu
   de devoir lire une phrase entière par ligne. */
.wzradio{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;background:var(--card2);
  border:1.5px solid var(--fxline);border-radius:16px;padding:17px 19px;margin-bottom:11px;cursor:pointer;font-size:13.5px;
  transition:border-color .12s,box-shadow .12s,background .12s}
.wzradio:hover{border-color:rgba(255,46,136,.6)}
.wzradio.on{border-color:var(--acc);background:rgba(255,46,136,.10);box-shadow:0 0 0 1px var(--acc)}
.wzradio input[type="radio"]{width:19px;height:19px;accent-color:var(--acc);flex:none;margin-top:1px}
.wzradio .t{line-height:1.45}
.wzradio .t b{font-family:var(--display,"Archivo",system-ui,sans-serif);font-size:15px;letter-spacing:-.1px}
.wzradio .t .mut{display:block;margin-top:4px;font-size:13px;line-height:1.45}
.wzradio .p{font-family:var(--display,"Archivo",system-ui,sans-serif);font-weight:800;font-size:15px;white-space:nowrap;
  padding-top:1px}
.wzsug{position:absolute;left:0;right:0;top:100%;z-index:20;background:var(--card2);border:1px solid var(--fxline);
  border-radius:11px;box-shadow:0 8px 24px rgba(0,0,0,.14);overflow:hidden}
.wzsug-i{padding:8px 12px;cursor:pointer;font-size:13px;display:flex;gap:8px;align-items:baseline}
.wzsug-i:hover{background:rgba(255,46,136,.08)}
/* --- portail : cartes vehicules facon Sixt ---
   Proportions et police mesurées en direct sur sixt.fr (carte 467x568px,
   soit ~0.82 largeur/hauteur, découpée en 3 zones tête/photo/pied d'environ
   26,5% / 45,5% / 26,5% de la hauteur) — bug remonté par le client le
   21/08/2026 ("problème de proportion... les polices ne sont pas les
   mêmes"). Titre et prix passent sur la police d'affichage du site
   (--display, Archivo) au lieu d'hériter de --body (Inter) par défaut. */
.sxgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
/* Au-delà de 1500 px on passe à 4 colonnes : en quasi pleine largeur, 3 cartes
   deviendraient trop larges pour leur photo (ratio 8/5) et la grille aurait
   l'air vide. */
@media (min-width:1500px){.sxgrid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:980px){.sxgrid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.sxgrid{grid-template-columns:1fr}}
/* ===== Carte véhicule — refonte 22/08/2026 =====================================
   Objectif : la présence visuelle des cartes Sixt. Trois leviers, dans l'ordre
   d'impact réel :
     1. la PHOTO occupe désormais un cadre au ratio exact des fichiers card.jpg
        (800x500 = 8/5), donc plus aucun rognage — avant, une hauteur fixe de
        216 px coupait le haut et le bas du véhicule ;
     2. le PRIX est composé comme chez Sixt : entier en gros, centimes et "/jour"
        en petit, ce qui fait lire le montant d'un coup d'oeil ;
     3. un dégradé et un relief au survol remplacent l'aplat #1a1a1a.
   Volontairement ABSENTES : les étiquettes "très demandé" / "meilleur choix" de
   Sixt. Elles ne reposeraient sur aucune donnée ici — seul "Meilleur prix" est
   conservé, parce qu'il est réellement calculé (voir isBest côté JS). */
#wzov .sxcard{background:linear-gradient(158deg,#252931 0%,#191c21 46%,#111316 100%);
  color:#fff;border-radius:18px;overflow:hidden;cursor:pointer;
  border:1px solid rgba(255,255,255,.07);
  box-shadow:0 2px 10px rgba(8,14,32,.22);
  transition:transform .14s ease,box-shadow .16s ease,border-color .16s ease}
#wzov .sxcard:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(8,14,32,.42);
  border-color:rgba(255,255,255,.16)}
#wzov .sxcard:hover .sxphotowrap img{transform:scale(1.035)}
/* min-height : sans elle, un nom sur deux lignes décalait la photo vers le bas
   et la grille devenait irrégulière d'une carte à l'autre. */
#wzov .sxhead{padding:22px 22px 16px;min-height:130px}
/* Repère "moins cher du groupe" — calculé côté JS (vrai prix, pas un texte
   marketing arbitraire) sur la 1ère carte de la section principale. */
/* Posé SUR la photo (et non au-dessus du nom) : les en-têtes gardent ainsi la
   même hauteur d'une carte à l'autre, et le repère se lit comme le bandeau
   d'angle des cartes Sixt. */
#wzov .sxribbon{position:absolute;top:12px;left:12px;z-index:2;
  background:var(--acc);color:#fff;font-size:10.5px;font-weight:800;
  padding:5px 12px;border-radius:999px;text-transform:uppercase;letter-spacing:.5px;
  box-shadow:0 3px 12px rgba(8,14,32,.45)}
#wzov .sxname{font-family:var(--display,"Archivo",system-ui,sans-serif);font-weight:800;font-size:25px;
  line-height:1.08;text-transform:uppercase;letter-spacing:-.2px}
@media (min-width:1500px){#wzov .sxname{font-size:23px}}
#wzov .sxsub{font-size:12.5px;color:var(--mut);margin:8px 0 0}
#wzov .sxchips{display:flex;gap:6px;margin:13px 0 0;flex-wrap:wrap}
#wzov .sxchips span{font-size:10.5px;font-weight:600;letter-spacing:.2px;background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.07);border-radius:7px;padding:4px 9px;color:#dfe3ea}
#wzov .sxfoot{padding:17px 22px 22px}
#wzov .sxkm{font-size:11.5px;color:#7ee2a8;margin:0 0 10px;display:flex;align-items:center;gap:5px}
/* Prix : l'entier porte le poids visuel, les centimes et l'unité s'effacent —
   c'est la composition qui rend le tarif Sixt lisible en un coup d'oeil.
   gap:0 entre l'entier et les centimes, sinon "41" et ",00 €" se séparent. */
#wzov .sxprixrow{display:flex;align-items:baseline;gap:0;flex-wrap:wrap}
#wzov .sxprix{font-family:var(--display,"Archivo",system-ui,sans-serif);color:var(--acc);
  font-weight:800;font-size:36px;line-height:1;letter-spacing:-1.2px}
#wzov .sxprixc{font-family:var(--display,"Archivo",system-ui,sans-serif);color:var(--acc);
  font-weight:800;font-size:19px;letter-spacing:-.3px}
#wzov .sxprixj{color:var(--mut);font-size:12.5px;font-weight:600;margin-left:7px}
#wzov .sxtot{color:#8f96a5;font-size:12px;margin-left:auto}
.sxpanel{background:#1a1a1a;border-radius:14px;overflow:hidden;margin-top:8px}
.sxpanel-t{padding:9px 12px;color:#fff;font-size:13px}
/* Bandeau véhicule en tête de récap, façon Sixt — refonte du 22/08/2026 */
.sxmini{display:flex;align-items:center;gap:14px;background:var(--card2);border:1.5px solid var(--fxline);
  border-radius:15px;padding:12px 16px;margin-top:8px;font-size:13.5px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.sxmini img,.sxmini>div:first-child{width:92px;height:64px;object-fit:cover;border-radius:10px;flex:none}
.sxmini b{font-family:var(--display,"Archivo",system-ui,sans-serif);font-size:15px}
.sxmini b:last-child{font-size:18px}
/* --- étape "Véhicule" (25) : photo + options en deux colonnes façon Sixt --- */
.sx25{display:grid;grid-template-columns:380px 1fr;gap:24px;align-items:start}
.sx25-photo{position:sticky;top:14px;background:#1a1a1a;border-radius:16px;overflow:hidden}
.sx25-photo img,.sx25-photo>div:first-child{border-radius:0}
.sx25-name{padding:18px 20px 20px;color:#fff}
.sx25-name b{display:block;font-family:var(--display,"Archivo",system-ui,sans-serif);font-weight:700;
  font-size:21px;text-transform:uppercase;letter-spacing:.2px}
.sx25-name .mut{font-size:12.5px;color:#9a9fab;margin-top:4px;display:block}
@media (max-width:900px){
  .sx25{grid-template-columns:1fr}
  .sx25-photo{position:static}
}
/* --- ages --- */
.wzages{display:flex;gap:8px}
.wzage{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--fxline);border-radius:999px;
  padding:7px 14px;cursor:pointer;font-size:13px;font-weight:600;background:var(--card2)}
.wzage.on{border-color:var(--acc);background:rgba(255,46,136,.12);color:var(--acc)}
.wzage input{accent-color:var(--acc)}
.wzpop{background:rgba(255,228,92,.12);color:var(--gold);font-size:10.5px;font-weight:800;border-radius:6px;padding:1.5px 6px}
/* --- curseur km --- */
/* Le curseur reste (il rend le choix du kilométrage tangible) mais il est
   posé dans une bulle, comme les cartes-choix au-dessus. */
.wzslide{margin:12px 0 2px;background:var(--card2);border:1.5px solid var(--fxline);border-radius:16px;padding:16px 19px 13px}
.wzslide input[type=range]{width:100%;accent-color:var(--acc)}
.wzslide-l{display:flex;justify-content:space-between;font-size:11.5px;color:var(--mut)}
.wzslide-l b{color:var(--fxtxt)}
/* --- protections facon Sixt : cartes agrandies, titre en Archivo, barre de
   couverture arrondie pleine largeur — refonte du 22/08/2026 pour sortir du
   look "formulaire" et se rapprocher du standing Sixt (gros titre noir,
   encadré d'avertissement, cartes cliquables nettes). --- */
.wzinfo{background:var(--night);border-radius:13px;padding:14px 16px;font-size:13px;margin:8px 0 14px;line-height:1.55}
.wzinfo a{color:var(--acc2);font-weight:700}
.wzex{margin-top:8px;font-size:12.5px;color:var(--ink-2);line-height:1.6}
.wzprot{border:1.5px solid var(--fxline);border-radius:15px;background:var(--card2);margin-bottom:11px;cursor:pointer;
  transition:border-color .12s,box-shadow .12s}
.wzprot:hover{border-color:var(--fxline)}
.wzprot.on{border-color:var(--acc);background:rgba(255,46,136,.10);box-shadow:0 0 0 1px var(--acc)}
.wzprot-h{display:grid;grid-template-columns:auto 1fr auto auto;gap:13px;align-items:center;padding:17px 19px}
.wzprot-h .r{font-size:18px;color:var(--acc)}
.wzprot-h .t b{font-family:var(--display,"Archivo",system-ui,sans-serif);font-size:15px;letter-spacing:-.1px}
.wzprot-h .sh{font-size:13px}
.wzprot-h .sh .off{opacity:.22}
.wzprot-h .p{font-family:var(--display,"Archivo",system-ui,sans-serif);font-weight:800;font-size:14.5px;white-space:nowrap}
.wzprot-h .ch{color:var(--mut);cursor:pointer;padding:2px 5px}
.wzreco{background:rgba(255,228,92,.12);color:#8a6d1a;font-size:10.5px;font-weight:800;border-radius:6px;padding:2px 8px;text-transform:uppercase;letter-spacing:.3px}
.wzprot-d{padding:0 17px 16px;border-top:1px dashed var(--fxline);margin-top:2px;padding-top:13px;font-size:13px}
.wzbar{height:10px;border-radius:999px;background:#f3d9a8;overflow:hidden;display:flex;justify-content:flex-end}
.wzbar-f{height:100%;background:linear-gradient(90deg,#18a35a,var(--ok));border-radius:999px}
.wzchecks{margin-top:9px;line-height:1.8;color:var(--fxtxt)}
.wzapercu{background:var(--night);border-radius:13px;padding:14px 16px;font-size:13px;margin-top:14px;line-height:1.8}
.wzapercu b{font-family:var(--display,"Archivo",system-ui,sans-serif)}
/* --- options facon Sixt : icone + titre + description + prix, carte
   recommandée mise en valeur (fond teinté, badge) — refonte du 22/08/2026,
   remplace les simples cases à cocher trop discrètes. --- */
.wzopts{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.wzopt2{border:1.5px solid var(--fxline);border-radius:14px;background:var(--card2);padding:14px 16px;cursor:pointer;
  transition:border-color .12s,box-shadow .12s}
.wzopt2:hover{border-color:var(--fxline)}
.wzopt2.on{border-color:var(--acc);background:rgba(255,46,136,.08);box-shadow:0 0 0 1px var(--acc)}
.wzopt2.large{grid-column:1 / -1;border-color:#f0c94a;background:rgba(255,228,92,.08);padding:16px 18px}
.wzopt2.large.on{border-color:var(--acc);background:rgba(255,46,136,.08);box-shadow:0 0 0 1px var(--acc)}
.wzopt2 .h{display:flex;align-items:center;gap:10px}
.wzopt2 .h .icn{font-size:19px;flex:none;width:30px;height:30px;border-radius:9px;background:var(--night);
  display:flex;align-items:center;justify-content:center}
.wzopt2.on .h .icn{background:rgba(255,46,136,.16)}
.wzopt2 .h b{font-family:var(--display,"Archivo",system-ui,sans-serif);font-size:14px;letter-spacing:-.1px}
.wzopt2 .h .sw{margin-left:auto;width:38px;height:22px;border-radius:999px;background:var(--fxline);position:relative;transition:background .12s;flex:none}
.wzopt2 .h .sw.on{background:var(--acc)}
.wzopt2 .h .sw .kn{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--card2);transition:left .12s;box-shadow:0 1px 2px rgba(0,0,0,.25)}
.wzopt2 .h .sw.on .kn{left:18px}
.wzopt2 .f{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:8px;
  border-top:1px solid var(--fxline);font-size:12.5px}
.wzopt2.large .f{border-top-color:#efe0a8}
.wzopt2 .f b{font-family:var(--display,"Archivo",system-ui,sans-serif);font-size:14px}

/* ===== chips generiques (suivi des envois, documents) ===== */
.chip.chip-ok{background:rgba(91,227,168,.12);color:var(--ok)}
.chip.chip-warn{background:rgba(255,228,92,.12);color:var(--gold)}
.chip.chip-bad{background:rgba(255,138,168,.12);color:var(--bad)}
.chip.chip-info{background:rgba(45,226,230,.12);color:var(--cyan)}

/* ===== etat des lieux v2 : assistant plein ecran (mobile + desktop) ===== */
#edlz{position:fixed;inset:0;z-index:340;background:var(--bg);display:flex;flex-direction:column;overflow:hidden}
#edlz .ezhead{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--card);border-bottom:1px solid var(--fxline);flex:none}
#edlz .ezhead b{font-size:15.5px}
#edlz .ezback{width:36px;height:36px;border-radius:10px;border:1px solid var(--fxline);background:var(--card2);color:var(--fxtxt);font-size:15px;cursor:pointer;flex:none}
#edlz .ezsteps{display:flex;gap:4px;padding:8px 14px;background:var(--card);border-bottom:1px solid var(--fxline);overflow-x:auto;flex:none;scrollbar-width:none}
#edlz .ezstep{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:600;color:var(--mut);white-space:nowrap;flex:none}
#edlz .ezstep .n{width:18px;height:18px;border-radius:50%;background:var(--chip);display:inline-flex;align-items:center;justify-content:center;font-size:10.5px}
#edlz .ezstep.on{background:var(--acc-soft,rgba(255,46,136,.10));color:var(--acc)}
#edlz .ezstep.on .n{background:var(--acc);color:#fff}
#edlz .ezstep.done{color:var(--ok);cursor:pointer}
#edlz .ezstep.done .n{background:rgba(91,227,168,.12);color:var(--ok)}
#edlz .ezbody{flex:1;overflow-y:auto;padding:16px;-webkit-overflow-scrolling:touch}
#edlz .ezbody>*{max-width:780px;margin-left:auto;margin-right:auto}
#edlz .ezt{margin:2px auto 8px;font-size:16px}
#edlz .ezfoot{display:flex;justify-content:space-between;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--card);border-top:1px solid var(--fxline);flex:none}
#edlz .ezfoot .btn{min-height:46px;font-size:15px;padding:10px 22px}
.ezgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:6px auto 12px}
.ezgrid.two{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.ezgrid.mini{grid-template-columns:repeat(auto-fill,minmax(86px,1fr));margin:6px 0 0}
.ezslot{position:relative;border:1.6px dashed var(--fxline);border-radius:12px;background:var(--card);min-height:104px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;overflow:hidden;text-align:center}
.ezslot .cam{font-size:22px;opacity:.55}
.ezslot .lb{font-size:11px;color:var(--mut);padding:0 4px;position:relative;z-index:2}
.ezslot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ezslot.ok{border-style:solid;border-color:var(--ok)}
.ezslot.ok .lb{background:rgba(255,255,255,.88);border-radius:6px;padding:1px 6px;color:#1f2937;position:absolute;bottom:4px;left:4px;right:auto;max-width:calc(100% - 8px)}
.ezslot.req{border-color:var(--acc)}
.ezslot.add{border-style:dashed;color:var(--mut)}
.ezslot.mini{min-height:72px}
.ezslot .ezx{position:absolute;top:4px;right:4px;z-index:3;width:22px;height:22px;border-radius:50%;border:none;background:rgba(17,24,39,.72);color:#fff;font-size:11px;cursor:pointer}
.ezslot .rep{position:absolute;top:4px;left:4px;z-index:3;background:rgba(45,226,230,.12);color:var(--cyan);border-radius:6px;font-size:11px;padding:0 5px}
.ezform label{display:block;margin:10px 0;font-size:13px;font-weight:600}
.ezform input[type=number],.ezform input[type=text],#edlz input:not([type=range]):not([type=file]),#edlz select,#edlz textarea{width:100%;margin-top:4px;padding:11px 12px;border:1px solid var(--fxline);border-radius:10px;background:var(--card);color:var(--fxtxt);font-size:15px;box-sizing:border-box}
#edlz input[readonly]{background:var(--card2)}
.ezkm{display:flex;align-items:center;gap:8px}
.ezkm span{font-weight:700}
#edlz input[type=range]{width:100%;margin-top:10px;accent-color:var(--acc)}
.ezrow2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ezrow2 label{font-size:13px;font-weight:600}
.ezrep{padding:9px 12px;border:1px solid var(--fxline);border-radius:10px;margin:6px 0;cursor:pointer;background:var(--card)}
.ezrep:hover{border-color:var(--acc)}
.ezdom{border:1px solid var(--fxline);border-radius:12px;padding:10px 12px;margin:8px 0;background:var(--card)}
.ezdom .h{display:flex;align-items:center;gap:8px}
.ezdom .h .ezx{margin-left:auto;width:24px;height:24px;border-radius:50%;border:1px solid var(--fxline);background:var(--card2);cursor:pointer}
.ezdom.new{border-style:dashed}
.ezdom .rep{background:rgba(45,226,230,.12);color:var(--cyan);border-radius:6px;font-size:11px;padding:0 5px}
.ezblock{background:rgba(255,138,168,.12);color:var(--bad);border:1px solid #f5c2c2;border-radius:12px;padding:12px 14px;font-size:14px;margin:8px 0}
.ezok{background:rgba(91,227,168,.12);color:var(--ok);border:1px solid #bfe8d2;border-radius:12px;padding:12px 14px;font-size:14px;margin:8px 0}
.ezwarn{background:rgba(255,228,92,.12);color:var(--gold);border:1px solid #f2ddb0;border-radius:12px;padding:10px 12px;font-size:13px;margin:8px 0}
.ezpay{border:1px solid var(--fxline);border-radius:12px;padding:4px 14px 12px;margin:10px 0;background:var(--card)}
.ezrowbtn{display:flex;align-items:center;gap:10px;margin:8px 0}
.ezrowbtn input{flex:1}
.ezregs{margin-top:8px;font-size:13px}
.ezregs div{padding:3px 0;border-top:1px dashed var(--fxline)}
.ezsigs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}
.ezsig{border:1px solid var(--fxline);border-radius:12px;padding:10px;background:var(--card);position:relative}
.ezsig b{font-size:12.5px;display:block;margin-bottom:6px}
.ezsig canvas{width:100%;height:150px;border:1.6px dashed var(--fxline);border-radius:10px;background:var(--card2);display:block;cursor:crosshair}
.ezsig .sigprev{position:absolute;left:12px;right:12px;top:34px;height:148px;object-fit:contain;pointer-events:none}
.ezsig .btn{margin-top:8px}
@media (max-width:640px){
  #edlz .ezbody{padding:12px}
  .ezgrid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}
  .ezslot{min-height:92px}
  .ezrow2{grid-template-columns:1fr}
  .ezsigs{grid-template-columns:1fr}
  #edlz .ezfoot .btn{flex:1}
}

/* ===== portail v3 : #wzov/#wzsheet, affichage INLINE dans le flux de la page.
   Historique : c'était une fenêtre plein écran (position:fixed;inset:0) —
   exactement le pattern que ciblent la plupart des bloqueurs de pubs/popups,
   qui la neutralisaient silencieusement (aucune erreur JS, juste rien à
   l'écran). Passage en conteneur normal le 21/08/2026 pour y échapper. ===== */
#wzov{position:relative;z-index:1;background:none;display:block;padding:0;margin-top:18px}
/* Pas de max-height / scroll interne : le bloc grandit avec son contenu et
   c'est la page qui défile, comme n'importe quelle section normale — sinon,
   à contenu court, il reste un vide en bas de la boîte (mal centrée), et à
   contenu long, une petite fenêtre à ascenseur interne au lieu d'une vraie
   page. Retiré le 21/08/2026 suite au retour du client. */
#wzsheet{width:100%;height:auto;max-width:none;background:var(--bg);border-radius:18px;
  box-shadow:0 14px 40px rgba(0,0,0,.16);display:flex;flex-direction:column;overflow:hidden}
#wzsheet .wzhead{display:flex;align-items:center;gap:14px;padding:14px 20px;background:var(--card);border-bottom:1px solid var(--fxline);flex:none}
#wzsheet .wzhead h3{margin:0;font-family:var(--display,"Archivo",system-ui,sans-serif);font-size:17px;font-weight:800;letter-spacing:-.2px}
#wzsheet .wzhead .wzsub{color:var(--mut);font-size:12px;margin-top:1px}
#wzsheet .wzhead #wzHeadTot{margin-left:auto}
#wzsheet .wzhead #wzHeadTot .totbar{position:static;border-bottom:none;padding:0;gap:12px}
#wzsheet .wzhead .close{font-size:20px}
#wzsheet .wzstepsbar{padding:0 20px;background:var(--card);border-bottom:1px solid var(--fxline);flex:none;overflow-x:auto;scrollbar-width:none}
#wzsheet .wzstepsbar .wzsteps{margin:9px 0}
#wzsheet .wzbody{padding:18px 20px}
#wzsheet .wzbody>*{max-width:820px;margin-left:auto;margin-right:auto}
#wzsheet .wzbody>.sxgrid,#wzsheet .wzbody>.sx25,#wzsheet .wzbody>.sxbar{max-width:1760px}
#wzsheet .wzfoot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));
  background:var(--card);border-top:1px solid var(--fxline);flex:none}
#wzsheet .wzfoot:empty{display:none}
.wzfootprix{display:flex;align-items:baseline;gap:7px;font-size:12.5px;color:var(--mut);white-space:nowrap}
.wzfootprix b{font-family:var(--display,"Archivo",system-ui,sans-serif);font-size:18px;font-weight:800;color:var(--fxtxt)}
.wzfoot-btns{display:flex;gap:10px;margin-left:auto}
@media (max-width:560px){
  #wzsheet .wzfoot{flex-wrap:wrap}
  .wzfoot-btns{flex:1}
  .wzfoot-btns .btn{flex:1}
}

/* --- calendrier double mois (étape Dates) --- */
.wzcal{display:flex;align-items:flex-start;gap:6px;justify-content:center}
.wzcalnav{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--fxline);background:var(--card2);
  color:var(--fxtxt);font-size:16px;cursor:pointer;margin-top:10px}
.wzcalnav:hover{border-color:var(--acc);color:var(--acc)}
.wzcalmonths{display:grid;grid-template-columns:1fr 1fr;gap:22px;flex:1}
.wzcalmonth h5{text-align:center;font-size:13.5px;font-weight:800;margin:2px 0 8px;text-transform:capitalize}
.wzcalwd{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:2px}
.wzcalwd span{text-align:center;font-size:10.5px;color:var(--mut);font-weight:700}
.wzcalgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.wzcd{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;border-radius:9px;
  font-size:12.5px;cursor:pointer;color:var(--fxtxt);user-select:none}
.wzcd[data-iso]:hover{background:rgba(255,46,136,.12)}
.wzcd.off{cursor:default;visibility:hidden}
.wzcd.past{cursor:not-allowed;color:var(--fxline);visibility:visible}
.wzcd.today{font-weight:800;color:var(--acc);box-shadow:inset 0 0 0 1.5px var(--acc)}
.wzcd.mid{background:rgba(255,228,92,.12);border-radius:0}
.wzcd.on{background:var(--acc);color:#fff;font-weight:800}
.wzcalconfirm{display:block;width:100%;margin:14px 0 4px}
@media (max-width:820px){
  .wzcalmonths{grid-template-columns:1fr}
  .wzcalnav{margin-top:0}
  .wzcal{flex-wrap:wrap}
}

/* --- swipe entre véhicules d'une même catégorie --- */
/* Cadre en 4/3 + object-fit:contain, choisi après mesure des 16 card.jpg :
     13 fichiers sur 16 sont exactement en 700x525, soit 4/3 -> ils remplissent
       le cadre bord à bord, sans la moindre bande ;
     ford-fiesta (1.57) et renault-kangoo (1.48) prennent une fine bande en
       haut et en bas ;
     peugeot-208 est en PORTRAIT (700x934) et reste donc encadré de noir.
   'contain' plutôt que 'cover' : avec des ratios aussi hétérogènes, 'cover'
   rognait la voiture (c'est ce que faisait la hauteur fixe de 216 px). Ici
   aucune photo n'est amputée ; le fond sombre prolonge simplement la carte. */
.sxphotowrap{position:relative;aspect-ratio:4/3;overflow:hidden;
  background:radial-gradient(circle at 50% 42%,#20242b 0%,#0e1013 78%)}
.sxphotowrap img{width:100%;height:100%;object-fit:contain;display:block;
  transition:transform .3s ease}
.sxphotowrap>div:first-child{width:100%;height:100%}
.sxnav{position:absolute;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;
  border:none;background:rgba(17,24,39,.55);color:#fff;font-size:15px;cursor:pointer;z-index:2;
  display:flex;align-items:center;justify-content:center}
.sxnav:hover{background:rgba(17,24,39,.82)}
.sxnav.prev{left:6px} .sxnav.next{right:6px}

@media (max-width:820px){
  #wzsheet{border-radius:14px}
}

/* --- Réglages pour le site public flexirent.fr : mêmes styles que dans
   FlexiRent OS, juste l'accent recalé sur l'orange corail du site public
   (au lieu de l'orange interne) pour rester cohérent visuellement. --- */
:root{ --acc:#FF5A2A; --acc2:#E04516; }

/* ---- lot 19 : l'icône (i) de « Restez flexible » et son encart ---- */
.wzinfo{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;
  border:1.5px solid var(--acc);color:var(--acc);background:var(--card2);font:700 11px/1 var(--display,"Archivo",system-ui,sans-serif);
  margin-left:6px;cursor:pointer;vertical-align:middle;padding:0}
.wzinfo:hover{background:var(--acc);color:#fff}
.wzinfobox{margin:8px 2px 2px;padding:10px 12px;border-radius:10px;background:rgba(255,46,136,.10);border:1px solid var(--fxline);
  font-size:13px;line-height:1.5;color:#5a4636}

/* ─────────────────────────────────────────────────────────────────
   Fichier PORTÉ depuis flexirent.fr par porter-tunnel.py — ne pas
   modifier à la main : la prochaine exécution écraserait la retouche.
   Le thème RentSmart vit dans tunnel-theme-rentsmart.css.
   ───────────────────────────────────────────────────────────────── */

/* Extrait de la feuille du site FlexiRent (bulle de recherche + calendrier),
   variables traduites vers la charte RentSmart. */
.fx-bubble{
  background:var(--card2);border-radius:20px;box-shadow:0 14px 40px rgba(0,0,0,.14);
  padding:18px 22px 20px;max-width:1040px;margin:0 auto;
}
.fx-bubble-tabs{display:flex;gap:8px;margin-bottom:14px}
.fx-bt{
  border:0;background:var(--card2);color:var(--fxtxt);border-radius:999px;padding:9px 16px;
  font-size:.85rem;font-weight:700;cursor:pointer;transition:background .12s,color .12s;
}
.fx-bt.on{background:var(--fxtxt);color:#fff}
.fx-bubble-row{display:flex;align-items:flex-end;gap:0;flex-wrap:wrap;row-gap:14px}
.fx-bfield{display:flex;flex-direction:column;gap:4px;padding:0 16px;border-right:1px solid var(--fxline);min-width:0}
.fx-bfield:last-of-type{border-right:none}
.fx-bfield label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--mut)}
.fx-bfield select{border:0;background:transparent;font-family:"Inter",system-ui,sans-serif;font-size:.92rem;font-weight:600;
  color:var(--fxtxt);padding:0;cursor:pointer;max-width:190px}
.fx-bfield select:focus{outline:none}
.fx-datebtn{border:0;background:transparent;font-family:"Inter",system-ui,sans-serif;font-size:.92rem;font-weight:600;
  color:var(--fxtxt);padding:0;cursor:pointer;text-align:left;white-space:nowrap}
.fx-balt{border:0;background:none;color:var(--acc);font-size:.8rem;font-weight:700;
  text-decoration:underline;cursor:pointer;padding:0 14px;white-space:nowrap;align-self:center}
.fx-bfield-age select{max-width:150px}
.fx-bgo{padding:12px 24px;font-size:.88rem;margin-left:auto}
@media (max-width:900px){
  .fx-bubble-row{flex-direction:column;align-items:stretch}
  .fx-bfield{border-right:none;border-bottom:1px solid var(--fxline);padding:10px 4px}
  .fx-balt{align-self:flex-start;padding:6px 4px}
  .fx-bgo{margin-left:0;width:100%}
}

/* ── Calendrier custom (dropdown au clic sur un champ date, bulle de
   recherche) ── remplace les inputs type=date natifs ("dégueulasses"). */
.fxcal{
  position:absolute;z-index:500;background:var(--card2);border-radius:14px;box-shadow:0 16px 44px rgba(0,0,0,.22);
  padding:14px 16px 10px;width:280px;
}
.fxcal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.fxcal-title{font-size:.86rem;font-weight:800;text-transform:capitalize}
.fxcal-nav{border:1px solid var(--fxline);background:var(--card2);border-radius:50%;width:28px;height:28px;
  cursor:pointer;font-size:.9rem;color:var(--fxtxt)}
.fxcal-nav:hover{border-color:var(--acc);color:var(--acc)}
.fxcal-week{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:2px}
.fxcal-week span{text-align:center;font-size:.65rem;font-weight:700;color:var(--mut)}
.fxcal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.fxcal-empty{visibility:hidden}
.fxcal-day{border:0;background:none;aspect-ratio:1/1;border-radius:8px;font-size:.82rem;cursor:pointer;
  color:var(--fxtxt);display:flex;align-items:center;justify-content:center}
.fxcal-day:hover{background:var(--card2)}
.fxcal-day.sel{background:var(--acc);color:#fff;font-weight:800}
.fxcal-day.off{color:var(--fxline);cursor:not-allowed}
.fxcal-day.off:hover{background:none}
.fxcal-heure-row{display:flex;align-items:center;gap:10px;margin-top:8px;padding-top:8px;border-top:1px solid var(--fxline)}
.fxcal-heure-row label{font-size:.78rem;font-weight:700;color:var(--mut)}
.fxcal-heure{border:1px solid var(--fxline);border-radius:8px;padding:5px 8px;font-family:"Inter",system-ui,sans-serif;font-size:.85rem;font-weight:600;color:var(--fxtxt);background:var(--card2);cursor:pointer;margin-left:auto}
.fxcal-foot{display:flex;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid var(--fxline)}
.fxcal-foot a{font-size:.78rem;font-weight:700;color:var(--acc);text-decoration:underline;cursor:pointer}

/* ── Bandeau "paiement annulé" (retour Stripe Checkout, page réservation) ──
   Position fixe et au-dessus du tunnel — reste utile même en affichage
   inline puisque le tunnel peut être plus bas que la fenêtre visible. */
.fx-annule-note{
  position:fixed;top:82px;left:50%;transform:translateX(-50%);z-index:49;
  display:flex;align-items:center;gap:12px;background:#FFF3E0;color:#7A4A00;
  border:1px solid #F3D9A6;border-radius:var(--r);padding:12px 16px;font-size:.9rem;
  max-width:calc(100% - 28px);box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.fx-annule-note button{
  margin-left:auto;background:none;border:0;color:inherit;font-size:1.2rem;line-height:1;cursor:pointer;opacity:.6;
}
.fx-annule-note button:hover{opacity:1}

/* ── Page de confirmation de paiement (reservation/confirmation.html) ── */
.confirm-wrap{max-width:480px;margin:48px auto;padding:0 20px}
.confirm-wrap .resa-card .sub{margin-bottom:0}
.confirm-wrap .mut{color:var(--mut)}

/* ── Lien discret vers l'espace pro, dans le pied de page ── */
.admin-link{color:#5B6472!important;font-size:.78rem;opacity:.8}
.admin-link:hover{color:#C4CBD8!important;opacity:1}

/* ── Point de montage du tunnel de réservation (accueil + page réservation) ── */
/* Plus de min-height ici : c'était une réserve de place pour l'ancien module
   Fleetee, qui se chargeait de façon asynchrone. Depuis le passage à la bulle
   de recherche, #booking-mount reste VIDE tant que le visiteur n'a pas cliqué
   « Voir les véhicules » — la réserve laissait donc un trou bleu de 420 px
   entre la photo de la flotte et la section Saint-Ouen (signalé le 22/08/2026). */
#booking-mount{position:relative}
/* Le tunnel sort de la gouttière .wrap (1160 px) pour s'afficher en quasi
   pleine largeur, façon Sixt. On surcharge le conteneur plutôt que d'utiliser
   100vw : ça évite le débordement horizontal dû à la barre de défilement. */
#reserver-resultats{max-width:none;padding:0 24px}
@media (max-width:700px){#reserver-resultats{padding:0 12px}}
#booking-mount .hint{color:#B9C2E6}


/* Layout : une nuit à Vice City. Ciel, soleil rayé, sol néon et un TMAX qui tourne au centre ;
   puis des bandes pleine largeur (flotte en 360°, galerie en action qui défile, tarifs, réservation). */
:root{
  --night:#120726; --night-2:#1C0A36; --night-3:#2A1150; --ink:#FFF5FB; --ink-2:#E3D3EE; --ink-3:#B9A3CC;
  --pink:#FF2E88; --cyan:#2DE2E6; --sun:#FF9A3C; --gold:#FFE45C; --palm:#0B0418;
  --script:"Mr Dafoe","Brush Script MT",cursive; --ui:"Chakra Petch","Trebuchet MS",system-ui,sans-serif;
  --ease-out:cubic-bezier(.23,1,.32,1); --ease-io:cubic-bezier(.77,0,.175,1);
  --gut-l:max(16px, env(safe-area-inset-left, 0px)); --gut-r:max(16px, env(safe-area-inset-right, 0px));
  /* le tunnel FlexiRent est écrit en variables : on le rhabille ici */
  --bg:#120726; --bg2:#1C0A36; --card:#1C0A36; --card2:#120726; --chip:#2A1150; --fxline:#3A1D66; --line:#3A1D66;
  --fxtxt:#FFF5FB; --mut:#C4B0D6; --acc:#FF2E88; --acc2:#2DE2E6; --acc-soft:rgba(255,46,136,.16);
  --ok:#5BE3A8; --warn:#FFC86B; --bad:#FF8AA8; --display:"Chakra Petch","Trebuchet MS",sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--night);color:var(--ink);font-family:var(--ui);font-size:17px;line-height:1.5;overflow-x:clip;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--night)}
h1,h2,h3{text-wrap:balance;margin:0}
p{margin:0}
.ba-wrap{max-width:1240px;margin:0 auto;padding-left:var(--gut-l);padding-right:var(--gut-r)}
:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.ba-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ba-hp{position:absolute;left:-9999px;width:1px;height:1px}
.ba-sel{user-select:all}

.ba-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border-radius:999px;font:700 16px/1 var(--ui);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:transform 160ms var(--ease-out),background-color 200ms ease,color 200ms ease,box-shadow 200ms ease}
.ba-btn:active{transform:scale(.96)}
.ba-pink{background:var(--pink);color:var(--night);box-shadow:0 0 26px rgba(255,46,136,.55)}
.ba-ghost{background:rgba(18,7,38,.55);color:var(--cyan);border-color:var(--cyan)}
.ba-small{min-height:44px;padding:0 20px;font-size:14px}
@media (hover:hover) and (pointer:fine){.ba-pink:hover{box-shadow:0 0 40px rgba(255,46,136,.85)}.ba-ghost:hover{background:var(--cyan);color:var(--night)}}

/* ---------- en-tête ---------- */
.ba-top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;transition:background-color 300ms ease,box-shadow 300ms ease}
.ba-top.scrolled{background:rgba(18,7,38,.94);box-shadow:0 1px 0 rgba(45,226,230,.25)}
.ba-top .ba-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px;flex-wrap:wrap}
.ba-logo{display:flex;align-items:baseline;gap:8px;text-decoration:none}
.ba-logo b{font:400 38px/1 var(--script);color:var(--pink);text-shadow:0 0 12px rgba(255,46,136,.8)}
.ba-logo span{font-weight:700;font-size:14px;letter-spacing:.34em;color:var(--cyan)}
.ba-nav{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.ba-nav a:not(.ba-btn){color:var(--ink);text-decoration:none;font-weight:600;font-size:15px;letter-spacing:.06em;text-transform:uppercase;position:relative;padding-block:6px}
.ba-nav a:not(.ba-btn)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--pink);transform:scaleX(0);transform-origin:left;transition:transform 220ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){.ba-nav a:not(.ba-btn):hover::after{transform:scaleX(1)}}
@media (max-width:820px){.ba-nav a:not(.ba-btn){display:none}}

/* ---------- hero ---------- */
.ba-hero{--hz:clamp(400px,52vh,500px);position:relative;height:clamp(580px,74vh,720px);margin-top:-80px;padding-top:80px;overflow:hidden;background:linear-gradient(180deg,#120726 0%,#2A0B4A 30%,#6B1468 52%,#C2185B 66%,#FF7A3C 78%)}
.ba-stars{position:absolute;inset:0 0 50% 0;background-image:radial-gradient(1.5px 1.5px at 12% 18%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 28% 32%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 46% 12%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 64% 26%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 82% 16%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 92% 36%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 6% 40%,#fff 50%,transparent 51%);opacity:.7}
.ba-sun{position:absolute;left:50%;top:calc(var(--hz) - min(260px,43vw));width:min(520px,86vw);aspect-ratio:1;translate:-50% 0;border-radius:50%;background:linear-gradient(180deg,var(--gold) 0%,var(--sun) 45%,var(--pink) 100%);mask-image:linear-gradient(180deg,#000 0%,#000 50%,transparent 50%),repeating-linear-gradient(180deg,#000 0 18px,transparent 18px 28px);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 50%,transparent 50%),repeating-linear-gradient(180deg,#000 0 18px,transparent 18px 28px);filter:drop-shadow(0 0 60px rgba(255,122,60,.6))}
.ba-floor{position:absolute;left:0;right:0;bottom:0;top:var(--hz);overflow:hidden;perspective:700px;perspective-origin:50% 0}
.ba-floor i{position:absolute;left:-100%;right:-100%;top:0;height:160%;background-color:#1A0533;background-image:linear-gradient(rgba(45,226,230,.85) 2px,transparent 2px),linear-gradient(90deg,rgba(45,226,230,.85) 2px,transparent 2px);background-size:90px 60px;background-position:center 0;transform:rotateX(60deg);transform-origin:50% 0;animation:ba-drive 9s linear infinite}
.ba-floor::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--cyan);box-shadow:0 0 24px 4px rgba(45,226,230,.7);z-index:1}
@keyframes ba-drive{to{background-position:center 60px,center 0}}
.ba-city{position:absolute;left:0;right:0;top:0;height:var(--hz);pointer-events:none}
.ba-city svg{position:absolute;bottom:0;fill:var(--palm)}
.ba-city .mon{fill:var(--palm);stroke:rgba(255,46,136,.75);stroke-width:1.6;filter:drop-shadow(0 0 6px rgba(255,46,136,.55))}
.ba-city .lat{fill:none;stroke:rgba(255,46,136,.35);stroke-width:1.2}
.ba-city .eiffel{left:calc(50% - min(470px,40vw));width:clamp(110px,12.5vw,190px)}
.ba-city .arc{left:50%;translate:-50% 0;width:clamp(84px,9vw,130px)}
.ba-city .roofs{left:0;width:100%;height:clamp(64px,8vw,110px)}
.ba-city .roofs .bal{fill:none;stroke:rgba(255,245,251,.10);stroke-width:2}
.ba-city .roofs .win{fill:#FFC86B;opacity:.75}
.ba-city .eiffel .beacon{fill:var(--pink);stroke:none;animation:ba-blink 2.4s ease-in-out infinite}
@keyframes ba-blink{0%,100%{opacity:.25}50%{opacity:1}}
.ba-hero-copy{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:clamp(20px,4vh,50px)}
.ba-kicker{font-weight:600;font-size:15px;letter-spacing:.3em;text-transform:uppercase;color:var(--cyan);text-shadow:0 0 10px rgba(45,226,230,.7)}
.ba-title{display:flex;flex-direction:column;align-items:center;line-height:.86;margin-top:6px}
.ba-title .t1{font:400 clamp(96px,15vw,200px)/.9 var(--script);color:var(--pink);rotate:-6deg;text-shadow:0 0 6px #fff,0 0 24px var(--pink),0 0 70px var(--pink);animation:ba-flicker 2.6s 400ms linear 1 both}
@keyframes ba-flicker{0%{opacity:.15}8%{opacity:1}10%{opacity:.3}14%{opacity:1}52%{opacity:1}54%{opacity:.55}56%{opacity:1}100%{opacity:1}}
.ba-title .t2{display:flex;font-weight:700;font-size:clamp(32px,5.6vw,72px);letter-spacing:.3em;padding-left:.3em;color:var(--ink);text-shadow:3px 3px 0 var(--cyan),0 0 30px rgba(45,226,230,.6)}
.ba-title .t2 span{display:inline-block;animation:ba-drop 700ms var(--ease-out) both}
@keyframes ba-drop{from{opacity:0;transform:translateY(-40px) rotate(-8deg)}to{opacity:1;transform:none}}
.ba-hb{position:absolute;z-index:4;bottom:clamp(10px,3vh,40px);width:min(560px,42vw);pointer-events:none;will-change:transform}
.ba-hb.l{left:-2%;transform-origin:20% 90%}
.ba-hb.r{right:-2%;transform-origin:80% 90%}
.ba-hb img{display:block;width:100%;height:auto;animation:ba-bob 4.5s ease-in-out infinite alternate;filter:drop-shadow(0 18px 18px rgba(0,0,0,.45))}
.ba-hb.r img{animation-delay:-2.2s}
.ba-hb::after{content:"";position:absolute;left:14%;right:14%;bottom:2%;height:10%;background:radial-gradient(closest-side,rgba(45,226,230,.55),transparent);filter:blur(8px);z-index:-1}
@keyframes ba-bob{from{transform:translateY(0)}to{transform:translateY(-8px)}}
@media (max-width:700px){.ba-hb{width:56vw;bottom:8px}.ba-hb.l{left:-10%}.ba-hb.r{right:-10%}}

/* ---------- bandeau défilant ---------- */
.ba-mq{overflow:hidden;padding-block:26px;margin-block:-26px;position:relative;z-index:7}
.ba-marquee{background:var(--pink);color:var(--night);border-block:3px solid var(--night);rotate:-1.6deg;width:104%;margin-left:-2%}
.ba-marquee.alt{background:var(--cyan);rotate:1.2deg}
.ba-track{display:flex;align-items:center;width:max-content;will-change:transform}
.ba-track span{display:flex;align-items:center;gap:22px;padding:12px 11px;font:italic 700 clamp(22px,3vw,34px)/1 var(--ui);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.ba-track img{height:52px;width:auto;filter:drop-shadow(0 3px 0 rgba(0,0,0,.25))}

/* ---------- sections ---------- */
.ba-block{padding-block:clamp(90px,12vw,150px)}
.ba-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px 40px;margin-bottom:48px}
.ba-head .s{font:400 clamp(48px,6vw,68px)/1 var(--script);color:var(--pink);text-shadow:0 0 16px rgba(255,46,136,.8);display:block}
.ba-head h2{font-weight:700;font-size:clamp(32px,4.2vw,50px);line-height:1.02;text-transform:uppercase;letter-spacing:.01em}
.ba-head p{max-width:46ch;color:var(--ink-2)}
.js .rv{opacity:0;transform:translateY(28px);transition:opacity 700ms var(--ease-out),transform 800ms var(--ease-out);transition-delay:var(--d,0ms)}
.js .rv.in{opacity:1;transform:none}

/* ---------- vue 360 ---------- */
.ba-spin{position:relative;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.ba-spin.drag{cursor:grabbing}
.ba-spin img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity 700ms ease;pointer-events:none;-webkit-user-drag:none}
.ba-spin img.on{opacity:1}
.ba-spin-hint{font-size:13px;color:var(--ink-3);text-align:center;margin-top:6px;letter-spacing:.06em}
.ba-dots{position:absolute;left:50%;bottom:6px;translate:-50% 0;display:flex;gap:6px}
.ba-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,245,251,.35);transition:background-color 200ms ease,transform 200ms ease}
.ba-dots i.on{background:var(--cyan);transform:scale(1.4)}

/* ---------- flotte ---------- */
.ba-fleet{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));gap:26px}
.ba-bike{position:relative;display:flex;flex-direction:column;background:var(--night-2);border-radius:24px;overflow:hidden;transition:transform 500ms var(--ease-out),box-shadow 300ms ease}
.ba-bike .stage{position:relative;padding:26px 16px 30px;background:radial-gradient(120% 90% at 50% 100%,var(--c1) 0%,var(--night-2) 70%)}
.ba-bike .stage::before{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;background-image:linear-gradient(rgba(45,226,230,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(45,226,230,.35) 1px,transparent 1px);background-size:34px 22px;mask-image:linear-gradient(transparent,#000);-webkit-mask-image:linear-gradient(transparent,#000)}
.ba-bike .ba-spin{aspect-ratio:900/640;width:100%}
.ba-bike .body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:12px;flex:1}
.ba-bike .type{font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}
.ba-bike h3{font:italic 700 34px/1 var(--ui);text-transform:uppercase}
.ba-bike .pitch{color:var(--ink-2);font-size:16px}
.ba-chips{display:flex;flex-wrap:wrap;gap:8px}
.ba-chips span{padding:6px 12px;border-radius:999px;background:var(--night-3);font-size:14px;font-weight:500}
.ba-bike .foot{margin-top:auto;padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ba-bike .from{font-size:15px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.ba-bike .from strong{font-size:30px;color:var(--ink)}
@media (hover:hover) and (pointer:fine){.ba-bike:hover{transform:translateY(-8px);box-shadow:0 30px 60px -20px rgba(255,46,136,.45)}}

/* ---------- slogans + inclus ---------- */
.ba-ride{position:relative;overflow:hidden;padding-block:clamp(70px,10vw,120px);background:var(--night-2)}
.ba-ride .line{display:block;white-space:nowrap;font:italic 700 clamp(64px,11vw,160px)/.95 var(--ui);text-transform:uppercase;letter-spacing:-.02em;will-change:transform}
.ba-ride .line.o{color:transparent;-webkit-text-stroke:2px var(--pink)}
.ba-ride .line.f{color:var(--cyan);text-shadow:0 0 30px rgba(45,226,230,.5)}
.ba-perks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:36px;margin-top:64px}
.ba-perk h3{font-size:24px;text-transform:uppercase;line-height:1.1;margin-bottom:8px}
.ba-perk p{color:var(--ink-2)}
.ba-perk svg{width:46px;height:46px;stroke:var(--gold);fill:none;stroke-width:2;margin-bottom:14px}

/* ---------- tarifs ---------- */
.ba-prices{background:var(--pink);color:var(--night)}
.ba-prices .ba-head .s{color:var(--night);text-shadow:none}
.ba-prices .ba-head p{color:#3A0820}
.ba-tbl{overflow-x:auto;border-radius:20px;background:var(--night);color:var(--ink)}
table.ba-grid{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:700px;font-size:16px}
table.ba-grid th,table.ba-grid td{padding:16px 18px;text-align:right;white-space:nowrap;border-bottom:1px solid rgba(255,245,251,.1);vertical-align:middle}
table.ba-grid th:first-child,table.ba-grid td:first-child{text-align:left}
table.ba-grid thead th{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);font-weight:600}
table.ba-grid tbody tr{transition:background-color 200ms ease}
table.ba-grid tbody tr:hover{background:var(--night-2)}
table.ba-grid td .m{display:flex;align-items:center;gap:12px}
table.ba-grid td .m img{width:76px;height:auto}
table.ba-grid td strong{font-size:18px}
table.ba-grid td small{display:block;color:var(--ink-3);font-size:13px}
.ba-conds{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:22px 40px;margin-top:44px}
.ba-conds h3{font-size:19px;text-transform:uppercase;margin-bottom:6px}
.ba-conds p{color:#3A0820;font-size:16px}

/* ---------- réservation : habillage du tunnel FlexiRent ---------- */
.ba-resa{background:var(--night);position:relative;z-index:6;padding-block:44px 80px}
.ba-resa-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;margin-bottom:18px}
.ba-resa-head h2{font-weight:700;font-size:clamp(26px,3vw,36px);text-transform:uppercase}
.ba-resa-head h2 span{font:400 1.3em/1 var(--script);color:var(--pink);text-transform:none;text-shadow:0 0 14px rgba(255,46,136,.7);margin-right:10px}
.ba-resa-head p{color:var(--ink-2);max-width:52ch}
#booking-mount{margin-top:22px}
#booking-mount.open{animation:ba-open 520ms var(--ease-out)}
@keyframes ba-open{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}
#booking-mount{font-family:var(--ui)}
#wzov{margin-top:0}
#wzsheet{background:var(--night-2);border:2px solid var(--fxline);border-radius:24px;box-shadow:0 0 60px rgba(255,46,136,.12)}
#wzsheet .wzhead{background:var(--night-3)}
#wzsheet .wzhead h3{font-family:var(--ui);font-size:20px;text-transform:uppercase;letter-spacing:.02em}
#wzov .btn,.fx-bubble .btn{background:var(--pink);border-color:var(--pink);color:var(--night);border-radius:999px;height:46px;padding:0 22px;font-family:var(--ui);font-size:14px;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 0 22px rgba(255,46,136,.45);transition:transform 160ms var(--ease-out),box-shadow 200ms ease}
#wzov .btn:active,.fx-bubble .btn:active{transform:scale(.96)}
#wzov .btn:hover,.fx-bubble .btn:hover{background:var(--pink);box-shadow:0 0 34px rgba(255,46,136,.8)}
#wzov .btn[disabled]{opacity:.5;box-shadow:none}
#wzov .btn.sec{background:transparent;color:var(--cyan);border:2px solid var(--cyan);box-shadow:none}
#wzov .btn.sec:hover{background:var(--cyan);color:var(--night)}
#wzov .sxcard{background:var(--night);border-color:var(--fxline)}
#wzov .sxcard:hover{border-color:var(--pink)}
#wzov .sxphotowrap{background:radial-gradient(110% 80% at 50% 100%,#3A1466,var(--night))}
#wzov .sxphotowrap img{object-fit:contain!important;padding:10px}
#wzov .sx25-photo{background:radial-gradient(120% 90% at 50% 100%,#3A1466,var(--night));padding-top:16px}
#wzov .sx25-photo .ba-spin{aspect-ratio:900/640;width:100%}
#wzov input.inline,#wzov select.inline,#wzov .wzfield input,#wzov .wzfield select,#wzov .wzfield textarea,#wzov .wzliva,#wzov .wzlivz{background:var(--night);color:var(--ink);border:1px solid var(--fxline);font-family:var(--ui)}
#wzov .wzfield textarea{width:100%;padding:10px 12px;border-radius:10px;font-size:15px;resize:vertical}
#wzov .wzopt2.large{background:rgba(255,228,92,.08);border-color:rgba(255,228,92,.5)}
#wzov .wzopt2 .icn{color:var(--cyan);display:inline-flex}
#wzov .wzbody.ba-swap{animation:ba-swapin 380ms var(--ease-out)}
@keyframes ba-swapin{from{opacity:0;transform:translateX(16px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
.fx-bubble{background:rgba(18,7,38,.9);border:2px solid var(--pink);box-shadow:0 0 50px rgba(255,46,136,.35);color:var(--ink)}
.fx-bubble .fx-bfield{border-right-color:var(--fxline)}
.fx-bubble .fx-bfield label{color:var(--cyan)}
.fx-bubble .fx-bfield select,.fx-bubble .fx-datebtn{color:var(--ink);font-family:var(--ui);font-size:16px;background:transparent}
.fx-bubble .fx-bfield select option{background:var(--night);color:var(--ink)}
.fx-bubble .fx-bt{background:var(--night-3);color:var(--ink-2);font-family:var(--ui);letter-spacing:.06em;text-transform:uppercase}
.fx-bubble .fx-bt.on{background:var(--cyan);color:var(--night)}
.fxcal{background:var(--night-2);border:2px solid var(--fxline);color:var(--ink);font-family:var(--ui)}
.fxcal .fxcal-day{color:var(--ink)}
.fxcal .fxcal-day:hover{background:var(--night-3)}
.fxcal .fxcal-day.sel{background:var(--pink);color:var(--night)}
.fxcal select{background:var(--night);color:var(--ink)}
.ba-done{text-align:center;padding:36px 10px}
.ba-done-s{font:400 72px/1 var(--script);color:var(--pink);text-shadow:0 0 22px rgba(255,46,136,.8)}
.ba-done p{max-width:48ch;margin:14px auto 0;color:var(--ink-2)}
.ba-done-ref{display:inline-block;margin-top:18px;padding:10px 18px;border-radius:999px;background:var(--night);font-weight:700;letter-spacing:.08em}

/* ---------- FAQ + pied ---------- */
.ba-faq{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:14px}
.ba-faq details{background:var(--night-2);border-radius:18px;padding:0 22px}
.ba-faq summary{list-style:none;cursor:pointer;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:700;font-size:18px}
.ba-faq summary::-webkit-details-marker{display:none}
.ba-faq summary::after{content:"+";font-size:28px;color:var(--pink);transition:rotate 250ms var(--ease-out)}
.ba-faq details[open] summary::after{rotate:45deg}
.ba-faq details p{padding-bottom:20px;color:var(--ink-2)}
.ba-foot{background:var(--palm);padding-block:70px 40px;overflow:hidden}
.ba-giant{display:flex;flex-direction:column;align-items:flex-start;line-height:.85}
.ba-giant b{font:400 clamp(90px,20vw,280px)/.8 var(--script);color:var(--pink);text-shadow:0 0 30px rgba(255,46,136,.6)}
.ba-giant span{font:italic 700 clamp(44px,10vw,150px)/.9 var(--ui);letter-spacing:.06em;color:var(--cyan);margin-left:8vw}
.ba-cols{display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px;margin-top:50px;color:var(--ink-2);font-size:16px}
.ba-cols div{display:flex;flex-direction:column;gap:6px}
.ba-cols strong{color:var(--ink);text-transform:uppercase;letter-spacing:.1em;font-size:14px}
.ba-legal{margin-top:40px;color:var(--ink-3);font-size:14px}
.ba-legal summary{cursor:pointer;color:var(--ink-2);font-weight:600;min-height:44px;display:flex;align-items:center}
.ba-legal p{margin-top:8px;max-width:90ch}

/* ---------- 1. prix qui roulent ---------- */
.odo{display:inline-flex;align-items:flex-end;font-variant-numeric:tabular-nums;line-height:1}
.odo .d{display:inline-block;height:1em;overflow:hidden}
.odo .d>span{display:flex;flex-direction:column;transition:transform 900ms var(--ease-out);transition-delay:var(--dl,0ms)}
.odo .d>span>i{font-style:normal;height:1em;line-height:1}
.ba-from{margin-top:14px;color:var(--ink-2);font-size:16px}
.ba-from b{color:var(--gold);font-size:24px;margin-left:4px}
.ba-bike .from .lbl{display:block;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}
.ba-bike .from strong{display:inline-flex}
.ba-bike .from em{font-style:normal;color:var(--bad);font-size:15px}

/* ---------- 2. la route qui se trace ---------- */
.ba-road{position:relative;background:var(--night)}
.ba-road .track{position:relative;height:1100px;margin-top:20px}
.ba-road svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ba-road .ghost{fill:none;stroke:rgba(255,245,251,.08);stroke-width:14;stroke-linecap:round}
.ba-road .lit{fill:none;stroke:var(--cyan);stroke-width:6;stroke-linecap:round;filter:drop-shadow(0 0 8px var(--cyan))}
.ba-road .dash{fill:none;stroke:rgba(255,245,251,.5);stroke-width:2;stroke-dasharray:14 18}
.ba-road .tip{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 6px rgba(255,46,136,.25),0 0 24px var(--pink);z-index:2}
.ba-step{position:absolute;width:min(360px,38%);padding:22px 24px;border-radius:20px;background:var(--night-2);border:2px solid var(--fxline);opacity:.25;transform:translateY(16px);transition:opacity 500ms ease,transform 600ms var(--ease-out),border-color 400ms ease}
.ba-step.on{opacity:1;transform:none;border-color:var(--cyan)}
.ba-step b{display:block;font:400 40px/1 var(--script);color:var(--pink);margin-bottom:6px}
.ba-step h3{font-size:22px;text-transform:uppercase;margin-bottom:6px}
.ba-step p{color:var(--ink-2)}
.ba-road .end{position:absolute;left:50%;top:100%;transform:translate(-50%,-30%);opacity:.3;transition:opacity 500ms ease}
.ba-road .end.on{opacity:1}
@media (max-width:760px){
  .ba-road .track{height:auto;display:flex;flex-direction:column;gap:18px;padding-left:34px;border-left:4px solid var(--cyan);margin-left:8px}
  .ba-road svg,.ba-road .tip{display:none}
  .ba-step{position:relative;width:auto;left:auto!important;top:auto!important;opacity:1;transform:none}
  .ba-road .end{position:relative;left:auto;top:auto;transform:none;opacity:1;align-self:flex-start}
}

/* ---------- 3. le projecteur au survol ---------- */
.ba-bike .beam{position:absolute;left:50%;top:-10%;width:90%;height:110%;translate:-50% 0;background:linear-gradient(180deg,rgba(255,245,251,.55),rgba(45,226,230,.12) 60%,transparent);clip-path:polygon(44% 0,56% 0,92% 100%,8% 100%);opacity:0;transition:opacity 220ms ease;pointer-events:none;mix-blend-mode:screen}
.ba-bike .ring{position:absolute;left:12%;right:12%;bottom:22px;height:34px;border-radius:50%;background:radial-gradient(closest-side,rgba(45,226,230,.65),transparent);opacity:.25;transition:opacity 300ms ease,transform 400ms var(--ease-out);pointer-events:none}
.ba-bike.lit .beam{opacity:1;animation:ba-spot 600ms steps(1) 1}
.ba-bike.lit .ring{opacity:1;transform:scaleX(1.12)}
@keyframes ba-spot{0%{opacity:0}15%{opacity:1}25%{opacity:.2}40%{opacity:1}100%{opacity:1}}

/* ---------- 4. carte des zones de livraison ---------- */
.ba-map{background:var(--night-2)}
.ba-mapgrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:center}
@media (max-width:860px){.ba-mapgrid{grid-template-columns:minmax(0,1fr)}}
.ba-map svg{width:100%;height:auto;display:block}
.ba-map .z{transition:fill 300ms ease,opacity 300ms ease,filter 300ms ease;cursor:pointer;stroke:var(--night-2);stroke-width:4}
.ba-map .z.gc{fill:#2A1150}.ba-map .z.pc{fill:#3E1A70}.ba-map .z.pa{fill:#5B2390}
.ba-map .z.on{fill:var(--pink);filter:drop-shadow(0 0 18px rgba(255,46,136,.8))}
.ba-map .seine{fill:none;stroke:var(--cyan);stroke-width:5;stroke-linecap:round;opacity:.8;pointer-events:none}
.ba-map .lbl{fill:var(--ink-2);font:600 15px var(--ui);pointer-events:none}
.ba-map .pin{fill:var(--gold)}
.ba-map .pulse{fill:none;stroke:var(--gold);stroke-width:3;transform-box:fill-box;transform-origin:center;animation:ba-pulse 2s var(--ease-out) infinite}
@keyframes ba-pulse{from{transform:scale(.6);opacity:1}to{transform:scale(2.4);opacity:0}}
.ba-zones{display:flex;flex-direction:column;gap:12px}
.ba-zone{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:14px 20px;border-radius:16px;background:var(--night);border:2px solid var(--fxline);color:var(--ink);font:600 17px var(--ui);text-align:left;cursor:pointer;transition:border-color 200ms ease,transform 160ms var(--ease-out)}
.ba-zone:active{transform:scale(.98)}
.ba-zone small{display:block;color:var(--ink-3);font-weight:500;font-size:14px;margin-top:2px}
.ba-zone b{font-size:26px;font-variant-numeric:tabular-nums;color:var(--gold);white-space:nowrap}
.ba-zone.on{border-color:var(--pink);box-shadow:0 0 24px rgba(255,46,136,.25)}

/* ---------- 5. titres néon qui s'allument ---------- */
.js .ba-head .s.rv,.js .ba-resa-head h2 span{clip-path:inset(-30% 100% -30% -5%);opacity:1;transform:none;transition:clip-path 1200ms var(--ease-io)}
.js .ba-head .s.rv.in,.js .ba-resa-head h2.in span{clip-path:inset(-30% -10% -30% -5%)}
.js .ba-head h2.rv.in{animation:ba-neon 1100ms 300ms linear 1 both}
@keyframes ba-neon{0%{text-shadow:none;opacity:.35}12%{opacity:1;text-shadow:0 0 18px rgba(45,226,230,.9)}18%{opacity:.4;text-shadow:none}30%{opacity:1;text-shadow:0 0 22px rgba(45,226,230,.9)}100%{opacity:1;text-shadow:0 0 0 rgba(45,226,230,0)}}

/* ---------- curseur néon ---------- */
.ba-cur{position:fixed;left:0;top:0;width:36px;height:36px;margin:-18px 0 0 -18px;border:2px solid var(--cyan);border-radius:50%;pointer-events:none;z-index:100;box-shadow:0 0 14px rgba(45,226,230,.8);transition:width 250ms var(--ease-out),height 250ms var(--ease-out),margin 250ms var(--ease-out),border-color 250ms ease,background-color 250ms ease;opacity:0}
.ba-cur.on{opacity:1}
.ba-cur.big{width:70px;height:70px;margin:-35px 0 0 -35px;border-color:var(--pink);background:rgba(255,46,136,.12)}
@media not ((hover:hover) and (pointer:fine)){.ba-cur{display:none}}
@media (prefers-reduced-motion:reduce){
  .js .ba-head .s.rv,.js .ba-resa-head h2 span{clip-path:none!important}
  .odo .d>span{transition:none}
  *,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
  .js .rv{transform:none;transition:opacity 300ms ease}
  .ba-cur{display:none}
}

/* ================= pages intérieures (une page par machine, pages mots-clés) ================= */
html,body{margin:0}img{max-width:100%}[hidden]{display:none!important}
.ba-crumb{position:relative;z-index:3;font-size:14px;color:var(--ink-3);margin-bottom:18px}
.ba-crumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.ba-crumb li+li::before{content:"›";margin-right:6px;color:var(--pink)}
.ba-crumb a{color:var(--ink-2);text-decoration:none}.ba-crumb a:hover{color:var(--ink)}
.ba-phero{--fl:150px;position:relative;margin-top:-80px;padding-top:112px;overflow:hidden;background:linear-gradient(180deg,#120726 0%,#2A0B4A 38%,#6B1468 70%,#B5185B 100%)}
.ba-phero .ba-floor{top:auto;height:var(--fl)}
.ba-phero .ba-sun{top:auto;bottom:var(--fl);left:74%;width:min(440px,70vw);translate:-50% 50%;opacity:.9}
.ba-phero .ba-city{height:auto;bottom:var(--fl)}
.ba-phero .ba-city .eiffel{left:auto;right:4%;width:clamp(70px,8vw,120px);opacity:.75}
.ba-phero .ba-city .roofs{height:clamp(46px,6vw,80px)}
.ba-pgrid{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:10px 40px;align-items:end}
.ba-pcopy{padding-bottom:calc(var(--fl) + 30px);align-self:center}
.ba-pcopy .ba-kicker{font-size:14px}
.ba-ptitle{margin:10px 0 16px;font:italic 700 clamp(40px,5.6vw,78px)/.95 var(--ui);text-transform:uppercase;letter-spacing:-.01em;color:var(--ink);text-shadow:3px 3px 0 var(--pink),0 0 34px rgba(255,46,136,.45)}
.ba-plead{font-size:clamp(17px,1.5vw,19px);color:var(--ink);max-width:52ch}
.ba-pfrom{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:20px;color:var(--ink-2);font-size:15px}
.ba-pfrom b{display:block;font-size:30px;color:var(--gold);line-height:1.1;font-variant-numeric:tabular-nums}
.ba-pcta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.ba-pstage{position:relative;padding-bottom:calc(var(--fl) - 70px)}
.ba-pstage .ba-spin{width:100%;filter:drop-shadow(0 22px 22px rgba(0,0,0,.5))}
.ba-pstage::after{content:"";position:absolute;left:12%;right:12%;bottom:calc(var(--fl) - 86px);height:40px;border-radius:50%;background:radial-gradient(closest-side,rgba(45,226,230,.6),transparent);filter:blur(6px);z-index:-1}
.ba-pstage .ba-spin-hint{position:absolute;left:0;right:0;bottom:calc(var(--fl) - 112px);color:var(--ink)}
.ba-pduo{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:6px}
@media (max-width:860px){
  .ba-pgrid{grid-template-columns:minmax(0,1fr)}
  .ba-pcopy{padding-bottom:0}
  .ba-phero{--fl:120px}
  .ba-pstage{max-width:560px;margin:0 auto;width:100%}
}
.ba-sub{padding-block:clamp(60px,8vw,110px)}
.ba-specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0}
.ba-specs div{background:var(--night-2);border:1px solid var(--fxline);border-radius:16px;padding:16px 18px}
.ba-specs dt{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);font-weight:600}
.ba-specs dd{margin:4px 0 0;font-weight:700;font-size:19px;line-height:1.2}
.ba-prose{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:44px 64px}
.ba-prose h2{font-size:clamp(23px,2.4vw,30px);line-height:1.1;text-transform:uppercase;margin-bottom:14px}
.ba-prose h2::before{content:"";display:block;width:44px;height:4px;border-radius:2px;background:var(--pink);box-shadow:0 0 12px var(--pink);margin-bottom:16px}
.ba-prose p{color:var(--ink-2);margin-bottom:14px;max-width:66ch}
.ba-prose a,.ba-doc a{color:var(--cyan);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.ba-prose a:hover{color:var(--ink)}
.ba-bike h3 a{color:inherit;text-decoration:none}
.ba-bike h3 a:hover{color:var(--cyan)}
.ba-bike .acts{display:flex;gap:8px;flex-wrap:wrap}
.ba-ptable td:nth-child(2) strong{font-size:20px}
.ba-ptable tr.hl{background:rgba(255,228,92,.07)}
.ba-ptable tr.hl td:first-child::after{content:"le + avantageux";margin-left:10px;padding:3px 8px;border-radius:999px;background:var(--gold);color:var(--night);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.ba-sticky{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:40;display:none;align-items:center;justify-content:space-between;gap:12px;padding:8px 8px 8px 18px;border-radius:999px;background:rgba(18,7,38,.95);border:2px solid var(--pink);box-shadow:0 10px 40px rgba(0,0,0,.55);transform:translateY(160%);transition:transform 420ms var(--ease-out)}
.ba-sticky span{font-weight:600;font-size:15px;line-height:1.2}
.ba-sticky span b{color:var(--gold)}
.ba-sticky.on{transform:none}
@media (max-width:760px){.ba-sticky{display:flex}}
.ba-nav .tel{display:none}
@media (max-width:820px){.ba-nav .tel{display:inline-flex}}
.ba-title .ba-kicker{display:block;line-height:1.4;margin-bottom:6px;font-family:var(--ui);font-size:15px}
.ba-flinks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:0 28px;margin-top:46px;padding-top:30px;border-top:1px solid rgba(255,245,251,.1)}
.ba-flinks h2{grid-column:1/-1;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin-bottom:10px}
.ba-flinks a{display:block;padding-block:7px;color:var(--ink-2);text-decoration:none;font-size:15px}
.ba-flinks a:hover{color:var(--pink)}
.ba-cols a{color:inherit}
.ba-doc{max-width:780px}
.ba-doc h1{font:italic 700 clamp(36px,5vw,60px)/1 var(--ui);text-transform:uppercase;margin-bottom:30px}
.ba-doc h2{font-size:22px;text-transform:uppercase;margin:36px 0 10px}
.ba-doc p,.ba-doc li{color:var(--ink-2);margin-bottom:10px}
@media (max-width:820px){
  .ba-top .ba-wrap{flex-wrap:nowrap;gap:10px}
  .ba-logo b{font-size:30px}.ba-logo span{font-size:11px;letter-spacing:.24em}
  .ba-nav{gap:8px;flex-wrap:nowrap}
  .ba-nav .ba-btn{min-height:40px;padding:0 14px;font-size:12px}
}
@media (max-width:520px){
  .ba-pcopy .ba-kicker{font-size:12px;letter-spacing:.16em}
  .ba-crumb{margin-bottom:10px;font-size:13px}
  .ba-ptitle{font-size:clamp(34px,10vw,44px)}
  .ba-plead{font-size:16px}
  .ba-pfrom{gap:6px 18px;margin-top:16px}
  .ba-pfrom span{font-size:13px}.ba-pfrom b{font-size:22px}
  .ba-pcta{gap:10px;margin-top:20px}
  .ba-pcta .ba-btn{min-height:46px;padding:0 18px;font-size:13px}
  .ba-bike .acts{width:100%}.ba-bike .acts .ba-btn{flex:1}
}
.ba-404{min-height:70vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:18px}
.ba-404 b{font:400 clamp(110px,20vw,220px)/.8 var(--script);color:var(--pink);text-shadow:0 0 30px rgba(255,46,136,.7)}
