/* SCHL Taxi : feuille de style unique (site statique et thème WordPress).
   DA « Plaque et compteur » : encre + acier, bleu ciel du logo, chiffres en mono, lumineux A B C D.
   Contrat : DESIGN.md. Mobile d'abord ; paliers 760 / 1024 / 1200. */

@font-face{font-family:"AHL Next";src:url("../fonts/ahl-next.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"AHL Next";src:url("../fonts/ahl-next-italic.woff2") format("woff2");font-weight:200 800;font-style:italic;font-display:swap}

:root{
  --ink:#0E1116; --ink-2:#171C24; --ink-3:#283040; --ink-soft:#AEB8C6;
  --steel:#1454E8; --steel-700:#0F3FB0; --steel-800:#0A2A78; --steel-300:#9BB8FF;
  --sky:#D7E2FF; --sky-100:#E8EFFF; --sky-50:#F4F7FF;
  --sun:#7FA7FF; --sun-600:#5C8CF5; --sun-50:#EAF1FF; --gold-ink:#0F3FB0;
  --paper:#F6F8F7; --surface:#FFFFFF; --line:#DCE3EC; --line-2:#C3CDDB;
  --mute:#566174; --ok:#1C7148; --ok-50:#E7F3EC; --warn:#8A5300; --warn-50:#FBF1E2; --err:#B3261E;
  --cpam:#283090;
  --font:"AHL Next","Atkinson Hyperlegible Next",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:"AHL Next","Atkinson Hyperlegible Next",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --g1:.25rem; --g2:.5rem; --g3:.75rem; --g4:1rem; --g5:1.5rem; --g6:2rem; --g7:3rem; --g8:4.5rem;
  --wrap:1240px; --gut:16px; --r:10px; --r2:16px;
  --shadow:0 18px 40px -24px rgba(14,17,22,.35);
  --ease:cubic-bezier(.22,1,.36,1);
  --h1:clamp(2.15rem,1.55rem + 2.4vw,3.9rem);
  --h2:clamp(1.75rem,1.42rem + 1.3vw,2.7rem);
  --h3:clamp(1.18rem,1.1rem + .35vw,1.4rem);
  --sec:clamp(3.25rem,2.5rem + 3.2vw,5.75rem);
  --hdr:60px;
}
@media (min-width:760px){:root{--gut:24px;--hdr:68px}}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 16px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.62 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
@media (min-width:760px){body{font-size:1.0625rem}}
img,svg,video,picture{display:block;max-width:100%}
img{height:auto}
figure,figcaption,dl,dd,blockquote{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
p{margin:0 0 var(--g4);text-wrap:pretty}
a{color:var(--steel);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{color:var(--steel-700)}
h1,h2,h3,h4{margin:0 0 var(--g4);font-weight:800;color:var(--ink);text-wrap:balance}
h1{font-size:var(--h1);line-height:1.04;letter-spacing:-.028em}
h2{font-size:var(--h2);line-height:1.08;letter-spacing:-.022em}
h3{font-size:var(--h3);line-height:1.2;letter-spacing:-.01em}
h4{font-size:1.05rem;line-height:1.3}
strong,b{font-weight:700}
.mono,.num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.01em}
.ico{width:24px;height:24px;flex:none}
.ico--sm{width:18px;height:18px}
.ico--lg{width:32px;height:32px}
:focus-visible{outline:3px solid var(--steel);outline-offset:2px;border-radius:2px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--ink);color:var(--surface);padding:.7rem 1rem;border-radius:var(--r);font-weight:700;text-decoration:none}
.skip:focus{top:12px;color:var(--surface)}
.wrap{width:min(100% - 2*var(--gut),var(--wrap));margin-inline:auto}
main{display:block}
main p,main li{max-width:68ch}
.hide{display:none!important}
[hidden]{display:none!important}

/* ---------- boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:48px;padding:.72rem 1.2rem;border:1px solid transparent;border-radius:var(--r);font:700 1rem/1.15 var(--font);text-decoration:none;text-align:center;cursor:pointer;transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}
.btn .ico{width:20px;height:20px}
.btn--steel{background:var(--steel);color:var(--surface)}
.btn--steel:hover{background:var(--steel-700);color:var(--surface)}
.btn--ink{background:var(--ink);color:var(--surface)}
.btn--ink:hover{background:var(--ink-3);color:var(--surface)}
.btn--line{background:transparent;border-color:var(--line-2);color:var(--ink)}
.btn--line:hover{border-color:var(--ink);color:var(--ink)}
.btn--light{background:var(--surface);color:var(--ink)}
.btn--light:hover{background:var(--sky-100);color:var(--ink)}
.btn--ghost-light{background:transparent;border-color:rgba(252,253,254,.38);color:var(--surface)}
.btn--ghost-light:hover{border-color:var(--surface);color:var(--surface)}
.btn--block{width:100%}
.btn[disabled]{opacity:.6;cursor:progress}
.link{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;text-decoration:none;color:var(--steel);min-height:44px}
.link .ico{width:18px;height:18px;transition:transform .2s var(--ease)}
.link:hover .ico{transform:translateX(3px)}

/* ---------- étiquette (voyant carré, pas de trait) ---------- */
.label{display:inline-flex;align-items:center;gap:.55rem;margin:0 0 var(--g4);font:700 .9rem/1.3 var(--font);color:var(--steel)}
.label::before{content:"";width:9px;height:9px;border-radius:2px;background:currentColor;flex:none}
.label--light{color:var(--sky)}
.label--cpam{color:var(--cpam)}

/* ---------- bandeau haut + en-tête ---------- */
.topbar{display:none;background:var(--ink);color:var(--ink-soft);font-size:.875rem}
.topbar__in{display:flex;align-items:center;gap:var(--g6);min-height:44px}
.topbar__item{display:flex;align-items:center;gap:.5rem;margin:0}
.topbar__item .ico{width:16px;height:16px;color:var(--sky)}
.topbar__tel{margin-left:auto;display:inline-flex;align-items:center;gap:.5rem;color:var(--surface);font:700 .95rem/1 var(--mono);font-variant-numeric:tabular-nums;text-decoration:none;min-height:44px}
.topbar__tel:hover{color:var(--sky)}
@media (min-width:760px){.topbar{display:block}}

.hdr{position:sticky;top:0;z-index:60;background:var(--surface);border-bottom:1px solid var(--line)}
.hdr__in{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--g4);min-height:var(--hdr)}
.brand{display:inline-flex;align-items:center;min-height:44px;color:var(--ink)}
.brand svg{height:36px;width:auto}
@media (min-width:760px){.brand svg{height:42px}}
.tabs{display:none;justify-self:center}
.tabs ul{display:flex;gap:2px}
.tabs a{position:relative;display:flex;align-items:center;min-height:44px;padding:0 .7rem;border-radius:var(--r);color:var(--ink);font-weight:500;font-size:.98rem;text-decoration:none;white-space:nowrap}
.tabs a:hover{background:var(--sky-50);color:var(--ink)}
.tabs a[aria-current="page"]{font-weight:700}
.tabs a[aria-current="page"]::after{content:"";position:absolute;left:.7rem;right:.7rem;bottom:-12px;height:3px;border-radius:2px 2px 0 0;background:var(--steel)}
.hdr__act{display:flex;align-items:center;gap:var(--g2);justify-self:end}
.hdr__tel{display:none}
.hdr__book{display:none}
.iconbtn{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface);color:var(--ink);cursor:pointer;text-decoration:none}
.iconbtn:hover{border-color:var(--ink);color:var(--ink)}
.iconbtn--ink{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.iconbtn--ink:hover{background:var(--ink-3);color:var(--surface)}
.burger{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:0 .8rem;border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface);color:var(--ink);font:700 .95rem/1 var(--font);cursor:pointer}
.burger:hover{border-color:var(--ink)}
.burger .ico{width:20px;height:20px}
@media (max-width:420px){.burger span{display:none}.burger{width:44px;padding:0;justify-content:center}}
@media (min-width:760px){.hdr__book{display:inline-flex}.hdr__callicon{display:none}}
@media (min-width:1024px){.hdr__tel{display:inline-flex}}
@media (min-width:1200px){.tabs{display:block}.burger{display:none}}
@media (min-width:1200px) and (max-width:1320px){.tabs a{padding:0 .5rem;font-size:.94rem}.hdr__tel{display:none}}

/* menu plein écran */
.ov{position:fixed;inset:0;z-index:120;display:flex;flex-direction:column;background:var(--surface);overflow-y:auto;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .22s var(--ease),transform .22s var(--ease),visibility 0s .22s}
.ov.is-open{visibility:visible;opacity:1;transform:none;transition:opacity .22s var(--ease),transform .22s var(--ease)}
.ov__top{display:flex;align-items:center;justify-content:space-between;min-height:var(--hdr);border-bottom:1px solid var(--line)}
.ov__body{display:grid;gap:var(--g6);padding-block:var(--g6) var(--g8)}
.ov__group h2{margin:0 0 var(--g2);font-size:.9rem;font-weight:700;color:var(--mute)}
.ov__group a{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:52px;border-bottom:1px solid var(--line);color:var(--ink);font-size:1.2rem;font-weight:700;text-decoration:none}
.ov__group a .ico{width:20px;height:20px;color:var(--steel)}
.ov__group a[aria-current="page"]{color:var(--steel)}
.ov__call{display:grid;gap:var(--g3);padding:var(--g5);border-radius:var(--r2);background:var(--ink);color:var(--ink-soft)}
.ov__call a.num{color:var(--surface);font-size:1.9rem;font-weight:700;text-decoration:none}
@media (min-width:760px){.ov__body{grid-template-columns:1fr 1fr;align-items:start}.ov__call{grid-column:1/-1}}
body.menu-open{overflow:hidden}

/* ---------- sections ---------- */
.sec{padding-block:var(--sec)}
.sec--tight{padding-block:calc(var(--sec)*.7)}
.sec--surface{background:var(--surface)}
.sec--sky{background:var(--sky-50)}
.sec--ink{background:var(--ink);color:var(--ink-soft)}
.sec--ink h2,.sec--ink h3{color:var(--surface)}
.sec--line{border-top:1px solid var(--line)}
.sec__head{max-width:760px;margin-bottom:var(--g7)}
.sec__head p:last-child{margin-bottom:0}
.sec__head--row{max-width:none;display:grid;gap:var(--g4) var(--g7);align-items:end}
@media (min-width:1024px){.sec__head--row{grid-template-columns:1.1fr .9fr}}
.lead{font-size:1.1rem;color:var(--mute)}
@media (min-width:760px){.lead{font-size:1.18rem}}
.src{margin-top:var(--g4);font-size:.875rem;color:var(--mute)}
.src a{color:var(--mute)}

/* ---------- HERO accueil ---------- */
.hero{position:relative;background:var(--surface);padding-block:var(--g5) var(--g7)}
.hero__grid{display:grid;gap:var(--g5);align-items:start}
.hero__txt{display:grid;align-content:start}
.hero h1{max-width:13ch;margin-bottom:var(--g4)}
.hero__lead{max-width:46ch;margin-bottom:var(--g5);font-size:1.08rem;color:var(--mute)}
.hero__lead a{color:var(--ink);font-weight:700;text-decoration:none;white-space:nowrap}
.hero__facts{display:grid;gap:.55rem;font-size:.98rem}
.hero__facts li{display:flex;gap:.6rem;align-items:flex-start}
.hero__facts .ico{width:20px;height:20px;margin-top:.12rem;color:var(--steel)}
@media (max-width:759px){
  .hero{padding-top:var(--g5)}
  .hero__grid{grid-template-areas:"txt" "book" "facts"}
  .hero__txt{display:contents}
  .hero .label{grid-area:txt;margin-bottom:var(--g3)}
  .hero h1{grid-area:txt;margin-top:2.1rem}
  .hero__lead{display:none}
  .hero__facts{grid-area:facts;margin-top:var(--g2)}
  .book{grid-area:book}
}
@media (min-width:1024px){
  .hero{padding-block:var(--g7) var(--g8)}
  .hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,540px);gap:var(--g8);align-items:center}
  .hero h1{margin-top:var(--g2)}
}

/* formulaire de réservation (carte) */
.book{position:relative;z-index:5;display:grid;gap:var(--g4);padding:var(--g5);background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);box-shadow:0 1px 0 var(--line),0 18px 40px -28px rgba(22,25,30,.35)}
@media (min-width:760px){.book{padding:var(--g6)}}
.book__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1rem}
.book__title{margin:0;font-size:1.3rem}
.book__sub{margin:0;font-size:.9rem;color:var(--mute)}
.book__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--g3)}
.book__row .field:first-child{grid-column:1/-1}
.book__row input,.book__row select{min-width:0}
@media (min-width:520px){.book__row{grid-template-columns:1.3fr 1fr .9fr}.book__row .field:first-child{grid-column:auto}}
.book__alt{margin:0;font-size:.95rem;color:var(--mute);text-align:center}
.book__alt a{color:var(--ink);font:700 1rem var(--mono);text-decoration:none;white-space:nowrap}

/* champs */
.field{display:grid;gap:.35rem;min-width:0}
.field>label,.field__label{font-weight:700;font-size:.93rem;color:var(--ink)}
.field__hint{font-size:.85rem;color:var(--mute);margin:0}
.opt{font-weight:400;color:var(--mute)}
input,select,textarea{width:100%;min-height:48px;padding:.65rem .8rem;border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface);color:var(--ink);font:400 1rem/1.3 var(--font);transition:border-color .15s,box-shadow .15s}
textarea{min-height:120px;resize:vertical;line-height:1.5}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316191E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6.5 9.5 5.5 5.5 5.5-5.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .65rem center;background-size:18px;padding-right:2.3rem}
input:hover,select:hover,textarea:hover{border-color:var(--mute)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--steel);box-shadow:0 0 0 3px rgba(18,48,124,.2)}
input::placeholder,textarea::placeholder{color:#7A8594}
input[type=date],input[type=time]{font-family:var(--mono);font-size:.98rem}
.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea{border-color:var(--err)}
.field__err{margin:0;font-size:.87rem;font-weight:700;color:var(--err)}
@media (max-width:1023px){input,select,textarea{font-size:16px}}

/* trajet : départ, destination, reliés par une ligne */
.route{position:relative;display:grid;gap:var(--g3)}
.route::before{content:"";position:absolute;left:21px;top:52px;bottom:26px;width:2px;background:repeating-linear-gradient(var(--line-2) 0 4px,transparent 4px 8px)}
.field--route>label{padding-left:44px}
.field--route .field__row{position:relative;display:flex;align-items:center}
.field--route input{padding-left:44px;padding-right:48px}
.route__dot,.route__stop{position:absolute;left:15px;top:50%;width:14px;height:14px;margin-top:-7px;z-index:1;pointer-events:none}
.route__dot{border-radius:50%;background:var(--surface);border:3.5px solid var(--steel)}
.route__stop{border-radius:3px;background:var(--ink)}
.geo{position:absolute;right:2px;top:2px;bottom:2px;width:44px;display:grid;place-items:center;border:0;border-radius:var(--r);background:transparent;color:var(--steel);cursor:pointer}
.geo:hover{background:var(--sky-50)}
.geo.is-loading .ico{animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.route__swap{position:absolute;right:52px;top:50%;margin-top:-10px;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--mute);cursor:pointer;z-index:2}
.route__swap:hover{color:var(--ink);border-color:var(--ink)}
.route__swap .ico{width:18px;height:18px}

/* destinations rapides */
.quick{display:flex;flex-wrap:wrap;gap:.45rem}
.quick__lbl{width:100%;margin:0;font-size:.85rem;color:var(--mute)}
.quick__chip{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:.3rem .7rem;border:1px solid var(--line);border-radius:var(--r);background:var(--sky-50);color:var(--ink);font:500 .9rem/1.1 var(--font);cursor:pointer}
.quick__chip .ico{width:16px;height:16px;color:var(--steel)}
.quick__chip:hover{border-color:var(--steel);background:var(--sky-100)}

/* autocomplétion */
.ac{position:relative}
.ac__list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;display:none;max-height:320px;overflow-y:auto;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r2);box-shadow:0 18px 40px -20px rgba(22,25,30,.35)}
.ac__list.is-open{display:block}
.ac__item{display:flex;gap:.7rem;align-items:flex-start;padding:.65rem .8rem;cursor:pointer;border-bottom:1px solid var(--sky-100)}
.ac__item:last-child{border-bottom:0}
.ac__item.is-active,.ac__item:hover{background:var(--sky-50)}
.ac__item .ico{width:18px;height:18px;margin-top:.15rem;color:var(--steel)}
.ac__name{display:block;font-weight:500;line-height:1.3}
.ac__name b{font-weight:800}
.ac__sub{display:block;font-size:.83rem;color:var(--mute)}

/* ---------- vitrine (photo pleine largeur + faits) ---------- */
.showcase{position:relative;background:var(--paper)}
.showcase__img{height:clamp(220px,34vw,470px);overflow:hidden;background:var(--sky-100)}
.showcase__img img{width:100%;height:100%;object-fit:cover}
.facts{position:relative;display:grid;grid-template-columns:1fr 1fr;margin-top:-34px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r2)}
.facts li{display:flex;gap:.75rem;align-items:center;padding:var(--g4);min-width:0}
.facts li+li{border-left:1px solid var(--line)}
.facts li:nth-child(3){border-left:0;border-top:1px solid var(--line)}
.facts li:nth-child(4){border-top:1px solid var(--line)}
.facts .ico{width:28px;height:28px;color:var(--steel)}
.facts img{width:52px;height:auto;flex:none}
.facts b{display:block;font-size:.98rem;line-height:1.25}
.facts span{display:block;font-size:.87rem;color:var(--mute);line-height:1.35}
@media (max-width:459px){.facts{grid-template-columns:1fr}.facts li+li{border-left:0;border-top:1px solid var(--line)}}
@media (min-width:1024px){.facts{grid-template-columns:repeat(4,1fr);margin-top:-48px}.facts li{padding:var(--g5)}.facts li:nth-child(3),.facts li:nth-child(4){border-top:0}.facts li:nth-child(3){border-left:1px solid var(--line)}}

/* ---------- offre : 1 grand bloc + 2 blocs + bande pro ---------- */
.offer{display:grid;gap:var(--g4)}
@media (min-width:760px){.offer{grid-template-columns:1fr 1fr}.tile--lead{grid-column:1/-1}}
@media (min-width:1024px){.offer{grid-template-columns:1.35fr 1fr;grid-template-rows:auto auto}.tile--lead{grid-column:1;grid-row:1/3}}
.tile{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;transition:border-color .2s var(--ease)}
.tile:hover{border-color:var(--steel-300)}
.tile__img{aspect-ratio:16/9;overflow:hidden;background:var(--sky-100)}
.tile__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.tile:hover .tile__img img{transform:scale(1.025)}
.tile--lead .tile__img{aspect-ratio:16/8}
@media (min-width:1024px){.tile--lead .tile__img{aspect-ratio:auto;flex:1 1 300px;min-height:300px}.tile:not(.tile--lead){flex-direction:row}.tile:not(.tile--lead) .tile__img{aspect-ratio:auto;width:42%;flex:none}}
.tile__body{display:flex;flex-direction:column;gap:var(--g2);padding:var(--g5)}
.tile__body h3{margin:0}
.tile__body p{margin:0;color:var(--mute)}
.tile__link{color:inherit;text-decoration:none}
.tile__link::after{content:"";position:absolute;inset:0;z-index:1}
.tile__link:focus-visible{outline:none}
.tile:has(.tile__link:focus-visible){outline:3px solid var(--steel);outline-offset:2px}
.tile .more{display:inline-flex;align-items:center;gap:.45rem;margin-top:auto;padding-top:var(--g2);font-weight:700;color:var(--steel)}
.tile .more .ico{width:18px;height:18px;transition:transform .2s var(--ease)}
.tile:hover .more .ico{transform:translateX(3px)}
.tile__tag{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;color:var(--cpam)}
.tile__tag img{width:40px;height:auto}
.ticks{display:grid;gap:.45rem;margin:var(--g2) 0 0}
.ticks li{position:relative;padding-left:1.7rem;line-height:1.45}
.ticks li::before{content:"";position:absolute;left:0;top:.2em;width:1.1rem;height:1.1rem;background:var(--steel);-webkit-mask:url("../img/check.svg") center/contain no-repeat;mask:url("../img/check.svg") center/contain no-repeat}
.ticks--2{grid-template-columns:1fr}
@media (min-width:760px){.ticks--2{grid-template-columns:1fr 1fr;column-gap:var(--g6)}}

.proband{position:relative;display:grid;margin-top:var(--g4);border-radius:var(--r2);overflow:hidden;background:var(--ink);color:var(--ink-soft)}
.proband__body{position:relative;z-index:1;padding:var(--g6) var(--g5);display:grid;gap:var(--g3);align-content:center}
.proband h3{margin:0;color:var(--surface);font-size:clamp(1.35rem,1.15rem + .8vw,1.9rem);max-width:24ch}
.proband p{margin:0;max-width:52ch}
.proband__act{display:flex;flex-wrap:wrap;gap:var(--g3);margin-top:var(--g2)}
.proband__img{position:relative;min-height:200px}
.proband__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9}
@media (min-width:1024px){.proband{grid-template-columns:1.2fr 1fr}.proband__body{padding:var(--g7)}.proband__img{min-height:auto}}

/* ---------- ligne des trajets (signature « ligne de transport ») ---------- */
.line{position:relative;display:grid;gap:0;margin-top:var(--g2)}
.line::before{content:"";position:absolute;left:11px;top:14px;bottom:14px;width:4px;border-radius:2px;background:var(--steel)}
.line__stop{position:relative}
.line__btn{display:grid;grid-template-columns:26px 1fr auto;grid-template-areas:"pt name data";gap:.3rem .9rem;align-items:center;width:100%;min-height:60px;padding:.6rem 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.line__stop:last-child .line__btn{border-bottom:0}
.line__btn:hover .line__name{color:var(--steel)}
.line__pt{grid-area:pt;position:relative;z-index:1;width:26px;height:26px;border-radius:50%;background:var(--surface);border:4px solid var(--steel)}
.line__stop--base .line__pt{background:var(--steel);box-shadow:0 0 0 4px var(--sky-100)}
.line__name{grid-area:name;font-weight:700;line-height:1.25}
.line__sub{display:block;font-weight:400;font-size:.87rem;color:var(--mute)}
.line__data{grid-area:data;display:grid;justify-items:end;font-family:var(--mono);font-variant-numeric:tabular-nums;line-height:1.25}
.line__km{font-weight:700;font-size:1.05rem}
.line__min{font-size:.87rem;color:var(--mute)}
@media (min-width:1024px){
  .line{grid-template-columns:repeat(var(--n,10),1fr);gap:0}
  .line::before{left:0;right:0;top:92px;bottom:auto;height:4px;width:auto}
  .line__btn{grid-template-columns:1fr;grid-template-rows:auto 26px auto;grid-template-areas:"data" "pt" "name";justify-items:center;gap:.8rem;min-height:0;padding:0 .35rem;border:0;text-align:center}
  .line__data{justify-items:center;min-height:60px;align-content:end}
  .line__km{font-size:1.25rem}
  .line__name{font-size:.98rem}
  .line__btn:hover .line__pt{background:var(--sky-100)}
}

/* ---------- 3 façons de réserver ---------- */
.ways{display:grid;gap:var(--g4)}
@media (min-width:1024px){.ways{grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr}.ways__call{grid-row:1/3}}
.ways__call{display:grid;align-content:space-between;gap:var(--g5);padding:var(--g6) var(--g5);border-radius:var(--r2);background:var(--ink);color:var(--ink-soft)}
@media (min-width:760px){.ways__call{padding:var(--g7)}}
.ways__call h3{color:var(--surface)}
.bignum{display:inline-flex;align-items:center;min-height:44px;color:var(--surface);font:700 clamp(2.1rem,1.4rem + 3.4vw,4.4rem)/1 var(--mono);letter-spacing:-.02em;text-decoration:none;white-space:nowrap}
.bignum:hover{color:var(--sky)}
.ways__item{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;align-content:start;padding:var(--g5);border:1px solid var(--line);border-radius:var(--r2);background:var(--surface)}
.ways__item>.ico{grid-row:1/4;width:32px;height:32px;color:var(--steel)}
.ways__item h3{margin:0}
.ways__item p{margin:0;color:var(--mute)}

/* ---------- lumineux A B C D (signature) ---------- */
.lum{display:grid;gap:var(--g5)}
.lum__sign{display:flex;align-items:center;gap:var(--g4);justify-self:start;padding:.7rem .9rem .7rem 1.1rem;border-radius:10px 10px 6px 6px;background:var(--ink);color:var(--surface)}
.lum__taxi{font:800 italic 1.5rem/1 var(--font);letter-spacing:.02em}
.lum__lights{display:flex;gap:6px}
.lum__l{display:grid;place-items:center;width:34px;height:34px;border-radius:4px;background:var(--ink-3);color:#8793A3;font:700 1.05rem/1 var(--mono);transition:background .25s var(--ease),color .25s var(--ease)}
.lum__l.is-on{background:var(--sky);color:var(--ink)}
.lum__rows{display:grid;gap:0;border-top:1px solid var(--line)}
.lum__row{display:grid;grid-template-columns:44px 1fr;gap:.8rem;align-items:start;padding:.85rem 0;border-bottom:1px solid var(--line);transition:background .2s}
.lum__row.is-on{background:linear-gradient(90deg,var(--sky-50),transparent)}
.lum__key{display:grid;place-items:center;width:40px;height:40px;border-radius:4px;background:var(--ink);color:var(--surface);font:700 1.2rem/1 var(--mono)}
.lum__row.is-on .lum__key{background:var(--steel)}
.lum__txt b{display:block;line-height:1.3}
.lum__txt span{display:block;font-size:.93rem;color:var(--mute)}
.lum__now{display:flex;gap:.6rem;align-items:center;margin:0;font-size:.95rem;color:var(--ink)}
.lum__now .ico{width:20px;height:20px;color:var(--steel)}
.sec--ink .lum__rows,.sec--ink .lum__row{border-color:var(--ink-3)}

/* ---------- blocs 2 colonnes ---------- */
.split{display:grid;gap:var(--g7);align-items:center}
@media (min-width:1024px){.split{grid-template-columns:1fr 1fr;gap:var(--g8)}.split--wide{grid-template-columns:1.2fr .8fr}.split--rev>:first-child{order:2}}
.split--top{align-items:start}
.media{border-radius:var(--r2);overflow:hidden;background:var(--sky-100)}
.media img{width:100%;height:100%;object-fit:cover}
.media--43{aspect-ratio:4/3}
.media--54{aspect-ratio:5/4}
.media--32{aspect-ratio:3/2}
.cap{margin-top:.5rem;font-size:.85rem;color:var(--mute)}

/* carte du secteur */
.secteur{width:100%;height:auto;border-radius:var(--r2);border:1px solid var(--line)}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chips a{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:.45rem .8rem;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink);font-weight:500;text-decoration:none}
.chips a:hover{border-color:var(--steel);color:var(--steel)}
.chips a .num{font-size:.82rem;color:var(--mute)}

/* ---------- FAQ ---------- */
.faq{display:grid;border-top:1px solid var(--line)}
.qa{border-bottom:1px solid var(--line)}
.qa summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:60px;padding:.9rem 0;font-weight:700;font-size:1.06rem;line-height:1.35;cursor:pointer;list-style:none}
.qa summary::-webkit-details-marker{display:none}
.qa summary .ico{width:22px;height:22px;color:var(--steel);transition:transform .25s var(--ease)}
.qa[open] summary .ico{transform:rotate(45deg)}
.qa__a{padding:0 0 var(--g5);color:var(--ink-2)}
.qa__a p:last-child{margin-bottom:0}
.faq-grid{display:grid;gap:var(--g7)}
@media (min-width:1024px){.faq-grid{grid-template-columns:.8fr 1.2fr}}

/* ---------- bande d'appel ---------- */
.callband{position:relative;overflow:hidden;background:var(--ink);color:var(--ink-soft);padding-block:var(--sec) 0}
.callband__in{position:relative;z-index:1;display:grid;gap:var(--g5);padding-bottom:clamp(96px,10vw,150px)}
.callband h2{color:var(--surface);max-width:18ch;margin:0}
.callband p{margin:0;max-width:52ch}
.callband__act{display:flex;flex-wrap:wrap;gap:var(--g3)}
@media (min-width:1024px){.callband__in{grid-template-columns:1fr auto;align-items:end;column-gap:var(--g8)}.callband__num{grid-column:2;grid-row:1/3;justify-self:end}}
.skyline{position:absolute;left:0;right:0;bottom:0;width:100%;height:clamp(70px,8vw,120px);color:#20252D}

/* ---------- pied de page ---------- */
.foot{background:var(--ink-2);color:var(--ink-soft);font-size:.95rem;padding-block:var(--g7) var(--g5)}
.foot a{color:var(--sky-100);text-decoration:none}
.foot a:hover{color:var(--surface);text-decoration:underline}
.foot__grid{display:grid;gap:var(--g6)}
@media (min-width:760px){.foot__grid{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.foot__grid{grid-template-columns:1.4fr 1fr 1fr 1.2fr}}
.foot__brand svg{height:44px;width:auto;margin-bottom:var(--g4)}
.foot__brand p{max-width:40ch}
.foot__badge{display:inline-flex;align-items:center;gap:.7rem;padding:.5rem .8rem .5rem .5rem;border-radius:var(--r);background:var(--surface);color:var(--cpam);font-size:.85rem;font-weight:700;line-height:1.25}
.foot__badge img{width:58px;height:auto}
.foot h2{margin:0 0 var(--g3);color:var(--surface);font-size:1rem}
.foot li a{display:inline-flex;align-items:center;min-height:44px}
.foot__tel{display:inline-flex;align-items:center;gap:.5rem;min-height:48px;color:var(--surface)!important;font:700 1.5rem/1 var(--mono)}
.foot__legal{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;align-items:center;margin-top:var(--g6);padding-top:var(--g4);border-top:1px solid var(--ink-3);font-size:.87rem}
.foot__legal a{display:inline-flex;align-items:center;min-height:44px}
.foot__legal p{margin:0}

/* barre d'action mobile */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border-top:1px solid var(--line);transform:translateY(0);transition:transform .25s var(--ease)}
.callbar a{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:56px;font-weight:700;text-decoration:none}
.callbar__call{background:var(--ink);color:var(--surface)!important}
.callbar__book{background:var(--steel);color:var(--surface)!important}
.callbar.is-hidden{transform:translateY(110%)}
@media (min-width:1024px){.callbar{display:none}}
@media (max-width:1023px){body{padding-bottom:56px}}

/* ---------- en-tête des pages intérieures ---------- */
.phead{background:var(--surface);border-bottom:1px solid var(--line);padding-block:var(--g5) var(--g7)}
.phead__grid{display:grid;gap:var(--g6);align-items:center}
@media (min-width:1024px){.phead__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--g8)}.phead{padding-block:var(--g6) var(--g7)}}
.phead h1{max-width:18ch}
.phead__lead{font-size:1.1rem;color:var(--mute);max-width:56ch}
.phead__act{display:flex;flex-wrap:wrap;gap:var(--g3);margin-top:var(--g5)}
.phead__media{border-radius:var(--r2);overflow:hidden;aspect-ratio:4/3;max-height:340px;background:var(--sky-100)}
.phead__media img{width:100%;height:100%;object-fit:cover}
@media (max-width:1023px){.phead__media{aspect-ratio:16/7}}
.phead--pro{background:var(--ink);border-bottom:0;color:var(--ink-soft)}
.phead--pro h1{color:var(--surface)}
.phead--pro .phead__lead{color:var(--ink-soft)}
.phead--pro .crumbs a,.phead--pro .crumbs li{color:var(--ink-soft)}
.phead--pro .crumbs li[aria-current]{color:var(--surface)}
.crumbs{margin:-.5rem 0 var(--g3)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:.2rem .5rem;font-size:.9rem;color:var(--mute)}
.crumbs li{display:inline-flex;align-items:center;gap:.5rem}
.crumbs li+li::before{content:"";width:6px;height:6px;border-right:1.6px solid currentColor;border-top:1.6px solid currentColor;transform:rotate(45deg);opacity:.6}
.crumbs a{display:inline-flex;align-items:center;min-height:44px;color:var(--mute)}
.crumbs li[aria-current]{color:var(--ink);font-weight:700}

/* sous-navigation de page (ancres) */
.subnav{position:sticky;top:var(--hdr);z-index:40;background:var(--surface);border-bottom:1px solid var(--line)}
.subnav ul{display:flex;gap:var(--g2);overflow-x:auto;scrollbar-width:none;padding-block:.35rem}
.subnav ul::-webkit-scrollbar{display:none}
.subnav a{display:inline-flex;align-items:center;min-height:44px;padding:0 .8rem;border-radius:var(--r);white-space:nowrap;color:var(--ink);text-decoration:none;font-weight:500;font-size:.95rem}
.subnav a:hover{background:var(--sky-50)}
.subnav--ink{background:var(--ink-2);border-bottom-color:var(--ink-3)}
.subnav--ink a{color:var(--sky-100)}
.subnav--ink a:hover{background:var(--ink-3);color:var(--surface)}

/* ---------- cartes et listes d'information ---------- */
.cards{display:grid;gap:var(--g4)}
@media (min-width:760px){.cards{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.cards--3{grid-template-columns:repeat(3,1fr)}.cards--4{grid-template-columns:repeat(4,1fr)}}
.card{display:flex;flex-direction:column;gap:var(--g2);padding:var(--g5);background:var(--surface);border:1px solid var(--line);border-radius:var(--r2)}
.card>.ico{width:30px;height:30px;color:var(--steel);margin-bottom:var(--g2)}
.card h3{margin:0}
.card p{margin:0;color:var(--mute)}
.card--wide{grid-column:1/-1}
.card--ink{background:var(--ink);border-color:var(--ink);color:var(--ink-soft)}
.card--ink h3{color:var(--surface)}
.card--ink p{color:var(--ink-soft)}
.card--ink>.ico{color:var(--sky)}
.card--sky{background:var(--sky-50);border-color:var(--sky)}
.sec--ink .card{background:var(--ink-2);border-color:var(--ink-3)}
.sec--ink .card h3{color:var(--surface)}
.sec--ink .card p{color:var(--ink-soft)}
.sec--ink .card>.ico{color:var(--sky)}

.rows{display:grid;border-top:1px solid var(--line)}
.rows>li,.rows>div{display:grid;grid-template-columns:36px 1fr;gap:.2rem 1rem;padding:var(--g4) 0;border-bottom:1px solid var(--line)}
.rows .ico{width:28px;height:28px;color:var(--steel);grid-row:1/3}
.rows b{display:block}
.rows p{margin:0;color:var(--mute)}
@media (min-width:1024px){.rows--2{grid-template-columns:1fr 1fr;column-gap:var(--g7)}}

.notice{display:grid;grid-template-columns:auto 1fr;gap:.8rem;padding:var(--g4) var(--g5);border-radius:var(--r2);background:var(--sky-50);border:1px solid var(--sky)}
.notice .ico{width:24px;height:24px;color:var(--steel);margin-top:.1rem}
.notice p{margin:0}
.notice p+p{margin-top:.4rem}
.notice--warn{background:var(--warn-50);border-color:#EACB97}
.notice--warn .ico{color:var(--warn)}

/* parcours sans numéros : points reliés */
.path{display:grid;gap:0;position:relative}
.path>li{position:relative;display:grid;grid-template-columns:48px 1fr;gap:1rem;padding-bottom:var(--g6)}
.path>li:last-child{padding-bottom:0}
.path>li::before{content:"";position:absolute;left:23px;top:48px;bottom:0;width:2px;background:var(--sky)}
.path>li:last-child::before{display:none}
.path__ico{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--surface);border:2px solid var(--sky);color:var(--steel)}
.path__ico .ico{width:24px;height:24px}
.path h3{margin:.55rem 0 .35rem}
.path p{margin:0;color:var(--mute)}
@media (min-width:1024px){
  .path--h{grid-template-columns:repeat(var(--n,3),1fr);gap:var(--g6)}
  .path--h>li{grid-template-columns:1fr;padding-bottom:0}
  .path--h>li::before{left:58px;right:-24px;top:23px;bottom:auto;width:auto;height:2px}
  .path--h h3{margin-top:.2rem}
}

/* tableaux */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r2);background:var(--surface)}
table{width:100%;border-collapse:collapse;font-size:.97rem}
caption{padding:var(--g4) var(--g4) 0;text-align:left;font-weight:700;caption-side:top}
th,td{padding:.8rem var(--g4);text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
thead th{font-size:.85rem;font-weight:700;color:var(--mute);background:var(--sky-50)}
tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}
td.n,th.n{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
tbody th{font-weight:700}
.tbl-note{margin-top:var(--g3);font-size:.88rem;color:var(--mute)}
@media (max-width:620px){
  .tbl--stack thead{display:none}
  .tbl--stack tr{display:flex;flex-wrap:wrap;gap:.15rem 1.1rem;padding:.75rem var(--g4);border-bottom:1px solid var(--line)}
  .tbl--stack tbody tr:last-child{border-bottom:0}
  .tbl--stack th,.tbl--stack td{padding:0;border:0;text-align:left}
  .tbl--stack tr>:first-child{flex-basis:100%;margin-bottom:.15rem}
  .tbl--stack td.n{text-align:left}
  .tbl--stack td[data-l]::before{content:attr(data-l) " ";color:var(--mute);font-family:var(--font);font-size:.82rem}
}
/* bloc prix / tarifs */
.pricegrid{display:grid;gap:var(--g3)}
@media (min-width:360px){.pricegrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:759px){.price{padding:var(--g4)}.price__v{font-size:1.8rem}}
@media (min-width:1024px){.pricegrid{grid-template-columns:repeat(4,1fr)}}
.price{padding:var(--g5);border:1px solid var(--line);border-radius:var(--r2);background:var(--surface)}
.price__v{display:block;font:700 clamp(2rem,1.6rem + 1.6vw,3rem)/1 var(--mono);letter-spacing:-.02em;color:var(--ink)}
.price__v small{font-size:.45em;font-weight:500;color:var(--mute);letter-spacing:0}
.price__l{display:block;margin-top:.6rem;font-weight:700}
.price__d{display:block;font-size:.9rem;color:var(--mute)}

/* ---------- formulaires complets ---------- */
.form{display:grid;gap:var(--g6)}
.fs{display:grid;gap:var(--g4);margin:0;padding:0;border:0;min-width:0}
.fs legend{display:flex;align-items:center;gap:.6rem;margin-bottom:var(--g4);padding:0;font-size:1.2rem;font-weight:800}
.fs legend .ico{width:22px;height:22px;color:var(--steel)}
.grid2{display:grid;gap:var(--g4)}
@media (min-width:640px){.grid2{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:1fr 1fr 1fr}}
.grid3{display:grid;gap:var(--g4)}
.seg{display:flex;flex-wrap:wrap;gap:.5rem}
.seg label{position:relative;display:inline-flex}
.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg span{display:inline-flex;align-items:center;gap:.45rem;min-height:46px;padding:.5rem .9rem;border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface);font-weight:500;cursor:pointer}
.seg span .ico{width:18px;height:18px;color:var(--steel)}
.seg input:checked+span{border-color:var(--steel);background:var(--sky-50);box-shadow:inset 0 0 0 1px var(--steel);font-weight:700}
.seg input:focus-visible+span{outline:3px solid var(--steel);outline-offset:2px}
.seg--block label{flex:1 1 160px}
.seg--block span{width:100%}
.consent{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;font-size:.92rem;color:var(--mute)}
.consent input{width:22px;height:22px;min-height:0;margin-top:.1rem;accent-color:var(--steel)}
.hp{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;border:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.form__foot{display:grid;gap:var(--g3)}
.form__send{display:flex;flex-wrap:wrap;gap:var(--g3)}
.form__send .btn{flex:1 1 220px}
.status{display:none;padding:var(--g4) var(--g5);border-radius:var(--r2);font-weight:500}
.status.is-ok{display:block;background:var(--ok-50);color:var(--ok);border:1px solid #A9D5BD}
.status.is-err{display:block;background:#FBEAEA;color:var(--err);border:1px solid #EBB9B5}
.status.is-info{display:block;background:var(--sky-50);color:var(--ink);border:1px solid var(--sky)}
.status a{color:inherit;font-weight:700}

/* disposition réservation : formulaire + estimation */
.resa{display:grid;gap:var(--g6);align-items:start}
@media (min-width:1024px){.resa{grid-template-columns:minmax(0,1fr) 400px;gap:var(--g7)}.resa__side{position:sticky;top:calc(var(--hdr) + 20px)}}
.panel{padding:var(--g5);background:var(--surface);border:1px solid var(--line);border-radius:var(--r2)}
@media (min-width:760px){.panel{padding:var(--g6)}}
.est{display:grid;gap:var(--g4)}
.est__trip{display:grid;gap:.4rem;font-weight:700}
.est__trip span{display:flex;gap:.6rem;align-items:baseline}
.est__trip i{flex:none;width:10px;height:10px;border-radius:50%;background:var(--steel)}
.est__trip i.b{border-radius:2px;background:var(--ink)}
.est__nums{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:var(--r)}
.est__nums div{padding:.7rem .9rem}
.est__nums div+div{border-left:1px solid var(--line)}
.est__nums b{display:block;font:700 1.45rem/1.1 var(--mono)}
.est__nums span{font-size:.85rem;color:var(--mute)}
.est__tarif{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:center;padding:.8rem .9rem;border-radius:var(--r);background:var(--sky-50)}
.est__tarif .lum__key{width:44px;height:44px;font-size:1.3rem;background:var(--steel)}
.est__tarif p{margin:0;font-size:.93rem}
.est__price{margin:0;padding:.8rem .9rem;border-left:4px solid var(--steel);background:var(--sky-50);font-size:.95rem}
.est__price b{font:700 1.4rem/1.2 var(--mono)}
.est__empty{margin:0;color:var(--mute)}
.est__note{margin:0;font-size:.84rem;color:var(--mute)}
.map{height:260px;border-radius:var(--r2);border:1px solid var(--line);background:var(--sky-50);overflow:hidden}
.map--tall{height:clamp(360px,52vw,560px)}
.map-pin{width:16px;height:16px;border-radius:50%;background:var(--surface);border:4px solid var(--steel);box-shadow:0 1px 3px rgba(0,0,0,.3)}
.map-pin--b{border-radius:3px;background:var(--ink);border-color:var(--ink)}
.map-pin--base{width:20px;height:20px;background:var(--steel)}
.leaflet-container{font:inherit}
.leaflet-popup-content{font:400 .95rem/1.4 var(--font);margin:12px 14px}
.leaflet-popup-content a{font-weight:700}

/* modal d'estimation (accueil) */
.modal{position:fixed;inset:0;z-index:150;display:grid;place-items:end center;background:rgba(22,25,30,.55);opacity:0;visibility:hidden;transition:opacity .2s var(--ease),visibility 0s .2s}
.modal.is-open{opacity:1;visibility:visible;transition:opacity .2s var(--ease)}
.modal__box{position:relative;width:min(100%,560px);max-height:92vh;overflow-y:auto;padding:var(--g6) var(--g5) var(--g5);background:var(--surface);border-radius:12px 12px 0 0;transform:translateY(16px);transition:transform .25s var(--ease)}
.modal.is-open .modal__box{transform:none}
@media (min-width:760px){.modal{place-items:center}.modal__box{border-radius:var(--r2);padding:var(--g6)}}
.modal__x{position:absolute;right:10px;top:10px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:var(--r);background:transparent;color:var(--ink);cursor:pointer}
.modal__x:hover{background:var(--sky-50)}
.modal h2{font-size:1.45rem;margin:0 0 var(--g4);padding-right:44px}
.modal__act{display:grid;gap:var(--g3);margin-top:var(--g5)}
@media (min-width:520px){.modal__act{grid-template-columns:1fr 1fr}.modal__act .btn:nth-child(3){grid-column:1/-1}}

/* ---------- pages communes ---------- */
.commune-key{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line);border-radius:var(--r2);background:var(--surface)}
.commune-key div{padding:var(--g4)}
.commune-key div:nth-child(even){border-left:1px solid var(--line)}
.commune-key div:nth-child(n+3){border-top:1px solid var(--line)}
.commune-key b{display:block;font:700 1.35rem/1.15 var(--mono)}
.commune-key span{font-size:.86rem;color:var(--mute)}
@media (min-width:1024px){.commune-key{grid-template-columns:repeat(4,1fr)}.commune-key div:nth-child(n+3){border-top:0}.commune-key div+div{border-left:1px solid var(--line)}}
.communes{display:grid;gap:0 var(--g6)}
@media (min-width:640px){.communes{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.communes{grid-template-columns:repeat(3,1fr)}}
.communes a{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:52px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:500}
.communes a:hover{color:var(--steel)}
.communes .num{font-size:.87rem;color:var(--mute);white-space:nowrap}
.zone-group+.zone-group{margin-top:var(--g7)}
.zone-group h3{display:flex;align-items:center;gap:.7rem}

/* ---------- espace pro ---------- */
.pro-grid{display:grid;gap:var(--g4)}
@media (min-width:760px){.pro-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.pro-grid{grid-template-columns:repeat(6,1fr)}.pro-grid>:nth-child(1),.pro-grid>:nth-child(2){grid-column:span 3}.pro-grid>:nth-child(n+3){grid-column:span 2}}
.contract{display:grid;gap:0;border-top:1px solid var(--ink-3)}
.contract li{display:grid;grid-template-columns:36px 1fr;gap:.2rem 1rem;padding:var(--g4) 0;border-bottom:1px solid var(--ink-3)}
.contract .ico{width:26px;height:26px;color:var(--sky);grid-row:1/3}
.contract b{color:var(--surface)}
.contract p{margin:0;color:var(--ink-soft)}
.compare{display:grid;gap:var(--g4)}
@media (min-width:760px){.compare{grid-template-columns:1fr 1fr}}

/* avis */
.qr{display:grid;justify-items:center;gap:var(--g3);padding:var(--g5);background:var(--surface);border:1px solid var(--line);border-radius:var(--r2);text-align:center}
.qr svg{width:220px;height:220px}

/* contenu rédigé (légal) */
.prose{max-width:760px}
.prose h2{font-size:1.45rem;margin-top:var(--g7)}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1.15rem;margin-top:var(--g5)}
.prose ul{list-style:disc;padding-left:1.25rem;margin-bottom:var(--g4)}
.prose li{margin-bottom:.35rem}
.prose dl{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1.2rem;margin-bottom:var(--g4)}
.prose dt{font-weight:700}
.todo{display:inline-block;padding:0 .35rem;border-radius:3px;background:var(--warn-50);color:var(--warn);font-weight:700;font-size:.92em}

/* bandeau cookies (actif seulement si un identifiant de mesure est configuré) */
.cookie{position:fixed;left:12px;right:12px;bottom:68px;z-index:140;display:grid;gap:var(--g3);max-width:560px;padding:var(--g5);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r2);box-shadow:0 18px 40px -20px rgba(22,25,30,.4)}
.cookie p{margin:0;font-size:.93rem}
.cookie__act{display:flex;gap:var(--g3);flex-wrap:wrap}
.cookie__act .btn{flex:1 1 140px}
@media (min-width:1024px){.cookie{left:24px;bottom:24px;right:auto}}

/* apparition au défilement */
.u{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.u.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.u{opacity:1;transform:none;transition:none}*{scroll-behavior:auto!important}}
.no-js .u{opacity:1;transform:none}

@media print{.topbar,.hdr,.callbar,.foot,.callband,.book,.cookie,.subnav{display:none!important}body{background:#fff}}

/* cadrage des photos (object-position conseillé dans sources/STOCK-CREDITS.md) */
img.ph-hero-berline{object-position:42% 72%}
@media (min-width:760px){img.ph-hero-berline{object-position:center 70%}}
img.ph-interieur{object-position:60% 50%}
img.ph-conduite{object-position:45% 55%}
img.ph-aeroport{object-position:65% 55%}
img.ph-valises{object-position:60% 60%}
img.ph-gare{object-position:center 45%}
img.ph-medical{object-position:center 55%}
img.ph-affaires{object-position:40% 50%}
img.ph-entreprise{object-position:center center}
img.ph-autoroute{object-position:center 60%}
img.ph-nuit{object-position:center 40%}
img.ph-seine{object-position:60% 45%}
.path--4{--n:4}

/* carte schématique : illisible en dessous de 760 px, la liste des communes prend le relais */
@media (max-width:759px){.secteur-fig{display:none}}
.rows--side{margin-top:var(--g5)}
@media (min-width:1024px){.pricegrid--2{grid-template-columns:1fr 1fr}}
.tbl-wrap+.tbl-wrap{margin-top:var(--g4)}
.bignum--ink{display:block;margin:var(--g3) 0 var(--g4);color:var(--ink);font-size:clamp(1.9rem,1.5rem + 1.4vw,2.6rem)}
.bignum--ink:hover{color:var(--steel)}
.wrap--narrow{max-width:900px}
.faq-block+.faq-block{margin-top:var(--g7)}
.faq-block h2{font-size:clamp(1.35rem,1.2rem + .6vw,1.7rem);margin-bottom:var(--g3)}
.avis__cta{margin-top:var(--g6)}
.ticks--neutral li::before{-webkit-mask:none;mask:none;width:.5rem;height:.5rem;top:.55em;left:.3rem;border-radius:1px;background:var(--mute)}
.leaflet-container .tiles{filter:grayscale(1) contrast(.92) brightness(1.06)}
.est--inline{padding:var(--g4);border:1px solid var(--line);border-radius:var(--r2);background:var(--sky-50)}
.est--inline:empty{display:none}
@media (min-width:1024px){.est--inline{display:none!important}}
@media (max-width:1023px){.est-panel{display:none}}
@media (max-width:759px){
  .pro-grid{display:flex;gap:var(--g3);overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1*var(--gut));padding-inline:var(--gut);padding-bottom:var(--g2);scrollbar-width:thin}
  .pro-grid>*{flex:0 0 84%;scroll-snap-align:start}
}

/* =====================================================================
   v2 (22/09) : plus de couleur, accueil photo, offre, flotte, galerie
   ===================================================================== */
.btn{border-radius:var(--r)}
.btn--steel{box-shadow:0 10px 24px -12px rgba(18,48,124,.35)}
.btn--sun{background:var(--sun);color:var(--ink)}
.btn--sun:hover{background:var(--sun-600);color:var(--ink)}
.label{color:var(--steel)}
.label::before{border-radius:50%}

/* bandeau d'offre (remplace le bandeau d'informations) */
.promo{position:relative;z-index:61;background:var(--steel);color:#fff;font-size:.9rem}
.promo__in{display:flex;align-items:center;justify-content:center;gap:.6rem 1rem;min-height:40px;text-align:center}
.promo__tag{display:inline-flex;align-items:center;padding:.12rem .5rem;border-radius:6px;background:var(--sun);color:var(--ink);font-weight:800;font-size:.8rem}
.promo a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:.2em;display:inline-flex;align-items:center;min-height:40px}
.promo__tel{display:none}
@media (min-width:1024px){.promo__in{justify-content:space-between}.promo__tel{display:inline-flex;align-items:center;gap:.45rem;color:#fff;font-weight:700;text-decoration:none!important}}
@media (max-width:520px){.promo__long{display:none}}
.topbar{display:none!important}

/* en-tête : logo v2 */
.brand svg{height:30px}
@media (min-width:760px){.brand svg{height:34px}}
.hdr__tel{border-radius:999px}

/* accueil : hero photo + réservation */
.hero2{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--sky-50),#fff 70%);padding-block:var(--g5) var(--g7)}
.hero2__grid{display:grid;gap:var(--g6);align-items:center}
.offerchip{display:inline-flex;align-items:center;gap:.5rem;justify-self:start;margin-bottom:var(--g4);padding:.35rem .75rem .35rem .4rem;border-radius:999px;background:#fff;border:1px solid var(--sky);font-weight:700;font-size:.9rem;color:var(--ink);text-decoration:none}
.offerchip b{padding:.15rem .5rem;border-radius:999px;background:var(--sun);font-weight:800}
.hero2 h1{max-width:15ch;margin-bottom:var(--g4)}
.hero2 h1 em{font-style:normal;color:var(--steel);background:linear-gradient(transparent 78%,var(--sun) 78%,var(--sun) 92%,transparent 92%)}
.hero2__lead{max-width:48ch;font-size:1.1rem;color:var(--mute);margin-bottom:var(--g5)}
.hero2__cta{display:flex;flex-wrap:wrap;gap:var(--g3);margin-bottom:var(--g5)}
.hero2__cta .btn{min-height:52px;padding-inline:1.35rem;font-size:1.02rem}
.hero2__ticks{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;font-size:.95rem;font-weight:500}
.hero2__ticks li{display:flex;align-items:center;gap:.4rem}
.hero2__ticks .ico{width:20px;height:20px;color:var(--steel)}
.hero2__visual{position:relative}
.hero2__photo{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:4/5;background:var(--ink);box-shadow:var(--shadow)}
.hero2__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.hero2__badge{position:absolute;left:14px;bottom:14px;display:flex;align-items:center;gap:.6rem;padding:.55rem .8rem;border-radius:12px;background:rgba(14,17,22,.78);color:#fff;font-size:.88rem;font-weight:600;backdrop-filter:none}
.hero2__badge .ico{width:20px;height:20px;color:var(--sun)}
@media (max-width:1023px){.hero2__visual{order:2}.hero2__photo{aspect-ratio:4/3}}
@media (min-width:1024px){
  .hero2{padding-block:var(--g7) var(--g8)}
  .hero2__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:var(--g7)}
  .hero2__visual{display:grid;grid-template-columns:1fr;align-items:end}
  .hero2__photo{aspect-ratio:auto;height:640px;margin-left:120px}
  .hero2__visual .book{position:absolute;left:0;bottom:-24px;width:420px;box-shadow:0 30px 60px -30px rgba(14,17,22,.55)}
}
@media (max-width:1023px){.hero2__visual .book{margin-top:-60px;position:relative;margin-inline:10px}}

/* chiffres clés */
.stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--g5) var(--g4);margin-top:var(--g7);padding-top:var(--g6);border-top:1px solid var(--line)}
@media (min-width:1024px){.stats{grid-template-columns:repeat(4,1fr);margin-top:var(--g8)}}
.stat b{display:block;font-size:clamp(2.2rem,1.7rem + 1.8vw,3.4rem);line-height:1;font-weight:800;color:var(--steel);letter-spacing:-.02em}
.stat span{display:block;margin-top:.4rem;font-size:.95rem;color:var(--mute)}

/* services : 1 grande carte photo + cartes */
.svc{display:grid;gap:var(--g4)}
@media (min-width:760px){.svc{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.svc{grid-template-columns:1.25fr 1fr 1fr;grid-auto-rows:minmax(0,auto)}.svc__big{grid-row:span 2}}
.svc__card{position:relative;display:flex;flex-direction:column;gap:.5rem;padding:var(--g5);border-radius:var(--r2);background:#fff;border:1px solid var(--line);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s}
.svc__card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--sky)}
.svc__ico{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--sky-100);color:var(--steel);margin-bottom:.35rem}
.svc__ico .ico{width:24px;height:24px}
.svc__card h3{margin:0}
.svc__card p{margin:0;color:var(--mute)}
.svc__card .more{margin-top:auto;padding-top:.4rem;display:inline-flex;align-items:center;gap:.4rem;font-weight:700;color:var(--steel)}
.svc__card .more .ico{width:18px;height:18px}
.svc__tag{position:absolute;right:14px;top:14px;padding:.2rem .55rem;border-radius:999px;background:var(--sun-50);color:var(--warn);font-size:.78rem;font-weight:800}
.svc__big{padding:0;overflow:hidden;min-height:420px;color:#fff;border:0;background:var(--ink)}
.svc__big img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.svc__big::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,17,22,0) 30%,rgba(14,17,22,.88) 100%)}
.svc__big .svc__body{position:relative;z-index:1;margin-top:auto;padding:var(--g6) var(--g5) var(--g5)}
.svc__big h3{color:#fff;font-size:clamp(1.4rem,1.2rem + .8vw,1.9rem)}
.svc__big p{color:#D5DCE7}
.svc__big .more{color:var(--sun)}
.svc__big .svc__tag{z-index:2;background:var(--sun);color:var(--ink)}

/* pourquoi SCHL : bloc bleu */
.why{display:grid;gap:var(--g6);padding:var(--g7) var(--g5);border-radius:24px;background:var(--steel);color:#fff;position:relative;overflow:hidden}
@media (min-width:1024px){.why{grid-template-columns:.9fr 1.1fr;padding:var(--g8) var(--g7);gap:var(--g8)}}
.why h2{color:#fff}
.why p{color:#E1E9FF}
.why__big{font-size:clamp(4.5rem,3rem + 6vw,8.5rem);line-height:.9;font-weight:800;letter-spacing:-.04em;color:#fff;margin:var(--g4) 0 var(--g3)}
.why__big span{color:var(--sun)}
.why__list{display:grid;gap:0}
.why__list li{display:grid;grid-template-columns:48px 1fr;gap:.2rem 1rem;padding:var(--g4) 0;border-bottom:1px solid rgba(255,255,255,.22)}
.why__list li:first-child{border-top:1px solid rgba(255,255,255,.22)}
.why__list .ico{grid-row:1/3;width:44px;height:44px;padding:10px;border-radius:12px;background:rgba(255,255,255,.14);color:#fff}
.why__list b{color:#fff;font-size:1.08rem}
.why__list p{margin:0;color:#DCE6FF;font-size:.97rem}

/* étapes (icônes reliées, sans numéros) */
.steps{display:grid;gap:var(--g5);counter-reset:none}
@media (min-width:1024px){.steps{grid-template-columns:repeat(3,1fr);gap:var(--g6)}}
.step{position:relative;display:grid;justify-items:center;text-align:center;gap:.5rem}
.step__ico{position:relative;z-index:1;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#fff;border:2px solid var(--steel);color:var(--steel)}
.step__ico .ico{width:28px;height:28px}
.step:last-child .step__ico{background:var(--steel);color:#fff}
@media (min-width:1024px){.step:not(:last-child)::after{content:"";position:absolute;top:32px;left:calc(50% + 40px);right:calc(-50% + 40px);border-top:2px dashed var(--steel-300)}}
.step h3{margin:.3rem 0 0}
.step p{margin:0;color:var(--mute);max-width:32ch}

/* bande 24/7 */
.nightband{position:relative;overflow:hidden;background:var(--ink);color:#C8D1DE}
.nightband__in{position:relative;z-index:1;display:grid;gap:var(--g5);align-items:center;padding-block:var(--g8)}
@media (min-width:1024px){.nightband__in{grid-template-columns:auto 1fr;gap:var(--g8)}}
.nightband__big{font-size:clamp(5rem,3.5rem + 7vw,10rem);line-height:.85;font-weight:800;letter-spacing:-.05em;color:#fff}
.nightband__big span{color:var(--sun)}
.nightband h2{color:#fff;margin-bottom:var(--g3)}
.nightband__bg{position:absolute;inset:0;opacity:.28}
.nightband__bg img{width:100%;height:100%;object-fit:cover}
.nightband::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--ink) 25%,rgba(14,17,22,.55))}

/* flotte : voir la vitrine v4 en fin de fichier */

/* galerie « sur la route » */
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--g3)}
@media (min-width:1024px){.gallery{grid-template-columns:repeat(4,1fr);grid-template-rows:260px 260px}.gallery figure:first-child{grid-column:span 2;grid-row:span 2}}
.gallery figure{position:relative;border-radius:14px;overflow:hidden;background:var(--ink);min-height:220px}
.gallery img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.gallery figure:hover img{transform:scale(1.04)}
.gallery figcaption{position:absolute;left:10px;bottom:10px;padding:.25rem .55rem;border-radius:8px;background:rgba(14,17,22,.72);color:#fff;font-size:.82rem;font-weight:600}

/* médical : bloc sombre + grands pourcentages */
.cpam2{display:grid;gap:var(--g6);padding:var(--g7) var(--g5);border-radius:24px;background:var(--ink);color:#C8D1DE}
@media (min-width:1024px){.cpam2{grid-template-columns:1.1fr .9fr;padding:var(--g8) var(--g7);gap:var(--g8)}}
.cpam2 h2{color:#fff}
.cpam2__docs{display:grid;gap:var(--g3);margin:var(--g5) 0}
.cpam2__docs li{display:flex;gap:.8rem;align-items:center;padding:.8rem 1rem;border-radius:12px;background:var(--ink-2);border:1px solid var(--ink-3)}
.cpam2__docs .ico{color:var(--sun)}
.cpam2__docs b{color:#fff;display:block}
.cpam2__docs span{font-size:.9rem}
.cpam2__card{align-self:start;padding:var(--g6);border-radius:18px;background:var(--ink-2);border:1px solid var(--ink-3)}
.cpam2__pct{font-size:clamp(3rem,2.3rem + 3vw,4.6rem);font-weight:800;line-height:1;color:#fff;letter-spacing:-.03em}
.cpam2__pct small{font-size:.45em;color:var(--sun)}
.cpam2__card p{margin:.8rem 0 0}
.cpam2__badge{display:inline-flex;align-items:center;gap:.6rem;margin-top:var(--g5);padding:.45rem .7rem .45rem .45rem;border-radius:10px;background:#fff;color:var(--cpam);font-weight:700;font-size:.85rem}
.cpam2__badge img{width:54px}

/* bande d'appel v2 : dégradé bleu */
.callband{background:linear-gradient(120deg,var(--steel-800),var(--steel) 70%);color:#E1E9FF}
.callband .bignum{color:#fff}
.callband .bignum:hover{color:var(--sun)}
.skyline{color:rgba(255,255,255,.08)}

/* pop-up d'offre (modèle apprécié par le client, sans fausse urgence) */
.pop{position:fixed;inset:0;z-index:160;display:grid;place-items:center;padding:16px;background:rgba(14,17,22,.55);opacity:0;visibility:hidden;transition:opacity .25s var(--ease),visibility 0s .25s}
.pop.is-open{opacity:1;visibility:visible;transition:opacity .25s var(--ease)}
.pop__box{position:relative;width:min(100%,440px);padding:var(--g6) var(--g5) var(--g5);border-radius:24px;background:#fff;text-align:center;transform:translateY(12px) scale(.98);transition:transform .3s var(--ease)}
.pop.is-open .pop__box{transform:none}
.pop__x{position:absolute;right:10px;top:10px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:10px;background:var(--sky-50);color:var(--ink);cursor:pointer}
.pop__tag{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .8rem;border-radius:999px;background:var(--sky-100);color:var(--steel-800);font-weight:700;font-size:.9rem}
.pop__tag i{width:8px;height:8px;border-radius:50%;background:var(--steel)}
.pop__big{margin:.6rem 0 0;font-size:clamp(4rem,3rem + 5vw,5.4rem);line-height:1;font-weight:800;letter-spacing:-.04em;color:var(--steel)}
.pop__h{margin:.2rem 0 .8rem;font-size:1.45rem}
.pop__p{color:var(--mute);margin:0 auto var(--g4);max-width:34ch}
.pop__cd{display:flex;align-items:center;justify-content:center;gap:.8rem;margin-bottom:var(--g4);padding:.8rem 1rem;border-radius:14px;background:var(--ink);color:#C8D1DE;font-size:.9rem}
.pop__cd b{color:#fff;font-size:1.35rem;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.pop__cta{width:100%;min-height:54px;font-size:1.05rem}
.pop__later{margin-top:.5rem;width:100%;min-height:44px;border:0;border-radius:10px;background:transparent;color:var(--mute);font:600 .95rem var(--font);cursor:pointer}
.pop__later:hover{background:var(--sky-50)}
.est__offer{margin:0;display:flex;align-items:center;gap:.6rem;padding:.75rem .9rem;border-radius:12px;background:var(--sun-50);font-weight:600}
.est__offer b{padding:.1rem .45rem;border-radius:6px;background:var(--sun);font-weight:800}
/* réservation : barre horizontale sous le hero (desktop) */
.book{border-radius:var(--r2)}
.book__row{grid-template-columns:1fr 1fr}
.book__row .field:first-child{grid-column:auto}
@media (min-width:1024px){
  .book--bar{display:grid;grid-template-columns:minmax(0,2.6fr) minmax(0,2.35fr) auto;align-items:end;gap:var(--g4) var(--g3);padding:var(--g5) var(--g5) var(--g4);margin-top:-44px;position:relative;z-index:6}
  .book--bar .book__head{display:none}
  .book--bar .route{grid-template-columns:1fr 1fr;gap:var(--g3)}
  .book--bar .route::before{display:none}
  .book--bar .field--route>label{padding-left:0}
  .book--bar .route__swap{right:auto;left:calc(50% - 22px);top:auto;bottom:2px;margin:0;z-index:3;width:44px;height:44px}
  .book--bar .field--route:last-of-type input{padding-left:44px}
  .book--bar .book__row{grid-template-columns:1.25fr .95fr .8fr 1.05fr;gap:var(--g3)}
  .book--bar .book__go{width:auto;min-height:48px;padding-inline:1.6rem;align-self:end}
  .book--bar .quick{grid-column:1/-1;flex-direction:row;align-items:center}
  .book--bar .quick__lbl{width:auto;margin-right:.3rem}
  .book--bar .route .field--route:first-child .field__row{padding-right:0}
  .book--bar .route .field--route:first-child input{padding-right:48px}
}
.hero2--page{padding-top:var(--g4)}
.hero2--page h1{max-width:18ch}
.hero2--page .crumbs{margin-bottom:var(--g4)}
.hero2--page .commune-key{margin-top:var(--g5)}
@media (min-width:1024px){.hero2--page .hero2__grid{grid-template-columns:minmax(0,1fr) minmax(0,480px);align-items:start}}
@media (min-width:1024px){.svc--3{grid-template-columns:repeat(3,1fr)}}
.commune-key{border-radius:var(--r2)}
.notice--spaced{margin-top:var(--g5)}
.nowrap{white-space:nowrap}
.promo__txt{margin:0}
.promo .promo__tel{display:none}
@media (min-width:1024px){.promo .promo__tel{display:inline-flex}}
.label.label--light{color:var(--sky)}
.why .label.label--light{color:#fff}
@media (max-width:759px){.hero2__cta .btn{flex:1 1 calc(50% - .4rem);padding-inline:.8rem}}
.hero2 h1 em{white-space:nowrap}
.pop__cd{flex-direction:column;gap:.15rem}
.pop__cd b{white-space:nowrap}
.pop__box:focus{outline:none}
.offerchip{min-height:44px}
.promo__in{min-height:44px}
.promo a{min-height:44px}

/* =====================================================================
   v3 (22/09) : palette E, vert anglais et or champagne (esprit Bentley)
   v5 (22/09) : mêmes règles, palette bleu roi (marque) + orange vif (ce qui se clique).
   Les valeurs vertes et or de ce bloc ont été converties ; version verte archivée dans sources/archives/.
   ===================================================================== */
.label{color:var(--gold-ink)}
.label::before{background:var(--sun)}
.label.label--light,.why .label.label--light{color:var(--sun)}
.promo{background:var(--steel-800)}
.promo a{color:#fff}
.why{background:var(--steel-700)}
.why__big span,.nightband__big span{color:var(--sun)}
.callband{background:linear-gradient(120deg,#06132F,var(--steel-700) 70%)}
.callband .bignum:hover{color:var(--sun)}
.skyline{color:rgba(255,255,255,.06)}
.phead--pro{background:var(--steel-700)}
.subnav--ink{background:var(--steel-800);border-bottom-color:#254088}
.subnav--ink a:hover{background:#254088}
.svc__ico{background:var(--sky-100);color:var(--steel)}
.est__offer b,.offerchip b,.promo__tag{background:var(--sun);color:var(--ink)}

/* haut de page sombre (accueil et pages communes) */
.hero2{background:linear-gradient(160deg,#1B4AAE 0%,var(--steel) 42%,var(--steel-700) 100%);color:#D2DCF4}
.hero2 h1{color:#fff}
.hero2 h1 em{color:var(--sun);background:none}
.hero2__lead{color:#D2DCF4}
.hero2__lead a{color:#fff}
.hero2__ticks li{color:#EAF0FD}
.hero2__ticks .ico{color:var(--sun)}
.offerchip{background:rgba(255,255,255,.08);border-color:rgba(157,188,250,.8);color:#fff}
.hero2 .btn--steel,.hero2__cta .btn--steel{background:var(--sun);color:var(--steel-800);box-shadow:none}
.hero2 .btn--steel:hover{background:var(--sun-600);color:var(--steel-800)}
.hero2 .btn--line{color:#fff;border-color:rgba(255,255,255,.45)}
.hero2 .btn--line:hover{border-color:#fff;color:#fff}
.hero2 .book .btn--steel{background:var(--steel);color:#fff}
.hero2 .book .btn--steel:hover{background:var(--steel-700);color:#fff}
.hero2__photo{box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
.stats{border-color:rgba(255,255,255,.15)}
.stat b{color:var(--sun)}
.stat span{color:#D2DCF4}
.hero2 .crumbs a,.hero2 .crumbs li{color:#D2DCF4}
.hero2 .crumbs li[aria-current]{color:#fff}
.hero2 .commune-key{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
.hero2 .commune-key div{border-color:rgba(255,255,255,.14)!important}
.hero2 .commune-key b{color:#fff}
.hero2 .commune-key span{color:#D2DCF4}
.hero2 .book{box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
/* réseaux sociaux et badge d'avis (affichés seulement avec de vraies données) */
.socials{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:var(--g4)}
.soc{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:10px;background:rgba(255,255,255,.08);color:#fff!important}
.soc:hover{background:var(--sun);color:var(--ink)!important}
.avisbadge{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;margin-top:var(--g4);padding:.35rem .8rem;border-radius:999px;background:rgba(255,255,255,.1);color:#fff;text-decoration:none;font-size:.95rem}
.avisbadge .ico{width:20px;height:20px;color:var(--sun)}
.avisbadge span{color:#D2DCF4}
/* liens vers les trajets les plus recherchés */
.popular{margin-top:var(--g5)}
.popular__lbl{margin:0 0 .5rem;font-weight:700;font-size:.92rem;color:var(--mute)}
.pop__cond{margin:.6rem 0 0;font-size:.78rem;color:var(--mute);line-height:1.4}

/* plaquette entreprises */
.docnote{margin-top:var(--g3);font-size:.875rem;color:var(--steel-300)}
.sec--ink .phead__act{margin-top:var(--g4)}
.rows--side a{color:var(--steel);font-weight:600;text-decoration:underline;text-underline-offset:3px}
/* liens de commune dans les tableaux : cible de 44 px sans changer la hauteur de ligne */
table th[scope=row] a{display:inline-flex;align-items:center;min-height:44px;margin-block:-12px}

/* v3.1 (22/09) : plus aucun aplat noir. Les surfaces sombres passent au vert anglais,
   textes clairs teintés vert, icônes en or : même langage que le haut de page et la plaquette. */
.sec--ink,.card--ink,.nightband,.cpam2,.proband,.ways__call,.ov__call,.topbar,.pop__cd{background:var(--steel-800);color:#D2DCF4}
.card--ink{border-color:var(--steel-800)}
.card--ink p,.sec--ink .card p{color:#D2DCF4}
.card--ink>.ico,.sec--ink .card>.ico{color:var(--sun)}
.sec--ink .card{background:var(--steel-700);border-color:#254088}
.sec--ink .lum__rows,.sec--ink .lum__row{border-color:#254088}
.cpam2__docs li,.cpam2__card{background:var(--steel-700);border-color:#254088}
.nightband::before{background:linear-gradient(90deg,var(--steel-800) 25%,rgba(8,26,68,.55))}
.foot{background:#06132F;color:#D2DCF4}
.foot__legal{border-top-color:rgba(255,255,255,.12)}
.btn--ink,.iconbtn--ink,.callbar__call{background:var(--steel-800);border-color:var(--steel-800)}
.btn--ink:hover,.iconbtn--ink:hover{background:var(--steel);border-color:var(--steel)}

/* =====================================================================
   v4 (22/09) : vraies photos de la flotte
   Vitrine à onglets sur l'accueil, choix du véhicule en photos sur la réservation.
   ===================================================================== */
.showroom{margin-top:var(--g5)}
.showroom__tabs{display:none}
.showroom.is-js .showroom__tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin-bottom:var(--g3)}
.showroom__tab{display:grid;gap:.15rem;align-content:center;justify-items:start;min-height:58px;padding:.65rem .9rem;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}
.showroom__tab b{font-size:1rem;line-height:1.2}
.showroom__tab span{font-size:.82rem;line-height:1.25;color:var(--mute)}
.showroom__tab:hover{border-color:var(--steel-300)}
.showroom__tab[aria-selected="true"]{background:var(--steel-800);border-color:var(--steel-800);color:#fff}
.showroom__tab[aria-selected="true"] span{color:var(--sun)}
.showroom__tab:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.showroom__panel{display:grid;border-radius:24px;overflow:hidden;background:var(--steel-800);color:#D2DCF4}
.showroom:not(.is-js) .showroom__panel+.showroom__panel{margin-top:var(--g4)}
.showroom__photo{margin:0;aspect-ratio:16/10;background:#06132F;overflow:hidden}
.showroom__photo img{display:block;width:100%;height:100%;object-fit:cover}
.showroom.is-js .showroom__panel:not([hidden]) .showroom__photo img{animation:showin .5s var(--ease) both}
@keyframes showin{from{opacity:0;transform:scale(1.03)}to{opacity:1;transform:none}}
.showroom__info{display:grid;align-content:center;gap:var(--g3);padding:var(--g5)}
.showroom__model{margin:0;color:var(--sun);font-weight:700;font-size:.95rem}
.showroom__info h3{margin:0;color:#fff;font-size:clamp(1.9rem,1.5rem + 1.2vw,2.6rem);line-height:1.05}
.showroom__info p{margin:0}
.showroom__uses{display:grid;gap:.5rem;margin:.25rem 0 .5rem;padding:0;list-style:none}
.showroom__uses li{display:flex;align-items:center;gap:.55rem;color:#EAF0FD}
.showroom__uses .ico{width:20px;height:20px;flex:none;color:var(--sun)}
.showroom__info .btn{justify-self:start}
.showroom__note{margin:var(--g3) 0 0;font-size:.85rem;color:var(--mute)}
@media (min-width:1024px){.showroom__panel{grid-template-columns:1.6fr 1fr}.showroom__photo{aspect-ratio:auto;min-height:440px}.showroom__info{padding:var(--g6)}}
@media (max-width:560px){.showroom__tab{justify-items:center;padding:.55rem .4rem;text-align:center}.showroom__tab span{display:none}.showroom__tab b{font-size:.92rem}}
@media (prefers-reduced-motion:reduce){.showroom.is-js .showroom__panel:not([hidden]) .showroom__photo img{animation:none}}

.vehpick{min-width:0;margin:0;padding:0;border:0}
.vehpick__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem}
.vehpick__opt{position:relative;display:block;cursor:pointer}
.vehpick__opt input{position:absolute;top:0;left:0;width:1px;height:1px;opacity:0}
.vehpick__card{display:grid;align-content:start;gap:.15rem;height:100%;padding:.45rem .45rem .7rem;border:1.5px solid var(--line);border-radius:14px;background:#fff;transition:border-color .2s var(--ease),background .2s var(--ease)}
.vehpick__img{display:grid;place-items:center;margin-bottom:.35rem;aspect-ratio:16/10;border-radius:9px;overflow:hidden;background:var(--sky-50)}
.vehpick__img img{width:100%;height:100%;object-fit:cover}
.vehpick__img--any .ico{width:34px;height:34px;color:var(--steel)}
.vehpick__card b{padding:0 .2rem;font-size:.95rem}
.vehpick__card small{padding:0 .2rem;font-size:.78rem;line-height:1.3;color:var(--mute)}
.vehpick__opt:hover .vehpick__card{border-color:var(--steel-300)}
.vehpick__opt input:checked+.vehpick__card{border-color:var(--steel);background:var(--sky-50)}
.vehpick__opt input:checked+.vehpick__card::after{content:"";position:absolute;top:.85rem;right:.85rem;width:24px;height:24px;border-radius:50%;background:var(--steel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/14px no-repeat;box-shadow:0 0 0 2px #fff}
.vehpick__opt input:focus-visible+.vehpick__card{outline:3px solid var(--sun);outline-offset:2px}
.vehpick__note{margin:.5rem 0 0;font-size:.8rem;color:var(--mute)}
@media (max-width:760px){.vehpick__grid{display:flex;gap:.6rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.4rem;scrollbar-width:thin}.vehpick__opt{flex:0 0 42%;scroll-snap-align:start}}
.media .ph-parc-van{object-position:55% 50%}

/* =====================================================================
   v5 (22/09) : bleu roi + orange vif. Demande de Salim : garder le fond blanc et gris clair,
   un bleu qui marque, et une couleur qui casse pour « les clics ».
   Orange = bouton d'action principal, barre Réserver, puces des labels, focus. Jamais en texte sur fond blanc
   (1,9:1) : texte bleu nuit sur l'orange (6,2:1).
   ===================================================================== */
.btn--steel,.btn--sun,.hero2 .book .btn--steel{background:var(--sun);color:var(--steel-800)}
.btn--steel:hover,.btn--sun:hover,.hero2 .book .btn--steel:hover{background:var(--sun-600);color:var(--steel-800)}
.callbar__book{background:var(--sun);color:var(--steel-800)!important}
.label{color:var(--steel)}
.label.label--light,.why .label.label--light{color:#fff}
.stat b{color:#fff}
.stat b::after{content:"";display:block;width:28px;height:3px;margin-top:.45rem;border-radius:2px;background:var(--sun)}
.hero2 h1 em{color:#fff;background:linear-gradient(transparent 80%,var(--sun) 80%,var(--sun) 92%,transparent 92%)}

/* =====================================================================
   v5.2 (22/09) : deux tons, blanc et bleu. Demande de Salim : fond blanc comme avant,
   le bleu en couleur secondaire. Sur fond blanc, le bouton est bleu à texte blanc (11:1) ;
   sur fond bleu, le bouton est blanc à texte bleu. Plus aucune touche ambre.
   ===================================================================== */
.btn--steel,.btn--sun,.callbar__book{background:var(--steel);color:#fff}
.btn--steel:hover,.btn--sun:hover{background:var(--steel-700);color:#fff}
.callbar__book{color:#fff!important}
.hero2 .btn--steel,.hero2__cta .btn--steel,.hero2 .btn--sun,.sec--ink .btn--steel,.sec--ink .btn--sun,
.why .btn--steel,.why .btn--sun,.nightband .btn--steel,.nightband .btn--sun,.cpam2 .btn--steel,.cpam2 .btn--sun,
.proband .btn--steel,.proband .btn--sun,.ways__call .btn--steel,.callband .btn--steel,.callband .btn--sun,
.showroom__info .btn,.ov__call .btn--steel{background:#fff;color:var(--steel);box-shadow:none}
.hero2 .btn--steel:hover,.hero2__cta .btn--steel:hover,.hero2 .btn--sun:hover,.sec--ink .btn--steel:hover,
.sec--ink .btn--sun:hover,.why .btn--steel:hover,.why .btn--sun:hover,.nightband .btn--steel:hover,
.nightband .btn--sun:hover,.cpam2 .btn--steel:hover,.cpam2 .btn--sun:hover,.proband .btn--steel:hover,
.proband .btn--sun:hover,.ways__call .btn--steel:hover,.callband .btn--steel:hover,.callband .btn--sun:hover,
.showroom__info .btn:hover,.ov__call .btn--steel:hover{background:var(--sky-100);color:var(--steel-700)}
/* la carte de réservation posée sur le haut de page est blanche : son bouton reste bleu */
.hero2 .book .btn--steel{background:var(--steel);color:#fff;box-shadow:none}
.hero2 .book .btn--steel:hover{background:var(--steel-700);color:#fff}
.label::before{background:var(--steel)}
.label.label--light::before,.why .label.label--light::before,.sec--ink .label::before{background:#9DBCFA}
.hero2 h1 em{background:linear-gradient(transparent 80%,#fff 80%,#fff 92%,transparent 92%)}
.stat b::after{background:#9DBCFA}
.promo__tag,.offerchip b{background:#fff;color:var(--steel-800)}
.est__offer b{background:var(--steel);color:#fff}

/* =====================================================================
   v5.3 (22/09) : même logique de couleur que Taxi du Grand Mantois, en bleu.
   Blanc en couleur principale, noir encre pour les grands aplats et les photos,
   bleu vif #1454E8 pour tout ce qui se clique, textes noirs sur blanc et blancs sur foncé.
   ===================================================================== */
.hero2{background:linear-gradient(160deg,#1B2129 0%,#12161D 45%,#0B0E13 100%);color:#C9CFD8}
.hero2 h1 em{color:#7FA7FF;background:none}
.hero2__lead{color:#C9CFD8} .hero2__ticks li{color:#E3E7EC} .hero2__ticks .ico{color:#7FA7FF}
.hero2 .crumbs a,.hero2 .crumbs li,.hero2 .commune-key span,.stat span{color:#C9CFD8}
.hero2 .commune-key,.stats{border-color:rgba(255,255,255,.14)}
.promo{background:var(--steel)} .promo a{color:#fff}
.subnav--ink{background:var(--ink-2);border-bottom-color:var(--ink-3)} .subnav--ink a:hover{background:var(--ink-3)}
.sec--ink,.card--ink,.nightband,.cpam2,.proband,.ways__call,.ov__call,.topbar,.pop__cd,.showroom__panel,.why{background:var(--ink);color:#C9CFD8}
.card--ink{border-color:var(--ink)}
.sec--ink .card,.cpam2__docs li,.cpam2__card{background:var(--ink-2);border-color:var(--ink-3)}
.sec--ink .lum__rows,.sec--ink .lum__row{border-color:var(--ink-3)}
.sec--ink .card p,.card--ink p{color:#C9CFD8}
.nightband::before{background:linear-gradient(90deg,var(--ink) 25%,rgba(14,17,22,.55))}
.callband{background:linear-gradient(120deg,#0B0E13,#171C24 70%);color:#C9CFD8}
.foot{background:var(--ink-2);color:#C9CFD8} .foot__legal{border-top-color:var(--ink-3)}
.showroom__photo{background:#0B0E13}
.showroom__tab[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.showroom__tab[aria-selected="true"] span{color:#7FA7FF}
/* le bleu est la couleur de l'action : bouton bleu à texte blanc partout, fond clair comme fond foncé */
.btn--steel,.btn--sun,.callbar__book,.hero2 .btn--steel,.hero2__cta .btn--steel,.hero2 .btn--sun,.hero2 .book .btn--steel,
.sec--ink .btn--steel,.sec--ink .btn--sun,.why .btn--steel,.why .btn--sun,.nightband .btn--steel,.nightband .btn--sun,
.cpam2 .btn--steel,.cpam2 .btn--sun,.proband .btn--steel,.proband .btn--sun,.ways__call .btn--steel,
.callband .btn--steel,.callband .btn--sun,.showroom__info .btn,.ov__call .btn--steel{background:var(--steel);color:#fff;box-shadow:none}
.btn--steel:hover,.btn--sun:hover,.hero2 .btn--steel:hover,.hero2__cta .btn--steel:hover,.hero2 .btn--sun:hover,
.hero2 .book .btn--steel:hover,.sec--ink .btn--steel:hover,.sec--ink .btn--sun:hover,.why .btn--steel:hover,
.why .btn--sun:hover,.nightband .btn--steel:hover,.nightband .btn--sun:hover,.cpam2 .btn--steel:hover,.cpam2 .btn--sun:hover,
.proband .btn--steel:hover,.proband .btn--sun:hover,.ways__call .btn--steel:hover,.callband .btn--steel:hover,
.callband .btn--sun:hover,.showroom__info .btn:hover,.ov__call .btn--steel:hover{background:var(--steel-700);color:#fff}
.callbar__call{background:var(--ink)}
.btn--ink,.iconbtn--ink{background:var(--ink);border-color:var(--ink)}
.btn--ink:hover,.iconbtn--ink:hover{background:var(--ink-3);border-color:var(--ink-3)}
/* détails sur fond foncé : bleu clair ; sur fond blanc : bleu vif */
.label{color:var(--steel)} .label::before{background:var(--steel)}
.label.label--light,.why .label.label--light,.sec--ink .label{color:#7FA7FF}
.label.label--light::before,.why .label.label--light::before,.sec--ink .label::before{background:#7FA7FF}
.stat b{color:#fff} .stat b::after{background:#7FA7FF}
.why__big span,.nightband__big span,.showroom__model{color:#7FA7FF}
.sec--ink .card>.ico,.card--ink>.ico,.cpam2__docs .ico,.showroom__uses .ico,.avisbadge .ico{color:#7FA7FF}
.offerchip{border-color:rgba(127,167,255,.75)} .offerchip b,.promo__tag{background:#fff;color:var(--ink)}
.est__offer b{background:var(--steel);color:#fff}
.soc{background:rgba(255,255,255,.08)} .soc:hover{background:var(--steel);color:#fff!important}
.phead--pro{background:var(--ink)}
.docnote{color:#9AA3AF}

/* =====================================================================
   v5.4 (22/09) : fond blanc partout. Plus aucun aplat noir ni bleu plein écran.
   Les anciens blocs sombres deviennent des panneaux clairs (blanc, gris très clair, bleu très pâle),
   les textes repassent en noir, et le bleu ne sert plus qu'aux boutons, aux liens et aux détails.
   ===================================================================== */
.hero2{background:linear-gradient(180deg,#fff 0%,var(--sky-50) 100%);color:var(--mute)}
.hero2 h1{color:var(--ink)} .hero2 h1 em{color:var(--steel);background:none}
.hero2__lead{color:var(--mute)} .hero2__lead a{color:var(--steel)}
.hero2__ticks li{color:var(--ink)} .hero2__ticks .ico{color:var(--steel)}
.hero2 .crumbs a,.hero2 .crumbs li{color:var(--mute)} .hero2 .crumbs li[aria-current]{color:var(--ink)}
.hero2 .commune-key{background:#fff;border-color:var(--line)} .hero2 .commune-key b{color:var(--ink)}
.hero2 .commune-key span{color:var(--mute)} .hero2 .commune-key div{border-color:var(--line)!important}
.hero2 .btn--line{color:var(--ink);border-color:var(--line-2)} .hero2 .btn--line:hover{border-color:var(--ink);color:var(--ink)}
.hero2__photo{box-shadow:0 30px 60px -30px rgba(14,17,22,.4)} .hero2 .book{border:1px solid var(--line);box-shadow:0 24px 60px -34px rgba(14,17,22,.45)}
.stats{border-color:var(--line)} .stat b{color:var(--steel)} .stat b::after{background:var(--steel)} .stat span{color:var(--mute)}
.offerchip{background:var(--sky-100);border-color:var(--steel);color:var(--ink)} .offerchip b{background:var(--steel);color:#fff}
.sec--ink,.nightband,.showroom__panel,.foot,.topbar,.phead--pro{background:var(--sky-50);color:var(--mute)}
.why,.cpam2,.proband,.ways__call,.callband,.pop__cd,.ov__call{background:var(--sky-100);color:var(--mute)}
.sec--ink h2,.sec--ink h3,.why h2,.why h3,.cpam2 h2,.nightband h2,.proband h3,.ways__call h3,.callband h2,.foot h2,
.showroom__info h3,.phead--pro h1,.card--ink h3{color:var(--ink)}
.sec--ink .card,.cpam2__docs li,.cpam2__card,.card--ink{background:#fff;border-color:var(--line);color:var(--mute)}
.sec--ink .card p,.card--ink p,.why p,.why__list p,.cpam2 p,.showroom__info p,.nightband p,.proband p{color:var(--mute)}
.sec--ink .lum__rows,.sec--ink .lum__row{border-color:var(--line)}
.sec--ink .card>.ico,.card--ink>.ico,.cpam2__docs .ico,.showroom__uses .ico,.avisbadge .ico,.hero2 .ico{color:var(--steel)}
.showroom__uses li,.cpam2__docs b,.why__list b{color:var(--ink)}
.label,.label.label--light,.why .label.label--light,.sec--ink .label{color:var(--steel)}
.label::before,.label.label--light::before,.why .label.label--light::before,.sec--ink .label::before{background:var(--steel)}
.why__big span,.nightband__big span,.showroom__model{color:var(--steel)}
.why__big,.nightband__big{color:var(--ink)}
.nightband__bg{opacity:.14} .nightband::before{background:linear-gradient(90deg,rgba(244,247,255,.94) 30%,rgba(244,247,255,.7))}
.showroom__panel{border:1px solid var(--line)} .showroom__photo{background:var(--sky-100)}
.showroom__tab[aria-selected="true"]{background:var(--steel);border-color:var(--steel);color:#fff}
.showroom__tab[aria-selected="true"] span{color:#D7E2FF}
.callband .bignum{color:var(--ink)} .callband .bignum:hover{color:var(--steel)} .skyline{color:rgba(20,84,232,.10)}
.foot a{color:var(--mute)} .foot a:hover{color:var(--steel)} .foot__tel{color:var(--ink)!important}
.foot__legal{border-top-color:var(--line)} .foot__brand svg{height:40px}
.foot__badge{background:#fff;border:1px solid var(--line)}
.subnav--ink{background:#fff;border-bottom-color:var(--line)} .subnav--ink a{color:var(--ink)} .subnav--ink a:hover{background:var(--sky-100);color:var(--steel)}
.phead--pro .phead__lead{color:var(--mute)} .phead--pro .btn--ghost-light{color:var(--ink);border-color:var(--line-2)}
.phead--pro .btn--ghost-light:hover{border-color:var(--ink);color:var(--ink)}
.btn--ink,.iconbtn--ink,.callbar__call{background:var(--steel);border-color:var(--steel);color:#fff!important}
.btn--ink:hover,.iconbtn--ink:hover{background:var(--steel-700);border-color:var(--steel-700)}
.callbar__call{background:#fff;color:var(--ink)!important;border-right:1px solid var(--line)}
.callbar__book{background:var(--steel);color:#fff!important}
.lum__sign{background:var(--steel)} .lum__key{background:var(--steel-700)} .lum__l{background:rgba(255,255,255,.18);color:#fff}
.soc{background:var(--sky-100);color:var(--steel)!important} .soc:hover{background:var(--steel);color:#fff!important}
.avisbadge{background:var(--sky-100);color:var(--ink)} .avisbadge span{color:var(--mute)}
.ov__call{color:var(--mute)} .ov__call a.num{color:var(--ink)}
.docnote{color:var(--mute)}
.showroom__note,.vehpick__note{color:var(--mute)}
/* les boutons à contour clair étaient faits pour les aplats sombres : sur fond clair, contour et texte foncés */
.btn--ghost-light,.callband .btn--ghost-light,.proband .btn--ghost-light{background:transparent;border-color:var(--line-2);color:var(--ink)}
.btn--ghost-light:hover,.callband .btn--ghost-light:hover,.proband .btn--ghost-light:hover{border-color:var(--ink);color:var(--ink);background:transparent}
.btn--light{background:#fff;border-color:var(--line);color:var(--ink)}
.btn--light:hover{background:var(--sky-100);color:var(--steel-700)}
.phead--pro .crumbs a,.phead--pro .crumbs li{color:var(--mute)}
.phead--pro .crumbs li[aria-current]{color:var(--ink)}
/* liste du contrat : elle vivait sur un aplat sombre */
.contract{border-top-color:var(--line)} .contract li{border-bottom-color:var(--line)}
.contract .ico{color:var(--steel)} .contract b{color:var(--ink)} .contract p{color:var(--mute)}
/* blocs « pourquoi » et « 24/7 » : ils étaient posés sur du sombre */
.why__list li,.why__list li:first-child{border-color:var(--line)}
.why__list .ico{background:var(--sky-100);color:var(--steel)}
.why__list b{color:var(--ink)}
.why__big,.nightband__big{color:var(--ink)}
.nightband h2,.nightband p{color:var(--ink)} .nightband p{color:var(--mute)}
.nightband p.nightband__big,.why p.why__big,.cpam2 p.why__big{color:var(--ink)}


/* =====================================================================
   v6.1 (22/09) : haut de page plein écran.
   Texte aligné à gauche sur une seule colonne, photo du taxi pleine hauteur à droite
   jusqu'au bord de l'écran, barre de réservation posée en bas du premier écran.
   ===================================================================== */
.heroF{position:relative;display:grid;align-content:center;padding-block:var(--g6);background:#fff}
.heroF__media{position:relative;margin:0 0 var(--g5);height:30svh;min-height:220px}
.heroF__media img{width:100%;height:100%;object-fit:cover;object-position:50% 46%}
.heroF__in{display:grid;gap:var(--g6);position:relative;z-index:2}
.heroF__txt{display:grid;justify-items:start;gap:0}
.heroF__txt>*{margin:0}
.live{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:var(--g4);padding:.32rem .75rem .32rem .6rem;border:1px solid var(--line);border-radius:999px;font-size:.85rem;font-weight:700;color:var(--ink);background:#fff}
.live .ico{width:18px;height:18px;color:var(--steel)}
.live::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--steel);animation:pulse 2.4s var(--ease) infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(20,84,232,.45)}70%{box-shadow:0 0 0 9px rgba(20,84,232,0)}100%{box-shadow:0 0 0 0 rgba(20,84,232,0)}}
@media (prefers-reduced-motion:reduce){.live::after{animation:none}}
.heroF h1{margin-bottom:var(--g4);font-size:clamp(2.35rem,1.45rem + 3.3vw,4rem);line-height:1.02;letter-spacing:-.03em;color:var(--ink);max-width:14ch}
.heroF h1 em{font-style:normal;color:var(--steel)}
.heroF__lead{margin-bottom:var(--g5);max-width:52ch;font-size:clamp(1rem,.97rem + .2vw,1.1rem);color:var(--mute)}
.heroF__lead a{color:var(--steel);font-weight:700}
.heroF__cta{display:flex;flex-wrap:wrap;gap:var(--g3)}
.heroF .offerchip{margin-top:var(--g4)}
.heroF .avisbadge{margin-top:var(--g4)}
.heroF__ticks{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;margin-top:var(--g4);padding:0;list-style:none;font-size:.92rem;color:var(--ink)}
.heroF__ticks li{display:inline-flex;align-items:center;gap:.45rem}
.heroF__ticks .ico{width:18px;height:18px;color:var(--steel)}
.heroF__book{position:relative;z-index:3}
@media (min-width:1024px){
  .heroF{padding-block:var(--g7)}
  .heroF__media{position:absolute;inset:0 0 0 52%;margin:0;height:auto;min-height:0}
  .heroF__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0,rgba(255,255,255,0) 14%)}
  .heroF__in{grid-template-rows:1fr auto;gap:var(--g6)}
  .heroF__txt{align-content:center;max-width:min(52%,620px)}
  .heroF__book{width:100%}
}
@media (min-width:1280px){.heroF__txt{max-width:600px}}
/* plein écran seulement si l'écran est assez haut : sinon le contenu prime et rien n'est coupé */
@media (min-width:1024px) and (min-height:840px){
  .heroF{min-height:calc(100svh - var(--hdr))}
  .heroF__in{min-height:calc(100svh - var(--hdr) - var(--g7)*2)}
}

/* ---------- avis clients ---------- */
.avis{display:grid;gap:var(--g5);justify-items:start}
.avis__note{display:inline-flex;align-items:center;gap:.6rem;padding:.55rem .9rem;border:1px solid var(--line);border-radius:999px;background:#fff;text-decoration:none;color:var(--ink);font-size:1rem}
.avis__note b{font-size:1.35rem}
.avis__note span{color:var(--mute);font-size:.92rem}
.avis__stars{display:inline-flex;gap:.1rem;color:var(--steel)}
.avis__stars .ico{width:18px;height:18px}
.avis__grid{display:grid;gap:var(--g4);width:100%}
@media (min-width:860px){.avis__grid{grid-template-columns:repeat(3,1fr)}}
.avis__card{display:grid;gap:var(--g3);margin:0;padding:var(--g5);border:1px solid var(--line);border-radius:var(--r2);background:#fff}
.avis__card blockquote{margin:0;font-size:1.02rem;line-height:1.55;color:var(--ink)}
.avis__card figcaption{display:flex;flex-wrap:wrap;gap:.2rem .6rem;align-items:baseline;color:var(--mute);font-size:.9rem}
.avis__card figcaption b{color:var(--ink)}
.avis__vide{max-width:62ch;margin:0;color:var(--mute)}
.avis__foot{display:flex;flex-wrap:wrap;gap:var(--g3);margin:0}
.avis--vide{gap:var(--g4)}

/* =====================================================================
   v7 (23/09) : du mouvement sur mobile et moins de vide.
   Sur téléphone, les séries de cartes deviennent des rails que l'on fait glisser du doigt,
   les blocs apparaissent en cascade et les photos se resserrent légèrement au défilement.
   ===================================================================== */
.u:nth-child(2){transition-delay:.06s}
.u:nth-child(3){transition-delay:.12s}
.u:nth-child(4){transition-delay:.18s}
.u:nth-child(5){transition-delay:.24s}
@media (max-width:760px){
  :root{--sec:clamp(2.6rem,2.1rem + 2.4vw,3.4rem)}
  .u{transform:translateY(20px)}
  .svc,.gallery,.stats,.path--h,.avis__grid,.compare{display:flex;gap:var(--g3);overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--gut) .7rem;margin-inline:calc(var(--gut)*-1);scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .svc::-webkit-scrollbar,.gallery::-webkit-scrollbar,.stats::-webkit-scrollbar,.path--h::-webkit-scrollbar,.avis__grid::-webkit-scrollbar,.compare::-webkit-scrollbar{display:none}
  .svc>*,.gallery>*,.path--h>*,.avis__grid>*,.compare>*{flex:0 0 84%;scroll-snap-align:start}
  .stats>*{flex:0 0 62%;scroll-snap-align:start}
  .gallery>figure{height:230px}
  .gallery>figure img{height:100%}
  .nightband__in{padding-block:var(--g6)}
  .sec__head{margin-bottom:var(--g5)}
  .hero3__ticks,.heroF__ticks{gap:.35rem .9rem}
}
/* photos qui se resserrent pendant le défilement (là où le navigateur sait le faire, sans JS) */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion:no-preference){
    .media img,.svc__card>img,.gallery img,.avis img,.proband__img img{animation:serrer linear both;animation-timeline:view();animation-range:entry 0% cover 55%}
    @keyframes serrer{from{transform:scale(1.07)}to{transform:scale(1)}}
  }
}
.avis--vide{width:100%;padding:var(--g6);border:1px solid var(--line);border-radius:var(--r2);background:#fff}
@media (min-width:860px){.avis--vide{display:grid;grid-template-columns:1fr auto;gap:var(--g5);align-items:center}.avis--vide .avis__foot{justify-content:flex-end}}
.avis__stars .ico{fill:currentColor}

/* =====================================================================
   v8 (23/09) : moins de défilement sur téléphone.
   Accès rapide sous le haut de page, frise des distances en rail, photos moins hautes,
   options de réservation repliées, bouton de retour en haut.
   ===================================================================== */
.jump{display:none}
.totop{display:none}
@media (max-width:760px){
  .jump{display:block;position:sticky;top:var(--hdr);z-index:40;background:#fff;border-bottom:1px solid var(--line)}
  .jump__in{display:flex;gap:.5rem;align-items:center;overflow-x:auto;padding-block:.6rem;scrollbar-width:none;scroll-snap-type:x proximity}
  .jump__in::-webkit-scrollbar{display:none}
  .jump__lbl{flex:none;font-size:.8rem;font-weight:700;color:var(--mute)}
  .jump a{flex:none;display:inline-flex;align-items:center;gap:.35rem;min-height:44px;padding:.35rem .7rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:.88rem;font-weight:700;text-decoration:none;scroll-snap-align:start}
  .jump a .ico{width:16px;height:16px;color:var(--steel)}
  .jump a:active{background:var(--sky-100)}

  /* photos moins hautes : on garde le sujet, on rend la page deux fois plus courte */
  .media--43,.media--54,.media--32{aspect-ratio:16/10}
  .heroF__media{height:26svh;min-height:190px}
  .showroom__photo{aspect-ratio:16/10}
  .proband__img{min-height:150px}

  /* frise des distances : elle devient un rail que l'on fait glisser */
  .line{display:flex;gap:.6rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--gut) .7rem;margin-inline:calc(var(--gut)*-1);scrollbar-width:none}
  .line::-webkit-scrollbar{display:none}
  .line::before{display:none}
  .line__stop{flex:0 0 46%;scroll-snap-align:start}
  .line__btn{display:grid;gap:.15rem;width:100%;height:100%;padding:.7rem .8rem;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left}
  .line__pt{display:none}
  .line__data{display:flex;gap:.45rem;align-items:baseline}
  .line__km{font-weight:800}
  .line__min{color:var(--mute);font-size:.88rem}
  .line__name{display:grid;font-weight:700;font-size:.95rem;line-height:1.2}
  .line__sub{font-weight:500;font-size:.82rem;color:var(--mute)}
  .line__stop--base .line__btn{background:var(--sky-100);border-color:var(--sky)}

  /* bouton de retour en haut, discret, une fois que l'on a déroulé deux écrans */
  .totop{display:grid;place-items:center;position:fixed;right:12px;bottom:calc(56px + 12px);z-index:65;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);box-shadow:0 10px 24px -12px rgba(14,17,22,.45);transition:opacity .25s var(--ease),transform .25s var(--ease)}
  .totop[hidden]{display:none}
  .totop .ico{width:22px;height:22px;transform:rotate(180deg)}
}
@media (max-width:760px){
  .book__opts{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-height:46px;padding:.6rem .9rem;border:1px solid var(--line);border-radius:var(--r);background:#fff;color:var(--ink);font:700 .95rem/1.2 var(--font);text-align:left}
  .book__opts::after{content:"";width:9px;height:9px;border-right:2px solid var(--steel);border-bottom:2px solid var(--steel);transform:rotate(45deg) translateY(-2px);transition:transform .2s var(--ease)}
  .book__opts[aria-expanded="true"]::after{transform:rotate(-135deg) translateY(-2px)}
}
.book__opts[hidden]{display:none}
@media (max-width:760px){
  :root{--sec:clamp(2.2rem,1.9rem + 1.8vw,2.9rem)}
  /* listes longues : en rail, comme les cartes. On lit une fiche à la fois au lieu de tout dérouler. */
  .rows,.cards,.cpam2__docs,.contract,.ticks{display:flex;gap:.6rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 .7rem;margin-inline:0;scrollbar-width:none;border:0}
  /* le rail ne déborde de la colonne que s'il est posé directement dans la largeur de page */
  .wrap>.rows,.wrap>.cards,.wrap>.cpam2__docs,.wrap>.contract,.wrap>.ticks{padding-inline:var(--gut);margin-inline:calc(var(--gut)*-1)}
  .rows::-webkit-scrollbar,.cards::-webkit-scrollbar,.cpam2__docs::-webkit-scrollbar,.contract::-webkit-scrollbar,.ticks::-webkit-scrollbar{display:none}
  .rows>li,.cards>*,.cpam2__docs>li,.contract>li,.ticks>li{flex:0 0 84%;scroll-snap-align:start;margin:0;padding:.85rem .95rem;border:1px solid var(--line);border-radius:14px;background:#fff}
  .contract>li{grid-template-columns:32px 1fr}
  .rows>li{display:grid;grid-template-columns:28px 1fr;gap:.2rem .7rem}
  .ticks>li{display:flex;gap:.5rem;align-items:flex-start}
  .cpam2__docs{margin:var(--g4) 0}
  /* destinations fréquentes : une seule ligne qui glisse */
  .quick{display:flex;flex-wrap:nowrap;align-items:center;gap:.5rem;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:.4rem;margin-inline:calc(var(--gut)*-1);padding-inline:var(--gut);scrollbar-width:none}
  .quick::-webkit-scrollbar{display:none}
  .quick__lbl{flex:none}
  .quick__chip{flex:none;scroll-snap-align:start}
  /* carte du secteur et illustrations : plus basses */
  .secteur-fig,.zones-map,#zones-map{max-height:240px}
  .sec__head .lead{font-size:.98rem}
}
.fold[hidden]{display:none}
@media (max-width:760px){
  .fold{display:flex;align-items:center;justify-content:space-between;gap:.6rem;width:calc(100% - var(--gut)*2);margin:0 var(--gut);min-height:56px;padding:.9rem 1rem;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font:800 1.02rem/1.2 var(--font);text-align:left}
  .fold::after{content:"";flex:none;width:10px;height:10px;border-right:2.4px solid var(--steel);border-bottom:2.4px solid var(--steel);transform:rotate(45deg) translateY(-2px);transition:transform .2s var(--ease)}
  .fold[aria-expanded="true"]::after{transform:rotate(-135deg) translateY(-2px)}
  .is-foldable{padding-block:.5rem}
  .is-foldable .fold+*{padding-top:var(--g4)}
}
@media (max-width:760px){
  /* un rail ne doit jamais élargir sa colonne : on borne les conteneurs */
  .wrap>*,.split>*,.resa>*,.faq-grid>*,.panel>*,form.form>*,.sec>*{min-width:0}
  .rows,.cards,.cpam2__docs,.contract,.ticks,.svc,.gallery,.stats,.path--h,.avis__grid,.compare,.quick,.line{min-width:0;max-width:100%}
}

/* =====================================================================
   v8.1 (23/09) : haut de page revu pour le téléphone.
   La photo respire, le message tient en deux lignes, et on ne répète plus les actions :
   la barre Appeler / Réserver est déjà collée en bas de l'écran.
   ===================================================================== */
@media (max-width:760px){
  .heroF{padding-block:0 var(--g5)}
  .heroF__media{height:38svh;min-height:280px;margin-bottom:var(--g4);border-radius:0 0 20px 20px;overflow:hidden}
  .heroF__media img{object-position:50% 42%}
  .heroF__in{gap:var(--g4)}
  .heroF__txt{gap:0}
  .live{margin-bottom:var(--g3);padding:.28rem .7rem .28rem .55rem;font-size:.8rem}
  .heroF h1{margin-bottom:var(--g3);font-size:clamp(2.1rem,1.5rem + 3.4vw,2.6rem);max-width:none}
  .heroF__lead{margin-bottom:var(--g4);font-size:1rem}
  .heroF__plus{display:none}          /* phrase reprise plus bas dans « Ce qui ne s'automatise pas » */
  .heroF__cta{display:none}           /* déjà présent en bas de l'écran, en permanence */
  .heroF__ticks{gap:.45rem;margin-top:0;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.4rem;scrollbar-width:none}
  .heroF__ticks::-webkit-scrollbar{display:none}
  .heroF__ticks li{flex:none;padding:.3rem .7rem;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.85rem;font-weight:700}
  .book--card,.book--bar{padding:var(--g4)}
  .book__head{gap:.1rem}
  .book__title{font-size:1.15rem}
}
/* petits téléphones (écran court) : la photo laisse la place au message et au formulaire */
@media (max-width:760px) and (max-height:740px){
  .heroF__media{height:30svh;min-height:200px}
  .heroF h1{font-size:clamp(1.95rem,1.4rem + 3.2vw,2.35rem)}
  .live{margin-bottom:.5rem}
}

.heroF__media .ph-taxi-rue{object-position:50% 72%}
@media (max-width:760px){.heroF__media .ph-taxi-rue{object-position:50% 78%}}

/* =====================================================================
   v9.1 (24/09) : le haut de page montre plusieurs véhicules.
   Une grande photo de taxi et deux vignettes (van, électrique) : on comprend d'un coup d'œil
   qu'il y a plusieurs types de véhicules, sans prétendre montrer un parc qui n'existe pas.
   ===================================================================== */
.heroF__media--mosaic{display:grid;gap:6px;background:#fff}
.heroF__tile{position:relative;margin:0;overflow:hidden;background:var(--sky-100)}
.heroF__tile img{width:100%;height:100%;object-fit:cover}
.heroF__tile--big{grid-row:span 2}
.heroF__media .ph-flotte-van{object-position:72% 50%}
.heroF__media .ph-flotte-electrique{object-position:50% 55%}
@media (max-width:1023px){
  .heroF__media--mosaic{grid-template-columns:1fr 1fr;grid-template-rows:1.35fr 1fr;height:38svh;min-height:280px;border-radius:0 0 20px 20px;overflow:hidden}
  .heroF__tile--big{grid-column:1/-1;grid-row:auto}
}
@media (max-width:760px) and (max-height:740px){.heroF__media--mosaic{height:32svh;min-height:230px}}
@media (min-width:1024px){
  .heroF__media--mosaic{grid-template-columns:1.6fr 1fr;grid-template-rows:1fr 1fr}
  .heroF__tile--big{grid-row:1/-1}
}
/* petites étiquettes dans les cartes de service : le bas de carte n'est plus vide */
.svc__chips{display:flex;flex-wrap:wrap;gap:.35rem;margin:.65rem 0 0}
.svc__chips span{padding:.22rem .6rem;border-radius:999px;background:var(--sky-100);color:var(--steel-700);font-size:.78rem;font-weight:700}
.svc__big .svc__chips span{background:rgba(255,255,255,.18);color:#fff}
/* pictogramme de la carte des avis, tant qu'il n'y a pas encore d'avis réels */
.avis__ico{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--sky-100);color:var(--steel)}
.avis__ico .ico{width:26px;height:26px;fill:currentColor}
@media (min-width:860px){.avis--vide{grid-template-columns:auto 1fr auto}}
/* le nom de la ville ne se coupe plus en fin de ligne */
.heroF h1 em{white-space:nowrap}

/* =====================================================================
   v10.1 (28/09) : haut de page « quai de Seine », formulaire dans le premier écran.
   Les quatre taxis alignés en plein jour, lumineux sur le toit.
   Téléphone et tablette : titre sur fond blanc, bande photo, formulaire posé à cheval sur la photo,
   puis l'accroche et les garanties. Ordinateur : photo pleine largeur ancrée en bas, texte centré
   sur le ciel fondu dans le blanc, barre de réservation juste sous le titre, voitures en dessous.
   ===================================================================== */
.heroF__media--scene{background:var(--sky-100)}
.heroF__media--scene picture{display:contents}
.heroF__media--scene img{width:100%;height:100%;object-fit:cover;object-position:50% 70%}
.heroF__tel{white-space:nowrap}
@media (max-width:1023px){
  /* on remet les éléments dans l'ordre d'usage : message, photo, formulaire, détails */
  .heroF--scene{display:flex;flex-direction:column;padding:var(--g4) 0 var(--g5)}
  .heroF--scene .heroF__in,.heroF--scene .heroF__txt{display:contents}
  .heroF--scene .heroF__txt>*,.heroF--scene .heroF__book{margin-inline:var(--gut)}
  .heroF--scene .label{order:1;margin-bottom:.3rem}
  .heroF--scene .live{display:none}
  .heroF--scene h1{order:2;margin-bottom:var(--g4)}
  .heroF--scene .heroF__media{order:3;position:relative;inset:auto;height:clamp(200px,31svh,300px);min-height:0;margin:0;border-radius:0}
  .heroF--scene .heroF__book{order:4;position:relative;z-index:3;margin-top:-54px}
  .heroF--scene .heroF__lead{order:5;margin-top:var(--g5);margin-bottom:var(--g3)}
  .heroF--scene .avisbadge{order:6}
  .heroF--scene .heroF__ticks{order:7}
  .heroF--scene .heroF__cta{display:none}
  .heroF--scene .heroF__plus{display:none}
  /* formulaire compact : pas d'étiquettes visibles (pictos + textes d'exemple), elles restent lues par les lecteurs d'écran */
  .heroF--scene .book{gap:var(--g3);padding:var(--g4);box-shadow:0 22px 48px -22px rgba(14,17,22,.4)}
  .heroF--scene .book__head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;flex-wrap:wrap}
  .heroF--scene .book__title{font-size:1.1rem}
  .heroF--scene .book__sub{margin:0;font-size:.82rem;color:var(--mute)}
  .heroF--scene .field--route>label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .heroF--scene .route{gap:.5rem}
  .heroF--scene .route::before{display:none}
  .heroF--scene .route__swap{top:50%;margin-top:-22px}
  .heroF--scene .quick{margin-top:.1rem}
  .heroF--scene .quick__lbl{display:none}
}
@media (max-width:760px){
  .heroF--scene h1{font-size:clamp(1.9rem,1.35rem + 2.8vw,2.3rem)}
}
/* écrans courts (petits Android, Safari avec ses barres) : le bouton Réserver reste dans le premier écran */
@media (max-width:760px) and (max-height:760px){
  .heroF--scene .heroF__media{height:clamp(170px,25svh,210px)}
  .heroF--scene h1{font-size:1.85rem}
  .heroF--scene .book__sub{display:none}
}
@media (min-width:761px) and (max-width:1023px){
  .heroF--scene .heroF__media{height:clamp(280px,32svh,360px)}
  .heroF--scene .heroF__media img{object-position:50% 62%}
  .heroF--scene .book{margin-inline:auto;width:min(100%,640px)}
  .heroF--scene .heroF__book{margin-inline:var(--gut)}
}
@media (min-width:1024px){
  .heroF--scene{--scene-lift:calc(20px - 17.33vw);min-height:0;align-content:start;padding-block:var(--g5) 0}
  .heroF--scene .heroF__media{inset:0;overflow:hidden;background:#fff}
  .heroF--scene .heroF__media img{position:absolute;left:0;bottom:var(--scene-lift);width:100%;height:auto;min-height:calc(100% - var(--scene-lift));object-fit:cover;object-position:50% 100%}
  .heroF--scene .heroF__media::after{background:linear-gradient(180deg,#fff 0,rgba(255,255,255,.92) 20%,rgba(255,255,255,.7) 34%,rgba(255,255,255,0) 50%)}
  .heroF--scene .heroF__in{min-height:0;grid-template-rows:auto;gap:0}
  /* mention de rattachement et disponibilité sur une seule ligne, puis le reste centré */
  .heroF--scene .heroF__txt{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 var(--g4);max-width:none;text-align:center}
  .heroF--scene .heroF__txt>*:not(.label):not(.live){flex-basis:100%}
  .heroF--scene .label,.heroF--scene .live{margin-bottom:var(--g4)}
  .heroF--scene h1{max-width:30ch;margin:0 auto var(--g3);font-size:clamp(2.6rem,1.6rem + 2.4vw,3.6rem);text-wrap:balance}
  .heroF--scene .heroF__lead{max-width:none;margin:0 auto;color:var(--ink-3)}
  .heroF--scene .heroF__plus,.heroF--scene .heroF__cta,.heroF--scene .heroF__ticks{display:none}
  /* la barre juste sous le titre ; en dessous, la hauteur des voitures (proportionnelle à la largeur) */
  .heroF--scene .heroF__book{margin:var(--g5) 0 calc(18.7vw + 36px)}
  .heroF--scene .book--bar{margin-top:0;padding:var(--g4) var(--g5) var(--g3);box-shadow:0 18px 50px rgba(14,17,22,.16)}
  .heroF--scene .book--bar .quick__chip{min-height:36px;padding-block:.2rem}
}
/* rails sur téléphone : l'accroche respecte la marge de page (sinon la première carte colle au bord gauche),
   et un rail posé directement dans .wrap va d'un bord de l'écran à l'autre (il était coupé 16 px avant le bord droit) */
@media (max-width:760px){
  .svc,.gallery,.stats,.path--h,.avis__grid,.compare,.rows,.cards,.cpam2__docs,.contract,.ticks,.quick,.line{scroll-padding-inline:var(--gut)}
  .wrap>.svc,.wrap>.gallery,.wrap>.stats,.wrap>.path--h,.wrap>.avis__grid,.wrap>.compare,.wrap>.rows,.wrap>.cards,.wrap>.cpam2__docs,.wrap>.contract,.wrap>.ticks{width:calc(100% + var(--gut)*2);max-width:none}
}
/* compte à rebours du pop-up : le bloc est passé en bleu pâle en v5.4, les chiffres étaient restés blancs (contraste 1,15) */
.pop__cd b{color:var(--ink)}
.pop__cd span{color:var(--ink-3)}
/* bandeau de consentement plus compact sur téléphone : le formulaire du haut de page reste visible */
@media (max-width:760px){
  .cookie{left:10px;right:10px;padding:.75rem .85rem;gap:.55rem}
  .cookie p{font-size:.84rem;line-height:1.4}
  .cookie__act{flex-wrap:nowrap}
  .cookie__act .btn{flex:1 1 0;min-height:44px;padding-block:.4rem}
}
