/* Tel-Avenir - quai.css */
:root{
  --nuit:#0c1030;--nuit2:#141a42;--surf:#1a2150;--surf2:#242c68;--trait:#36408c;
  --or:#e3b64c;--or2:#f5dc9a;--ambre:#ffc24d;--txt:#f1edf8;--doux:#c6cae6;
  --a:#b9a1ff;--a2:#d3c4ff;--b:#86c9ff;--b2:#b6dfff;--libre:#52d894;--occupe:#ff9d8a;
  --sva:#a0115a;--r:14px;--r2:10px;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --serif:Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body{background-image:radial-gradient(900px 520px at 88% -120px,rgba(125,96,255,.16),transparent 70%),radial-gradient(700px 480px at -10% 30%,rgba(233,180,76,.06),transparent 70%);font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.65;background:var(--nuit);color:var(--txt);padding-bottom:72px;-webkit-tap-highlight-color:transparent}
img{display:block;max-width:100%;height:auto}
a{color:var(--or2)}
p a,li a,td a,dd a,.q-faq a{text-decoration:underline;text-underline-offset:2px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ambre);outline-offset:2px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.22;color:var(--or2)}
h1{font-size:clamp(1.75rem,4.8vw,2.7rem)}
h2{font-size:clamp(1.4rem,3.4vw,1.95rem);margin:0 0 .9rem}
h3{font-size:1.18rem;margin:0 0 .45rem;color:var(--or)}
p,ul,ol{margin:0 0 1rem}
ul,ol{padding-left:1.25rem}
strong{color:#fff}
.q-cadre{max-width:1140px;margin:0 auto;padding:0 16px}
.q-saut{position:absolute;left:-9999px;top:0}.q-saut:focus{left:12px;top:8px;background:#fff;color:#000;padding:8px 12px;z-index:200;border-radius:6px}
.q-sep{display:inline-block;width:14px}

/* En-tête */
.q-tete{position:sticky;top:0;z-index:100;background:var(--nuit);border-bottom:1px solid var(--trait)}
.q-tete-in{display:flex;align-items:center;gap:14px;min-height:62px}
.q-logo{display:flex;align-items:center;gap:8px;color:var(--or);text-decoration:none;font-family:var(--serif);font-size:1.25rem;letter-spacing:.08em;white-space:nowrap;flex-shrink:0}
.q-logo b{color:var(--ambre);font-weight:400}
.q-logo-ic{color:var(--ambre)}
.q-nav{margin-left:auto}
.q-nav ul{list-style:none;display:flex;gap:4px;padding:0;margin:0}
.q-nav a{display:block;padding:8px 10px;border-radius:8px;color:var(--doux);text-decoration:none;font-size:.95rem;white-space:nowrap}
.q-nav a:hover,.q-nav a[aria-current]{color:#fff;background:var(--surf)}
.q-nav a.q-nav-or{color:var(--nuit);background:var(--or);font-weight:700}
.q-nav a.q-nav-or:hover,.q-nav a.q-nav-or[aria-current]{background:var(--or2);color:var(--nuit)}
.q-nav-mob,.q-nav-fermer,.q-menu{display:none}
.q-tete-tel{white-space:nowrap;text-decoration:none;font-family:var(--mono);font-weight:700;color:var(--nuit);background:var(--a);padding:8px 12px;border-radius:999px;font-size:.95rem}
.q-tete-tel:hover{background:var(--a2)}
@media (max-width:1100px) and (min-width:761px){.q-dep{grid-template-columns:84px 56px minmax(0,1fr) 72px 190px 112px;gap:6px 10px}}
@media (max-width:1180px){
  .q-nav{position:fixed;inset:0;background:var(--nuit);z-index:150;padding:72px 16px 24px;display:none;overflow:auto}
  .q-nav.q-ouvert{display:block}
  .q-nav ul{flex-direction:column;gap:6px}
  .q-nav a{font-size:1.1rem;padding:12px 14px;background:var(--surf)}
  .q-nav-mob{display:block}
  .q-nav-fermer{display:block;position:absolute;top:12px;right:16px;width:44px;height:44px;border-radius:50%;border:1px solid var(--trait);background:var(--surf);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}
  .q-menu{display:block;margin-left:auto;background:var(--surf);color:#fff;border:1px solid var(--trait);border-radius:999px;padding:8px 14px;font-size:.95rem;cursor:pointer;white-space:nowrap}
  .q-tete-tel{margin-left:0}
}
@media (max-width:440px){.q-logo span{font-size:1.05rem}.q-logo-ic{width:24px;height:24px}.q-tete-tel{padding:7px 10px;font-size:.88rem}.q-tete-in{gap:8px}.q-menu{padding:7px 11px}}
@media (max-width:399px){.q-tete-tel{display:none}}

/* Boutons */
.q-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;text-decoration:none;font-weight:700;border-radius:999px;padding:11px 18px;font-size:1rem;line-height:1.2;border:0;cursor:pointer;background:var(--surf2);color:#fff;touch-action:manipulation;transition:transform .15s ease,background-color .15s ease}
.q-btn:active{transform:scale(.97)}
.q-btn-a{background:linear-gradient(180deg,var(--a2),var(--a));color:#170f38;box-shadow:0 0 0 1px rgba(233,180,76,.55),0 6px 22px rgba(150,120,255,.35)}.q-btn-a:hover{background:var(--a2)}
.q-btn-b{background:var(--b);color:#07183a}.q-btn-b:hover{background:var(--b2)}
.q-btn-or{background:var(--or);color:#1a1206}.q-btn-or:hover{background:var(--or2)}
.q-btn-ghost{background:transparent;color:var(--or2);border:1px solid var(--or)}
.q-btn-ghost:hover{background:var(--surf)}
.q-btn[disabled]{opacity:.6;cursor:wait}

/* Cartouche numéro + tarif */
.q-cart{display:inline-flex;align-items:stretch;text-decoration:none;border-radius:10px;overflow:hidden;border:2px solid #fff;max-width:100%;white-space:nowrap;transition:transform .15s ease}
.q-cart:active{transform:scale(.98)}
.q-cart-num{background:#fff;color:#141a42;font-family:var(--mono);font-weight:800;font-size:1.25rem;padding:8px 12px;display:flex;align-items:center}
.q-cart-tag{background:var(--sva);color:#fff;font-size:.82rem;font-weight:600;padding:6px 10px;display:flex;align-items:center;line-height:1.25}
.q-cart-b .q-cart-tag{background:#1d4f8a}


/* Héros d'accueil */
.q-heros{background:radial-gradient(120% 90% at 85% 0%,#3d2f8f 0%,rgba(58,42,107,0) 60%),linear-gradient(180deg,#141a44 0%,var(--nuit) 100%);padding:40px 0 28px;border-bottom:1px solid var(--trait)}
.q-heros-grille{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px;align-items:center}
.q-heros h1{margin-bottom:.8rem}
.q-heros .q-chapo{font-size:1.1rem;color:var(--doux);max-width:620px}
.q-heros-cart{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 8px}
.q-heros-note{font-size:.9rem;color:var(--doux)}
.q-heros-vis{display:flex;justify-content:center}
.q-heros-vis .q-visuel{width:100%;max-width:480px}
@media (max-width:980px){.q-heros-grille{grid-template-columns:minmax(0,1fr)}.q-heros-vis .q-visuel{max-width:560px}}
.q-visages{display:flex;align-items:center;gap:0;margin-top:14px;min-height:44px}
.q-visage{width:40px;height:40px;border-radius:50%;overflow:hidden;border:2px solid var(--nuit);margin-left:-8px;background:var(--surf2);flex-shrink:0}
.q-visage:first-child{margin-left:0}
.q-visage img{width:40px;height:40px;object-fit:cover}
.q-visages-txt{margin-left:10px;font-size:.95rem;color:var(--doux);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}

/* Sections */
.q-sec{padding:44px 0}
.q-sec-alt{background:var(--nuit2);border-top:1px solid var(--trait);border-bottom:1px solid var(--trait)}
.q-sur{font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ambre);margin-bottom:.4rem;font-weight:700}
.q-page{padding:28px 16px 44px}
.q-page-tete{padding-top:26px;padding-bottom:8px}
.q-page-tete .q-chapo{color:var(--doux);font-size:1.08rem;max-width:760px}
.q-prose{max-width:780px}
.q-prose h2{margin-top:2.2rem}
.q-prose h3{margin-top:1.4rem}
.q-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.q-grille-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.q-grille-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.q-carte{background:var(--surf);border:1px solid var(--trait);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;min-width:0}
.q-carte p:last-child{margin-bottom:0}
.q-carte h3{min-height:0}
.q-carte .q-carte-lien{margin-top:auto;padding-top:10px}
a.q-carte{text-decoration:none;color:var(--txt);transition:transform .18s ease,border-color .18s ease}
a.q-carte:hover{transform:translateY(-3px);border-color:var(--or)}
@media (max-width:900px){.q-grille,.q-grille-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.q-grille,.q-grille-2,.q-grille-4{grid-template-columns:minmax(0,1fr)}}

/* Point de départ (synthèse) */
.q-depart{background:var(--surf);border:1px solid var(--or);border-left:6px solid var(--ambre);border-radius:var(--r);padding:16px 18px;margin:18px 0 26px;max-width:780px}
.q-depart-titre{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ambre);font-size:.85rem;font-weight:700;margin-bottom:.5rem}
.q-depart ul{margin:0 0 .6rem;padding-left:1.1rem}
.q-depart li{margin-bottom:.3rem}
.q-depart-maj{font-size:.85rem;color:var(--doux);margin:0}

/* Fil d'Ariane */
.q-ariane ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0;font-size:.9rem;color:var(--doux)}
.q-ariane li+li::before{content:"›";margin-right:6px;color:var(--trait)}
.q-ariane a{color:var(--doux)}

/* Tableau des départs */
.q-tab{background:#0a0d27;border:2px solid #333d80;border-radius:18px;padding:16px;margin:0 0 24px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.q-tab-tete{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px;border-bottom:1px solid #333d80;padding-bottom:10px;margin-bottom:10px}
.q-tab-titre{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ambre);font-size:clamp(1rem,2.6vw,1.3rem);margin:0}
.q-tab-info{display:flex;align-items:center;gap:12px;margin:0;font-size:.95rem;min-width:0}
.q-horloge{font-family:var(--mono);color:var(--ambre);background:#141a42;border:1px solid #333d80;border-radius:6px;padding:2px 8px;font-weight:700}
.q-compteur{color:var(--libre);font-weight:600}
.q-tab-legende{font-size:.85rem;color:var(--doux);margin-bottom:8px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 6px}
.q-tab-liste{list-style:none;padding:0;margin:0}
.q-dep{display:grid;grid-template-columns:100px 56px minmax(0,1fr) 72px 210px 118px;grid-template-areas:"h ph nom voie etat btn";align-items:center;gap:6px 14px;padding:10px 6px;border-top:1px solid #232a5e;position:relative;transition:background-color .2s ease}
.q-dep:first-child{border-top:0}
.q-dep:hover{background:#151b46}
.q-dep-h{grid-area:h;font-family:var(--mono);color:var(--ambre);font-weight:700;font-size:.9rem;white-space:nowrap}
.q-dep-ph{grid-area:ph;width:56px;height:56px;border-radius:50%;overflow:hidden;background:var(--surf2);border:2px solid #333d80}
.q-dep-ph img{width:56px;height:56px;object-fit:cover}
.q-dep-libre .q-dep-ph{border-color:var(--libre)}
.q-dep-nom{grid-area:nom;min-width:0;display:flex;flex-direction:column}
.q-dep-lien{color:#fff;font-weight:700;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1.05rem}
.q-dep-lien::after{content:"";position:absolute;inset:0;z-index:0}
.q-dep-lien:hover{color:var(--or2)}
.q-dep-spe{font-size:.85rem;color:var(--doux);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.q-dep-voie{grid-area:voie;font-family:var(--mono);font-size:.82rem;font-weight:700;border-radius:6px;padding:3px 7px;white-space:nowrap;color:#170f38;background:var(--a)}
.q-dep-voie.q-voie-b{background:var(--b);color:#07183a}
.q-dep-etat{grid-area:etat;display:flex;flex-direction:column;min-width:0}
.q-plaque{display:inline-block;align-self:flex-start;font-family:var(--mono);font-weight:700;font-size:.9rem;color:var(--ambre);background:#141a42;border:1px solid #333d80;border-radius:6px;padding:3px 8px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.q-dep-libre .q-plaque{color:#0c2618;background:var(--libre);border-color:var(--libre)}
.q-dep-occupe .q-plaque{color:var(--occupe)}
.q-rebours{font-size:.85rem;color:var(--doux);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:1.3em}
.q-dep-appel{grid-area:btn;position:relative;z-index:1;padding:9px 16px;font-size:.95rem;justify-self:end}
.q-dep .q-dep-voie{justify-self:start}
.q-flip{animation:q-flip .5s ease}
@keyframes q-flip{0%{transform:perspective(300px) rotateX(0)}50%{transform:perspective(300px) rotateX(90deg)}100%{transform:perspective(300px) rotateX(0)}}
.q-tab-avis{background:#2a1f10;border:1px solid #6b5020;color:#ffd98a;border-radius:8px;padding:8px 12px;font-size:.92rem}
.q-tab-vide{color:var(--doux);padding:12px 4px}
.q-tab-suite{margin:10px 0 0;text-align:right}
@media (max-width:760px){
  .q-dep{grid-template-columns:56px minmax(0,1fr) auto;grid-template-areas:"ph nom btn" "ph etat etat";gap:4px 12px}
  .q-dep-h{display:none}
  .q-dep .q-dep-voie{position:absolute;left:2px;top:4px;z-index:1;font-size:.82rem;padding:0 4px}
  .q-dep-etat{flex-direction:row;align-items:center;gap:8px}
  .q-dep-etat .q-plaque{flex-shrink:0}
  .q-rebours{min-height:0;flex:1 1 auto;min-width:0}
}
@media (max-width:380px){.q-dep-appel{padding:8px 12px;font-size:.9rem}.q-tab{padding:12px 10px}}

/* Annonces en gare */
.q-annonces{background:var(--surf);border:1px solid var(--trait);border-radius:var(--r);padding:16px 18px}
.q-annonces-titre{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;font-size:1rem;color:var(--ambre);margin-bottom:.6rem}
.q-annonces-liste{list-style:none;padding:0;margin:0}
.q-annonces-liste li{display:flex;gap:10px;padding:6px 0;border-top:1px dashed var(--trait);min-width:0}
.q-annonces-liste li:first-child{border-top:0}
.q-annonces-liste time{font-family:var(--mono);color:var(--ambre);flex-shrink:0}
.q-annonces-liste span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.q-annonces-rien{color:var(--doux);margin:0;font-size:.95rem}

/* Promo produit */
.q-promo{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:center;background:linear-gradient(135deg,#1f2458,#141a42);border:1px solid var(--or);border-radius:18px;padding:22px;margin:28px 0}
.q-promo-vis svg{width:100%;max-width:240px;height:auto;margin:0 auto}
.q-promo h2{margin-bottom:.5rem}
.q-promo-act{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0}
.q-promo-note{font-size:.88rem;color:var(--doux)}
@media (max-width:700px){.q-promo{grid-template-columns:minmax(0,1fr)}.q-promo-vis svg{max-width:180px}}
.q-promo-ligne{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;background:var(--surf);border:1px dashed var(--or);border-radius:var(--r);padding:14px 16px;margin:22px 0}
.q-promo-ligne span{min-width:0;flex:1 1 260px}

/* FAQ */
.q-faq details{background:var(--surf);border:1px solid var(--trait);border-radius:var(--r2);margin-bottom:10px}
.q-faq summary{cursor:pointer;padding:14px 16px;font-weight:600;color:var(--or2);list-style-position:outside;margin-left:14px}
.q-faq details>div{padding:0 16px 14px}
.q-faq details>div p:last-child{margin-bottom:0}

/* Tableaux */
.q-table-wrap{overflow-x:auto;margin:0 0 1rem}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{border:1px solid var(--trait);padding:9px 11px;text-align:left;vertical-align:top}
th{background:var(--surf);color:var(--or2)}
td.n,th.n{white-space:nowrap}
@media (max-width:420px){th,td{padding:7px 6px;font-size:.88rem}}

/* Calculateur */
.q-calc{background:var(--surf);border:1px solid var(--trait);border-radius:var(--r);padding:18px;margin:0 0 24px}
.q-calc label{display:block;font-weight:600;margin-bottom:6px}
.q-calc input[type=range]{width:100%;accent-color:var(--ambre)}
.q-calc-res{font-family:var(--mono);font-size:1.3rem;color:var(--ambre);margin:10px 0 0}

/* Formulaires */
.q-form{background:var(--surf);border:1px solid var(--trait);border-radius:var(--r);padding:20px;max-width:640px}
.q-champ{margin-bottom:14px}
.q-champ label{display:block;font-weight:600;margin-bottom:5px}
.q-champ input[type=text],.q-champ input[type=date],.q-champ select,.q-champ textarea{width:100%;background:#fff;color:#141a42;border:2px solid var(--trait);border-radius:8px;padding:10px;font-size:1rem;font-family:inherit}
.q-champ textarea{min-height:90px;resize:vertical}
.q-aide{font-size:.88rem;color:var(--doux);margin-top:4px}
.q-coche{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}
.q-coche input{margin-top:5px;width:20px;height:20px;flex-shrink:0;accent-color:var(--ambre)}
.q-coche span{min-width:0}
.q-erreur{background:#3a1420;border:1px solid #b8435e;color:#ffd4dc;border-radius:8px;padding:10px 12px;margin-bottom:14px}
.q-piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Oracle */
.q-oracle{background:radial-gradient(100% 80% at 50% 0%,#2a2a78 0%,#0b0f2c 70%);border:1px solid var(--trait);border-radius:18px;padding:20px;margin-bottom:26px}
.q-oracle-choix{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.q-oracle-choix button{background:var(--surf);color:var(--txt);border:1px solid var(--trait);border-radius:999px;padding:8px 14px;font-size:.95rem;cursor:pointer;white-space:nowrap}
.q-oracle-choix button[aria-pressed=true]{background:var(--or);color:#1a1206;border-color:var(--or)}
.q-oracle-table{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:6px 0 14px}
.q-o-place{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.q-o-horizon{font-family:var(--mono);font-size:.85rem;color:var(--ambre);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.q-o-carte{width:100%;max-width:170px;aspect-ratio:2/3;border-radius:12px;border:2px solid var(--or);background:#141a42;perspective:800px;position:relative;cursor:pointer;padding:0}
.q-o-in{position:absolute;inset:0;transition:transform .6s ease;transform-style:preserve-3d}
.q-o-carte.q-vue .q-o-in{transform:rotateY(180deg)}
.q-o-dos,.q-o-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}
.q-o-face{transform:rotateY(180deg);background:#f7efd9;color:#1a2150;padding:8px}
.q-o-face svg,.q-o-dos svg{width:100%;height:auto}
.q-o-nom{font-family:var(--serif);font-weight:700;font-size:.95rem;text-align:center;line-height:1.15;margin-top:4px}
.q-oracle-act{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:6px 0}
.q-oracle-lecture{margin-top:14px}
.q-oracle-lecture h3{margin-top:1rem}
.q-galerie{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.q-galerie figure{background:#f7efd9;color:#1a2150;border-radius:10px;padding:8px;text-align:center;border:2px solid var(--or)}
.q-galerie figcaption{font-family:var(--serif);font-weight:700;font-size:.88rem;line-height:1.2}
@media (max-width:900px){.q-galerie{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:520px){.q-oracle-table{gap:8px}.q-o-horizon{font-size:.82rem;white-space:normal;text-align:center}.q-galerie{grid-template-columns:repeat(2,minmax(0,1fr))}.q-o-nom{font-size:.8rem}}

/* Fiche voyant */
.q-fiche{display:grid;grid-template-columns:260px minmax(0,1fr);gap:26px;align-items:start;padding-top:18px}
.q-fiche-ph{border-radius:18px;overflow:hidden;border:3px solid var(--trait);background:var(--surf2)}
.q-fiche-ph img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
.q-fiche-libre .q-fiche-ph{border-color:var(--libre)}
.q-fiche-etat{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 14px}
.q-fiche-spe{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0 0 14px}
.q-fiche-spe li{background:var(--surf2);border:1px solid var(--trait);border-radius:999px;padding:3px 10px;font-size:.88rem;white-space:nowrap}
.q-fiche-desc{white-space:pre-line}
.q-horaires{list-style:none;padding:0;margin:0 0 16px}
.q-horaires li{display:flex;flex-wrap:wrap;gap:6px 10px;padding:7px 0;border-top:1px solid var(--trait)}
.q-horaires b{font-family:var(--mono);color:var(--ambre);font-weight:700}
@media (max-width:760px){.q-fiche{grid-template-columns:minmax(0,1fr)}.q-fiche-ph{max-width:220px}}

/* Fenêtre d'appel (ordinateur) */
.q-dial{margin:auto;border:1px solid var(--or);border-radius:16px;background:var(--surf);color:var(--txt);padding:22px;max-width:380px;width:calc(100% - 32px)}
.q-dial::backdrop{background:rgba(8,5,18,.7)}
.q-dial-titre{font-family:var(--serif);color:var(--or2);font-size:1.2rem}
.q-dial-num{font-family:var(--mono);font-size:1.6rem;font-weight:800;color:#fff;white-space:nowrap;margin:.2rem 0}
.q-dial-prix{font-size:.9rem;color:var(--doux)}
.q-dial-act{display:flex;gap:10px;flex-wrap:wrap}

/* Pied */
.q-pied{border-top:1px solid var(--trait);background:#090c24;padding:34px 0 24px;margin-top:20px;font-size:.95rem;color:var(--doux)}
.q-pied-grille{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:22px}
.q-pied ul{list-style:none;padding:0}
.q-pied li{margin-bottom:6px}
.q-pied a{color:var(--doux)}
.q-pied-logo{font-family:var(--serif);color:var(--or);font-size:1.2rem;letter-spacing:.08em}
.q-pied-logo b{color:var(--ambre);font-weight:400}
.q-pied-titre{color:var(--or2);font-weight:700;margin-bottom:.5rem}
.q-pied-tel{margin-bottom:8px}
.q-pied-bas{border-top:1px solid var(--trait);padding-top:14px;margin-top:10px;font-size:.88rem}
@media (max-width:1040px){.q-pied-grille{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.q-pied-grille{grid-template-columns:minmax(0,1fr)}}

/* Barre d'appel mobile */
.q-barre{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;gap:8px;justify-content:center;padding:10px 12px;background:var(--nuit);border-top:1px solid var(--trait)}
.q-barre .q-btn-a{flex:1 1 auto;max-width:320px;font-family:var(--mono);font-size:1.05rem}
@media (min-width:1181px){body{padding-bottom:0}.q-barre{display:none}}

/* Divers */
.q-liens{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.q-note{font-size:.9rem;color:var(--doux)}
.q-etapes{counter-reset:e;list-style:none;padding:0}
.q-etapes li{counter-increment:e;position:relative;padding-left:48px;margin-bottom:14px;min-height:36px}
.q-etapes li::before{content:counter(e);position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;background:var(--ambre);color:#1a1206;font-family:var(--mono);font-weight:800;display:flex;align-items:center;justify-content:center}
.q-sommaire ul{columns:2;column-gap:32px}
@media (max-width:620px){.q-sommaire ul{columns:1}}
.q-legal h2{font-size:1.3rem;margin-top:1.6rem}
.q-apparait{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}
.q-apparait.q-vu{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.q-apparait{opacity:1;transform:none}}

/* Compléments */
.q-accueil-direct{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
.q-accueil-direct .q-tab{margin:0}
.q-carte-esp{margin-top:14px}
.q-produit{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
.q-apercu{margin:0}
.q-apercu img,.q-apercus img{border-radius:8px;border:1px solid var(--trait);box-shadow:0 12px 28px rgba(0,0,0,.4);width:100%;height:auto}
.q-apercu figcaption{margin-top:6px;text-align:center}
.q-apercus{display:grid;grid-template-columns:repeat(2,minmax(0,260px));gap:16px;margin:22px 0}
@media (max-width:860px){.q-produit{grid-template-columns:minmax(0,1fr)}.q-apercu{max-width:70vw;margin:0 auto}}
.q-dl dt{font-weight:700;color:var(--or2);margin-top:.8rem}
.q-dl dd{margin:0 0 .4rem}
.q-fiche-bas{padding-top:26px;padding-bottom:10px}
.q-o-place[hidden],.q-btn[hidden],[hidden]{display:none}
.q-envoi{font-size:1.05rem;padding:13px 22px}
@media (max-width:380px){.q-envoi{font-size:.95rem;padding:12px 14px}}
.q-visages-pile{display:flex;align-items:center}
.q-pied .q-cart{flex-direction:column}
.q-pied .q-cart-num{justify-content:center}

/* Direct : point, fraîcheur, bandeau, filtres, annonces */
.q-point{position:relative;display:inline-block;width:9px;height:9px;border-radius:50%;background:#8388ad;flex-shrink:0}
.q-direct-on .q-point,.q-tab-age[data-frais="1"] .q-point{background:var(--libre)}
.q-direct-on .q-point::after,.q-tab-age[data-frais="1"] .q-point::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--libre);opacity:0;animation:q-onde 2.4s ease-out infinite}
@keyframes q-onde{0%{transform:scale(.4);opacity:.9}100%{transform:scale(1.5);opacity:0}}
.q-direct{display:flex;align-items:center;gap:8px;flex-wrap:wrap;text-decoration:none;color:var(--txt);background:var(--surf);border:1px solid var(--trait);border-radius:12px;padding:10px 12px}
.q-direct-txt{font-weight:700;color:#fff}
.q-direct-age{font-size:.85rem;color:var(--doux);white-space:nowrap}
.q-tab-age{display:inline-flex;align-items:center;gap:7px}
.q-bandeau-zone{background:#0b0e28;border-bottom:1px solid var(--trait)}
.q-bandeau{display:block;text-decoration:none;color:var(--txt)}
.q-bandeau:hover{background:#151b46}
.q-bd-in{display:flex;align-items:center;gap:12px;min-height:52px;padding-top:6px;padding-bottom:6px}
.q-bd-visages{display:flex;flex-shrink:0}
.q-bd-visages .q-visage{width:32px;height:32px;margin-left:-8px}
.q-bd-visages .q-visage:first-child{margin-left:0}
.q-bd-visages .q-visage img{width:32px;height:32px}
.q-bd-txt{display:flex;align-items:center;gap:8px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.95rem}
.q-bd-txt>span:last-child{overflow:hidden;text-overflow:ellipsis;min-width:0}
.q-bd-sep{color:var(--trait)}
.q-bd-lien{margin-left:auto;flex-shrink:0;font-weight:700;color:var(--ambre);white-space:nowrap;font-size:.92rem}
@media (max-width:620px){.q-bd-sep,.q-bd-txt>span:last-child{display:none}.q-bd-visages .q-visage:nth-child(n+4){display:none}}
@media (max-width:360px){.q-bd-lien{display:none}}
.q-filtres{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 10px}
.q-filtres button{background:#141a42;color:var(--txt);border:1px solid #333d80;border-radius:999px;padding:7px 13px;font-size:.92rem;cursor:pointer;white-space:nowrap;touch-action:manipulation}
.q-filtres button[aria-pressed=true]{background:var(--ambre);color:#1a1206;border-color:var(--ambre);font-weight:700}
.q-filtre-vide{color:var(--doux);padding:8px 4px}
.q-lien-btn{background:none;border:0;color:var(--or2);text-decoration:underline;cursor:pointer;font:inherit;padding:0}
.q-dep[hidden]{display:none}
.q-dep-change{background:#1f2a1d}
.q-dep{transition:background-color 1.2s ease}
.q-toasts{position:fixed;left:12px;bottom:84px;z-index:95;display:flex;flex-direction:column;gap:8px;max-width:min(420px,calc(100vw - 24px))}
@media (min-width:1181px){.q-toasts{bottom:18px}}
.q-toast{display:flex;align-items:center;gap:10px;background:#0a0d27;border:1px solid var(--libre);border-radius:14px;padding:10px 12px;box-shadow:0 10px 30px rgba(0,0,0,.45);animation:q-entre .35s ease;transition:opacity .35s ease,transform .35s ease}
.q-toast .q-point{background:var(--libre)}
.q-toast-txt{min-width:0;font-size:.95rem}
.q-toast .q-btn{padding:8px 14px;font-size:.92rem;flex-shrink:0}
.q-toast-x{background:none;border:0;color:var(--doux);font-size:1.4rem;line-height:1;cursor:pointer;width:32px;height:32px;flex-shrink:0}
.q-toast-fin{opacity:0;transform:translateY(8px)}
@keyframes q-entre{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.q-nav-direct{margin-bottom:14px}
.q-nav-appel{margin-top:18px;display:none;flex-direction:column;gap:10px;align-items:flex-start}
@media (max-width:1180px){.q-nav-appel{display:flex}.q-nav a[aria-current]{background:var(--surf2);box-shadow:inset 4px 0 0 var(--ambre);color:#fff}.q-nav a.q-nav-or[aria-current]{background:var(--or2);color:var(--nuit)}}
.q-nav .q-direct{display:flex;white-space:normal;background:var(--surf);padding:12px 14px;font-size:1rem}
.q-nav .q-cart{display:inline-flex;padding:0;background:none;white-space:nowrap}
.q-nav .q-cart:hover{background:none}
.q-court{display:none}
@media (max-width:620px){.q-long{display:none}.q-court{display:inline}}
.q-tab-legende{gap:6px 18px}
.q-leg{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.q-tab-info{flex-wrap:wrap;row-gap:4px}
.q-compteur{white-space:nowrap}
@media (max-width:620px){.q-tab-age{flex-basis:100%}.q-leg{white-space:normal}}
@media (max-width:620px){.q-filtres{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;-webkit-overflow-scrolling:touch}.q-filtres::-webkit-scrollbar{display:none}}
@media (max-width:1000px){.q-fiche .q-cart{flex-direction:column}.q-fiche .q-cart-num{justify-content:center}}
@media (max-width:1040px){.q-pied-grille>div:first-child{grid-column:1/-1}}

/* Panneau d'embarquement */
.q-embarque{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;background:#0a0d27;border:2px solid #333d80;border-radius:14px;padding:10px 14px;min-height:58px;margin:0 0 14px}
.q-emb-type{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.85rem;color:#1a1206;background:var(--ambre);border-radius:6px;padding:4px 8px;white-space:nowrap}
.q-emb-msg{flex:1 1 220px;min-width:0;font-family:var(--mono);color:var(--ambre);font-size:.95rem}
.q-emb-msg strong{color:#fff}
.q-emb-btn{padding:8px 14px;font-size:.92rem}
.q-emb-change{animation:q-flip .5s ease}
/* Billet */
.q-billet-zone{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:18px;align-items:center;margin:0 0 24px}
.q-billet-choix{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.q-billet-choix legend{font-weight:600;margin-bottom:8px;width:100%}
.q-billet-choix label{position:relative}
.q-billet-choix input{position:absolute;opacity:0;width:1px;height:1px}
.q-billet-choix span{display:inline-block;padding:8px 14px;border-radius:999px;border:1px solid #333d80;background:#141a42;cursor:pointer;white-space:nowrap}
.q-billet-choix input:checked+span{background:var(--ambre);color:#1a1206;border-color:var(--ambre);font-weight:700}
.q-billet-choix input:focus-visible+span{outline:3px solid var(--ambre);outline-offset:2px}
.q-billet{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:0;background:#f7efd9;color:#1a2150;border-radius:12px;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.35)}
.q-billet>div{padding:12px 14px;display:flex;flex-direction:column;gap:2px;min-width:0}
.q-billet-g{background:var(--a);color:#170f38;text-align:center}
.q-billet-m{border-right:2px dashed #c9bb95}
.q-billet-lib{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;opacity:.8;font-weight:700;font-size:.82rem}
.q-billet-val{font-family:var(--mono);font-weight:800;font-size:1.3rem;white-space:nowrap}
.q-billet-note{font-size:.85rem;white-space:nowrap}
@media (max-width:620px){.q-billet-zone{grid-template-columns:minmax(0,1fr)}}
@media (max-width:380px){.q-billet{grid-template-columns:minmax(0,1fr)}.q-billet-m{border-right:0;border-bottom:2px dashed #c9bb95}}
/* Pour aller plus loin */
.q-plus{background:var(--surf);border:1px solid var(--trait);border-left:6px solid var(--b);border-radius:var(--r);padding:14px 18px;margin:26px 0}
.q-plus-titre{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--b2);font-size:.85rem;font-weight:700;margin-bottom:.4rem}
.q-plus ul{list-style:none;padding:0;margin:0}
.q-plus li{padding:6px 0;border-top:1px dashed var(--trait)}
.q-plus li:first-child{border-top:0}
.q-plus li a{font-weight:700}
.q-plus li span{color:var(--doux)}
/* Correspondances */
.q-filtres-lib{align-self:center;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--doux);font-size:.82rem;white-space:nowrap}
.q-corresp{margin-top:18px}
.q-fiche-spe a{color:inherit;text-decoration:none}
.q-fiche-spe li:has(a:hover){border-color:var(--or)}
.q-o-corresp{background:#0a0d27;border:1px solid var(--libre);border-radius:14px;padding:12px 14px;margin:14px 0}
.q-o-corresp-t{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ambre);font-size:.85rem;font-weight:700;margin-bottom:.5rem}
.q-o-corresp-in{display:flex;align-items:center;gap:12px}
.q-o-corresp-ph{width:64px;height:64px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid var(--libre);background:var(--surf2)}
.q-o-corresp-ph img{width:64px;height:64px;object-fit:cover}
.q-o-corresp-txt{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.q-o-corresp-nom{color:#fff;font-weight:700;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.q-o-corresp-spe{font-size:.88rem;color:var(--doux);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.q-o-corresp .q-note{margin:.6rem 0 0}
@media (max-width:420px){.q-o-corresp-in{flex-wrap:wrap}}
.q-plaque.q-plaque-libre{color:#0c2618;background:var(--libre);border-color:var(--libre)}
@media (max-width:420px){.q-o-corresp-txt{flex:1 1 calc(100% - 80px)}.q-o-corresp-in .q-btn{margin-left:76px}}
/* Charte */
.q-charte-sommaire{background:var(--surf);border:1px solid var(--trait);border-radius:var(--r);padding:14px 18px;margin:18px 0 26px}
.q-charte-sommaire ol{columns:2;column-gap:28px;margin:0;padding-left:1.4rem}
.q-charte-sommaire li{break-inside:avoid;margin-bottom:4px}
@media (max-width:620px){.q-charte-sommaire ol{columns:1}}
.q-charte-art{border-top:1px solid var(--trait);padding-top:6px;margin-top:10px}
.q-charte-art h2{display:flex;align-items:baseline;gap:10px}
.q-charte-num{font-family:var(--mono);color:var(--ambre);font-size:1rem;flex-shrink:0}
.q-charte-art li{margin-bottom:.5rem}

/* Oracle des horizons : train des cartes */
.q-orc{background:radial-gradient(110% 80% at 50% 0%,#2a2a78 0%,#0b0f2c 70%);border:1px solid var(--trait);border-radius:20px;padding:18px;margin-bottom:26px;overflow:hidden}
.q-orc-tete{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:14px;align-items:start;margin-bottom:10px}
.q-orc-titre{margin:0;font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ambre);font-size:1.15rem}
.q-orc-quai{background:#0a0d27;border:1px solid #333d80;border-radius:12px;padding:10px 12px;font-size:.9rem;min-height:132px}
.q-orc-quai p{margin:0 0 4px}
.q-orc-compte{display:flex;align-items:center;gap:8px}
.q-orc-compte .q-point{background:var(--libre)}
.q-orc-compte .q-point::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--libre);opacity:0;animation:q-onde 2.4s ease-out infinite}
.q-orc-n{font-family:var(--mono);color:#fff;font-size:1.05rem}
.q-orc-pulse{animation:q-flip .6s ease}
.q-orc-top{color:var(--doux)}
.q-orc-derniers{list-style:none;padding:0;margin:6px 0 0}
.q-orc-derniers li{display:flex;gap:8px;align-items:baseline;min-width:0;padding:2px 0;border-top:1px dashed #232a5e;font-size:.85rem}
.q-orc-derniers li:first-child{border-top:0}
.q-orc-derniers time{font-family:var(--mono);color:var(--ambre);flex-shrink:0;min-width:92px}
.q-orc-derniers span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}
.q-orc-derniers em{color:var(--doux);font-style:normal;flex-shrink:0;white-space:nowrap}
.q-orc-vide{color:var(--doux)}
@media (max-width:820px){.q-orc-tete{grid-template-columns:minmax(0,1fr)}.q-orc-quai{min-height:0}}
@media (max-width:480px){.q-orc-derniers em{display:none}.q-orc{padding:14px 12px}}
.q-orc-etapes{list-style:none;display:flex;gap:6px;padding:0;margin:8px 0 12px;counter-reset:e}
.q-orc-etapes li{counter-increment:e;flex:1;text-align:center;font-size:.85rem;color:var(--doux);border-top:3px solid #333d80;padding-top:5px;white-space:nowrap}
.q-orc-etapes li::before{content:counter(e) ". "}
.q-orc-etapes li.q-orc-e-on{border-color:var(--ambre);color:#fff}
.q-orc-choix{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.q-orc-choix button{background:var(--surf);color:var(--txt);border:1px solid var(--trait);border-radius:999px;padding:8px 14px;font-size:.95rem;cursor:pointer;white-space:nowrap;touch-action:manipulation}
.q-orc-choix button[aria-pressed=true]{background:var(--or);color:#1a1206;border-color:var(--or);font-weight:700}
.q-orc-q input::placeholder{color:#6c7199}
.q-orc-train{margin:6px 0 14px}
.q-orc-consigne{font-family:var(--mono);color:var(--ambre);font-size:.9rem;min-height:1.6em;margin-bottom:8px}
.q-orc-voie{overflow:hidden;padding:14px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);position:relative}
.q-orc-voie::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:3px;background:repeating-linear-gradient(90deg,#333d80 0 18px,transparent 18px 30px)}
.q-orc-rail{display:flex;gap:12px;width:max-content;animation:q-rail 52s linear infinite}
@keyframes q-rail{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.q-orc-train[data-etat=arret] .q-orc-rail,.q-orc-train[data-etat=pause] .q-orc-rail,.q-orc-train.q-orc-hors .q-orc-rail{animation-play-state:paused}
@media (hover:hover) and (pointer:fine){.q-orc-voie:hover .q-orc-rail{animation-play-state:paused}}
.q-orc-c{display:block;flex-shrink:0;width:88px;height:132px;border-radius:10px;border:2px solid var(--or);background:#141a42 url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20100%20150%22%3E%3Crect%20width%3D%22100%22%20height%3D%22150%22%20fill%3D%22%23141a42%22/%3E%3Crect%20x%3D%227%22%20y%3D%227%22%20width%3D%2286%22%20height%3D%22136%22%20rx%3D%226%22%20fill%3D%22none%22%20stroke%3D%22%23e3b64c%22%20stroke-width%3D%222%22/%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2275%22%20r%3D%2226%22%20fill%3D%22none%22%20stroke%3D%22%23e3b64c%22%20stroke-width%3D%222%22/%3E%3Cpath%20d%3D%22M50%2055%20V75%20L63%2083%22%20stroke%3D%22%23ffc24d%22%20stroke-width%3D%223%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22/%3E%3Cpath%20d%3D%22M14%20118%20Q50%20104%2086%20118%22%20stroke%3D%22%2386c9ff%22%20stroke-width%3D%222%22%20fill%3D%22none%22/%3E%3Cpath%20d%3D%22M14%2032%20Q50%2046%2086%2032%22%20stroke%3D%22%23b9a1ff%22%20stroke-width%3D%222%22%20fill%3D%22none%22/%3E%3C/svg%3E") center/cover no-repeat;cursor:pointer;padding:0;transition:transform .2s ease,opacity .3s ease,box-shadow .2s ease;touch-action:manipulation}
button.q-orc-c:hover,button.q-orc-c:focus-visible{transform:translateY(-10px);box-shadow:0 10px 20px rgba(255,194,77,.25)}
.q-orc-c.q-prise{opacity:.12;cursor:default;transform:none}
.q-orc-c.q-visee{transform:translateY(-14px)}
.q-orc-train-act{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:10px 0 0}
.q-orc-reste{font-family:var(--mono);color:var(--doux);font-size:.9rem;white-space:nowrap}
.q-orc-vol{position:fixed;left:0;top:0;z-index:200;pointer-events:none;border-radius:10px;border:2px solid var(--or);background:#141a42 url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20100%20150%22%3E%3Crect%20width%3D%22100%22%20height%3D%22150%22%20fill%3D%22%23141a42%22/%3E%3Crect%20x%3D%227%22%20y%3D%227%22%20width%3D%2286%22%20height%3D%22136%22%20rx%3D%226%22%20fill%3D%22none%22%20stroke%3D%22%23e3b64c%22%20stroke-width%3D%222%22/%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2275%22%20r%3D%2226%22%20fill%3D%22none%22%20stroke%3D%22%23e3b64c%22%20stroke-width%3D%222%22/%3E%3Cpath%20d%3D%22M50%2055%20V75%20L63%2083%22%20stroke%3D%22%23ffc24d%22%20stroke-width%3D%223%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22/%3E%3Cpath%20d%3D%22M14%20118%20Q50%20104%2086%20118%22%20stroke%3D%22%2386c9ff%22%20stroke-width%3D%222%22%20fill%3D%22none%22/%3E%3Cpath%20d%3D%22M14%2032%20Q50%2046%2086%2032%22%20stroke%3D%22%23b9a1ff%22%20stroke-width%3D%222%22%20fill%3D%22none%22/%3E%3C/svg%3E") center/cover no-repeat;box-shadow:0 18px 40px rgba(0,0,0,.5)}
.q-orc-voies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:6px 0 16px}
.q-orc-un .q-orc-voies{grid-template-columns:minmax(0,200px);justify-content:center}
.q-orc-slot{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.q-orc-slot[hidden]{display:none}
.q-orc-hz{font-family:var(--mono);font-size:.85rem;color:#1a1206;background:var(--ambre);border-radius:6px;padding:2px 8px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.q-orc-place{width:100%;max-width:170px;aspect-ratio:2/3;border-radius:12px;border:2px dashed #333d80;display:flex;align-items:center;justify-content:center;perspective:900px}
.q-orc-vide-c{font-family:var(--mono);color:#6c7199;font-size:.85rem}
.q-orc-carte{width:100%;height:100%;border:0;padding:0;background:none;cursor:pointer;position:relative}
.q-orc-in{position:absolute;inset:0;transition:transform .7s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d}
.q-orc-carte.q-vue .q-orc-in{transform:rotateY(180deg)}
.q-orc-dos,.q-orc-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:10px;overflow:hidden;border:2px solid var(--or)}
.q-orc-dos{background:#141a42 url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20100%20150%22%3E%3Crect%20width%3D%22100%22%20height%3D%22150%22%20fill%3D%22%23141a42%22/%3E%3Crect%20x%3D%227%22%20y%3D%227%22%20width%3D%2286%22%20height%3D%22136%22%20rx%3D%226%22%20fill%3D%22none%22%20stroke%3D%22%23e3b64c%22%20stroke-width%3D%222%22/%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2275%22%20r%3D%2226%22%20fill%3D%22none%22%20stroke%3D%22%23e3b64c%22%20stroke-width%3D%222%22/%3E%3Cpath%20d%3D%22M50%2055%20V75%20L63%2083%22%20stroke%3D%22%23ffc24d%22%20stroke-width%3D%223%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22/%3E%3Cpath%20d%3D%22M14%20118%20Q50%20104%2086%20118%22%20stroke%3D%22%2386c9ff%22%20stroke-width%3D%222%22%20fill%3D%22none%22/%3E%3Cpath%20d%3D%22M14%2032%20Q50%2046%2086%2032%22%20stroke%3D%22%23b9a1ff%22%20stroke-width%3D%222%22%20fill%3D%22none%22/%3E%3C/svg%3E") center/cover no-repeat}
.q-orc-face{transform:rotateY(180deg);background:#f7efd9;color:#1a2150;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;box-shadow:0 0 0 3px rgba(255,194,77,.25)}
.q-orc-face svg{width:80%;height:auto}
.q-orc-nom{font-family:var(--serif);font-weight:700;font-size:.95rem;text-align:center;line-height:1.15;margin-top:4px}
@media (max-width:520px){.q-orc-c{width:72px;height:108px}.q-orc-voies{gap:8px}.q-orc-nom{font-size:.82rem}.q-orc-hz{font-size:.82rem;white-space:normal;text-align:center}}
.q-orc-lecture{min-height:0}
.q-orc-lu{animation:q-entre .5s ease;background:#0a0d27;border:1px solid #333d80;border-radius:12px;padding:12px 14px;margin-bottom:10px}
.q-orc-lu h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:.3rem}
.q-orc-lu p:last-child{margin-bottom:0}
.q-orc-lu-hz{font-family:var(--mono);font-size:.85rem;color:var(--ambre);text-transform:uppercase;letter-spacing:.06em}
.q-orc-rep{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-bottom:8px}
.q-orc-rep span{font-family:var(--mono);font-size:.85rem;color:var(--doux);text-transform:uppercase}
.q-orc-rep strong{font-family:var(--serif);font-size:1.8rem;color:var(--ambre)}
.q-orc-rep-oui strong,.q-orc-rep-plutot_oui strong{color:var(--libre)}
.q-orc-rep-non strong,.q-orc-rep-plutot_non strong{color:var(--occupe)}
.q-orc-jauge{animation:q-entre .5s ease;background:#0a0d27;border:1px solid var(--or);border-radius:12px;padding:12px 14px;margin-bottom:10px}
.q-orc-jauge-t{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ambre);font-size:.85rem;font-weight:700;margin-bottom:.5rem}
.q-orc-jauge-b{position:relative;height:12px;border-radius:999px;background:linear-gradient(90deg,#ff9d8a,#ffc24d 50%,#52d894);margin:6px 8px 4px}
.q-orc-aiguille{position:absolute;left:0;right:0;top:-6px;height:24px;transform:translateX(50%);transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.q-orc-aiguille::before{content:"";position:absolute;left:-7px;top:0;width:14px;height:24px;border-radius:7px;background:#fff;box-shadow:0 0 0 3px #0c1030}
.q-orc-jauge-l{display:flex;justify-content:space-between;font-size:.85rem;color:var(--doux)}
.q-orc-fin[hidden]{display:none}
.q-orc-act{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 0}
.q-orc-tab{margin:12px 0}
.q-orc-tab .q-tab-titre{font-size:1rem}
@media (prefers-reduced-motion:reduce){.q-orc-rail{animation:none;flex-wrap:wrap;width:auto;justify-content:center}.q-orc-bis{display:none}.q-orc-voie{-webkit-mask-image:none;mask-image:none}}
.q-orc-intro{color:var(--doux);margin:.6rem 0 0;max-width:560px}

/* Visuels d'illustration : cadre doré, lueur d'améthyste */
.q-visuel{margin:0 0 18px;position:relative}
.q-visuel picture{display:block;border-radius:18px;overflow:hidden;border:1px solid rgba(233,180,76,.55);box-shadow:0 0 0 4px rgba(12,16,48,.9),0 0 0 5px rgba(233,180,76,.25),0 18px 50px rgba(95,70,220,.35);background:var(--surf)}
.q-visuel img{width:100%;height:auto}
.q-visuel figcaption{position:absolute;right:10px;bottom:8px;font-size:.82rem;line-height:1.2;color:#fff;background:rgba(10,13,39,.72);padding:3px 7px;border-radius:6px}
.q-visuel-bandeau picture{border-radius:14px}
.q-visuel-bandeau img{aspect-ratio:1326/350;object-fit:cover}
@media (max-width:600px){.q-visuel-bandeau img{aspect-ratio:640/220}}
.q-quai-final{background:radial-gradient(80% 120% at 20% 50%,rgba(125,96,255,.22),transparent 70%),linear-gradient(180deg,var(--nuit),#10143a);border-top:1px solid var(--trait);border-bottom:1px solid var(--trait)}
.q-quai-final-in{display:grid;grid-template-columns:320px minmax(0,1fr);gap:32px;align-items:center}
.q-quai-final .q-visuel{margin:0}
@media (max-width:960px){.q-quai-final-in{grid-template-columns:minmax(0,1fr)}.q-quai-final .q-visuel{max-width:240px;margin:0 auto}}
h1{text-shadow:0 0 28px rgba(233,180,76,.18)}

/* Cartouches : toujours la même taille, quelle que soit la voie ou la page.
   En ligne : 31rem (numéro à largeur fixe, étiquette qui remplit le reste).
   En colonne : 18rem (pied de page, fiches, petits écrans, héros étroit). */
.q-cart{width:31rem;max-width:100%;flex:none}
.q-cart-num{flex:none;width:12.5rem;justify-content:center}
.q-cart-tag{flex:1 1 auto;min-width:0;justify-content:center;text-align:center}
.q-pied .q-cart,.q-cart-petit{flex-direction:column;width:18rem}
.q-pied .q-cart-num,.q-cart-petit .q-cart-num{width:auto}
.q-nav .q-cart{display:inline-flex;width:31rem}
@media (max-width:560px){
  .q-cart,.q-nav .q-cart{flex-direction:column;width:18rem}
  .q-cart-num{width:auto}
}

@media (max-width:1000px){.q-fiche .q-cart{width:18rem}.q-fiche .q-cart-num{width:auto}}

/* Accueil : texte, visuel, puis "À quai maintenant" (sur mobile : texte, quai, visuel) */
.q-heros-grille{grid-template-areas:"txt vis" "cart vis" "quai quai";row-gap:0}
.q-heros-txt{grid-area:txt;min-width:0;align-self:end}.q-heros-cart{grid-area:cart;align-self:start;margin:6px 0 0}.q-heros-vis{grid-area:vis}.q-heros-quai{grid-area:quai;min-width:0;margin-top:28px}
.q-heros-quai .q-embarque{margin:14px 0 0}
@media (max-width:980px){.q-heros-grille{grid-template-areas:"txt" "quai" "cart" "vis";row-gap:22px}.q-heros-quai{margin-top:0}.q-heros-cart{margin:0}.q-heros .q-chapo{margin-bottom:0}}

/* À quai maintenant */
.q-quai{background:rgba(10,13,39,.72);border:1px solid var(--trait);border-radius:18px;padding:16px;box-shadow:0 12px 36px rgba(0,0,0,.3)}
.q-quai-tete{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-bottom:12px}
.q-quai-titre{font-family:var(--mono);font-size:1rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ambre);margin:0}
.q-quai .q-direct{background:none;border:0;padding:0;display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--doux);font-size:.9rem;min-width:0}
.q-quai .q-direct-age{white-space:nowrap}
.q-qc-liste{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.q-qc{display:flex;flex-direction:column;gap:10px;min-width:0;background:linear-gradient(180deg,#1a2150,#131947);border:1px solid #333d80;border-radius:14px;padding:12px;position:relative;transition:border-color .2s ease,transform .2s ease}
.q-qc-libre{border-color:rgba(82,216,148,.65);box-shadow:0 0 0 1px rgba(82,216,148,.18),0 8px 24px rgba(82,216,148,.08)}
.q-qc:hover{transform:translateY(-2px)}
.q-qc-ph{position:relative;width:72px;height:72px;flex:none}
.q-qc-ph img{width:72px;height:72px;border-radius:50%;object-fit:cover;border:2px solid #333d80;background:var(--surf2)}
.q-qc-libre .q-qc-ph img{border-color:var(--libre)}
.q-qc-pt{position:absolute;right:2px;bottom:2px;width:16px;height:16px;border-radius:50%;background:#8388ad;border:3px solid #141a42}
.q-qc-libre .q-qc-pt{background:var(--libre)}.q-qc-occupe .q-qc-pt{background:var(--occupe)}.q-qc-arrive .q-qc-pt,.q-qc-planning .q-qc-pt{background:var(--ambre)}
.q-qc{display:grid;grid-template-columns:72px minmax(0,1fr);grid-template-rows:auto 1fr auto;grid-template-areas:"ph id" "spe spe" "btn btn";align-items:center;column-gap:12px}
.q-qc-spe{align-self:start}
.q-qc-ph{grid-area:ph}.q-qc-id{grid-area:id;display:flex;flex-direction:column;gap:4px;min-width:0}.q-qc-spe{grid-area:spe}.q-qc-appel{grid-area:btn;width:100%}
.q-qc-nom{color:#fff;font-weight:700;font-size:1.08rem;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.q-qc-nom:hover{text-decoration:underline}
.q-qc-libre .q-plaque{color:#0c2618;background:var(--libre);border-color:var(--libre)}
.q-qc-occupe .q-plaque{color:var(--occupe)}
.q-qc-det{font-size:.85rem;color:var(--doux);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.q-qc-spe{display:flex;flex-wrap:wrap;gap:6px;min-height:34px;align-content:flex-start}
.q-pp{font:inherit;font-size:.85rem;line-height:1.2;color:var(--or2);background:transparent;border:1px solid rgba(233,180,76,.55);border-radius:999px;padding:5px 10px;cursor:pointer;white-space:nowrap;touch-action:manipulation}
.q-pp:hover{background:rgba(233,180,76,.12)}
.q-pp[aria-pressed=true]{background:var(--or);color:#1a1206;border-color:var(--or);font-weight:700}
.q-qc-vide{grid-column:1/-1;color:var(--doux);padding:8px 0}
.q-qc-def{margin:12px 0 0;min-height:3.2em;border-left:3px solid var(--or);background:rgba(233,180,76,.06);border-radius:0 10px 10px 0;padding:8px 12px;font-size:.95rem;color:var(--doux)}
.q-qc-def strong{color:var(--or2)}
.q-qc-def a{white-space:nowrap}
.q-quai .q-tab-suite{margin:10px 0 0}
@media (max-width:1100px){.q-qc-liste{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){
  .q-quai{padding:14px 12px;margin:0 -4px}
  .q-qc-liste{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding-bottom:6px;overscroll-behavior-x:contain;scrollbar-width:thin}
  .q-qc{flex:0 0 min(82%,300px);scroll-snap-align:start}
}
@media (prefers-reduced-motion:reduce){.q-qc,.q-qc:hover{transition:none;transform:none}}

/* En-tête : pastille en direct sur toutes les pages */
.q-tete-direct{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;text-decoration:none;font-family:var(--mono);font-weight:700;font-size:.85rem;color:#fff;border:1px solid var(--trait);background:var(--surf);border-radius:999px;padding:6px 11px;flex-shrink:0}
.q-tete-direct.q-direct-on{border-color:rgba(82,216,148,.6)}
.q-tete-direct:hover{background:var(--surf2)}

/* Explication d'une pratique (tableau des départs et fiches) */
.q-filtre-def{margin:0 0 10px;font-size:.92rem;color:var(--doux);border-left:3px solid var(--or);padding:4px 10px;min-height:1.6em}
.q-filtre-def strong{color:var(--or2)}
.q-fiche-spe-def{list-style:none;padding:0;margin:0 0 14px;font-size:.95rem;color:var(--doux)}
.q-fiche-spe-def li{margin-bottom:6px}
.q-fiche-spe-def strong{color:var(--or2)}
/* En-tête avec la pastille en direct : tout tient dans le cadre */
@media (min-width:1181px){.q-tete-in{gap:10px}.q-nav a{padding:8px 8px;font-size:.92rem}.q-nav ul{gap:2px}}
.q-tete-direct{font-size:.82rem;padding:5px 9px;gap:6px}
@media (max-width:560px){.q-tete-tel{display:none}}
@media (max-width:380px){.q-logo-ic{display:none}.q-tete-direct{padding:4px 8px}}

/* Effets chauds : lueur de lanterne sur les voyants (transform/opacity seulement, en pause hors écran) */
.q-qc{overflow:hidden;isolation:isolate}
.q-qc>*{position:relative;z-index:1}
.q-qc::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;transition:opacity .3s ease;background:radial-gradient(220px circle at var(--mx,50%) var(--my,30%),rgba(255,170,80,.22),rgba(233,120,60,.08) 45%,transparent 70%)}
.q-qc:hover::before,.q-qc:focus-within::before{opacity:1}
.q-qc::after{content:"";position:absolute;left:-10%;right:-10%;bottom:-40%;height:85%;z-index:0;pointer-events:none;opacity:0;background:radial-gradient(60% 55% at 50% 100%,rgba(255,176,72,.34),rgba(255,120,60,.12) 50%,transparent 75%);transform-origin:50% 100%}
.q-qc-libre::after{opacity:.75}
.q-qc-occupe::after{opacity:.3;background:radial-gradient(60% 55% at 50% 100%,rgba(255,140,110,.25),transparent 72%)}
.q-anim-on .q-qc-libre::after{animation:q-bougie 3.6s ease-in-out infinite}
.q-anim-on .q-qc-libre:nth-child(2n)::after{animation-duration:4.3s;animation-delay:-1.2s}
@keyframes q-bougie{0%,100%{opacity:.62;transform:scaleY(1)}18%{opacity:.85;transform:scaleY(1.06)}31%{opacity:.58;transform:scaleY(.97)}47%{opacity:.8;transform:scaleY(1.04)}63%{opacity:.66;transform:scaleY(.99)}81%{opacity:.9;transform:scaleY(1.07)}}
/* Anneau de lanterne autour de la photo (voyant libre) */
.q-qc-ph::before,.q-fiche-anneau::before{content:"";position:absolute;inset:-5px;border-radius:50%;z-index:0;opacity:0;background:conic-gradient(from 0deg,#ffb347,#e9b44c,#ff7a45,#b9a1ff,#ffb347)}
.q-qc-ph picture,.q-qc-ph img{position:relative;z-index:1}
.q-qc-pt{z-index:2}
.q-qc-libre .q-qc-ph::before{opacity:1}
.q-qc-libre .q-qc-ph img{border-color:#1a2150}
.q-anim-on .q-qc-libre .q-qc-ph::before{animation:q-anneau 9s linear infinite}
@keyframes q-anneau{to{transform:rotate(1turn)}}
.q-qc-libre{border-color:rgba(255,176,72,.6);box-shadow:0 0 0 1px rgba(255,176,72,.2),0 10px 30px rgba(255,140,60,.12)}
.q-qc-libre .q-plaque{box-shadow:0 0 12px rgba(82,216,148,.35)}
/* Allumage : quand un voyant devient libre en direct */
.q-qc-allume{animation:q-allume 1.4s ease-out}
@keyframes q-allume{0%{transform:scale(.97)}35%{transform:scale(1.03)}100%{transform:none}}
.q-qc-allume::after{animation:q-allume-lueur 1.4s ease-out!important}
@keyframes q-allume-lueur{0%{opacity:0;transform:scaleY(.6)}30%{opacity:1;transform:scaleY(1.25)}100%{opacity:.75;transform:none}}
/* Tableau : ligne libre éclairée au survol */
.q-dep{isolation:isolate}
.q-dep::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .25s ease;background:linear-gradient(90deg,rgba(255,170,80,.14),rgba(255,170,80,0) 70%)}
.q-dep:hover::before,.q-dep:focus-within::before{opacity:1}
.q-dep-libre .q-dep-ph{border-color:#ffb347;box-shadow:0 0 14px rgba(255,160,70,.35)}
/* Fiche voyant : portrait à la lanterne */
.q-fiche-ph{position:relative;isolation:isolate}
.q-fiche-libre .q-fiche-ph{border-color:#ffb347;box-shadow:0 0 0 1px rgba(255,176,72,.35),0 18px 50px rgba(255,140,60,.22)}
.q-fiche-ph::after{content:"";position:absolute;inset:auto -10% -30% -10%;height:70%;z-index:1;pointer-events:none;opacity:0;background:radial-gradient(60% 60% at 50% 100%,rgba(255,176,72,.45),rgba(255,120,60,.15) 50%,transparent 75%);transform-origin:50% 100%}
.q-fiche-libre .q-fiche-ph::after{opacity:.7}
.q-anim-on.q-fiche-libre .q-fiche-ph::after{animation:q-bougie 3.8s ease-in-out infinite}
.q-fiche-ph::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .3s ease;background:radial-gradient(180px circle at var(--mx,50%) var(--my,40%),rgba(255,190,110,.25),transparent 70%)}
.q-fiche-ph:hover::before{opacity:1}
@media (prefers-reduced-motion:reduce){.q-qc::after,.q-qc-ph::before,.q-fiche-ph::after,.q-qc-allume{animation:none!important}}
/* Lueurs plus présentes */
.q-qc::after{background:radial-gradient(62% 58% at 50% 100%,rgba(255,176,72,.5),rgba(255,120,60,.2) 48%,transparent 76%)}
.q-qc-libre{background:linear-gradient(180deg,#1c2152 0%,#1d1d4a 60%,#2a1f3f 100%)}
.q-fiche-ph::after{background:radial-gradient(60% 60% at 50% 100%,rgba(255,176,72,.55),rgba(255,120,60,.2) 50%,transparent 75%)}
.q-fiche-libre .q-fiche-plaque{color:#0c2618;background:var(--libre);border-color:var(--libre);box-shadow:0 0 12px rgba(82,216,148,.35)}

/* Mes 90 prochains jours : visuel produit */
.q-m90-vis{display:block;border-radius:16px;overflow:hidden;border:1px solid rgba(233,180,76,.6);box-shadow:0 14px 40px rgba(0,0,0,.4),0 0 0 4px rgba(12,16,48,.9);transition:transform .2s ease,box-shadow .2s ease}
.q-m90-vis img{width:100%;height:auto}
.q-m90-vis:hover{transform:translateY(-3px);box-shadow:0 18px 48px rgba(0,0,0,.45),0 0 0 4px rgba(12,16,48,.9),0 0 30px rgba(233,180,76,.25)}
.q-promo-img{margin:0}
.q-promo-img figcaption,.q-cmd-vis figcaption{font-size:.82rem;color:var(--doux);margin-top:6px;text-align:center}
.q-promo-grand{grid-template-columns:340px minmax(0,1fr);gap:28px}
@media (max-width:700px){.q-promo-grand{grid-template-columns:minmax(0,1fr)}.q-promo-grand .q-promo-img{max-width:420px;width:100%;margin:0 auto}}
.q-cmd-grille{display:grid;grid-template-columns:400px minmax(0,1fr);gap:28px;align-items:start}
.q-cmd-vis{margin:0;position:sticky;top:84px}
@media (max-width:860px){.q-cmd-grille{grid-template-columns:minmax(0,1fr)}.q-cmd-vis{position:static;max-width:360px;width:100%;margin:0 auto}}
.q-orc-m90{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:16px;margin:16px 0 0;background:#0a0d27;border:1px solid var(--or);border-radius:14px;overflow:hidden;text-decoration:none;color:var(--txt);transition:transform .2s ease,box-shadow .2s ease}
.q-orc-m90:hover{transform:translateY(-2px);box-shadow:0 0 28px rgba(233,180,76,.2)}
.q-orc-m90 img{width:100%;height:auto;display:block}
.q-orc-m90-txt{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:12px 16px 12px 0;font-size:.95rem}
@media (max-width:700px){.q-orc-m90{grid-template-columns:minmax(0,1fr);gap:0}.q-orc-m90-txt{padding:12px 14px 14px}}
@media (prefers-reduced-motion:reduce){.q-m90-vis,.q-orc-m90{transition:none}.q-m90-vis:hover,.q-orc-m90:hover{transform:none}}

/* Sur le quai : bande des voyants en direct sous l'en-tête */
.q-xp-zone{background:linear-gradient(180deg,#0b0e2a,#10143a);border-bottom:1px solid rgba(233,180,76,.35);box-shadow:inset 0 1px 0 rgba(233,180,76,.15)}
.q-xp-in{display:flex;align-items:center;gap:14px;min-height:76px;padding-top:8px;padding-bottom:8px}
.q-xp-tete{display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex-shrink:0;text-decoration:none;color:var(--txt);padding-right:14px;border-right:1px solid var(--trait)}
.q-xp-tete .q-point{position:absolute;margin:5px 0 0 -16px}
.q-xp-tete{position:relative;padding-left:16px}
.q-xp-titre{font-family:var(--mono);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ambre);font-weight:700;white-space:nowrap}
.q-xp-compte{font-weight:700;color:#fff;white-space:nowrap;font-size:.95rem}
.q-xp-liste{list-style:none;margin:0;padding:4px 2px;display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;min-width:0;flex:1 1 auto;-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent);mask-image:linear-gradient(90deg,#000 92%,transparent)}
.q-xp-liste::-webkit-scrollbar{display:none}
.q-xp{flex:none;scroll-snap-align:start}
.q-xp-a{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--txt);background:rgba(26,33,80,.75);border:1px solid #333d80;border-radius:999px;padding:5px 14px 5px 5px;transition:border-color .2s ease,transform .2s ease,background-color .2s ease}
.q-xp-a:hover{border-color:var(--or);background:#1d2458;transform:translateY(-1px)}
.q-xp-libre .q-xp-a{border-color:rgba(255,176,72,.55);background:linear-gradient(90deg,rgba(255,160,70,.14),rgba(26,33,80,.8) 60%)}
.q-xp-ph{position:relative;width:44px;height:44px;flex:none}
.q-xp-ph img{position:relative;z-index:1;width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid #0c1030;background:var(--surf2)}
.q-xp-ph::before{content:"";position:absolute;inset:-3px;border-radius:50%;background:#333d80}
.q-xp-libre .q-xp-ph::before{background:conic-gradient(#ffb347,#e9b44c,#ff7a45,#b9a1ff,#ffb347)}
.q-anim-on .q-xp-libre .q-xp-ph::before{animation:q-anneau 9s linear infinite}
.q-xp-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.q-xp-nom{font-weight:700;color:#fff;white-space:nowrap;max-width:13ch;overflow:hidden;text-overflow:ellipsis;line-height:1.15}
.q-xp-l2{display:flex;align-items:center;gap:6px;white-space:nowrap}
.q-xp .q-plaque{font-size:.82rem;padding:1px 6px}
.q-xp-libre .q-plaque{color:#0c2618;background:var(--libre);border-color:var(--libre)}
.q-xp-occupe .q-plaque{color:var(--occupe)}
.q-xp-spe{font-size:.82rem;color:var(--or2)}
.q-xp-tous{flex-shrink:0;font-weight:700;color:var(--ambre);white-space:nowrap;font-size:.92rem}
.q-xp-entre .q-xp{animation:q-xp-in .5s ease both}
.q-xp-entre .q-xp:nth-child(2){animation-delay:.06s}.q-xp-entre .q-xp:nth-child(3){animation-delay:.12s}.q-xp-entre .q-xp:nth-child(4){animation-delay:.18s}.q-xp-entre .q-xp:nth-child(5){animation-delay:.24s}.q-xp-entre .q-xp:nth-child(6){animation-delay:.3s}
@keyframes q-xp-in{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
@media (max-width:760px){.q-xp-tous{display:none}.q-xp-in{gap:10px}.q-xp-tete{padding-right:10px}.q-xp-compte{font-size:.88rem}}
@media (max-width:420px){.q-xp-titre{font-size:.82rem;letter-spacing:.06em}.q-xp-a{padding-right:10px}.q-xp-nom{max-width:10ch}}
@media (prefers-reduced-motion:reduce){.q-xp-entre .q-xp,.q-xp-libre .q-xp-ph::before{animation:none!important}.q-xp-a{transition:none}}
/* Tableau des départs sur mobile : les voyants d'abord */
@media (max-width:620px){
  .q-accueil-direct .q-embarque{order:2}
  .q-tab{display:flex;flex-direction:column}
  .q-tab-legende{order:5;margin-top:10px}
  .q-tab-corps{order:4}.q-filtre-vide{order:3}.q-tab-suite{order:6}
  .q-filtre-def-vide{display:none}
}
