/* voyantesanscb.fr - thème "Nuit améthyste, or et bougies" (d'après les visuels du site) */
@font-face{font-family:"Marcellus";src:url("/assets/fonts/marcellus.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Nunito Sans";src:url("/assets/fonts/nunito.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Nunito Sans";src:url("/assets/fonts/nunito-bold.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Nunito Sans";src:url("/assets/fonts/nunito-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
/* Polices de repli aux métriques ajustées (pas de décalage au chargement) */
@font-face{font-family:"Marcellus repli";src:local("Georgia"),local("Times New Roman");size-adjust:104%;ascent-override:92%;descent-override:26%}
@font-face{font-family:"Nunito repli";src:local("Arial"),local("Helvetica");size-adjust:101%;ascent-override:100%;descent-override:35%}

:root{
  --nuit:#110a1c;--nuit2:#190f2a;--surface:#221537;--surface2:#2d1b47;--ligne:#443062;
  --cire:#f7eedc;--texte:#f3ecf8;--texte2:#d6cbe6;--texte3:#baabcf;
  --flamme:#ffb347;--flamme2:#ff8a3d;--braise:#c2412d;--grenat:#6b2fa0;--or:#f0cd84;--bleu:#7fa8ff;--lotus:#d98ad6;
  --libre:#9ee6a0;--rayon:14px;--ombre:0 10px 30px rgba(0,0,0,.35);
  --titre:"Marcellus","Marcellus repli",Georgia,serif;--corps:"Nunito Sans","Nunito repli",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem}
body{margin:0;background:var(--nuit);color:var(--texte);font:400 17px/1.65 var(--corps);
  background-image:radial-gradient(60rem 30rem at 85% -10%,rgba(120,52,180,.42),transparent 70%),radial-gradient(40rem 26rem at -10% 30%,rgba(255,138,61,.07),transparent 70%);
  background-repeat:no-repeat;overflow-x:hidden}
img,svg{max-width:100%}
a{color:var(--or);text-underline-offset:.18em}
a:hover{color:#ffd9a0}
a,button,summary,input,label{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
:focus-visible{outline:3px solid var(--flamme);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--titre);font-weight:400;line-height:1.2;color:var(--cire);letter-spacing:.01em}
h1{font-size:clamp(2rem,1.3rem + 2.6vw,3.1rem);margin:.2em 0 .35em}
h2{font-size:clamp(1.5rem,1.2rem + 1.1vw,2rem);margin:2.2em 0 .6em}
h3{font-size:1.25rem;margin:1.6em 0 .5em}
p{margin:0 0 1em}
ul,ol{padding-left:1.3em}
li{margin:.3em 0}
table{border-collapse:collapse;width:100%;margin:1em 0 1.6em}
th,td{text-align:left;padding:.7em .8em;border-bottom:1px solid var(--ligne);vertical-align:top}
th{font-weight:700;color:var(--cire);background:var(--surface)}
.fl-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fl-evitement{position:absolute;left:1rem;top:-4rem;background:var(--flamme);color:#1a0b05;padding:.6rem 1rem;border-radius:8px;z-index:100;font-weight:700}
.fl-evitement:focus{top:1rem}
.ic{width:1.1em;height:1.1em;fill:currentColor;flex:none}

/* ---------- En-tête ---------- */
.fl-tete{position:sticky;top:0;z-index:40;background:#150c22;border-bottom:1px solid var(--ligne)}
.fl-tete-in{max-width:76rem;margin:0 auto;padding:.6rem 16px;display:flex;align-items:center;gap:.8rem;min-height:4rem}
.fl-marque{display:flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--cire);font-family:var(--titre);font-size:1.3rem;white-space:nowrap}
.fl-marque em{font-style:normal;color:var(--or)}
.fl-logo{width:30px;height:36px;flex:none}
.fl-logo-fl{fill:var(--flamme2)}.fl-logo-coeur{fill:#ffe0a6}.fl-logo-cire{fill:var(--cire)}.fl-logo-coulure{fill:#e8d6bd}
.fl-lumiere{margin-left:auto;display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .8rem;border:1px solid var(--ligne);border-radius:999px;color:var(--texte2);text-decoration:none;font-size:.9rem;white-space:nowrap;max-width:11rem}
.fl-lumiere span:last-child{overflow:hidden;text-overflow:ellipsis}
.fl-lumiere-on{color:var(--libre);border-color:#2f5a3a}
.fl-point{width:.55rem;height:.55rem;border-radius:50%;background:var(--texte3);flex:none;display:inline-block}
.fl-lumiere-on .fl-point,.fl-ch-resume .fl-point{background:var(--libre);animation:fl-pouls 2s ease-in-out infinite}
@keyframes fl-pouls{50%{opacity:.35}}
.fl-menu-btn,.fl-menu-fermer{background:none;border:1px solid var(--ligne);color:var(--cire);border-radius:10px;width:2.9rem;height:2.9rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none}
.fl-menu-btn .ic,.fl-menu-fermer .ic{width:1.5rem;height:1.5rem}
.fl-nav{display:none}
.fl-nav ul{list-style:none;margin:0;padding:0}
.fl-nav a{color:var(--texte);text-decoration:none;white-space:nowrap}
.fl-nav a[aria-current]{color:var(--or)}
body.fl-menu-ouvert{overflow:hidden}
body.fl-menu-ouvert .fl-nav{display:flex;position:fixed;inset:0;z-index:60;background:var(--nuit2);flex-direction:column;padding:1rem 16px 2rem;overflow-y:auto}
body.fl-menu-ouvert .fl-nav ul{margin-top:1rem}
body.fl-menu-ouvert .fl-nav li{border-bottom:1px solid var(--ligne);margin:0}
body.fl-menu-ouvert .fl-nav a{display:block;padding:.95rem .2rem;font-size:1.2rem;font-family:var(--titre)}
.fl-menu-fermer{align-self:flex-end}
.fl-nav-appel{margin-top:1.6rem;display:flex;justify-content:center}
@media (min-width:1100px){
  .fl-menu-btn,.fl-menu-fermer,.fl-nav-appel{display:none!important}
  .fl-nav{display:block;order:2}
  .fl-nav ul{display:flex;gap:1.35rem}
  .fl-nav a{font-size:.97rem;padding:.4rem 0;border-bottom:2px solid transparent}
  .fl-nav a:hover,.fl-nav a[aria-current]{border-bottom-color:var(--flamme)}
  .fl-lumiere{order:3;margin-left:1rem}
  .fl-marque{margin-right:auto}
}
@media (max-width:479px){.fl-tete-in{gap:.6rem}.fl-marque{font-size:1.15rem;gap:.45rem}.fl-lumiere{max-width:8rem;min-width:0;flex:0 1 auto;padding:.3rem .6rem;font-size:.85rem}}
@media (max-width:370px){.fl-tete-in{gap:.45rem}.fl-marque{font-size:1rem;gap:.35rem}.fl-lumiere{padding:.25rem .45rem;font-size:.8125rem;max-width:6.4rem;gap:.3rem}.fl-logo{width:22px;height:27px}.fl-menu-btn{width:2.6rem;height:2.6rem}}

/* ---------- Cartouche du numéro : deux formats, tailles fixes ---------- */
.fl-cart{display:grid;text-decoration:none;border-radius:14px;overflow:hidden;box-shadow:0 0 0 1px #d9b36a,0 0 22px rgba(160,90,230,.35),var(--ombre);white-space:nowrap;flex:none}
.fl-cart-num{display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(180deg,#8e46cf,#5b2391);color:#fff6e3;font-weight:700;font-size:1.3rem;letter-spacing:.02em}
.fl-cart-ic{width:1.15rem;height:1.15rem}
.fl-cart-tarif{display:flex;align-items:center;justify-content:center;background:#fff3e3;color:#3a1a12;font-size:.8125rem;font-weight:700;padding:0 .6rem;text-align:center}
.fl-cart-lig{width:23rem;height:3.6rem;grid-template-columns:12.6rem 1fr}
.fl-cart-col{width:17rem;height:4.9rem;grid-template-rows:3rem 1fr}
.fl-cart:hover .fl-cart-num{filter:brightness(1.06)}
.fl-cart:active{transform:scale(.98)}
@media (max-width:479px){.fl-cart-lig{width:17rem;height:4.9rem;grid-template-columns:none;grid-template-rows:3rem 1fr}}

/* ---------- Boutons ---------- */
.fl-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.9rem;padding:.55rem 1.2rem;border-radius:10px;border:0;font:700 1rem/1.2 var(--corps);text-decoration:none;cursor:pointer;white-space:nowrap}
.fl-btn:active{transform:scale(.98)}
.fl-btn-flamme{background:linear-gradient(180deg,#8e46cf,#5b2391);color:#fff6e3;box-shadow:inset 0 0 0 1px #d9b36a}
.fl-btn-flamme:hover{color:#fff;filter:brightness(1.12)}
.fl-btn-cire{background:var(--cire);color:#2b1742}
.fl-btn-cire:hover{color:#2b1742;background:#fff6ea}
.fl-btn-signe{background:transparent;color:var(--cire);border:1px solid var(--ligne)}
.fl-btn-signe[aria-pressed="true"]{border-color:var(--flamme);color:var(--flamme)}
.fl-btn[disabled]{opacity:.5;cursor:not-allowed}
.fl-btn-large{min-height:3.4rem;font-size:1.08rem;padding:.7rem 1.5rem}
.fl-btn-appel{flex-direction:column;gap:0;padding:.4rem .9rem;line-height:1.15}
.fl-btn-appel .fl-btn-num{display:flex;align-items:center;gap:.4rem;font-size:1rem}
.fl-btn-appel .fl-btn-tarif{font-size:.8125rem;font-weight:700;opacity:.85}

/* ---------- Héros ---------- */
.fl-heros{border-bottom:1px solid var(--ligne);background:radial-gradient(34rem 20rem at 92% 40%,rgba(255,138,61,.13),transparent 70%)}
.fl-heros-in{max-width:76rem;margin:0 auto;padding:1.6rem 16px 2.2rem}
.fl-chapo{max-width:46rem;font-size:1.12rem;color:var(--texte2)}
.fl-heros-appel{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem;margin-top:1.4rem}
.fl-heros-note{margin:0;color:var(--texte3);font-size:.93rem;max-width:26rem}
.fl-ariane ol{list-style:none;display:flex;flex-wrap:wrap;gap:.3rem;padding:0;margin:0 0 .6rem;font-size:.9rem;color:var(--texte3)}
.fl-ariane li{margin:0}
.fl-ariane li+li::before{content:"/";margin-right:.35rem;color:var(--ligne)}
.fl-ariane a{color:var(--texte2)}

/* ---------- Page ---------- */
.fl-main{display:block;outline:none}
.fl-page{max-width:76rem;margin:0 auto;padding:1.6rem 16px 3rem}
.fl-texte>:where(p,ul,ol,h2,h3,blockquote,.fl-cadre,.fl-table-wrap,.fl-heures,.fl-note){max-width:46rem}
.fl-texte>*:first-child{margin-top:0}
.fl-note,.fl-relu{color:var(--texte3);font-size:.93rem}
.fl-relu{margin-top:2.5rem}
.fl-court{max-width:46rem;margin:2rem 0 1rem;padding:1.1rem 1.3rem;border:1px solid var(--ligne);border-left:4px solid var(--flamme);border-radius:var(--rayon);background:var(--surface)}
.fl-court-t{margin:0 0 .4rem;font-weight:700;color:var(--or);font-size:.9rem;letter-spacing:.06em;text-transform:uppercase}
.fl-court p:last-child,.fl-court ul:last-child{margin-bottom:0}
.fl-citation{margin:0 0 .6rem;padding:1rem 1.2rem;border-left:3px solid var(--grenat);background:var(--nuit2);border-radius:0 var(--rayon) var(--rayon) 0;color:var(--texte2)}
.fl-cadre{margin:1.4rem 0;padding:1.1rem 1.3rem;border:1px solid var(--ligne);border-radius:var(--rayon);background:var(--nuit2)}
.fl-cadre>*:last-child{margin-bottom:0}
.fl-table-wrap{overflow-x:auto}
.fl-etapes{counter-reset:e;list-style:none;padding:0}
.fl-etapes>li{counter-increment:e;position:relative;padding:0 0 0 3rem;margin:1.1rem 0}
.fl-etapes>li::before{content:counter(e);position:absolute;left:0;top:-.1rem;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--grenat);color:var(--cire);display:flex;align-items:center;justify-content:center;font-weight:700}
@media (max-width:600px){
  .fl-tab-cartes thead{display:none}
  .fl-tab-cartes tr{display:block;border:1px solid var(--ligne);border-radius:var(--rayon);margin:0 0 .8rem;padding:.3rem .2rem}
  .fl-tab-cartes td{display:block;border:0;padding:.35rem .8rem}
  .fl-tab-cartes td::before{content:attr(data-l);display:block;font-size:.8125rem;color:var(--texte3);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
}

/* ---------- Le chandelier ---------- */
.fl-chandelier{margin:1.4rem 0 2.2rem;padding:1.3rem;border:1px solid var(--ligne);border-radius:18px;background:linear-gradient(180deg,var(--surface),var(--nuit2))}
.fl-ch-tete{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.3rem 1rem;margin-bottom:1rem}
.fl-ch-titre{margin:0;font-size:1.45rem}
.fl-ch-resume{margin:0;color:var(--texte2);display:flex;align-items:center;gap:.5rem;font-size:.97rem;min-height:1.6em}
.fl-ch-sous{margin:1.4rem 0 .8rem;font-size:1.1rem;color:var(--texte2)}
.fl-ch-vide{color:var(--texte2);margin:.2rem 0 0}
.fl-ch-pied{margin:1rem 0 0;font-size:.9rem;color:var(--texte3)}
.fl-rangee{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,11.6rem),1fr))}
.fl-rangee:empty{display:none}
.fl-bougie{margin:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.3rem;padding:1.5rem .7rem .9rem;border:1px solid var(--ligne);border-radius:var(--rayon);background:var(--nuit2);min-width:0}
.fl-bougie-lien{display:flex;flex-direction:column;align-items:center;gap:.45rem;text-decoration:none;color:var(--cire);max-width:100%;min-width:0}
.fl-bougie-lien:hover .fl-nom{text-decoration:underline}
.fl-portrait{position:relative;display:block;width:96px;height:96px;flex:none}
.fl-regard{width:96px;height:96px;border-radius:50%;object-fit:cover;display:block;background:var(--surface2);border:2px solid var(--ligne)}
.fl-e-libre .fl-regard{border-color:var(--or)}
.fl-meche{position:absolute;left:50%;top:-18px;width:14px;height:22px;margin-left:-7px}
.fl-meche::after{content:"";position:absolute;left:6px;bottom:0;width:2px;height:6px;background:#3b2a25;border-radius:1px}
.fl-fl{position:absolute;left:1px;bottom:4px;width:12px;height:18px;border-radius:50% 50% 45% 45%/60% 60% 40% 40%;background:radial-gradient(circle at 50% 70%,#fff2c9 0 22%,#ffb347 48%,#ff7a2e 78%,transparent 80%);transform-origin:50% 100%;opacity:0}
.fl-e-libre .fl-fl{opacity:1;animation:fl-vacille 1.6s ease-in-out infinite}
.fl-e-occupe .fl-fl{opacity:.75;transform:scale(.6)}
.fl-e-planning .fl-fl{opacity:.55;transform:scale(.75)}
@keyframes fl-vacille{0%,100%{transform:scale(1) rotate(-2deg)}35%{transform:scale(.92,1.06) rotate(2deg)}70%{transform:scale(1.04,.95) rotate(-1deg)}}
.fl-anim-pause .fl-fl,.fl-anim-pause .fl-point{animation-play-state:paused!important}
.fl-nom{font-weight:700;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.fl-spec{font-size:.85rem;color:var(--texte3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.fl-etat{font-size:.85rem;font-weight:700;padding:.15rem .6rem;border-radius:999px;background:var(--surface2);color:var(--texte2);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.fl-e-libre .fl-etat{background:#1f3a26;color:var(--libre)}
.fl-e-occupe .fl-etat{background:#3d1f16;color:#ffb99a}
.fl-bougie .fl-btn{margin-top:auto;width:100%;max-width:11rem}
.fl-e-bientot .fl-regard{opacity:.8}
.fl-fil{margin:-.8rem 0 2rem;padding:1rem 1.2rem;border:1px dashed var(--ligne);border-radius:var(--rayon)}
.fl-fil-t{margin:0 0 .5rem;font-size:1.05rem}
.fl-fil-l{list-style:none;margin:0;padding:0;font-size:.93rem;color:var(--texte2)}
.fl-fil-l li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:.2rem 0}
.fl-fil-l time{color:var(--texte3);font-variant-numeric:tabular-nums;margin-right:.3rem}
.fl-flash{animation:fl-flash 1.2s ease-out}
@keyframes fl-flash{from{opacity:.35}to{opacity:1}}

/* ---------- Voix du moment, visages, appel ---------- */
.fl-voix{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin:1.6rem 0;padding:1rem 1.2rem;border:1px solid var(--ligne);border-radius:var(--rayon);background:var(--surface)}
.fl-voix>div{flex:1 1 14rem;min-width:0}
.fl-voix p{margin:0}
.fl-voix-t{font-weight:700}
.fl-voix-s{font-size:.9rem;color:var(--texte3)}
.fl-regard-voix{width:72px;height:72px;border-radius:50%;object-fit:cover;border:2px solid var(--or)}
.fl-appel{margin:2.6rem 0 0;border-radius:18px;background:linear-gradient(135deg,#34185a,#190f2a 70%);border:1px solid var(--ligne)}
.fl-appel-in{padding:1.6rem 1.3rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem}
.fl-appel-t{font-family:var(--titre);font-size:1.5rem;color:var(--cire);margin:0}
.fl-appel-s{margin:0 0 .6rem;color:var(--texte2);display:flex;align-items:center;gap:.5rem;justify-content:center}
.fl-visages{list-style:none;display:flex;padding:0;margin:0 0 .3rem}
.fl-visages li{margin:0 -.4rem}
.fl-regard-mini{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--nuit2);display:block}

/* ---------- Encart Livret ---------- */
.fl-encart{display:flex;gap:1.3rem;align-items:center;margin:2.2rem 0;padding:1.2rem 1.3rem;border-radius:18px;background:linear-gradient(120deg,#f5e9d8,#efd9bb);color:#2b1742;max-width:46rem}
.fl-encart-img{flex:none;width:120px}
.fl-encart-img img{display:block;width:120px;height:170px;border-radius:6px;box-shadow:0 8px 18px rgba(30,10,50,.35)}
.fl-encart-txt{min-width:0}
.fl-encart-t{font-family:var(--titre);font-size:1.4rem;margin:0 0 .3rem;color:#4b1f73}
.fl-encart .fl-btn-cire{background:#4b1f73;color:#fff3e3}
.fl-encart .fl-btn-cire:hover{background:#5d2890;color:#fff}
@media (max-width:520px){.fl-encart{flex-direction:column;text-align:center}.fl-encart .fl-btn{white-space:normal;text-align:center}}

/* ---------- FAQ ---------- */
.fl-faq{max-width:46rem;margin-top:2.6rem}
.fl-q{border-bottom:1px solid var(--ligne)}
.fl-q summary{cursor:pointer;list-style:none;padding:1rem 2.2rem 1rem 0;font-weight:700;position:relative;color:var(--cire)}
.fl-q summary::-webkit-details-marker{display:none}
.fl-q summary::after{content:"";position:absolute;right:.5rem;top:1.35rem;width:.6rem;height:.6rem;border-right:2px solid var(--or);border-bottom:2px solid var(--or);transform:rotate(45deg)}
.fl-q[open] summary::after{transform:rotate(-135deg);top:1.6rem}
.fl-r{padding:0 0 1rem;color:var(--texte2)}
.fl-r>*:last-child{margin-bottom:0}

/* ---------- Tirage des flammes ---------- */
.fl-tirage{margin:1.6rem 0 2.4rem;padding:1.4rem;border:1px solid var(--ligne);border-radius:18px;background:radial-gradient(40rem 18rem at 50% 100%,rgba(255,138,61,.12),transparent 70%),var(--nuit2)}
.fl-tir-titre{margin:0 0 1rem}
.fl-tir-reglages{display:grid;gap:1rem}
@media (min-width:860px){.fl-tir-reglages{grid-template-columns:auto auto 1fr;align-items:start}}
.fl-tir-fs{border:0;margin:0;padding:0;min-width:0}
.fl-tir-fs legend,.fl-tir-q>span{font-weight:700;font-size:.95rem;color:var(--texte2);margin-bottom:.4rem;padding:0}
.fl-choix-l{display:flex;flex-wrap:wrap;gap:.5rem}
.fl-choix{position:relative;display:inline-flex}
.fl-choix input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.fl-choix span{display:inline-block;padding:.5rem .9rem;border:1px solid var(--ligne);border-radius:999px;white-space:nowrap;font-size:.95rem;cursor:pointer}
.fl-choix input:checked+span{background:var(--cire);color:#2b1742;border-color:var(--cire);font-weight:700}
.fl-choix input:focus-visible+span{outline:3px solid var(--flamme);outline-offset:2px}
.fl-choix input:disabled+span{opacity:.55;cursor:not-allowed}
.fl-tir-q{display:flex;flex-direction:column;min-width:0}
textarea,input[type=text],input[type=date],input[type=number],input[type=email],input[type=tel]{font:inherit;color:var(--texte);background:var(--nuit);border:1px solid var(--ligne);border-radius:10px;padding:.6rem .8rem;width:100%}
textarea{resize:vertical}
.fl-tir-consigne{margin:1.4rem 0 .4rem;text-align:center;font-weight:700;color:var(--or);min-height:1.7em}
.fl-cierges{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 14px;margin:0;padding:.6rem 0 0}
.fl-cierges li{margin:0;position:relative}
.fl-cierge{position:relative;width:52px;height:170px;border:0;background:none;cursor:pointer;padding:0;display:block}
.fl-cierge-cire{position:absolute;left:12px;bottom:0;width:28px;height:84px;border-radius:5px 5px 3px 3px;background:linear-gradient(90deg,#e6d3b8,#f8eedf 45%,#e3cdb0)}
.fl-cierge-cire::before{content:"";position:absolute;left:13px;top:-9px;width:2px;height:9px;background:#3b2a25}
.fl-cierge-fl{position:absolute;left:-6px;bottom:84px;width:64px;height:84px;opacity:0;transform:scale(.3);transform-origin:50% 100%;transition:opacity .45s,transform .45s}
.fl-cierge-fl svg{width:64px;height:84px;display:block}
.fl-cierge.fl-allume .fl-cierge-fl{opacity:1;transform:none}
.fl-cierge:hover .fl-cierge-cire,.fl-cierge:focus-visible .fl-cierge-cire{box-shadow:0 0 0 2px var(--flamme)}
.fl-cierge[disabled]{cursor:default}
.fl-cierge-rang{position:absolute;left:-24px;right:-24px;bottom:0;white-space:nowrap;font-size:.8125rem;color:var(--texte3);text-align:center}
.fl-cierges li{padding-bottom:1.5rem}
.fl-tir-actions{display:flex;justify-content:center;margin-top:.6rem}
.fl-lecture:empty{display:none}
.fl-lecture{margin-top:1.4rem}
.fl-lect-q{text-align:center;font-style:italic;color:var(--texte2)}
.fl-lect-grille{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}
.fl-lect-carte{padding:1rem 1.1rem;border:1px solid var(--ligne);border-radius:var(--rayon);background:var(--surface);display:flex;flex-direction:column;gap:.35rem;min-width:0}
.fl-lect-carte .fl-dessin{width:64px;height:90px;align-self:center}
.fl-lect-pos{font-size:.8125rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--flamme)}
.fl-lect-nom{font-family:var(--titre);font-size:1.3rem;color:var(--cire);margin:0}
.fl-lect-voix{font-style:italic;color:var(--or);margin:0}
.fl-lect-carte p{margin:0}
.fl-lect-synth{margin:1.2rem 0;padding:1rem 1.2rem;border-left:4px solid var(--flamme);background:var(--surface);border-radius:0 var(--rayon) var(--rayon) 0}
.fl-lect-rep{display:inline-block;font-weight:700;padding:.1rem .6rem;border-radius:999px;background:var(--cire);color:#2b1742;font-size:.85rem;white-space:nowrap}
.fl-lect-suite{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));margin-top:1rem}
.fl-lect-bloc{padding:1rem 1.1rem;border:1px solid var(--ligne);border-radius:var(--rayon);min-width:0}
.fl-lect-bloc h3{margin:0 0 .5rem;font-size:1.1rem}
.fl-lect-bloc p{margin:0 0 .6rem}
.fl-lect-voyant{display:flex;align-items:center;gap:.8rem;margin-bottom:.7rem}
.fl-lect-voyant img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none}
.fl-lect-voyant p{margin:0}
.fl-tir-hist{margin-top:1.6rem;font-size:.92rem;color:var(--texte2)}
.fl-tir-hist h3{font-size:1rem}
.fl-tir-hist ol{margin:0}
.fl-dessin{display:block}

/* ---------- Bougie budget ---------- */
.fl-budget{margin:1.6rem 0 2.4rem;padding:1.4rem;border:1px solid var(--ligne);border-radius:18px;background:var(--nuit2);max-width:62rem}
.fl-budget h2{margin:0 0 .6rem}
.fl-bud-intro{color:var(--texte2)}
.fl-bud-grille{display:grid;gap:1.4rem;align-items:start}
@media (min-width:820px){.fl-bud-grille{grid-template-columns:1.3fr auto 1fr}}
.fl-bud-l{font-weight:700;margin:0 0 .5rem;color:var(--texte2)}
.fl-bud-choix-l{display:flex;flex-wrap:wrap;gap:.5rem}
.fl-bud-choix{min-width:4rem;min-height:2.6rem;border:1px solid var(--ligne);border-radius:10px;background:transparent;color:var(--cire);font:700 1rem var(--corps);cursor:pointer;white-space:nowrap}
.fl-bud-choix[aria-pressed="true"]{background:var(--cire);color:#2b1742;border-color:var(--cire)}
.fl-bud-perso{display:flex;align-items:center;gap:.6rem;margin:.8rem 0}
.fl-bud-perso span{font-size:.93rem;color:var(--texte2);white-space:nowrap}
.fl-bud-perso input{width:6rem}
.fl-bud-res{margin:0;font-size:1rem}
.fl-bud-res strong{display:block;font-family:var(--titre);font-weight:400;font-size:2rem;color:var(--or)}
.fl-bud-bougie{position:relative;width:70px;height:210px;margin:0 auto}
.fl-bud-cire{position:absolute;left:14px;bottom:0;width:42px;height:170px;border-radius:6px 6px 4px 4px;background:linear-gradient(90deg,#e6d3b8,#f8eedf 45%,#e3cdb0);transform-origin:50% 100%;transition:transform .5s ease}
.fl-bud-fl{position:absolute;left:23px;width:24px;height:36px;border-radius:50% 50% 45% 45%/60% 60% 40% 40%;background:radial-gradient(circle at 50% 70%,#fff2c9 0 22%,#ffb347 48%,#ff7a2e 78%,transparent 80%);transform-origin:50% 100%;bottom:170px;transition:transform .5s ease;animation:fl-vacille 1.6s ease-in-out infinite}
.fl-bud-chrono{font-family:var(--titre);font-size:2.2rem;color:var(--cire);margin:0 0 .6rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.fl-bud-cout{font-family:var(--corps);font-size:1.05rem;color:var(--or);font-weight:700}
.fl-bud-btns{display:flex;flex-wrap:wrap;gap:.6rem}
.fl-bud-alerte{min-height:3.2em;margin:.8rem 0 0;font-weight:700;color:#ffb99a}
.fl-bud-note{margin:1.2rem 0 0;font-size:.88rem;color:var(--texte3)}
.fl-budget-off p{color:var(--texte2);margin:0}

/* ---------- Formulaires ---------- */
.fl-form{max-width:46rem;margin:1.6rem 0;padding:1.4rem;border:1px solid var(--ligne);border-radius:18px;background:var(--nuit2);display:flex;flex-direction:column;gap:1.1rem}
.fl-f{display:flex;flex-direction:column;gap:.35rem;border:0;margin:0;padding:0;min-width:0}
.fl-f>span,.fl-f legend{font-weight:700;color:var(--texte2);font-size:.95rem;padding:0}
.fl-f legend{margin-bottom:.4rem}
.fl-f-ligne{display:grid;gap:1.1rem}
@media (min-width:640px){.fl-f-ligne{grid-template-columns:1fr 1fr}}
.fl-f-cases{display:flex;flex-direction:column;gap:.7rem}
.fl-case{display:flex;gap:.7rem;align-items:flex-start;cursor:pointer}
.fl-case input{width:1.3rem;height:1.3rem;margin:.2rem 0 0;flex:none;accent-color:var(--flamme)}
.fl-case span{min-width:0}
.fl-f-err{color:#ffb99a;font-size:.9rem;font-weight:700}
[aria-invalid="true"]{border-color:#ff8a6a}
.fl-f-erreurs{padding:1rem 1.2rem;border:2px solid #ff8a6a;border-radius:var(--rayon);background:#2e1215}
.fl-f-erreurs p{margin:0 0 .4rem;font-weight:700}
.fl-f-erreurs ul{margin:0}
.fl-f-info{padding:.8rem 1rem;border-radius:var(--rayon);background:var(--surface);margin:0}
.fl-f-note{font-size:.9rem;color:var(--texte3);margin:0}
.fl-f-piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fl-form .fl-btn-large{align-self:flex-start;white-space:normal;text-align:center}

/* ---------- Page produit ---------- */
.fl-produit{display:grid;gap:1.6rem;align-items:start;margin:1.6rem 0}
@media (min-width:900px){.fl-produit{grid-template-columns:260px 1fr}}
.fl-produit-prix{font-family:var(--titre);font-size:2rem;color:var(--or);margin:0 0 .4rem}
.fl-pages-l{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));list-style:none;padding:0}
.fl-pages-l li{margin:0;padding:.9rem 1rem;border:1px solid var(--ligne);border-radius:var(--rayon);background:var(--surface)}
.fl-pages-l strong{display:block;color:var(--cire)}

/* ---------- Oracle (page tirage) ---------- */
.fl-oracle{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));list-style:none;padding:0;margin:1rem 0 2rem}
.fl-oracle li{margin:0;padding:.9rem 1rem;border:1px solid var(--ligne);border-radius:var(--rayon);background:var(--nuit2);display:flex;gap:.8rem;align-items:flex-start;min-width:0}
.fl-oracle .fl-dessin{width:44px;height:62px;flex:none}
.fl-oracle p{margin:0;font-size:.93rem;color:var(--texte2)}
.fl-oracle strong{display:block;color:var(--cire)}

/* ---------- Voyant ---------- */
.fl-profil{display:flex;flex-wrap:wrap;gap:1.6rem;align-items:center}
.fl-portrait-grand{width:200px;height:200px;margin-top:22px}
.fl-regard-grand{width:200px;height:200px}
.fl-portrait-grand .fl-meche{top:-26px;width:22px;height:30px;margin-left:-11px}
.fl-portrait-grand .fl-fl{width:20px;height:26px}
.fl-portrait-grand .fl-meche::after{left:10px}
.fl-profil-txt{flex:1 1 18rem;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.8rem}
.fl-profil-txt h1{margin:0}
.fl-spec-grand,.fl-etat-grand{margin:0;color:var(--texte2)}
.fl-etat-grand{font-weight:700;color:var(--or)}
.fl-horaires{list-style:none;padding:0}
.fl-horaires li{padding:.5rem .8rem;border:1px solid var(--ligne);border-radius:10px;margin:.4rem 0;max-width:26rem}
.fl-btn-signe-grand{white-space:normal;text-align:left}

/* ---------- Pied ---------- */
.fl-pied{border-top:1px solid var(--ligne);background:#0d0716;margin-top:2rem}
.fl-pied-in{max-width:76rem;margin:0 auto;padding:2.2rem 16px 1rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))}
.fl-pied-marque{grid-column:1/-1}
@media (min-width:1000px){.fl-pied-in{grid-template-columns:1.4fr 1fr 1fr 1fr}.fl-pied-marque{grid-column:auto}}
.fl-pied-marque p{color:var(--texte3);font-size:.93rem;margin:.8rem 0 1rem;max-width:22rem}
.fl-pied-t{font-weight:700;color:var(--cire);margin:0 0 .5rem}
.fl-pied ul{list-style:none;padding:0;margin:0}
.fl-pied li{margin:.45rem 0}
.fl-pied li a{color:var(--texte2);font-size:.95rem}
.fl-pied-bas{max-width:76rem;margin:0 auto;padding:1rem 16px 2rem;font-size:.85rem;color:var(--texte3);border-top:1px solid var(--ligne)}

/* ---------- Barre d'appel mobile ---------- */
.fl-dock{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;justify-content:center;padding:.5rem 16px calc(.5rem + env(safe-area-inset-bottom));background:#150c22;border-top:1px solid var(--ligne)}
body{padding-bottom:4.6rem}
@media (min-width:900px){.fl-dock{display:none}}
.fl-cart.fl-cart-dock{width:auto;height:2.9rem;grid-template-columns:auto auto;grid-template-rows:none;flex:0 1 auto;min-width:0;border-radius:12px;box-shadow:0 0 0 1px #d9b36a,var(--ombre)}
.fl-cart-dock .fl-cart-num{font-size:1.1rem;padding:0 .7rem;gap:.35rem}
.fl-cart-dock .fl-cart-ic{width:1rem;height:1rem}
.fl-cart-tarif span{white-space:nowrap}.fl-cart-tarif span+span{margin-left:.3em}
.fl-cart-dock .fl-cart-tarif{flex-direction:column;font-size:.8125rem;line-height:1.15;padding:0 .55rem}
.fl-cart-dock .fl-cart-tarif span+span{margin-left:0}

/* ---------- Signes (annonces "est libre") ---------- */
.fl-signes{position:fixed;right:16px;bottom:7rem;z-index:50;display:flex;flex-direction:column;gap:.6rem;width:min(22rem,calc(100vw - 32px))}
@media (min-width:900px){.fl-signes{bottom:1.2rem}}
.fl-signe{display:grid;grid-template-columns:48px 1fr auto;gap:.3rem .7rem;align-items:center;padding:.8rem;border-radius:var(--rayon);background:var(--cire);color:#2b1742;box-shadow:var(--ombre)}
.fl-signe img{width:48px;height:48px;border-radius:50%;object-fit:cover;grid-row:span 2}
.fl-signe p{margin:0;font-weight:700;min-width:0}
.fl-signe .fl-btn{grid-column:2/4;justify-self:start}
.fl-signe-x{background:none;border:0;color:#2b1742;cursor:pointer;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}
.fl-signe .fl-btn-appel .fl-btn-tarif{opacity:.9}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* ---------- Heures de la ligne ---------- */
.fl-heures{max-width:46rem;margin:2rem 0}
.fl-tab-heures th[scope=row]{white-space:nowrap;width:7rem;color:var(--or);background:none}
.fl-tab-heures td{color:var(--texte2)}
.fl-h-n{display:inline-block;min-width:1.7rem;text-align:center;font-weight:700;background:var(--grenat);color:var(--cire);border-radius:999px;padding:0 .4rem;margin-right:.4rem}
.fl-h-inconnu{color:var(--texte3);font-style:italic}
@media (max-width:600px){.fl-tab-heures thead{display:none}.fl-tab-heures tr{display:grid;grid-template-columns:5.5rem 1fr;border-bottom:1px solid var(--ligne)}.fl-tab-heures th,.fl-tab-heures td{border:0}}

/* ---------- Héros : trois bougies (ordinateur) ---------- */
.fl-heros-in{position:relative}
.fl-heros-deco{display:none}
@media (min-width:1100px){
  .fl-heros-deco{display:block;position:absolute;right:2rem;bottom:0;width:340px;height:300px;pointer-events:none}
  .fl-deco-b{position:absolute;bottom:0;display:block}
  .fl-deco-b svg{width:100%;height:100%}
  .fl-deco-1{left:118px;width:120px;height:290px}
  .fl-deco-2{left:6px;width:104px;height:215px}
  .fl-deco-3{left:240px;width:96px;height:185px}
  .fl-deco-b svg path:not([stroke]){transform-origin:50% 88%;transform-box:view-box;animation:fl-danse 2.4s ease-in-out infinite}
  .fl-deco-2 svg path:not([stroke]){animation-duration:3.1s;animation-delay:-.8s}
  .fl-deco-3 svg path:not([stroke]){animation-duration:2.7s;animation-delay:-1.6s}
  .fl-heros .fl-chapo,.fl-heros h1{max-width:44rem}
}
@keyframes fl-danse{0%,100%{transform:scale(1,1) skewX(0)}30%{transform:scale(.97,1.04) skewX(1.5deg)}65%{transform:scale(1.02,.97) skewX(-1.2deg)}}

/* ---------- Chandelier : cartes en ligne sur mobile ---------- */
.fl-bougie-lien{gap:.3rem}
.fl-bougie-lien .fl-portrait{margin-bottom:.15rem}
.fl-bougie-lien .fl-etat{margin:.15rem 0 .45rem}
@media (max-width:559px){
  .fl-chandelier{padding:1rem .8rem}
  .fl-rangee{grid-template-columns:1fr;gap:10px}
  .fl-bougie{padding:.9rem .8rem;align-items:stretch;text-align:left}
  .fl-bougie-lien{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;column-gap:.9rem;row-gap:.15rem;width:100%}
  .fl-bougie-lien .fl-portrait{width:64px;height:64px;grid-row:1/5;grid-column:1;margin:10px 0 0}
  .fl-bougie .fl-regard{width:64px;height:64px}
  .fl-bougie .fl-meche{top:-16px}
  .fl-bougie-lien>.fl-nom,.fl-bougie-lien>.fl-spec,.fl-bougie-lien>.fl-etat{grid-column:2;justify-self:start;margin:0}
  .fl-bougie .fl-btn{max-width:none;margin-top:.7rem}
}
.fl-nuit{margin:1.6rem 0 2rem;padding:1.2rem;border:1px solid var(--ligne);border-radius:18px;background:linear-gradient(180deg,#1b1030,#0e0818);max-width:46rem}
.fl-faits{max-width:46rem;margin:0 0 1rem;border:1px solid var(--ligne);border-radius:var(--rayon);overflow:hidden;border-collapse:separate;border-spacing:0}
.fl-faits caption{text-align:left;font-family:var(--titre);font-size:1.25rem;color:var(--cire);padding:0 0 .6rem}
.fl-faits th{width:9rem;color:var(--or)}
.fl-faits td{color:var(--texte2)}
.fl-faits tr:last-child th,.fl-faits tr:last-child td{border-bottom:0}
@media (max-width:480px){.fl-faits th{width:6.5rem}}

/* ---------- Bandeau des visages (sous le titre) ---------- */
.fl-bandeau{border-bottom:1px solid var(--ligne);background:#150c22}
.fl-band-in{max-width:76rem;margin:0 auto;padding:.8rem 16px .6rem}
.fl-band-t{margin:0 0 .5rem;font-size:.93rem;color:var(--texte2);display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .8rem}
.fl-band-t>span{display:inline-flex;align-items:center;gap:.45rem}
.fl-band-l{list-style:none;margin:0;padding:18px 2px .5rem;display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin}
.fl-visage{margin:0;flex:0 0 auto;scroll-snap-align:start}
.fl-visage a{display:flex;flex-direction:column;align-items:center;width:5.6rem;text-decoration:none;color:var(--cire);gap:.15rem}
.fl-portrait-mini{width:56px;height:56px}
.fl-regard-56{width:56px;height:56px}
.fl-portrait-mini .fl-meche{top:-16px}
.fl-visage-nom{font-weight:700;font-size:.875rem;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fl-visage-etat{font-size:.8125rem;color:var(--texte3);white-space:nowrap}
.fl-visage.fl-e-libre .fl-visage-etat{color:var(--libre);font-weight:700}
.fl-visage.fl-e-bientot .fl-regard{opacity:.7}

/* ---------- Visages dans la barre d'appel ---------- */
.fl-dock{align-items:center;gap:8px}
.fl-dock-v{display:flex;align-items:center;text-decoration:none;flex:none}
.fl-dock-v[hidden]{display:none}
.fl-dock-v img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid #150c22;margin-left:-12px;display:block}
.fl-dock-v img:first-child{margin-left:0}
.fl-dock-v img:nth-child(3){display:none}
.fl-dock-n{margin-left:-10px;min-width:1.5rem;height:1.5rem;border-radius:999px;background:var(--libre);color:#0f2414;font-weight:700;font-size:.8125rem;display:flex;align-items:center;justify-content:center;padding:0 .3rem;border:2px solid #150c22}
@media (min-width:480px){.fl-dock-v img:nth-child(3){display:block}}
@media (max-width:379px){.fl-dock-v{display:none}}

/* ---------- Page d'un voyant ---------- */
.fl-etat-grand{display:flex;align-items:center;gap:.5rem}
.fl-eg-libre{color:var(--libre)}
.fl-eg-occupe{color:#ffb99a}
.fl-relais{margin:0;color:var(--texte2);font-size:.95rem}
.fl-questions{list-style:none;padding:0}
.fl-questions li{padding:.55rem .9rem;margin:.4rem 0;border-left:3px solid var(--flamme);background:var(--nuit2);border-radius:0 10px 10px 0}
.fl-flamme-voyant{display:flex;gap:1rem;align-items:center;max-width:46rem;margin:1.8rem 0;padding:1rem 1.2rem;border:1px solid var(--ligne);border-radius:var(--rayon);background:radial-gradient(18rem 10rem at 10% 50%,rgba(255,138,61,.12),transparent 70%),var(--surface)}
.fl-flamme-v{width:70px;height:98px;flex:none}
.fl-flamme-voyant p{margin:0 0 .4rem}
.fl-flamme-voyant p:last-child{margin:0}
.fl-flamme-t{font-family:var(--titre);font-size:1.2rem;color:var(--cire)}
.fl-flamme-voix{font-style:italic;color:var(--or)}

/* ---------- Annonces "vient de se libérer" ---------- */
.fl-signe-spec{grid-column:2/4;margin:0;font-size:.875rem;color:#4e3f66}
.fl-signe-liens{grid-column:2/4;display:flex;flex-wrap:wrap;gap:.4rem .8rem;align-items:center}
.fl-signe-liens a:not(.fl-btn){color:#4b1f73;font-size:.9rem}
.fl-signe-info{grid-template-columns:1fr auto}
.fl-signe-info span:empty{display:none}
.fl-band-t .fl-point,.fl-appel-s .fl-point,.fl-etat-grand .fl-point{background:var(--libre);animation:fl-pouls 2s ease-in-out infinite}
.fl-heros-live{margin:0;flex-basis:100%;display:flex;align-items:center;gap:.5rem;color:var(--texte2);font-size:.97rem;min-height:1.6em}
.fl-heros-live .fl-point{background:var(--libre);animation:fl-pouls 2s ease-in-out infinite}
.fl-heros-live span:last-child{min-width:0}

/* ---------- Visuels ---------- */
.fl-visuel{margin:1.8rem 0;max-width:76rem}
.fl-visuel img{display:block;width:100%;height:auto;border-radius:18px;border:1px solid rgba(217,179,106,.55);box-shadow:0 12px 40px rgba(20,5,40,.5)}
.fl-visuel figcaption{margin-top:.4rem;font-size:.8125rem;color:var(--texte3);text-align:right}
.fl-visuel-heros{margin:0 0 1.4rem}
.fl-texte>.fl-visuel{max-width:76rem}
.fl-cart-tarif{background:#fbf3e4;color:#35204f}
.fl-btn-cire{background:var(--cire);color:#2b1742}
.fl-btn-cire:hover{color:#2b1742;background:#fffaf0}
.fl-choix input:checked+span,.fl-bud-choix[aria-pressed="true"]{color:#2b1742}
.fl-nuit-t{font-family:var(--titre);font-size:1.25rem;color:var(--cire);margin-bottom:.8rem}
.fl-nc{list-style:none;margin:0;padding:0}
.fl-nc li{display:grid;grid-template-columns:3rem minmax(0,1fr) 6.5rem;align-items:center;gap:.6rem;padding:.35rem 0;border-bottom:1px solid rgba(255,255,255,.06);margin:0}
.fl-nc-h{font-weight:700;color:var(--or)}
.fl-nc-l{display:flex;flex-wrap:wrap;gap:3px;align-items:flex-end;min-height:26px}
.fl-nc-b{width:12px;height:26px}
.fl-nc-f{fill:#ffb347}.fl-nc-c{fill:#f7eedc}
.fl-nc-plus{font-weight:700;color:var(--texte2);font-size:.875rem;margin-left:.3rem}
.fl-nc-inc{color:var(--texte3);font-style:italic;font-size:.875rem}
.fl-nc-n{color:var(--texte2);font-size:.875rem;text-align:right;white-space:nowrap}
.fl-nuit-n{margin:.8rem 0 0;font-size:.93rem;color:var(--texte3)}

.fl-lexique{max-width:46rem;margin:1rem 0 2rem}
.fl-lex-t{padding:.9rem 0;border-bottom:1px solid var(--ligne)}
.fl-lexique dt{font-family:var(--titre);font-size:1.15rem;color:var(--or);margin:0 0 .25rem}
.fl-lexique dd{margin:0;color:var(--texte2)}
.fl-sources{font-size:.95rem}
.fl-affiche{margin:2rem 0;max-width:460px}
.fl-affiche img{display:block;width:100%;height:auto;border-radius:18px;border:1px solid rgba(217,179,106,.55);box-shadow:0 14px 40px rgba(20,5,40,.55)}
.fl-affiche figcaption{margin-top:.8rem}
.fl-affiche-l{display:block}
.fl-produit .fl-affiche{margin:0}
@media (min-width:900px){.fl-produit{grid-template-columns:minmax(0,420px) 1fr}}
.fl-apercu{float:right;margin:0 0 1rem 1.2rem;max-width:160px}
.fl-apercu img{width:160px;height:auto;border-radius:6px;box-shadow:var(--ombre)}
.fl-apercu figcaption{font-size:.8125rem;color:var(--texte3);margin-top:.4rem}
@media (max-width:560px){.fl-apercu{float:none;margin:0 0 1rem}}
.fl-accroche{font-size:.875rem;font-style:italic;color:var(--texte2);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em;max-width:100%}
@media (max-width:559px){.fl-bougie-lien>.fl-accroche{grid-column:2;min-height:0}}
.fl-accroche-grand{margin:0;font-family:var(--titre);font-size:1.2rem;color:var(--or);max-width:36rem}
/* Accueil mobile : le numéro et les voyants avant l'illustration */
@media (max-width:699px){
  .fl-heros-in{display:flex;flex-direction:column}
  .fl-heros-in>.fl-visuel-heros{order:9;margin:1.4rem 0 0}
}

/* ---------- Qui appeler maintenant ? ---------- */
.fl-boussole{margin:1.6rem 0 2.2rem;padding:1.3rem;border:1px solid rgba(217,179,106,.5);border-radius:18px;background:radial-gradient(30rem 14rem at 90% 0%,rgba(217,138,214,.16),transparent 70%),var(--nuit2);max-width:62rem}
.fl-bs-tete p{margin:0 0 1rem;color:var(--texte2)}
.fl-bs-titre{margin:0 0 .3rem}
.fl-bs-form{display:grid;gap:1rem}
@media (min-width:900px){.fl-bs-form{grid-template-columns:1fr 1fr}}
.fl-bs-fs{border:0;margin:0;padding:0;min-width:0}
.fl-bs-fs legend{font-weight:700;color:var(--texte2);font-size:.95rem;margin-bottom:.4rem;padding:0}
.fl-bs-res{margin-top:1.2rem;min-height:9.5rem}
.fl-bs-attente{color:var(--texte3);margin:0}
.fl-bs-carte{display:grid;grid-template-columns:96px minmax(0,1fr);gap:.4rem 1.1rem;align-items:center;padding:1rem;border-radius:var(--rayon);background:var(--surface);border:1px solid var(--ligne)}
.fl-bs-img{width:96px;height:96px;border-radius:50%;object-fit:cover;border:2px solid var(--or);grid-row:span 2}
.fl-bs-txt p{margin:0 0 .25rem}
.fl-bs-nom{font-family:var(--titre);font-size:1.35rem;color:var(--cire)}
.fl-bs-nom a{color:var(--cire)}
.fl-bs-etat{font-family:var(--corps);font-size:.875rem;font-weight:700;color:var(--libre);white-space:nowrap}
.fl-e-occupe .fl-bs-etat,.fl-e-bientot .fl-bs-etat,.fl-e-planning .fl-bs-etat{color:var(--texte2)}
.fl-bs-sp{font-size:.9rem;color:var(--texte3)}
.fl-bs-acc{font-style:italic;color:var(--texte2)}
.fl-bs-raison{color:var(--or);font-weight:700;font-size:.95rem}
.fl-bs-act{grid-column:2;justify-self:start}
@media (min-width:760px){.fl-bs-carte{grid-template-columns:96px minmax(0,1fr) auto}.fl-bs-act{grid-column:3;grid-row:1/3}}
.fl-bs-autres{margin:.8rem 0 0;font-size:.95rem;color:var(--texte2)}
.fl-bs-note{margin:.8rem 0 0;font-size:.875rem;color:var(--texte3)}

/* ---------- Barre flottante (ordinateur) ---------- */
.fl-flotte{display:none}
@media (min-width:900px){
  body{padding-bottom:5.2rem}
  .fl-signes{bottom:6rem}
  .fl-flotte:not([hidden]){display:flex;align-items:center;justify-content:center;gap:1.2rem;position:fixed;left:0;right:0;bottom:0;z-index:35;padding:.55rem 16px;background:#150c22;border-top:1px solid rgba(217,179,106,.5);box-shadow:0 -8px 24px rgba(0,0,0,.4)}
  .fl-flotte .fl-cart{order:3}
}
.fl-flotte-t{margin:0;font-weight:700;color:var(--libre);font-size:.95rem}
.fl-flotte-v{display:flex;gap:6px}
.fl-flotte-v img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid var(--or);display:block}

/* ---------- Barre produit (mobile) ---------- */
.fl-dock-produit .fl-btn{white-space:nowrap}
.fl-dock-produit[hidden]{display:none}
@media (max-width:759px){
  .fl-bs-carte{grid-template-columns:72px minmax(0,1fr);align-items:start}
  .fl-bs-img{width:72px;height:72px;grid-row:auto}
  .fl-bs-act{grid-column:1/-1;justify-self:stretch}
  .fl-bs-act .fl-btn{width:100%}
}

/* ---------- Cartes vivantes ---------- */
.fl-bougie{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
@media (hover:hover){
  .fl-bougie:hover{transform:translateY(-4px);border-color:rgba(217,179,106,.55);box-shadow:0 12px 30px rgba(0,0,0,.45)}
  .fl-bougie.fl-e-libre:hover{box-shadow:0 12px 30px rgba(0,0,0,.45),0 0 26px rgba(255,179,71,.28)}
  .fl-bougie:hover .fl-regard{transform:scale(1.04)}
}
.fl-bougie .fl-regard{transition:transform .3s ease}
.fl-e-libre .fl-portrait::before{content:"";position:absolute;inset:-5px;border-radius:50%;background:conic-gradient(from 0deg,rgba(255,179,71,0),rgba(255,179,71,.85),rgba(240,205,132,0) 40%,rgba(255,138,61,.7) 70%,rgba(255,179,71,0));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));animation:fl-halo 5s linear infinite;pointer-events:none}
@keyframes fl-halo{to{transform:rotate(1turn)}}
.fl-allume{animation:fl-allume 2.4s ease-out}
@keyframes fl-allume{0%{box-shadow:0 0 0 0 rgba(255,179,71,.75);border-color:var(--flamme)}60%{box-shadow:0 0 0 14px rgba(255,179,71,0)}100%{box-shadow:none}}
.fl-bougie-lien{cursor:pointer}
.fl-bougie-lien:focus-visible{outline:2px solid var(--or);outline-offset:4px;border-radius:10px}

/* ---------- Fiche express ---------- */
.fl-fiche{border:0;padding:0;margin:auto;width:min(31rem,calc(100% - 32px));max-height:min(88vh,46rem);border-radius:18px;background:var(--nuit2);color:var(--texte);box-shadow:0 0 0 1px rgba(217,179,106,.55),0 24px 70px rgba(0,0,0,.6);overflow:auto;overscroll-behavior:contain}
.fl-fiche::backdrop{background:rgba(8,4,14,.72);backdrop-filter:blur(3px)}
.fl-fiche[open]{animation:fl-fiche-in .28s ease-out}
@keyframes fl-fiche-in{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
.fl-fiche-in{position:relative;padding:1.4rem 1.3rem 1rem}
.fl-fiche-glisse{animation:fl-glisse .25s ease-out}.fl-fiche-glisse-g{animation:fl-glisse-g .25s ease-out}
@keyframes fl-glisse{from{opacity:.2;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes fl-glisse-g{from{opacity:.2;transform:translateX(-24px)}to{opacity:1;transform:none}}
body.fl-fiche-ouverte{overflow:hidden}
.fl-fiche-x{position:absolute;top:.6rem;right:.6rem;width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid var(--ligne);background:var(--surface);color:var(--cire);display:flex;align-items:center;justify-content:center;cursor:pointer}
.fl-fiche-x .ic{width:1.25rem;height:1.25rem}
.fl-fiche-tete{display:flex;align-items:center;gap:1.1rem;padding-right:2.6rem;margin-top:.6rem}
.fl-portrait-fiche{width:112px;height:112px}
.fl-portrait-fiche .fl-regard{width:112px;height:112px}
.fl-fiche-id{min-width:0}
.fl-fiche-nom{font-family:var(--titre);font-size:1.7rem;margin:0;color:var(--cire);line-height:1.15}
.fl-fiche-spec{margin:.15rem 0 .45rem;color:var(--texte3);font-size:.93rem}
.fl-fiche-etat{display:inline-flex;align-items:center;gap:.45rem;margin:0;padding:.25rem .7rem;border-radius:999px;font-weight:700;font-size:.9rem;background:var(--surface2);color:var(--texte2)}
.fl-fe-libre{background:#1f3a26;color:var(--libre)}
.fl-fe-libre .fl-point{background:var(--libre);animation:fl-pouls 2s ease-in-out infinite}
.fl-fiche-appel-t{margin:0 0 .6rem;font-family:var(--titre);font-size:1.15rem;color:var(--cire)}
.fl-fe-occupe{background:#3d1f16;color:#ffb99a}
.fl-fiche-accroche{margin:1.1rem 0 .2rem;font-family:var(--titre);font-size:1.12rem;color:var(--or);line-height:1.45}
.fl-fiche-ligne{margin:.75rem 0 0;font-size:.95rem;color:var(--texte2)}
.fl-fiche-ligne strong{color:var(--cire)}
.fl-fiche-st{margin:1rem 0 .4rem;font-weight:700;color:var(--cire);font-size:.95rem}
.fl-fiche-q ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}
.fl-fiche-q li{margin:0;padding:.4rem .75rem;border-radius:999px;border:1px solid var(--ligne);background:var(--surface);font-size:.9rem;color:var(--texte)}
.fl-fiche-cta{margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--ligne);display:flex;flex-direction:column;align-items:center;text-align:center}
.fl-fiche-cta .fl-btn{width:100%;max-width:20rem}
.fl-fiche-cta .fl-fiche-st{align-self:stretch;text-align:left}
.fl-fiche-aide{margin:.5rem 0 0;font-size:.875rem;color:var(--texte3)}
.fl-fiche-libres{list-style:none;margin:0 0 .9rem;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;align-self:stretch}
.fl-fiche-libres li{margin:0}
.fl-fiche-libres button{display:flex;align-items:center;gap:.45rem;padding:.25rem .8rem .25rem .25rem;border-radius:999px;border:1px solid #2f5a3a;background:#16281b;color:var(--libre);font:inherit;font-weight:700;font-size:.9rem;cursor:pointer;min-height:2.75rem}
.fl-fiche-libres img{width:36px;height:36px;border-radius:50%;object-fit:cover}
.fl-fiche-pied{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:1.1rem}
.fl-fiche-nav{width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid var(--ligne);background:none;color:var(--cire);font-size:1.6rem;line-height:1;cursor:pointer;flex:none}
.fl-fiche-profil{color:var(--or);font-weight:700;text-align:center}
@media (max-width:559px){
  .fl-fiche{width:100%;max-width:none;max-height:92vh;margin:auto 0 0;border-radius:18px 18px 0 0}
  .fl-fiche[open]{animation:fl-fiche-bas .3s ease-out}
  @keyframes fl-fiche-bas{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
  .fl-fiche-in{padding:1.2rem 16px calc(1rem + env(safe-area-inset-bottom))}
  .fl-portrait-fiche,.fl-portrait-fiche .fl-regard{width:88px;height:88px}
  .fl-fiche-nom{font-size:1.45rem}
}
