/* Vanessor - feuille unique. Incrémenter VERSION_ASSETS (inc/app.php) à chaque modification. */
@font-face{font-family:"Cormorant";src:url(fonts/cormorant-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant";src:url(fonts/cormorant-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant";src:url(fonts/cormorant-500i.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Cinzel";src:url(fonts/cinzel-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}

@font-face{font-family:"Lora repli G";src:local("Georgia");size-adjust:105%;ascent-override:95.8%;descent-override:26.1%;line-gap-override:0%}
@font-face{font-family:"Lora repli T";src:local("Times New Roman"),local("Liberation Serif"),local("Tinos");size-adjust:116.3%;ascent-override:86.5%;descent-override:23.6%;line-gap-override:0%}
@font-face{font-family:"Lora";src:url(fonts/lora-400.woff2) format("woff2");font-weight:300 500;font-style:normal;font-display:swap}
@font-face{font-family:"Lora";src:url(fonts/lora-400i.woff2) format("woff2");font-weight:300 500;font-style:italic;font-display:swap}
@font-face{font-family:"Lora";src:url(fonts/lora-600.woff2) format("woff2");font-weight:550 900;font-style:normal;font-display:swap}

:root{
  --encre:#180f30;--encre2:#2b1a55;--nuit3:#4b3584;
  --or:#d4a553;--or-pale:#f1ddb3;--or-texte:#7a5214;
  --rose:#a98bd6;--parchemin:#fbf4e7;--parchemin2:#f5ead6;--blanc:#fffaf0;
  --texte:#22182f;--texte2:#544765;--filet:#e7d8bd;
  --ecoute:#1d6436;--ecoute-f:#e3f1e4;--seance:#86204f;--seance-f:#f8e3ec;--attendu:#3d2f86;--attendu-f:#ece6f8;--absent:#5d5268;--absent-f:#efe8ee;
  --sva:#8a1257;--cb:#223f86;
  --r:12px;--r2:20px;--ombre:0 8px 26px rgba(24,15,48,.12);
  --titre:"Cormorant",Georgia,"Times New Roman",serif;
  --corps:"Lora","Lora repli G","Lora repli T",Georgia,serif;
  --ui:var(--corps);
  --max:1180px;--lecture:760px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{margin:0;font-family:var(--corps);font-size:17px;line-height:1.65;color:var(--texte);background:var(--parchemin)}
img{max-width:100%;height:auto;display:block}
a{color:var(--encre2)}
p a,li a,td a,.question-r a,.cercle-vide a,.cercle-intro a{text-decoration:underline;text-underline-offset:2px}
h1,h2,h3{font-family:var(--titre);font-weight:600;line-height:1.2;color:var(--encre);margin:0 0 .5em}
h1{font-size:clamp(2rem,4.2vw,2.9rem)}
h2{font-size:clamp(1.7rem,3vw,2.05rem);margin-top:1.6em}
h3{font-size:1.38rem;margin-top:1.3em}
p,ul,ol{margin:0 0 1em}
ul,ol{padding-left:1.25em}
li{margin-bottom:.35em}
strong{font-weight:650}
:focus-visible{outline:3px solid var(--or);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.evitement{position:absolute;left:-9999px;top:0;background:#fff;padding:8px 12px;z-index:100}
.evitement:focus{left:8px;top:8px}

/* ---------- Fronton (en-tête) ---------- */
.fronton{background:var(--encre);color:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(241,221,179,.22)}
.fronton-in{position:relative;max-width:var(--max);margin:0 auto;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px}
.blason{flex:none;display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-family:"Cinzel",Georgia,serif;font-weight:600;font-size:1.25rem;letter-spacing:.1em}
.blason img{width:40px;height:40px}
.boussole{display:flex;align-items:center}
.boussole-ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
.boussole-ul li{margin:0}
.boussole-ul a,.boussole-btn{display:block;color:var(--or-pale);text-decoration:none;padding:8px 12px;border-radius:999px;font:inherit;font-size:.97rem;background:none;border:0;cursor:pointer;white-space:nowrap}
.boussole-ul a:hover,.boussole-btn:hover,.boussole-btn[aria-expanded="true"],.boussole-ul a[aria-current]{background:rgba(241,221,179,.12);color:#fff}
.boussole-btn::after{content:"";display:inline-block;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg);margin-left:8px}
.boussole-eclairages{position:static}
.eclairages{position:absolute;right:16px;top:calc(100% + 8px);background:var(--blanc);color:var(--texte);border-radius:var(--r2);border:1px solid var(--or-pale);box-shadow:0 18px 44px rgba(0,0,0,.25);padding:22px;width:min(860px,94vw)}
.eclairages[hidden]{display:none}
.eclairages-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.eclairages-t{font-family:var(--titre);font-weight:600;font-size:1.2rem;color:var(--encre);margin:0 0 6px;padding-bottom:4px;border-bottom:1px solid var(--or-pale)}
.eclairages ul{list-style:none;padding:0;margin:0}
.eclairages li{margin:0}
.eclairages a{color:var(--texte);padding:5px 0;display:block;text-decoration:none;font-size:.95rem;white-space:normal;border-radius:0;background:none}
.eclairages a:hover{color:var(--sva);text-decoration:underline}
.boussole-sceaux{display:flex;gap:8px;margin-left:12px}
.boussole-ul .boussole-carnet{color:#fff;background:rgba(163,34,111,.55)}
.boussole-ul .boussole-carnet:hover{background:rgba(163,34,111,.8)}
.explorer,.refermer{display:none}
@media (min-width:901px){.boussole-liste{display:flex;align-items:center}}

/* ---------- Sceaux (numéros + tarif) ---------- */
.sceau{max-width:100%;display:inline-flex;flex-direction:column;align-items:flex-start;text-decoration:none;border-radius:14px;padding:9px 14px 9px 16px;background:var(--blanc);border:1px solid rgba(24,15,48,.14);border-left:6px solid var(--sva);color:var(--texte);line-height:1.25;min-width:0;white-space:nowrap}
.sceau-cb{border-left-color:var(--cb)}
.sceau-l{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--texte2);font-weight:600}
.sceau-n{font-size:1.4rem;font-weight:700;letter-spacing:.02em;color:var(--sva)}
.sceau-cb .sceau-n{color:var(--cb)}
.sceau-t{font-size:.84rem;font-weight:650;color:var(--sva)}
.sceau-cb .sceau-t{color:var(--cb)}
.sceau:hover{box-shadow:var(--ombre)}
.sceau-fronton{padding:4px 10px 4px 11px;border-left-width:4px}
.sceau-fronton .sceau-l{display:none}
.sceau-fronton .sceau-n{font-size:.98rem}
.sceau-fronton .sceau-t{font-size:.82rem}
.sceau-mini{padding:6px 10px 6px 12px}
.sceau-mini .sceau-l{display:none}
.sceau-mini .sceau-n{font-size:1.1rem}
.sceau-mini .sceau-t{font-size:.82rem}
.sceau-grand .sceau-n{font-size:1.55rem}
.num-texte{font-weight:700;white-space:nowrap}

/* ---------- Voûte (tête de page) ---------- */
.voute{position:relative;overflow:hidden;color:#fff;isolation:isolate}
.voute-nuit{background:linear-gradient(172deg,#0b0f24 0%,#1a1740 50%,#33205a 100%)}
.voute-aube{background:linear-gradient(172deg,#141434 0%,#3a2b64 55%,#86577e 100%)}
.voute-jour{background:linear-gradient(172deg,#141b40 0%,#2c2966 55%,#4d3380 100%)}
.voute-crepuscule{background:linear-gradient(172deg,#120f30 0%,#3a1f5c 55%,#7a3a70 100%)}
.voute-poussiere,.voute-scintille{position:absolute;pointer-events:none;z-index:-1}
.voute-poussiere{left:50%;top:50%;width:260vmax;height:260vmax;margin:-130vmax 0 0 -130vmax;opacity:.75;
  background-image:radial-gradient(1px 1px at 20px 30px,#fff 50%,transparent 51%),radial-gradient(1px 1px at 90px 140px,#f1ddb3 50%,transparent 51%),radial-gradient(1.4px 1.4px at 160px 60px,#fff 50%,transparent 51%),radial-gradient(1px 1px at 230px 190px,#e8c5d2 50%,transparent 51%),radial-gradient(1.2px 1.2px at 50px 210px,#fff 50%,transparent 51%);
  background-size:260px 240px;animation:tour 600s linear infinite}
@media (max-width:900px){.voute-poussiere{left:0;top:0;width:calc(100% + 260px);height:calc(100% + 240px);margin:-240px 0 0 -260px;animation-name:derive;animation-duration:240s}}
@keyframes derive{to{transform:translate(260px,240px)}}
.voute-scintille{inset:0;opacity:.55;background-image:radial-gradient(1.8px 1.8px at 12% 22%,#fff 50%,transparent 52%),radial-gradient(1.6px 1.6px at 78% 12%,#f1ddb3 50%,transparent 52%),radial-gradient(2px 2px at 42% 78%,#fff 50%,transparent 52%),radial-gradient(1.6px 1.6px at 88% 64%,#fff 50%,transparent 52%),radial-gradient(1.8px 1.8px at 6% 70%,#f1ddb3 50%,transparent 52%);animation:scintille 6s ease-in-out infinite alternate}
@keyframes tour{to{transform:rotate(360deg)}}
@keyframes scintille{to{opacity:.15}}
.voute-in{max-width:var(--max);margin:0 auto;padding:30px 16px 30px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-areas:"texte ciel" "voies ciel";gap:18px 36px;align-items:start}
.voute-mince .voute-in{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}
.voute-texte{grid-area:texte;min-width:0}
.voute-voies{grid-area:voies;min-width:0}
.ciel{grid-area:ciel;min-width:0}
.voute h1{color:#fff}
.voute-sur{font-family:"Cinzel",Georgia,serif;letter-spacing:.1em;text-transform:uppercase;font-size:.84rem;color:var(--or-pale);margin:0 0 10px}
.voute-chapo{font-size:1.08rem;color:#f3ecf6;margin:0}
.voute-relu{margin:10px 0 0;font-size:.86rem;color:#d9d0e8}
.voute-chapo strong{color:#fff;white-space:nowrap}
.voute-chapo a{color:#fff}
.deux-voies{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.voie{background:rgba(255,255,255,.06);border:1px solid rgba(241,221,179,.22);border-radius:var(--r2);padding:12px 14px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;min-width:0}
.voie .sceau{max-width:100%}
.voie-compte{margin:0;flex:1 1 180px;font-size:.93rem;display:flex;align-items:center;gap:8px;min-height:1.6em;min-width:0;max-width:100%}
.voie-compte a{color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.lueur{width:9px;height:9px;border-radius:50%;background:#f4d38e;flex:none;animation:lueur 2.4s ease-in-out infinite}
@keyframes lueur{50%{opacity:.3}}

/* ---------- Le ciel des voyants ---------- */
.ciel-champ{position:relative;height:300px;border-radius:var(--r2);border:1px solid rgba(241,221,179,.28);background:radial-gradient(ellipse at 30% 20%,rgba(241,221,179,.10),transparent 60%),rgba(10,5,24,.28);overflow:hidden}
.ciel-mince .ciel-champ{height:160px}
.ciel-liens{position:absolute;inset:0;width:100%;height:100%}
.ciel-liens polyline{fill:none;stroke:rgba(241,221,179,.45);stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:3 4}
.ciel-lune{position:absolute;top:10px;right:12px;width:58px;height:58px}
.ciel-mince .ciel-lune{width:34px;height:34px;top:6px;right:8px}
.lune{width:100%;height:100%}
.lune-halo{fill:rgba(241,221,179,.12)}
.lune-ombre{fill:#2b3358}
.lune-clair{fill:#f0dfc4}
.astre{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;padding:0;border:0;background:none;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:opacity .4s}
.astre:hover .astre-coeur,.astre:focus-visible .astre-coeur{transform:scale(1.35)}
.astre::before{content:attr(data-nom);position:absolute;bottom:calc(100% + 2px);left:50%;transform:translateX(-50%);font-size:.78rem;font-weight:600;color:#fff;background:rgba(16,9,32,.85);border:1px solid rgba(241,221,179,.4);border-radius:999px;padding:1px 8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s}
.astre:hover::before,.astre:focus-visible::before{opacity:1}
.astre-coeur{display:block;border-radius:50%;position:relative;transition:transform .25s}
.astre-ecoute .astre-coeur{width:11px;height:11px;background:#fff6e3;box-shadow:0 0 6px 2px rgba(244,211,142,.85),0 0 16px 5px rgba(244,211,142,.35)}
.astre-ecoute .astre-coeur::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1px solid rgba(244,211,142,.7);animation:respire 3.2s ease-in-out infinite}
@keyframes respire{0%,100%{opacity:.2;transform:scale(.7)}50%{opacity:1;transform:scale(1.15)}}
.astre-seance .astre-coeur{width:9px;height:9px;background:#f0b8cc;box-shadow:0 0 6px 1px rgba(240,184,204,.6)}
.astre-attendu .astre-coeur{width:9px;height:9px;border:1.5px dashed #f1ddb3}
.astre-absent .astre-coeur{width:5px;height:5px;background:rgba(241,221,179,.55)}
.astre.voile{opacity:.16}
.astre-choisi .astre-coeur{outline:2px solid #f1ddb3;outline-offset:5px}
.astre[aria-expanded="true"] .astre-coeur{outline:2px solid #fff;outline-offset:5px}
.filante{position:absolute;left:0;top:0;width:90px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,#fff6e3);pointer-events:none;opacity:0}
.carte-ciel{position:absolute;right:10px;top:10px;width:290px;max-width:calc(100% - 20px);max-height:calc(100% - 20px);overflow-y:auto;overscroll-behavior:contain;background:var(--blanc);color:var(--texte);border-radius:16px;border:1px solid var(--or-pale);box-shadow:0 14px 38px rgba(0,0,0,.35);padding:14px;z-index:3}
.carte-ciel[hidden]{display:none}
.carte-ciel-tete{display:flex;gap:12px;align-items:center;margin-bottom:8px;padding-right:30px}
.carte-ciel .portrait{width:64px;height:64px;flex:none}
.carte-ciel .carte-ciel-nom{font-family:var(--titre);font-weight:600;font-size:1.35rem;color:var(--encre);margin:0;line-height:1.1}
.carte-ciel p{margin:0 0 6px;font-size:.9rem}
.carte-ciel-voie{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 0;border-top:1px solid var(--filet)}
.carte-ciel-voie p{margin:0}
.carte-ciel-fermer{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;border:1px solid var(--filet);background:#fff;cursor:pointer;font-size:1.1rem;line-height:1;color:var(--texte)}
.carte-ciel-lien{font-size:.9rem}
.ciel-socle{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.ciel-filtres{display:flex;flex-wrap:wrap;gap:8px}
.filtre{font:inherit;font-size:.85rem;color:var(--or-pale);background:transparent;border:1px solid rgba(241,221,179,.45);border-radius:999px;padding:4px 12px;cursor:pointer;white-space:nowrap}
.filtre[aria-pressed="true"]{background:var(--or-pale);color:var(--encre);border-color:var(--or-pale);font-weight:650}
.ciel-lune-txt,.ciel-annonce{margin:0;font-size:.86rem;color:#ece2f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5;min-height:1.5em}
.ciel-annonce{color:#fff}

/* ---------- Sentier (fil d'Ariane) ---------- */
.sentier{max-width:var(--max);margin:0 auto;padding:10px 16px;font-size:.88rem;color:var(--texte2)}
.sentier ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.sentier li{margin:0}
.sentier li+li::before{content:"✦";margin-right:6px;color:var(--or-texte);font-size:.7em;vertical-align:middle}
.sentier a{color:var(--texte2)}

/* ---------- Contenu ---------- */
.page-texte{max-width:var(--lecture);margin:0 auto;padding:8px 16px 24px}
.page-large{max-width:var(--max);margin:0 auto;padding:8px 16px 24px}
.page-texte>h2:first-child,.page-large>h2:first-child{margin-top:.8em}
.clair{position:relative;background:var(--blanc);border:1px solid var(--or-pale);border-left:4px solid var(--or);border-radius:var(--r2);padding:18px 20px 18px 56px;margin:26px 0}
.clair::before{content:"";position:absolute;left:18px;top:20px;width:22px;height:22px;border-radius:50%;box-shadow:inset -6px -2px 0 0 var(--or)}
.clair p:last-child{margin-bottom:0}
.note{background:var(--parchemin2);border-radius:var(--r);padding:16px 18px;margin:20px 0}
.note-t{font-family:var(--titre);font-weight:600;font-size:1.2rem;color:var(--encre);margin:0 0 6px}
.note p:last-child,.note ul:last-child{margin-bottom:0}
.table-v{width:100%;border-collapse:collapse;margin:16px 0 22px;font-size:.97rem;background:var(--blanc)}
.table-v th,.table-v td{border:1px solid var(--filet);padding:9px 10px;text-align:left;vertical-align:top}
.table-v th{background:var(--parchemin2);font-weight:650}
.table-v thead th{background:var(--encre2);color:var(--or-pale);font-family:var(--titre);font-size:1.1rem;font-weight:600;border-color:#3b2a68}
.table-defile{overflow-x:auto;margin:0 0 8px}
.invite{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 18px;background:linear-gradient(135deg,var(--encre),var(--encre2));color:#fff;border-radius:var(--r2);padding:18px 20px;margin:28px 0}
.invite-txt{margin:0;font-family:var(--titre);font-size:1.3rem;font-weight:600;flex:1 1 240px;color:var(--or-pale)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}
.duo>div{background:#fff;border:1px solid var(--filet);border-radius:var(--r);padding:14px 16px}
.duo h3{margin-top:0;font-size:1.15rem}
.duo ul,.duo p{margin:0}

/* ---------- Cercle de médaillons ---------- */
.cercle{max-width:var(--max);margin:0 auto;padding:26px 16px}
.cercle-tete{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;margin-bottom:10px}
.cercle-tete h2{margin:0}
.cercle-intro{max-width:var(--lecture);color:var(--texte2)}
.cercle-vide{background:var(--absent-f);border-radius:var(--r);padding:12px 14px;color:var(--texte2)}
.cercle-plus{margin:16px 0 0;font-size:.95rem}
.cercle-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:18px}
.medaillon{background:linear-gradient(180deg,#fffaf0 0%,#f8edd8 100%);border:1px solid var(--filet);border-top:3px solid rgba(212,165,83,.75);box-shadow:0 6px 18px rgba(24,15,48,.07);border-radius:26px;padding:16px 12px 12px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;min-width:0}
.medaillon-lien{display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;color:inherit;max-width:100%}
.anneau{position:relative;display:block;width:108px;height:108px;flex:none}
.anneau .portrait{position:absolute;inset:8px}
.anneau-svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.anneau-svg circle{fill:none;stroke-width:4}
.anneau-fond{stroke:#efe7da}
.anneau-reste{stroke-linecap:round;transition:stroke-dashoffset 1s}
.anneau-ecoute{stroke:var(--or)}
.anneau-seance{stroke:var(--rose)}
.anneau-attendu{stroke:#8f8bc8}
.anneau-absent{stroke:transparent}
.portrait{display:block;position:relative;border-radius:50%;overflow:hidden;background:linear-gradient(150deg,var(--encre2),var(--rose))}
.portrait img{width:100%;height:100%;object-fit:cover}
.portrait.sans img{display:none}
.portrait.sans::after{content:attr(data-initiale);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--titre);font-size:2.4rem;font-weight:600}
.medaillon-nom{font-family:var(--titre);font-weight:600;font-size:1.35rem;color:var(--encre);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.medaillon-lien:hover .medaillon-nom{text-decoration:underline}
.medaillon p{margin:0;font-size:.88rem;max-width:100%}
.medaillon-heure,.medaillon-art{color:var(--texte2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.medaillon-tarif{font-weight:650;color:var(--cb);white-space:nowrap}
.medaillon-appel{margin-top:auto;display:block;width:100%;text-decoration:none;font-weight:700;border-radius:999px;padding:8px 6px;border:1px solid rgba(212,165,83,.9);background:linear-gradient(180deg,#9c1766,#6e0d45);color:#fff;white-space:nowrap}
.medaillon-appel:hover{background:linear-gradient(180deg,#b01d74,#7d1050)}
.medaillon-appel-cb{background:linear-gradient(180deg,#2d4b9a,#1b2f6b)}
.medaillon-appel-cb:hover{background:linear-gradient(180deg,#3657ad,#213a80)}
.aura{display:inline-block;font-size:.84rem;font-weight:700;border-radius:999px;padding:2px 10px;white-space:nowrap;background:var(--absent-f);color:var(--absent)}
.aura-ecoute{background:var(--ecoute-f);color:var(--ecoute)}
.aura-seance{background:var(--seance-f);color:var(--seance)}
.aura-attendu{background:var(--attendu-f);color:var(--attendu)}
.voies-onglets{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px}
.voies-onglets a{padding:6px 14px;border:1px solid var(--or-pale);border-radius:999px;text-decoration:none;background:#fff;font-size:.93rem;white-space:nowrap}

/* ---------- Fiche d'un voyant ---------- */
.astre-fiche{max-width:var(--max);margin:0 auto;padding:24px 16px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}
.anneau-grand{width:220px;height:220px}
.anneau-grand .portrait{inset:0;border:4px solid var(--or-pale)}
.astre-voies{display:flex;flex-direction:column;gap:12px;margin:0 0 12px}
.astre-voie{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;background:#fff;border:1px solid var(--filet);border-radius:var(--r);padding:12px}
.astre-voie p{margin:0}
.astre-recit{white-space:pre-line}
.arts{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0 0 12px}
.arts li{margin:0;background:var(--parchemin2);border-radius:999px;padding:3px 12px;font-size:.9rem}

/* ---------- Portrait généré (fiche voyant) ---------- */
.portrait-astral{position:relative;margin:26px 0 8px;padding:20px 22px;border-radius:var(--r2);border:1px solid var(--or-pale);background:radial-gradient(ellipse at 100% 0%,rgba(169,139,214,.12),transparent 55%),var(--blanc)}
.portrait-astral h2{margin-top:0}
.augures{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.augure{background:var(--parchemin2);border-radius:var(--r);padding:12px 14px;min-width:0}
.augure h3{margin:0 0 6px;font-size:1.15rem}
.augure ul{margin:0;padding-left:1.1em}
.augure p{margin:0}
.augure-voie{display:inline-block;font-size:.84rem;font-weight:700;color:var(--or-texte);white-space:nowrap}
@media (max-width:640px){.augures{grid-template-columns:1fr}.portrait-astral{padding:16px}}

/* ---------- Présences ---------- */
.jour{margin:0 0 26px}
.jour h2{font-size:1.5rem}
.jour-liste{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.jour-liste li{margin:0;background:#fff;border:1px solid var(--filet);border-radius:var(--r);padding:10px 12px;display:flex;align-items:center;gap:12px;min-width:0}
.jour-liste .portrait{width:52px;height:52px;flex:none}
.jour-liste .portrait::after{font-size:1.3rem}
.jour-txt{min-width:0}
.jour-txt a{font-weight:650}
.jour-txt p{margin:0;font-size:.9rem;color:var(--texte2)}
.jour-voie{font-size:.84rem;font-weight:700}
.jour-voie .l-audio{color:var(--sva)}
.jour-voie .l-cb{color:var(--cb)}

/* ---------- Questions, chemins ---------- */
.questions{max-width:var(--lecture);margin:0 auto;padding:8px 16px 16px}
.question{background:#fff;border:1px solid var(--filet);border-radius:var(--r);margin:0 0 10px}
.question summary{cursor:pointer;padding:12px 16px;font-weight:650}
.question-r{padding:0 16px 4px}
.chemins{max-width:var(--lecture);margin:0 auto;padding:8px 16px 24px}
.page-texte .chemins,.page-large .chemins{padding-left:0;padding-right:0}
.chemins ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chemins li{margin:0}
.chemins a{display:block;padding:7px 14px;border:1px solid var(--or-pale);border-radius:999px;background:#fff;text-decoration:none;white-space:nowrap}
.chemins a:hover{border-color:var(--or)}
.toutes{columns:2;column-gap:32px}
.toutes li{break-inside:avoid}

/* ---------- Socle (pied de page) ---------- */
.socle{background:var(--encre);color:#e6e1ee;margin-top:32px;border-top:1px solid rgba(241,221,179,.22)}
.socle-in{max-width:var(--max);margin:0 auto;padding:32px 16px 12px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:24px}
.socle a{color:#fff}
.socle ul{list-style:none;padding:0;margin:0}
.socle li{margin:0 0 6px}
.socle-nom{font-family:"Cinzel",Georgia,serif;font-size:1.2rem;letter-spacing:.1em;color:#fff;margin:0 0 8px}
.socle-t{font-weight:700;color:var(--or-pale);margin:0 0 8px}
.socle-col p{font-size:.93rem}
.socle-sceaux{display:flex;flex-wrap:wrap;gap:10px}
.socle .sceau{color:var(--texte)}
.socle-bas{max-width:var(--max);margin:0 auto;padding:12px 16px 24px;font-size:.85rem;color:#c9c3d6;border-top:1px solid rgba(255,255,255,.12)}

/* ---------- Dock d'appel (mobile) ---------- */
.dock{display:none}

@media (min-width:901px){
  .boussole-sceaux .sceau-cb{display:none}
}
@media (max-width:1300px){
  .boussole-sceaux{display:none}
}
@media (max-width:1060px){
  .boussole-ul a,.boussole-btn{padding:8px 8px;font-size:.94rem}
}
@media (max-width:960px){
  .voute-in,.voute-mince .voute-in{grid-template-columns:minmax(0,1fr);grid-template-areas:"texte" "voies" "ciel";gap:18px}
  .ciel-champ{height:250px}
  .ciel-mince .ciel-champ{height:160px}
}
@media (max-width:900px){
  body{padding-bottom:74px}
  .explorer{display:flex;align-items:center;gap:8px;background:none;border:1px solid rgba(241,221,179,.45);color:var(--or-pale);border-radius:999px;padding:7px 14px 7px 10px;font:inherit;cursor:pointer}
  .explorer-lune{width:16px;height:16px;border-radius:50%;box-shadow:inset -5px -1px 0 0 var(--or-pale);transition:transform .3s}
  .explorer[aria-expanded="true"] .explorer-lune{transform:rotate(180deg)}
  .boussole-liste{display:none;position:fixed;left:0;right:0;top:66px;bottom:0;background:radial-gradient(ellipse at 80% 0%,rgba(169,139,214,.25),transparent 60%),var(--encre);overflow-y:auto;padding:14px 16px 100px}
  .boussole-liste.ouverte{display:block}
  .boussole-ul{flex-direction:column;align-items:stretch;gap:4px}
  .boussole-ul a,.boussole-btn{padding:12px 14px;font-size:1.08rem;width:100%;text-align:left;border-radius:12px}
  .eclairages{position:static;width:auto;box-shadow:none;background:rgba(255,255,255,.05);border-color:rgba(241,221,179,.2);color:#fff;padding:12px;margin:4px 0 8px}
  .eclairages-in{grid-template-columns:1fr 1fr}
  .eclairages-t{color:var(--or-pale);border-color:rgba(241,221,179,.25)}
  .eclairages a{color:#fff}
  .boussole-sceaux{flex-direction:column;align-items:flex-start;margin:16px 0 0}
  .boussole-sceaux .sceau-cb{display:inline-flex}
  .refermer{display:block;width:100%;margin-top:18px;padding:12px;border-radius:999px;border:1px solid rgba(241,221,179,.45);background:none;color:var(--or-pale);font:inherit;cursor:pointer}
  .socle-in{grid-template-columns:1fr 1fr}
  .socle-in .socle-col:first-child{grid-column:1/-1}
  .astre-fiche{grid-template-columns:1fr}
  .dock{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:8px;background:var(--encre);border-top:1px solid rgba(241,221,179,.3)}
  .dock-a{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:#fff;border-radius:999px;padding:6px 6px;min-height:52px;text-align:center;line-height:1.2;min-width:0}
  .dock-audio{background:var(--sva)}
  .dock-cb{background:var(--cb)}
  .dock-n{font-weight:700;font-size:1.02rem;white-space:nowrap}
  .dock-t{font-size:.82rem;white-space:nowrap}
}
@media (max-width:640px){
  body{font-size:16.5px}
  .deux-voies{grid-template-columns:1fr}
  .duo{grid-template-columns:1fr}
  .cercle-grille{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .medaillon{padding:12px 8px 10px;border-radius:22px}
  .anneau{width:96px;height:96px}
  .medaillon-nom{font-size:1.2rem}
  .medaillon-appel{font-size:.9rem;padding:8px 2px}
  .voute-in{padding:22px 16px 24px}
  .toutes{columns:1}
  .sceau-grand .sceau-n{font-size:1.5rem}
  .astre-ecoute .astre-coeur{width:9px;height:9px}
  .carte-ciel{left:8px;right:8px;top:8px;width:auto;max-height:calc(100% - 16px);padding:10px 12px}
  .carte-ciel .portrait{width:48px;height:48px}
  .carte-ciel-voie{padding:6px 0}
  .ciel-champ{height:240px}
  .anneau-grand{width:180px;height:180px}
}
@media (max-width:380px){
  .sceau-t{font-size:.82rem}
  .sceau-n{font-size:1.25rem}
  .eclairages-in{grid-template-columns:1fr}
  .dock-n{font-size:.94rem}
  .dock-t{font-size:.82rem}
  .medaillon-appel{font-size:.82rem}
  .medaillon .aura{padding:2px 8px}
  .blason span{display:none}
}
@media (max-width:360px){
  .dock{gap:6px;padding:6px}
  .dock-a{padding:6px 2px}
  .dock-t{font-size:.82rem;letter-spacing:-.02em}
  .sceau{padding:8px 10px 8px 12px}
  .sceau-t,.sceau-l{font-size:.82rem;letter-spacing:-.02em}
  .sceau{padding:8px 8px 8px 10px}
  .invite{padding:16px 12px}
  .voie{padding:10px}
}
@media (prefers-reduced-motion:reduce){
  .voute-poussiere,.voute-scintille,.lueur,.astre-ecoute .astre-coeur::after{animation:none}
  .astre,.anneau-reste{transition:none}
}


/* ---------- Tirage de tarot : roue céleste ---------- */
.voute-tirage .tirage-in{max-width:var(--max);margin:0 auto;padding:26px 16px 30px}
.tirage-tete{max-width:760px}
.tirage{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);grid-template-areas:"choix roue" "places places";gap:22px 34px;margin-top:22px;align-items:start}
.tirage-choix{grid-area:choix;display:flex;flex-direction:column;gap:14px}
.tirage-groupe{border:0;margin:0;padding:0;min-width:0}
.tirage-groupe legend{font-family:"Cinzel",Georgia,serif;font-size:.84rem;letter-spacing:.12em;text-transform:uppercase;color:var(--or-pale);margin-bottom:8px;padding:0}
.tirage-options{display:flex;flex-wrap:wrap;gap:8px}
.tirage-opt{position:relative;cursor:pointer}
.tirage-opt input{position:absolute;opacity:0;width:1px;height:1px}
.tirage-opt span{display:inline-block;padding:6px 14px;border-radius:999px;border:1px solid rgba(241,221,179,.45);color:var(--or-pale);font-size:.92rem;white-space:nowrap}
.tirage-opt small{opacity:.85;font-size:.84rem}
.tirage-opt input:checked+span{background:var(--or-pale);color:var(--encre);font-weight:650;border-color:var(--or-pale)}
.tirage-opt input:focus-visible+span{outline:3px solid var(--or);outline-offset:2px}
.tirage-question{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:#ece2f0}
.tirage-question small{opacity:.85;font-size:.84rem}
.tirage-question input{font:inherit;font-size:1rem;padding:10px 12px;border-radius:12px;border:1px solid rgba(241,221,179,.45);background:rgba(10,5,24,.35);color:#fff}
.tirage-question input::placeholder{color:#b9b2c9}
.tirage-melanger{font:inherit;font-weight:700;font-size:1.02rem;padding:12px 18px;border-radius:999px;border:0;background:linear-gradient(135deg,#f0dfc4,#d4a553);color:var(--encre);cursor:pointer;white-space:nowrap}
.tirage-melanger:hover{filter:brightness(1.06)}
.roue-cadre{grid-area:roue;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}
.roue{position:relative;width:min(430px,100%);aspect-ratio:1/1;container-type:inline-size}
.roue::before{content:"";position:absolute;inset:6%;border-radius:50%;border:1px dashed rgba(241,221,179,.3)}
.roue-disque{position:absolute;inset:0;animation:tour 240s linear infinite}
.roue.arret .roue-disque{animation-play-state:paused}
.lame{position:absolute;left:50%;top:50%;width:9.5cqw;height:14.5cqw;margin:-7.25cqw 0 0 -4.75cqw;padding:0;border:0;background:none;cursor:pointer;transform:rotate(var(--a)) translateY(-38cqw);transition:opacity .3s}
.lame:disabled{cursor:default}
.lame-dos{display:block;width:100%;height:100%;border-radius:6px;border:1px solid rgba(241,221,179,.7);background:radial-gradient(circle at 50% 45%,rgba(244,211,142,.9) 0 7%,transparent 8%),repeating-linear-gradient(45deg,rgba(241,221,179,.12) 0 3px,transparent 3px 7px),linear-gradient(160deg,#33215f,#1d1238);box-shadow:0 2px 8px rgba(0,0,0,.35);transition:transform .2s}
.lame:not(:disabled):hover .lame-dos,.lame:not(:disabled):focus-visible .lame-dos{transform:translateY(-10%);box-shadow:0 0 12px rgba(244,211,142,.7)}
.lame.prise{opacity:0;pointer-events:none}
.roue-coeur{position:absolute;left:50%;top:50%;width:26cqw;height:26cqw;margin:-13cqw 0 0 -13cqw;opacity:.9}
.tirage-consigne{margin:0;color:#fff;font-size:.95rem;text-align:center;min-height:1.6em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.tirage-consigne a{color:#fff}
.tirage-places{grid-area:places;list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:18px;flex-wrap:wrap}
.place{margin:0;display:flex;flex-direction:column;align-items:center;gap:8px;width:132px}
.place.cache{display:none}
.place-lib{font-size:.86rem;color:var(--or-pale);text-align:center;min-height:2.6em;line-height:1.3}
.place-carte{display:block;width:132px;height:206px;border-radius:12px;border:1px dashed rgba(241,221,179,.45);perspective:900px}
.carte{display:block;width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.carte.retournee{transform:rotateY(180deg)}
.carte-face,.carte-verso{position:absolute;inset:0;border-radius:12px;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.carte-verso{border:1px solid rgba(241,221,179,.7);background:radial-gradient(circle at 50% 45%,rgba(244,211,142,.9) 0 6%,transparent 7%),repeating-linear-gradient(45deg,rgba(241,221,179,.12) 0 4px,transparent 4px 9px),linear-gradient(160deg,#33215f,#1d1238)}
.carte-face{transform:rotateY(180deg);background:linear-gradient(170deg,#fffaf0,#f3e6cf);border:2px solid #d4a553;color:#7a5214;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:10px 6px}
.carte-face svg{width:78%;height:auto;flex:1 1 auto}
.carte-num{font-family:"Cinzel",Georgia,serif;font-size:.9rem;color:#7a5214}
.carte-nom{font-family:var(--titre);font-weight:600;font-size:1.02rem;color:var(--encre);text-align:center;line-height:1.1}
.lecture{margin:26px 0;padding:20px 22px;border-radius:var(--r2);border:1px solid var(--or-pale);background:var(--blanc)}
.lecture:focus{outline:none}
.lecture h2{margin-top:0}
.lecture h3{margin:1.1em 0 .2em}
.lecture-cles{font-style:italic;color:var(--texte2);margin:0 0 .4em}
.lecture-question{font-family:var(--titre);font-size:1.25rem;color:var(--encre)}
.lecture-synthese{background:var(--parchemin2);border-radius:var(--r);padding:12px 14px;margin-top:14px}
.tirage-note{font-size:.88rem;color:var(--texte2)}
.duo-trois{grid-template-columns:repeat(3,1fr)}
@media (max-width:960px){
  .tirage{grid-template-columns:minmax(0,1fr);grid-template-areas:"choix" "roue" "places"}
}
@media (max-width:640px){
  .duo-trois{grid-template-columns:1fr}
  .place,.place-carte{width:96px}
  .place-carte{height:150px}
  .tirage-places{gap:10px}
  .carte-nom{font-size:.86rem}
  .carte-num{font-size:.84rem}
}
@media (prefers-reduced-motion:reduce){.roue-disque{animation:none}.carte{transition:none}}
.rang-0{--a:0.00deg}
.rang-1{--a:16.36deg}
.rang-2{--a:32.73deg}
.rang-3{--a:49.09deg}
.rang-4{--a:65.45deg}
.rang-5{--a:81.82deg}
.rang-6{--a:98.18deg}
.rang-7{--a:114.55deg}
.rang-8{--a:130.91deg}
.rang-9{--a:147.27deg}
.rang-10{--a:163.64deg}
.rang-11{--a:180.00deg}
.rang-12{--a:196.36deg}
.rang-13{--a:212.73deg}
.rang-14{--a:229.09deg}
.rang-15{--a:245.45deg}
.rang-16{--a:261.82deg}
.rang-17{--a:278.18deg}
.rang-18{--a:294.55deg}
.rang-19{--a:310.91deg}
.rang-20{--a:327.27deg}
.rang-21{--a:343.64deg}


/* ---------- Scènes illustrées ---------- */
.voute-scene{display:block;position:relative;max-width:1254px;margin:0 auto -70px;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 14%,#000 58%,transparent 100%),linear-gradient(to right,transparent 0,#000 12%,#000 88%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,transparent 0,#000 14%,#000 58%,transparent 100%),linear-gradient(to right,transparent 0,#000 12%,#000 88%,transparent 100%);mask-composite:intersect}
.voute-scene img{width:100%;height:auto;aspect-ratio:1254/480}
.voute-scene+.voute-in{position:relative;padding-top:0}
@media (max-width:700px){.voute-scene{margin-bottom:-40px}.voute-scene img{aspect-ratio:640/325}}
.illustration{max-width:460px;margin:22px auto;border-radius:var(--r2);overflow:hidden;border:1px solid var(--or-pale);box-shadow:0 10px 30px rgba(26,16,60,.25)}
.illustration img{width:100%;height:auto}
.illustration figcaption{font-size:.9rem;color:var(--texte2);padding:8px 12px;background:var(--blanc)}
.tirage-tete{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:24px;align-items:center;max-width:none}
.tirage-visuel{border-radius:50%;overflow:hidden;width:220px;height:220px;border:2px solid rgba(241,221,179,.5);box-shadow:0 0 40px rgba(180,120,255,.35)}
.tirage-visuel img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
@media (max-width:760px){.tirage-tete{grid-template-columns:minmax(0,1fr) 110px}.tirage-visuel{width:110px;height:110px}}


/* ---------- Carnet lunaire : boutique et promotion ---------- */
.boutique-in{max-width:var(--max);margin:0 auto;padding:26px 16px 30px;display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);gap:28px;align-items:center}
.boutique-visuel{display:block;border-radius:var(--r2);overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.45);border:1px solid rgba(241,221,179,.35)}
.boutique-visuel img{width:100%;height:auto}
.boutique-texte{min-width:0}
.boutique-points{list-style:none;padding:0;margin:14px 0}
.boutique-points li{position:relative;padding-left:24px;margin-bottom:6px;color:#f3ecf6}
.boutique-points li::before{content:"✦";position:absolute;left:0;color:var(--or-pale)}
.boutique-prix{margin:0 0 14px;color:#f3ecf6}
.boutique-prix span{font-family:var(--titre);font-size:2.4rem;font-weight:600;color:#fff;margin-right:6px}
.bouton-achat{display:inline-block;font:inherit;font-weight:700;font-size:1.05rem;text-align:center;text-decoration:none;padding:13px 24px;border-radius:999px;border:0;cursor:pointer;background:linear-gradient(135deg,#a3226f,#6d1450);color:#fff;box-shadow:0 8px 22px rgba(109,20,80,.4);white-space:nowrap}
.bouton-achat:hover{filter:brightness(1.1)}
.bouton-achat:disabled{opacity:.55;cursor:not-allowed}
.commande{margin:28px 0;padding:22px;border-radius:var(--r2);border:1px solid var(--or-pale);background:var(--blanc);box-shadow:var(--ombre)}
.commande h2{margin-top:0}
.commande-form{display:flex;flex-direction:column;gap:16px}
.champ{display:flex;flex-direction:column;gap:6px;border:0;margin:0;padding:0;min-width:0}
.champ label,.champ legend{font-weight:650;padding:0}
.champ input[type=text],.champ input[type=date]{font:inherit;font-size:1rem;padding:11px 12px;border-radius:12px;border:1px solid #bdb2cc;background:#fff;color:var(--texte);max-width:360px;width:100%}
.champ input:focus{outline:3px solid var(--or);outline-offset:1px}
.champ-erreur input{border-color:#a3223f}
.champ-msg{margin:0;color:#8f1d36;font-size:.93rem}
.commande-themes{display:flex;flex-wrap:wrap;gap:8px}
.commande-theme{position:relative;cursor:pointer}
.commande-theme input{position:absolute;opacity:0;width:1px;height:1px}
.commande-theme span{display:inline-block;padding:8px 16px;border-radius:999px;border:1px solid #bdb2cc;background:#fff;white-space:nowrap}
.commande-theme input:checked+span{background:var(--encre);color:#fff;border-color:var(--encre);font-weight:650}
.commande-theme input:focus-visible+span{outline:3px solid var(--or);outline-offset:2px}
.accord{display:flex;gap:10px;align-items:flex-start;font-weight:400 !important;font-size:.95rem}
.accord input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:#86204f}
.accord span{min-width:0}
.bouton-payer{align-self:flex-start;max-width:100%}
.lib-court{display:none}
@media (max-width:480px){.bouton-payer .lib-long{display:none}.bouton-payer .lib-court{display:inline}.bouton-payer{align-self:stretch}}
.commande-securite,.commande-info{margin:0;font-size:.9rem;color:var(--texte2)}
.commande-erreurs{background:#fbe9ee;border:1px solid #e3b2c0;border-radius:var(--r);padding:12px 16px;margin:0 0 16px}
.commande-erreurs:focus{outline:3px solid #a3223f}
.commande-erreurs ul{margin:0}
.apercus{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:12px 0}
.apercus figure{margin:0;text-align:center}
.apercus img{width:100%;height:auto;border-radius:6px;box-shadow:0 6px 18px rgba(26,16,60,.18);border:1px solid var(--filet)}
.apercus figcaption{font-size:.9rem;color:var(--texte2);margin-top:6px}
.promo-carnet{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:0;align-items:stretch;margin:30px 0;border-radius:var(--r2);overflow:hidden;background:linear-gradient(135deg,#1a1440,#3a1f5c);border:1px solid rgba(241,221,179,.35);box-shadow:0 12px 34px rgba(26,16,60,.25)}
.promo-carnet-img img{width:100%;height:100%;object-fit:cover}
.promo-carnet-txt{padding:18px;display:flex;flex-direction:column;justify-content:center;gap:12px;color:#f3ecf6}
.promo-carnet-txt p{margin:0}
.promo-carnet-txt .bouton-achat{align-self:flex-start;font-size:.98rem;padding:11px 18px}
@media (max-width:900px){.boutique-in{grid-template-columns:minmax(0,1fr)}.boutique-visuel{max-width:520px}}
@media (max-width:700px){.promo-carnet{grid-template-columns:minmax(0,1fr)}.apercus{grid-template-columns:repeat(3,1fr);gap:8px}.apercus figcaption{font-size:.84rem}}
@media (max-width:380px){.bouton-achat{font-size:.95rem;padding:12px 16px}.promo-carnet-txt .bouton-achat{font-size:.9rem;padding:10px 12px}}

/* ---------- Emplacements des étoiles et phase de rotation (générés par ciel_css_positions) ---------- */
.pos-0{left:9.2%;top:17.61%}
.pos-1{left:19.84%;top:19.8%}
.pos-2{left:30.48%;top:18.16%}
.pos-3{left:39.36%;top:20.34%}
.pos-4{left:50%;top:18.7%}
.pos-5{left:60.64%;top:20.89%}
.pos-6{left:69.52%;top:19.25%}
.pos-7{left:80.16%;top:17.61%}
.pos-8{left:90.8%;top:19.8%}
.pos-9{left:9.68%;top:38.66%}
.pos-10{left:20.32%;top:40.84%}
.pos-11{left:29.2%;top:39.2%}
.pos-12{left:39.84%;top:41.39%}
.pos-13{left:50.48%;top:39.75%}
.pos-14{left:59.36%;top:38.11%}
.pos-15{left:70%;top:40.3%}
.pos-16{left:80.64%;top:38.66%}
.pos-17{left:89.52%;top:40.84%}
.pos-18{left:10.16%;top:59.7%}
.pos-19{left:20.8%;top:61.89%}
.pos-20{left:29.68%;top:60.25%}
.pos-21{left:40.32%;top:58.61%}
.pos-22{left:49.2%;top:60.8%}
.pos-23{left:59.84%;top:59.16%}
.pos-24{left:70.48%;top:61.34%}
.pos-25{left:79.36%;top:59.7%}
.pos-26{left:90%;top:61.89%}
.pos-27{left:10.64%;top:80.75%}
.pos-28{left:19.52%;top:79.11%}
.pos-29{left:30.16%;top:81.3%}
.pos-30{left:40.8%;top:79.66%}
.pos-31{left:49.68%;top:81.84%}
.pos-32{left:60.32%;top:80.2%}
.pos-33{left:69.2%;top:82.39%}
.pos-34{left:79.84%;top:80.75%}
.pos-35{left:90.48%;top:79.11%}
.phase-0{animation-delay:-0s}
.phase-1{animation-delay:-10s}
.phase-2{animation-delay:-20s}
.phase-3{animation-delay:-30s}
.phase-4{animation-delay:-40s}
.phase-5{animation-delay:-50s}
.phase-6{animation-delay:-60s}
.phase-7{animation-delay:-70s}
.phase-8{animation-delay:-80s}
.phase-9{animation-delay:-90s}
.phase-10{animation-delay:-100s}
.phase-11{animation-delay:-110s}
.phase-12{animation-delay:-120s}
.phase-13{animation-delay:-130s}
.phase-14{animation-delay:-140s}
.phase-15{animation-delay:-150s}
.phase-16{animation-delay:-160s}
.phase-17{animation-delay:-170s}
.phase-18{animation-delay:-180s}
.phase-19{animation-delay:-190s}
.phase-20{animation-delay:-200s}
.phase-21{animation-delay:-210s}
.phase-22{animation-delay:-220s}
.phase-23{animation-delay:-230s}
.phase-24{animation-delay:-240s}
.phase-25{animation-delay:-250s}
.phase-26{animation-delay:-260s}
.phase-27{animation-delay:-270s}
.phase-28{animation-delay:-280s}
.phase-29{animation-delay:-290s}
.phase-30{animation-delay:-300s}
.phase-31{animation-delay:-310s}
.phase-32{animation-delay:-320s}
.phase-33{animation-delay:-330s}
.phase-34{animation-delay:-340s}
.phase-35{animation-delay:-350s}
.phase-36{animation-delay:-360s}
.phase-37{animation-delay:-370s}
.phase-38{animation-delay:-380s}
.phase-39{animation-delay:-390s}
.phase-40{animation-delay:-400s}
.phase-41{animation-delay:-410s}
.phase-42{animation-delay:-420s}
.phase-43{animation-delay:-430s}
.phase-44{animation-delay:-440s}
.phase-45{animation-delay:-450s}
.phase-46{animation-delay:-460s}
.phase-47{animation-delay:-470s}
.phase-48{animation-delay:-480s}
.phase-49{animation-delay:-490s}
.phase-50{animation-delay:-500s}
.phase-51{animation-delay:-510s}
.phase-52{animation-delay:-520s}
.phase-53{animation-delay:-530s}
.phase-54{animation-delay:-540s}
.phase-55{animation-delay:-550s}
.phase-56{animation-delay:-560s}
.phase-57{animation-delay:-570s}
.phase-58{animation-delay:-580s}
.phase-59{animation-delay:-590s}
.page-texte h2::after,.cercle-tete h2::after{content:"";display:block;width:64px;height:2px;margin-top:8px;background:linear-gradient(90deg,var(--or),rgba(212,165,83,0))}
/* ---------- Nuitée : bandeau nuit des voyants, dans la continuité de la voûte ---------- */
.nuitee{position:relative;margin:28px 0;color:#f3ecf6;border-top:1px solid rgba(241,221,179,.18);border-bottom:1px solid rgba(241,221,179,.18);
  background-image:radial-gradient(1.4px 1.4px at 8% 18%,rgba(255,255,255,.7) 50%,transparent 52%),radial-gradient(1.2px 1.2px at 27% 72%,rgba(241,221,179,.65) 50%,transparent 52%),radial-gradient(1.6px 1.6px at 46% 12%,rgba(255,255,255,.6) 50%,transparent 52%),radial-gradient(1.2px 1.2px at 64% 84%,rgba(255,255,255,.55) 50%,transparent 52%),radial-gradient(1.5px 1.5px at 83% 26%,rgba(241,221,179,.7) 50%,transparent 52%),radial-gradient(1.2px 1.2px at 94% 66%,rgba(255,255,255,.6) 50%,transparent 52%),radial-gradient(ellipse at 18% 0%,rgba(169,139,214,.22),transparent 55%),radial-gradient(ellipse at 88% 100%,rgba(212,165,83,.14),transparent 50%),linear-gradient(180deg,#2b1a55 0%,#1c1038 100%)}
main>.voute+.nuitee,main>.nuitee:first-child{margin-top:0;border-top:0}
.nuitee+.nuitee{margin-top:-28px;border-top:0}
.nuitee .cercle{padding:30px 16px 32px}
.nuitee .cercle-tete h2{color:#fff}
.nuitee .cercle-intro{color:#e3d8ef}
.nuitee .cercle-intro a,.nuitee .cercle-plus a{color:var(--or-pale)}
.nuitee .cercle-plus{color:#cfc3e0}
.nuitee .cercle-vide{background:rgba(255,255,255,.08);color:#eadff5;border:1px solid rgba(241,221,179,.2)}
.nuitee .cercle-vide a{color:var(--or-pale)}
.nuitee .medaillon{box-shadow:0 10px 28px rgba(5,2,14,.45);border-color:rgba(241,221,179,.35)}
.nuitee :focus-visible{outline-color:var(--or-pale)}
/* ---------- Réponse au toucher et au clic ---------- */
a,button,summary,label,[role=button]{-webkit-tap-highlight-color:transparent}
button,summary,.medaillon-appel,.sceau,.bouton-achat,.filtre,.astre,.lame,.commande-theme,.boussole-ul a,.dock a{touch-action:manipulation}
.medaillon-appel,.sceau,.bouton-achat,.filtre,.explorer,.refermer,.boussole-ul a,.boussole-btn,.tirage-melanger,.commande-theme span,.dock a{transition:transform .12s ease,filter .12s ease,box-shadow .2s ease,background-color .2s ease}
.medaillon-appel:active,.sceau:active,.bouton-achat:active,.filtre:active,.explorer:active,.refermer:active,.tirage-melanger:active,.commande-theme span:active,.dock a:active{transform:scale(.97);filter:brightness(1.08)}
.boussole-ul a:active,.boussole-btn:active{transform:scale(.97)}
.astre:active .astre-coeur{transform:scale(1.35)}
summary:active{opacity:.8}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
/* Animations en veille hors écran */
.au-repos .voute-poussiere,.au-repos .voute-scintille,.au-repos .lueur,.au-repos .astre-coeur::after,.au-repos .roue-disque,.roue.au-repos .roue-disque{animation-play-state:paused}
/* ---------- Veilleuse (alertes du navigateur) ---------- */
.medaillon{position:relative}
.medaillon-actions{margin-top:auto;display:flex;gap:8px;width:100%;align-items:stretch}
.medaillon-actions .medaillon-appel{flex:1 1 auto;min-width:0;margin-top:0}
.veille{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid rgba(212,165,83,.75);background:var(--blanc);color:var(--or-texte);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;font:inherit;transition:transform .12s ease,background-color .2s ease,color .2s ease}
.veille svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.veille:hover{background:#fff3dc}
.veille:active{transform:scale(.94)}
.veille[aria-pressed="true"]{background:linear-gradient(180deg,#9c1766,#6e0d45);color:#fff;border-color:var(--or)}
.veille[aria-pressed="true"] svg{fill:currentColor}
.veille[aria-busy="true"]{opacity:.6;cursor:progress}
.veille-texte{width:auto;height:auto;min-height:44px;border-radius:999px;padding:8px 16px 8px 12px;gap:8px;font-weight:600;font-size:.95rem;text-align:left;max-width:100%}
.veille-texte span{min-width:0}
.veille-on{display:none}
.veille-texte[aria-pressed="true"] .veille-on{display:inline}
.veille-texte[aria-pressed="true"] .veille-off{display:none}
.veille-bloc{margin:4px 0 14px}
.veille-note{margin:6px 0 0;font-size:.86rem;color:var(--texte2);max-width:520px}
.carte-ciel .veille-texte{margin-top:6px;width:100%;justify-content:flex-start;font-size:.9rem}
.murmure{position:fixed;left:50%;bottom:24px;transform:translate(-50%,12px);z-index:70;width:min(560px,calc(100% - 32px));margin:0;padding:12px 16px;border-radius:14px;background:var(--encre);color:#f5ecf8;border:1px solid rgba(241,221,179,.45);box-shadow:0 14px 40px rgba(5,2,14,.45);font-size:.95rem;line-height:1.45;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s}
.murmure.vu{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .25s ease,transform .25s ease}
@media (max-width:900px){.murmure{bottom:86px}}
@media (prefers-reduced-motion:reduce){.murmure,.veille{transition:none}}
.lecture-carnet{margin:14px 0;padding:12px 14px;border-radius:var(--r);background:var(--parchemin2);border-left:4px solid var(--or)}
.lecture-carnet-lien{font-weight:700;color:var(--sva)}
.prix-bloc{white-space:nowrap}
