/* Taxi Mouscron Centre — design « Mix ». */
@font-face{font-family:"Exo 2";src:url(/fonts/exo2.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Open Sans";src:url(/fonts/opensans.woff2) format("woff2");font-weight:300 800;font-display:swap}
@font-face{font-family:"Share Tech Mono";src:url(/fonts/sharetechmono.woff2) format("woff2");font-weight:400;font-display:swap}

:root{
  --noir:#0B0B0B;--anthracite:#1C1C1C;--gris:#F2F2F2;--gris-texte:#4A4A4A;--blanc:#FFFFFF;
  --rouge:#FC2E11;--rouge-sur-blanc:#D41F0A;--rouge-sur-noir:#FC2E11;--rouge-fonce:#A81806;
  --wa:#25D366;--wa-fonce:#1EBE5A;--wa-texte:#0B0B0B;--rayon:20px;--max:1180px;
  --titre:"Exo 2",system-ui,sans-serif;--texte:"Open Sans",system-ui,sans-serif;--mono:"Share Tech Mono",ui-monospace,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--texte);font-size:1.0625rem;line-height:1.65;color:var(--noir);background:var(--blanc)}
img{max-width:100%;height:auto;display:block}
a{color:var(--rouge-sur-blanc);text-underline-offset:3px}
a:hover{color:var(--rouge-fonce)}
h1,h2,h3{font-family:var(--titre);text-transform:uppercase;line-height:1.1;letter-spacing:.01em;margin:0 0 .6em}
h1{font-size:clamp(2.1rem,6.5vw,4rem);font-weight:800}
h2{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800}
h3{font-size:1.2rem;font-weight:700}
p{margin:0 0 1em}
.conteneur{width:100%;max-width:var(--max);margin:0 auto;padding:0 20px}
.saut{position:absolute;left:-9999px;top:0;background:var(--blanc);color:var(--noir);padding:12px 16px;z-index:100}
.saut:focus{left:12px;top:12px}
:focus-visible{outline:3px solid var(--rouge-sur-noir);outline-offset:3px}
.sombre :focus-visible{outline-color:var(--blanc)}

/* ---------- En-tête ---------- */
.entete{background:var(--noir);color:var(--blanc);position:sticky;top:0;z-index:50;border-bottom:1px solid #222}
.entete .conteneur{display:flex;align-items:center;gap:16px;min-height:72px}
.entete .logo{display:flex;align-items:center;flex:0 0 auto}
.entete .logo img{height:46px;width:auto;object-fit:contain}
.menu-bouton{margin-left:auto;background:none;border:2px solid #444;color:var(--blanc);border-radius:12px;min-height:44px;min-width:44px;padding:0 14px;font:700 .95rem var(--titre);text-transform:uppercase;cursor:pointer}
.nav{display:none;width:100%}
.nav ul{list-style:none;margin:0;padding:0}
.nav a{display:flex;align-items:center;min-height:48px;color:var(--blanc);text-decoration:none;font:700 1rem var(--titre);text-transform:uppercase;letter-spacing:.04em;padding:0 4px}
.nav a:hover,.nav a[aria-current="page"]{color:var(--rouge-sur-noir)}
.entete.ouvert .conteneur{flex-wrap:wrap}
.entete.ouvert .nav{display:block;padding-bottom:12px}
.no-js .nav{display:block}
.no-js .menu-bouton{display:none}
.no-js .entete .conteneur{flex-wrap:wrap}
.tel-entete{display:none}
@media (min-width:960px){
  .menu-bouton{display:none}
  .nav,.no-js .nav{display:block;width:auto;margin-left:auto}
  .nav ul{display:flex;gap:22px}
  .nav a{font-size:.95rem}
  .tel-entete{display:inline-flex}
  .no-js .entete .conteneur{flex-wrap:nowrap}
}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;font:800 1rem var(--titre);text-transform:uppercase;letter-spacing:.04em;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.btn-rouge{background:var(--rouge-sur-blanc);color:var(--blanc)}
.btn-rouge:hover{background:var(--rouge-fonce);color:var(--blanc)}
.btn-contour{border-color:var(--blanc);color:var(--blanc);background:transparent}
.btn-contour:hover{background:var(--blanc);color:var(--noir)}
.btn-noir{background:var(--noir);color:var(--blanc)}
.btn-noir:hover{background:var(--anthracite);color:var(--blanc)}
.btn-blanc{background:var(--blanc);color:var(--noir)}
.btn-blanc:hover{background:var(--gris);color:var(--noir)}
.btn-whatsapp{background:var(--wa);color:var(--wa-texte);border-color:var(--wa);animation:wa-sonne 2.6s ease-out 3}
.btn-whatsapp:hover{background:var(--wa-fonce);border-color:var(--wa-fonce);color:var(--wa-texte)}
.btn-whatsapp:focus-visible{outline:3px solid var(--blanc);outline-offset:3px;box-shadow:0 0 0 6px var(--noir)}
/* Bouton WhatsApp : vert WhatsApp (#25D366), texte noir (contraste 10:1), légère pulsation « qui sonne » : trois fois puis arrêt */
@keyframes wa-sonne{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}70%{box-shadow:0 0 0 14px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
/* Gros bouton téléphone central : texte + numéro */
.btn-xl{min-height:76px;padding:10px 34px;gap:14px;text-align:left}
.btn.btn-xl svg{width:30px;height:30px}
.btn-lignes{display:flex;flex-direction:column;line-height:1.15}
.btn-ligne1{font-size:1rem;letter-spacing:.06em}
.btn-numero{font-size:clamp(1.45rem,5.5vw,1.9rem);letter-spacing:.03em;white-space:nowrap}
.boutons .btn-contour,.boutons .btn-noir,.boutons .btn-whatsapp{min-height:60px}
@media (max-width:520px){.boutons .btn{width:100%}}
.btn svg{width:20px;height:20px;flex:0 0 auto}
.tel-entete{min-height:46px;padding:0 18px;font-size:.95rem}
.boutons{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}

/* ---------- Zones sombres ---------- */
.sombre{background:var(--noir);color:var(--blanc)}
.sombre a:not(.btn){color:var(--rouge-sur-noir)}
.sombre .rouge{color:var(--rouge-sur-noir)}
.rouge{color:var(--rouge-sur-blanc)}
.hero{padding:44px 0 36px}
.hero .grille{display:grid;gap:32px;align-items:center}
.hero .sous-titre{font-size:1.15rem;color:#E6E6E6;max-width:36em}
.slogan{display:inline-block;margin:0 0 14px;padding:8px 18px;border-radius:999px;background:var(--rouge-sur-blanc);color:var(--blanc);font:800 clamp(1.25rem,3.6vw,1.7rem)/1.2 var(--titre);text-transform:uppercase;letter-spacing:.03em}
.hero .photo{border-radius:var(--rayon);overflow:hidden;background:var(--anthracite);aspect-ratio:3/2}
.hero .photo img{width:100%;height:100%;object-fit:cover;object-position:center}
@media (min-width:900px){.hero{padding:72px 0 56px}.hero .grille{grid-template-columns:1.1fr 1fr}}
.hero-court{padding:40px 0 36px}
.hero-court h1{font-size:clamp(1.9rem,5.5vw,3.2rem)}
.hero-court .chapo{font-size:1.12rem;color:#E6E6E6;max-width:44em}
.fil{font-size:.9rem;margin:0 0 18px;color:#BDBDBD}
.fil ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.fil li+li::before{content:"›";margin-right:6px;color:#8A8A8A}
.fil a{color:#E6E6E6!important}

/* ---------- Tableau des départs ---------- */
.departs{padding:8px 0 56px}
.tableau{background:var(--anthracite);border-radius:var(--rayon);padding:18px;font-family:var(--mono);color:var(--blanc);border:1px solid #2E2E2E}
.tableau-tete{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:1.05rem;letter-spacing:.12em;padding:4px 6px 14px;border-bottom:1px dashed #3A3A3A;margin-bottom:10px}
.tableau-tete .actif{color:var(--rouge-sur-noir)}
.tableau table{width:100%;border-collapse:separate;border-spacing:0 6px}
.tableau th{font-weight:400;text-align:left;font-size:.8rem;color:#A8A8A8;letter-spacing:.12em;padding:0 10px}
.tableau td{background:var(--noir);padding:12px 10px;font-size:1rem;letter-spacing:.08em;text-transform:uppercase}
.tableau td:first-child{border-radius:8px 0 0 8px}
.tableau td:last-child{border-radius:0 8px 8px 0;color:var(--rouge-sur-noir);text-align:right}
.tableau .type{color:#BDBDBD}
@media (max-width:620px){.tableau .col-type{display:none}.tableau td{font-size:.86rem}}

/* ---------- Sections claires ---------- */
.section{padding:56px 0}
.section-grise{background:var(--gris)}
.intro-section{max-width:46em;color:var(--gris-texte);font-size:1.08rem}
.cartes{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:28px}
.carte{background:var(--gris);border-radius:var(--rayon);padding:26px;display:flex;flex-direction:column}
.section-grise .carte{background:var(--blanc)}
.carte h3{margin-bottom:.5em}
.carte p{color:var(--gris-texte);font-size:1rem}
.carte .lien{margin-top:auto;font:800 .95rem var(--titre);text-transform:uppercase;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.carte .lien::after{content:" →";margin-left:6px}
.deux-colonnes{display:grid;gap:36px;align-items:center}
@media (min-width:880px){.deux-colonnes{grid-template-columns:1fr 1fr}}
.illu{border-radius:var(--rayon);background:var(--gris);padding:20px}
.illu img{width:100%;height:auto;max-height:420px;object-fit:contain;margin:0 auto}
.liste-coches{list-style:none;padding:0;margin:0 0 1em}
.liste-coches li{position:relative;padding-left:30px;margin-bottom:.55em}
.liste-coches li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:14px;border-radius:50%;background:var(--rouge)}
.texte{max-width:48em}
.texte h2{margin-top:1.4em}
.texte h2:first-child{margin-top:0}
.encadre{background:var(--gris);border-radius:var(--rayon);padding:24px 26px;margin:24px 0}
.encadre p:last-child{margin-bottom:0}

/* Avis */
.note{display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px;background:var(--noir);color:var(--blanc);border-radius:var(--rayon);padding:30px}
.note .chiffre{font:800 clamp(3rem,9vw,4.6rem)/1 var(--titre)}
.note .etoiles{color:var(--rouge-sur-noir);font-size:1.6rem;letter-spacing:.1em}
.note p{margin:0;color:#E6E6E6}
.emplacement-avis{border:2px dashed #BDBDBD;border-radius:var(--rayon);padding:26px;margin-top:22px;color:var(--gris-texte)}

/* Villes */
.villes{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;padding:0;list-style:none}
.villes a{display:inline-flex;align-items:center;min-height:46px;padding:0 20px;border-radius:999px;background:var(--gris);color:var(--noir);text-decoration:none;font:700 .98rem var(--titre);text-transform:uppercase;letter-spacing:.03em;border:2px solid transparent}
.villes a:hover{border-color:var(--rouge-sur-blanc);color:var(--rouge-sur-blanc)}
.section-grise .villes a{background:var(--blanc)}
.pays{margin-top:28px;font:800 1rem var(--titre);text-transform:uppercase;color:var(--gris-texte)}

/* Grand bloc rouge */
.bloc-rouge{background:var(--rouge-sur-blanc);color:var(--blanc);border-radius:var(--rayon);padding:34px 26px;display:grid;gap:28px;align-items:center;overflow:hidden}
.bloc-rouge h2{font-size:clamp(1.8rem,5vw,2.8rem)}
.bloc-rouge p{font-size:1.1rem}
.bloc-rouge a:not(.btn){color:var(--blanc)}
.bloc-rouge .hurlu{border-radius:16px;padding:16px;max-width:300px;width:100%;margin:0 auto}
.bloc-rouge .hurlu img{max-height:280px;width:auto;margin:0 auto;object-fit:contain}
@media (min-width:900px){.bloc-rouge{grid-template-columns:1.7fr 1fr;padding:46px}}
/* Petits décors derrière les Hurlus (images SVG légères, couleurs TMC) */
.decor{background-color:var(--gris);background-size:cover;background-position:center bottom;background-repeat:no-repeat}
.decor-voyage{background-image:url(/img/decor-voyage.svg)}
.decor-fete{background-image:url(/img/decor-fete.svg);background-color:var(--noir);background-position:center top}
.decor-vacances{background-image:url(/img/decor-vacances.svg)}
.decor img{filter:drop-shadow(0 6px 10px rgba(0,0,0,.25))}

/* FAQ */
.faq details{background:var(--gris);border-radius:16px;margin-bottom:10px}
.section-grise .faq details{background:var(--blanc)}
.faq summary{cursor:pointer;list-style:none;padding:16px 52px 16px 20px;min-height:52px;font-weight:700;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font:800 1.5rem var(--titre);color:var(--rouge-sur-blanc)}
.faq details[open] summary::after{content:"–"}
.faq .reponse{padding:0 20px 18px;color:var(--gris-texte)}
.faq .reponse p:last-child{margin-bottom:0}

/* Formulaire */
.formulaire{background:var(--gris);border-radius:var(--rayon);padding:26px}
.champs{display:grid;gap:16px}
@media (min-width:700px){.champs{grid-template-columns:1fr 1fr}.champ-large{grid-column:1/-1}}
.champ label{display:block;font-weight:700;margin-bottom:6px}
.champ .aide{font-weight:400;color:var(--gris-texte);font-size:.92rem}
.champ input,.champ select,.champ textarea{width:100%;min-height:50px;padding:12px 14px;border:2px solid #BDBDBD;border-radius:12px;font:inherit;background:var(--blanc);color:var(--noir)}
.champ textarea{min-height:110px;resize:vertical}
.champ input:focus,.champ select:focus,.champ textarea:focus{border-color:var(--noir);outline:none;box-shadow:0 0 0 3px rgba(212,31,10,.35)}
.piege{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.consentement{font-size:.93rem;color:var(--gris-texte);margin-top:16px}
.message-alerte{background:var(--noir);color:var(--blanc);border-radius:14px;padding:16px 18px;margin-bottom:18px}

/* Pied de page */
.pied{background:var(--noir);color:#D9D9D9;padding:52px 0 110px;font-size:.98rem}
.pied a{color:var(--blanc);text-decoration:none}
.pied a:hover{color:var(--rouge-sur-noir);text-decoration:underline}
.pied .grille{display:grid;gap:30px}
@media (min-width:860px){.pied .grille{grid-template-columns:1.3fr 1fr 1fr 1fr}.pied{padding-bottom:52px}}
.pied h2{font-size:1rem;color:var(--blanc);margin-bottom:.9em}
.pied ul{list-style:none;margin:0;padding:0}
.pied li{margin-bottom:4px}
.pied li a{display:inline-flex;min-height:36px;align-items:center}
.pied .logo-pied img{height:56px;width:auto;margin-bottom:16px}
.pied address{font-style:normal}
.pied .bas{border-top:1px solid #2A2A2A;margin-top:34px;padding-top:20px;font-size:.88rem;color:#A8A8A8}

/* Barre d'appel mobile */
.barre-mobile{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1fr 1fr;background:var(--noir);border-top:1px solid #2A2A2A;padding:8px;gap:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}
.barre-mobile a{min-height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:6px;font:800 .82rem var(--titre);text-transform:uppercase;text-decoration:none;color:var(--blanc);background:var(--anthracite)}
.barre-mobile a.appel{background:var(--rouge-sur-blanc)}
.barre-mobile a.wa{background:var(--wa);color:var(--wa-texte);animation:wa-sonne 2.6s ease-out 3}
.barre-mobile svg{width:18px;height:18px}
@media (min-width:860px){.barre-mobile{display:none}}

/* Bandeau du haut */
.bandeau{background:var(--anthracite);color:#E6E6E6;text-align:center;font:700 .82rem var(--titre);text-transform:uppercase;letter-spacing:.08em;padding:7px 12px}
.surtitre{display:block;font-size:clamp(.85rem,2.2vw,1rem);font-weight:700;letter-spacing:.1em;color:#BDBDBD;margin-bottom:14px}

/* Trois générations */
.generations{display:grid;gap:18px 36px;align-items:center;background:var(--noir);color:var(--blanc);border-radius:var(--rayon);padding:30px}
.generations .annees{font:800 clamp(2.4rem,8vw,4.2rem)/1 var(--titre);color:var(--rouge-sur-noir);margin:0}
.generations p{color:#E6E6E6}
@media (min-width:860px){.generations{grid-template-columns:auto 1fr;padding:40px}}

/* Frise chronologique */
.frise{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:14px;position:relative}
.frise li{background:var(--blanc);border-radius:var(--rayon);padding:20px 22px;border-top:5px solid var(--rouge)}
.frise .annee{display:block;font:800 1.9rem/1 var(--titre);color:var(--rouge-sur-blanc);margin-bottom:8px}
.frise p{margin:0;color:var(--gris-texte);font-size:.98rem}
@media (min-width:700px){.frise{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.frise{grid-template-columns:repeat(7,1fr)}.frise li{padding:18px 16px}}

/* Citation de presse */
.citation{margin:24px 0;padding:20px 24px;border-left:6px solid var(--rouge);background:var(--gris);border-radius:0 var(--rayon) var(--rayon) 0}
.citation p{font:700 1.15rem/1.45 var(--texte);margin:0 0 6px}
.citation cite{font-style:normal;color:var(--gris-texte);font-size:.95rem}

/* Carrousel d'avis Google */
.carrousel-avis{margin-top:22px}
.carrousel-tete{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.carrousel-tete h3{margin:0}
.carrousel-fleches{display:flex;gap:8px}
.fleche{width:48px;height:48px;border-radius:50%;border:2px solid var(--noir);background:var(--blanc);font:800 1.6rem/1 var(--titre);cursor:pointer;color:var(--noir)}
.fleche:hover{background:var(--noir);color:var(--blanc)}
.note-google{margin:8px 0 0;color:var(--gris-texte)}
.piste{list-style:none;margin:16px 0 0;padding:0 0 10px;display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}
.piste li{flex:0 0 min(86%,360px);scroll-snap-align:start;background:var(--gris);border-radius:var(--rayon);padding:22px;display:flex;flex-direction:column}
.piste .auteur{font-weight:700}
.piste .etoiles-avis{color:var(--rouge-sur-blanc);letter-spacing:.08em}
.piste .quand{color:var(--gris-texte);font-size:.88rem}
.piste .texte-avis{margin:10px 0 0;font-size:.98rem}
.attribution{font-size:.88rem;color:var(--gris-texte);margin-top:6px}

/* Correctifs de priorité */
.sombre .nav a{color:var(--blanc)}
.sombre .nav a:hover,.sombre .nav a[aria-current="page"]{color:var(--rouge-sur-noir)}
.entete .tel-entete{display:none}
@media (min-width:960px){.entete .tel-entete{display:inline-flex}}
@media (max-width:620px){.tableau td{letter-spacing:.04em}.tableau-tete{font-size:.9rem}}

/* ---- Cartes des services (27/10) : photo retouchée, phrase courte, Appeler + Réserver ---- */
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cartes-services{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:28px}
.carte-service{background:var(--noir);color:var(--blanc);border-radius:var(--rayon);overflow:hidden;display:flex;flex-direction:column}
.carte-photo{aspect-ratio:4/3;background:var(--anthracite)}
.carte-photo img{width:100%;height:100%;object-fit:cover;display:block}
.carte-photo-vide{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1C1C1C 0%,#0B0B0B 100%);border-bottom:3px solid var(--rouge)}
.carte-photo-vide span{font:400 .95rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#9A9A9A}
.carte-corps{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1}
.carte-service h3{font-size:1.3rem;margin:0 0 .45em}
.carte-service h3 a{color:var(--blanc);text-decoration:none}
.carte-service h3 a:hover{color:var(--rouge-sur-noir)}
.carte-service p{color:#E6E6E6;font-size:1rem;margin:0 0 18px}
.carte-boutons{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.carte-boutons .btn{padding:0 12px;min-height:52px;font-size:.95rem;width:100%}
.carte-boutons .btn-noir{background:var(--anthracite);border-color:var(--blanc)}
/* Photos de flotte */
.photo-flotte{margin:0;border-radius:var(--rayon);overflow:hidden;background:var(--noir)}
.photo-flotte img{width:100%;height:auto;display:block}
.photo-flotte figcaption{color:#BDBDBD;font-size:.85rem;padding:8px 14px}
.texte .photo-flotte{margin:24px 0}
/* Notes réelles et visuels « MERCI » */
.note-double{flex-direction:column;align-items:flex-start;gap:8px}
.note-double .notes-reelles{font:800 clamp(1.15rem,3.4vw,1.6rem)/1.3 var(--titre);color:var(--blanc)}
.piste li.avis-visuel{padding:0;overflow:hidden;background:var(--noir)}
.piste li.avis-visuel img{width:100%;height:auto;display:block}
.piste li.avis-visuel .texte-avis{color:#E6E6E6;padding:0 18px;font-style:italic}
.piste li.avis-visuel .auteur-visuel{color:var(--blanc);padding:0 18px 18px;margin:auto 0 0}
/* ---- Relecture du 29/10 : pages plus courtes sur téléphone, tableau sans effet « direct », formulaire ---- */
.carte-service{display:flex;flex-direction:column}
.carte-service .carte-boutons{margin-top:auto;padding:0 20px 22px}
.carte-corps{flex:0 1 auto;padding-bottom:0}
@media (max-width:620px){
  .cartes-services{gap:14px;margin-top:20px}
  .carte-service{display:grid;grid-template-columns:112px 1fr;grid-template-rows:auto auto}
  .carte-service .carte-photo{aspect-ratio:auto;grid-row:1;grid-column:1;height:100%;min-height:96px}
  .carte-service .carte-corps{grid-row:1;grid-column:2;padding:14px 14px 10px}
  .carte-service h3{font-size:1.08rem}
  .carte-service p{font-size:.95rem;line-height:1.45;margin:0}
  .carte-service .carte-boutons{grid-row:2;grid-column:1/-1;padding:10px 14px 14px}
  .carte-boutons .btn{min-height:48px}
  .carte-photo-vide span{font-size:.75rem;text-align:center}
  .bloc-rouge .hurlu{max-width:180px;padding:8px}
  .bloc-rouge .hurlu img{max-height:170px}
}
.voir-tout{margin:24px 0 0}
.tableau-note{margin:12px 6px 0;font:400 .9rem/1.5 var(--texte);color:#BDBDBD}
.pied-wa{margin-top:16px}
.pied-wa .btn{min-height:52px}
.pied .pied-wa a.btn-whatsapp,.pied .pied-wa a.btn-whatsapp:hover{color:var(--wa-texte);text-decoration:none}
.message-erreur{scroll-margin-top:110px;background:#FDECEA;border:2px solid var(--rouge-sur-blanc);color:var(--noir);border-radius:14px;padding:14px 18px;margin-bottom:18px;font-weight:600}
.message-erreur:focus{outline:3px solid var(--noir);outline-offset:2px}
.champ [aria-invalid="true"]{border-color:var(--rouge-sur-blanc);box-shadow:0 0 0 3px rgba(212,31,10,.25)}
/* Moins d’animations demandé par l’appareil : le bouton WhatsApp ne pulse pas (règle en dernier pour primer) */
@media (prefers-reduced-motion:reduce){.btn-whatsapp,.barre-mobile a.wa{animation:none}}
/* ---- 04/11 : carte sans photo validée (logo), photo carrée recadrée, bandeau cookies ---- */
.carte-photo-vide img{width:46%;height:auto;max-width:170px;opacity:.9;object-fit:contain}
@media (max-width:620px){.carte-photo-vide img{width:78%}}
.photo-flotte.recadre img{aspect-ratio:16/10;object-fit:cover}
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:120;display:flex;justify-content:center;pointer-events:none}
.consent[hidden]{display:none}
.consent-in{pointer-events:auto;width:min(100%,980px);display:grid;grid-template-columns:1fr auto;gap:16px 28px;align-items:center;padding:22px 26px;border-radius:var(--rayon);background:var(--noir);color:var(--blanc);border:1px solid #2A2A2A;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.consent-text h2{font:800 1.15rem/1.3 var(--titre);margin:0 0 6px;color:var(--blanc)}
.consent-text h2:focus{outline:none}
.consent-text p{margin:0;font-size:.97rem;line-height:1.55;color:#E6E6E6}
.consent-text a{color:var(--blanc);text-decoration:underline}
.consent-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.consent-actions .btn{min-height:48px;min-width:118px;padding:0 18px;font-size:.95rem;justify-content:center}
.consent-actions .btn-choix{background:transparent;color:var(--blanc);border:2px solid #6A6A6A}
.consent-actions .btn-choix:hover{border-color:var(--blanc);color:var(--blanc)}
.consent-panel{grid-column:1/-1;display:grid;gap:10px}
.consent-panel[hidden],.consent-actions [hidden]{display:none}
.consent-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;border-radius:12px;border:1px solid #2A2A2A;background:var(--anthracite);cursor:default}
label.consent-row{cursor:pointer}
.consent-row b{display:block;font:700 1rem var(--titre)}
.consent-row small{display:block;margin-top:2px;font-size:.88rem;color:#BDBDBD;line-height:1.45}
.consent-always{font:700 .85rem var(--titre);color:#BDBDBD;white-space:nowrap}
.switch{position:relative;flex:none;width:52px;height:30px}
.switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.switch i{position:absolute;inset:0;border-radius:999px;background:#4A4A4A;transition:background .15s}
.switch i::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:var(--blanc);transition:transform .15s}
.switch input:checked+i{background:var(--rouge-sur-blanc)}
.switch input:checked+i::after{transform:translateX(22px)}
.switch input:focus-visible+i{outline:3px solid var(--blanc);outline-offset:2px}
.lien-bouton{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media (max-width:760px){.consent{left:10px;right:10px;bottom:calc(76px + env(safe-area-inset-bottom))}.consent-in{grid-template-columns:1fr;padding:18px}.consent-actions{justify-content:stretch}.consent-actions .btn{flex:1 1 30%;min-width:0}}
@media (prefers-reduced-motion:no-preference){.consent:not([hidden]) .consent-in{animation:consent-entre .35s ease-out}@keyframes consent-entre{from{opacity:0;transform:translateY(16px)}}}
@media (max-width:420px){.consent-actions .btn{padding:0 8px;font-size:.84rem;letter-spacing:.01em}}
/* ==== 05/11 design « site plus vivant » (approuvé par Steve) : relief, contraste, zones de couleur TMC (noir, gris, rouges du logo), titres forts, icônes, gros boutons, animations douces ==== */
:root{
  --ombre-douce:0 6px 18px rgba(0,0,0,.10);--ombre-forte:0 18px 40px rgba(0,0,0,.22);
  --i-voiture:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.92 6.01C18.72 5.42 18.16 5 17.5 5h-11c-.66 0-1.21.42-1.42 1.01L3 12v8c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h12v1c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-8l-2.08-5.99zM6.5 16c-.83 0-1.5-.67-1.5-1.5S5.67 13 6.5 13s1.5.67 1.5 1.5S7.33 16 6.5 16zm11 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zM5 11l1.5-4.5h11L19 11H5z'/%3E%3C/svg%3E");
  --i-lune:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a9 9 0 1 0 9 9c0-.46-.04-.92-.1-1.36a5.39 5.39 0 0 1-4.4 2.26 5.4 5.4 0 0 1-3.14-9.8c-.44-.06-.9-.1-1.36-.1z'/%3E%3C/svg%3E");
  --i-train:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c-4 0-8 .5-8 4v9.5C4 17.43 5.57 19 7.5 19L6 20.5v.5h2.23l2-2H14l2 2h2v-.5L16.5 19c1.93 0 3.5-1.57 3.5-3.5V6c0-3.5-3.58-4-8-4zM7.5 17c-.83 0-1.5-.67-1.5-1.5S6.67 14 7.5 14s1.5.67 1.5 1.5S8.33 17 7.5 17zm3.5-7H6V6h5v4zm2 0V6h5v4h-5zm3.5 7c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z'/%3E%3C/svg%3E");
  --i-avion:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 16v-2l-8-5V3.5c0-.83-.67-1.5-1.5-1.5S10 2.67 10 3.5V9l-8 5v2l8-2.5V19l-2 1.5V22l3.5-1 3.5 1v-1.5L13 19v-5.5l8 2.5z'/%3E%3C/svg%3E");
  --i-mallette:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6h-4V4c0-1.11-.89-2-2-2h-4c-1.11 0-2 .89-2 2v2H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-6 0h-4V4h4v2z'/%3E%3C/svg%3E");
  --i-coeur:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E");
  --i-etoile:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/%3E%3C/svg%3E");
  --i-soin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 3H5c-1.1 0-1.99.9-1.99 2L3 19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 11h-4v4h-4v-4H6v-4h4V6h4v4h4v4z'/%3E%3C/svg%3E");
  --i-groupe:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z'/%3E%3C/svg%3E");
  --i-tel:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E");
  --i-message:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2z'/%3E%3C/svg%3E");
  --i-mail:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
  --i-lieu:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E");
  --i-coche:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");
}

/* -- Titres plus forts : plus gras, plus grands, barre rouge dessous -- */
h1{font-weight:900;letter-spacing:.005em}
.hero-court h1{font-size:clamp(2.1rem,6.2vw,3.6rem)}
main .section h2{font-size:clamp(1.75rem,4.6vw,2.75rem);font-weight:900}
main .section h2:not(.saut)::after{content:"";display:block;width:64px;height:6px;border-radius:3px;background:var(--rouge-sur-blanc);margin-top:.42em}
main .carte h2::after{content:none!important}
main .section .texte h2{font-size:clamp(1.5rem,3.6vw,2.1rem)}
.carte .btn{padding:0 16px;font-size:.92rem;letter-spacing:.02em}
.bloc-rouge h2::after{background:var(--blanc)!important}
.generations h2::after{background:var(--rouge-sur-noir)!important}

/* -- Haut de page : fond noir avec halo rouge, photo en relief -- */
.hero{background:radial-gradient(ellipse 65% 75% at 100% 0%,rgba(212,31,10,.30),transparent 70%),var(--noir)}
.hero-court{background:radial-gradient(ellipse 60% 90% at 100% 0%,rgba(212,31,10,.32),transparent 70%),radial-gradient(ellipse 45% 70% at 0% 100%,rgba(212,31,10,.12),transparent 70%),var(--noir);border-bottom:6px solid var(--rouge-sur-blanc);padding:48px 0 44px}
.hero .photo{box-shadow:12px 12px 0 -2px var(--rouge-fonce),0 28px 60px rgba(0,0,0,.55)}
@media (min-width:900px){.hero .photo{box-shadow:18px 18px 0 -2px var(--rouge-fonce),0 30px 70px rgba(0,0,0,.6)}}
.slogan{box-shadow:0 8px 22px rgba(212,31,10,.35)}
.tableau{box-shadow:inset 6px 0 0 var(--rouge-sur-blanc),0 20px 50px rgba(0,0,0,.5)}

/* -- Grandes zones de couleur qui alternent (noir / blanc / gris / rouge) -- */
.section:has(.generations){background:radial-gradient(ellipse 50% 80% at 0% 50%,rgba(212,31,10,.22),transparent 70%),var(--noir);color:var(--blanc);padding:64px 0}
.section:has(.generations) .generations{background:linear-gradient(135deg,#1C1C1C,#111);border:1px solid #2A2A2A;box-shadow:inset 6px 0 0 var(--rouge-sur-blanc),0 24px 60px rgba(0,0,0,.5)}
.section:has(.bloc-rouge){background:repeating-linear-gradient(135deg,rgba(255,255,255,.045) 0 2px,transparent 2px 24px),linear-gradient(135deg,var(--rouge-sur-blanc) 0%,var(--rouge-fonce) 100%);color:var(--blanc);padding:64px 0}
.section:has(.bloc-rouge) .bloc-rouge{background:transparent;padding:0;border-radius:0;overflow:visible}
.section:has(.bloc-rouge) .bloc-rouge .hurlu{box-shadow:0 20px 44px rgba(0,0,0,.35);border-radius:var(--rayon)}
.section-grise{background:linear-gradient(180deg,#E9E9E9 0%,var(--gris) 120px);box-shadow:inset 0 1px 0 #DDD}

/* -- Relief : ombres et petit soulèvement au survol -- */
.btn{box-shadow:0 6px 16px rgba(0,0,0,.16);transition:background .15s,color .15s,border-color .15s,transform .2s ease,box-shadow .2s ease}
.btn-contour{box-shadow:none}
.carte-service{box-shadow:var(--ombre-forte);transition:transform .25s ease,box-shadow .25s ease}
.carte-service .carte-photo{overflow:hidden}
.carte-service .carte-photo img{transition:transform .5s ease}
.carte,.encadre,.faq details,.piste li,.formulaire,.citation{box-shadow:var(--ombre-douce)}
.frise li{box-shadow:var(--ombre-douce);transition:transform .25s ease,box-shadow .25s ease}
.note{background:linear-gradient(135deg,#1C1C1C,var(--noir));box-shadow:inset 6px 0 0 var(--rouge-sur-blanc),var(--ombre-forte)}
.illu{box-shadow:var(--ombre-douce);background:var(--blanc)}
.photo-flotte{box-shadow:var(--ombre-forte)}
.villes a{box-shadow:0 3px 10px rgba(0,0,0,.08);transition:transform .2s ease,border-color .15s,color .15s}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.22)}
  .carte-service:hover{transform:translateY(-6px);box-shadow:0 26px 50px rgba(0,0,0,.30)}
  .carte-service:hover .carte-photo img{transform:scale(1.05)}
  .frise li:hover,.villes a:hover{transform:translateY(-3px)}
}

/* -- Icônes (dessinées en CSS, aucune image en plus) -- */
.carte-service h3 a::before,.carte-service h3:not(:has(a))::before,.carte h2::before,.villes a::before{content:"";display:inline-block;flex:none;background:currentColor;-webkit-mask:var(--i-voiture) center/contain no-repeat;mask:var(--i-voiture) center/contain no-repeat}
.carte-service h3 a::before,.carte-service h3:not(:has(a))::before{width:1.15em;height:1.15em;margin-right:.45em;vertical-align:-.18em;background:var(--rouge-sur-noir)}
.carte-service h3 a[href*="taxi-de-nuit"]::before{-webkit-mask-image:var(--i-lune);mask-image:var(--i-lune)}
.carte-service h3 a[href*="taxi-gare"]::before{-webkit-mask-image:var(--i-train);mask-image:var(--i-train)}
.carte-service h3 a[href*="taxi-aeroport"]::before{-webkit-mask-image:var(--i-avion);mask-image:var(--i-avion)}
.carte-service h3 a[href*="taxi-entreprises"]::before{-webkit-mask-image:var(--i-mallette);mask-image:var(--i-mallette)}
.carte-service h3 a[href*="mariage"]::before{-webkit-mask-image:var(--i-coeur);mask-image:var(--i-coeur)}
.carte-service h3 a[href*="soirees"]::before{-webkit-mask-image:var(--i-etoile);mask-image:var(--i-etoile)}
.carte-service h3 a[href*="medical"]::before{-webkit-mask-image:var(--i-soin);mask-image:var(--i-soin)}
.carte-service h3:not(:has(a))::before{-webkit-mask-image:var(--i-groupe);mask-image:var(--i-groupe)}
.carte h2::before{width:44px;height:44px;margin-bottom:12px;display:block;background:var(--rouge-sur-blanc)}
.carte:has(a[href^="tel:"]) h2::before{-webkit-mask-image:var(--i-tel);mask-image:var(--i-tel)}
.carte:has(a[href*="wa.me"]) h2::before{-webkit-mask-image:var(--i-message);mask-image:var(--i-message)}
.carte:has(a[href^="mailto:"]) h2::before{-webkit-mask-image:var(--i-mail);mask-image:var(--i-mail)}
.carte:has(a[href*="maps.google"]) h2::before{-webkit-mask-image:var(--i-lieu);mask-image:var(--i-lieu)}
.villes a{gap:8px}
.villes a::before{width:16px;height:16px;background:var(--rouge-sur-blanc);-webkit-mask-image:var(--i-lieu);mask-image:var(--i-lieu)}
.liste-coches li{padding-left:34px}
.liste-coches li::before{top:.2em;width:22px;height:22px;background:var(--rouge-sur-blanc) var(--i-coche) center/15px no-repeat}
.faq summary::after{width:32px;height:32px;border-radius:50%;background:var(--rouge-sur-blanc);color:var(--blanc);display:grid;place-items:center;font-size:1.25rem;line-height:1}
.faq details[open]{box-shadow:inset 5px 0 0 var(--rouge-sur-blanc),var(--ombre-douce)}

/* -- Gros boutons Appeler / WhatsApp / Réserver -- */
.btn{min-height:56px}
.btn-xl{min-height:80px}
.barre-mobile{gap:6px;padding:8px;box-shadow:0 -10px 30px rgba(0,0,0,.35)}
.barre-mobile a{flex-direction:column;gap:3px;min-height:62px;font-size:.84rem;letter-spacing:.03em;border-radius:14px}
.barre-mobile svg{width:24px;height:24px}
.barre-mobile a:focus-visible{outline:3px solid var(--blanc);outline-offset:2px}
.pied{border-top:6px solid var(--rouge-sur-blanc);padding-bottom:120px}
/* Grand écran : la même barre flotte en bas à droite dès qu’on descend dans la page */
@media (min-width:860px){
  .js .barre-mobile{display:flex;left:auto;right:24px;bottom:24px;border:1px solid #2A2A2A;border-radius:999px;padding:8px;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .3s ease,transform .3s ease,visibility 0s linear .3s;box-shadow:0 18px 44px rgba(0,0,0,.4)}
  .js.dock-visible .barre-mobile{opacity:1;visibility:visible;transform:none;transition:opacity .3s ease,transform .3s ease}
  .barre-mobile a{flex-direction:row;gap:8px;min-height:54px;padding:0 24px;border-radius:999px;font-size:.95rem}
  .barre-mobile svg{width:22px;height:22px}
  .pied{padding-bottom:110px}
}

/* -- Petites animations douces (coupées si l’appareil demande « moins de mouvement ») -- */
@media (prefers-reduced-motion:no-preference){
  @keyframes tmc-monte{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
  @keyframes tmc-photo{from{transform:scale(1.04)}to{transform:none}}
  .hero h1,.hero-court h1{animation:tmc-monte .7s ease-out both}
  .hero .slogan,.hero-court .chapo{animation:tmc-monte .7s .12s ease-out both}
  .hero .sous-titre,.hero .boutons,.hero-court .boutons{animation:tmc-monte .7s .22s ease-out both}
  .hero .photo img{animation:tmc-photo 1.4s ease-out both}
  .a-reveler{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
  .a-reveler.vu,.a-reveler:focus-within{opacity:1;transform:none}
}
/* ==== 06/11 retouches de Steve (21:40), logo corrigé le 07/11 01:06 : cartes d'avis toutes pareilles, défilement des avis ==== */
/* -- En-tête : logo SEUL (sans texte à côté). Plus grand SEULEMENT sur ordinateur ; sur téléphone et tablette, taille et place d'avant (46 px).
      Sur ordinateur, il redevient compact dès qu'on descend dans la page (classe « reduit » posée par /js/site.js). -- */
@media (min-width:960px){
  .entete .conteneur{min-height:0;padding-top:10px;padding-bottom:10px}
  .entete .logo img{height:92px;transition:height .25s ease}
  .entete.reduit .logo img{height:56px}
  .entete .nav a,.entete .tel-entete{white-space:nowrap}
}
@media (min-width:1180px){
  .entete .logo img{height:138px}
  .entete.reduit .logo img{height:64px}
}
@media (prefers-reduced-motion:reduce){.entete .logo img{transition:none}}
.message-erreur{scroll-margin-top:170px}

/* -- Avis : UN SEUL décor pour toutes les cartes (inspiré des visuels « MERCI » : fond noir éclairé, cadre, étoiles, guillemets, filet rouge) -- */
.piste{position:relative;align-items:stretch}
.piste li.avis-carte{flex:0 0 min(86%,340px);padding:18px;border-radius:var(--rayon);color:var(--blanc);overflow:hidden;
  background:radial-gradient(ellipse 90% 55% at 50% 0%,rgba(255,255,255,.16),transparent 70%),linear-gradient(180deg,#2A2A2A 0%,var(--noir) 78%);
  border:1px solid #2A2A2A;box-shadow:var(--ombre-forte)}
.avis-cadre{flex:1;display:flex;flex-direction:column;background:linear-gradient(180deg,#262626,#161616);border:6px solid #0B0B0B;border-radius:14px;
  box-shadow:0 0 0 1px #3A3A3A,0 14px 30px rgba(0,0,0,.55);padding:18px 18px 16px}
.avis-tete{display:flex;align-items:center;justify-content:space-between;gap:10px}
.piste .avis-carte .etoiles-avis{color:var(--rouge-sur-noir);font-size:1.45rem;letter-spacing:.1em;line-height:1}
.avis-guillemet{font:900 3rem/0.6 Georgia,"Times New Roman",serif;color:var(--blanc);opacity:.9;height:.5em}
.piste .avis-carte .texte-avis{margin:16px 0 0;color:#EDEDED;font-style:italic;font-size:1rem;line-height:1.55}
.avis-filet{display:block;height:3px;margin:18px 0 12px;border-radius:2px;background:linear-gradient(90deg,var(--rouge-sur-noir) 0 38%,#4A4A4A 38% 100%)}
.avis-pied{margin:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}
.avis-filet{margin-top:auto}
.piste .avis-carte .texte-avis{margin-bottom:18px}
.piste .avis-carte .auteur{font:700 1.15rem var(--titre);color:var(--blanc);letter-spacing:.02em}
.piste .avis-carte .quand,.piste .avis-carte a.quand{color:#BDBDBD;font-size:.86rem}
.piste .avis-carte a.quand:hover{color:var(--blanc)}
.avis-logo{display:block;width:74px;height:auto;margin:14px auto 0;opacity:.85}
/* -- Défilement : flèches + barre qui suivent la carte affichée (la barre native est remplacée quand le script tourne) -- */
.js .piste[data-piste]{scrollbar-width:none}
.js .piste[data-piste]::-webkit-scrollbar{display:none}
.avis-suivi{display:none;align-items:center;gap:14px;margin-top:14px}
.js .avis-suivi{display:flex}
.avis-barre{position:relative;flex:1;height:22px;cursor:pointer;touch-action:none}
.avis-barre::before{content:"";position:absolute;left:0;right:0;top:8px;height:6px;border-radius:3px;background:#D9D9D9}
.avis-curseur{position:absolute;top:4px;left:0;height:14px;min-width:28px;border-radius:7px;background:var(--rouge-sur-blanc);box-shadow:0 2px 6px rgba(0,0,0,.25);cursor:grab}
.avis-barre.tire .avis-curseur{cursor:grabbing}
.avis-barre:focus-visible{outline:3px solid var(--noir);outline-offset:3px;border-radius:6px}
.avis-compteur{font:700 .95rem var(--titre);color:var(--gris-texte);min-width:4.2em;text-align:right;white-space:nowrap}
.fleche:disabled{opacity:.35;cursor:default}
.fleche:disabled:hover{background:var(--blanc);color:var(--noir)}
