/* Kalexex — Astrologie (v5). Identité : roue d'astrolabe + « heure bleue ».
   Refonte UX : assistant de naissance en cartes, hub d'options, fiche structurée. */
[hidden]{display:none!important}

:root{
  --as-nuit:#0e0a13;
  --as-nuit-2:#171022;
  --as-laiton:#d4a574;
  --as-laiton-vif:#e9c79a;
  --as-bleue:#94a3d6;
  --as-encre:#f0e6da;
  --as-bordeaux:#5a1423;
}

body{background:var(--bg-dark,#100708);color:var(--as-encre);font-family:'Inter',sans-serif;min-height:100dvh;margin:0}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:radial-gradient(60% 50% at 85% 0%, rgba(148,163,214,.07), transparent 60%),
             radial-gradient(55% 45% at 8% 100%, rgba(90,20,35,.28), transparent 62%)}
.as-fond{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden}
.as-fond::before,.as-fond::after{content:"";position:absolute;inset:0}
.as-fond::before{background:
  radial-gradient(1px 1px at 12% 18%,rgba(255,255,255,.8),transparent 60%),
  radial-gradient(1px 1px at 64% 9%,rgba(233,199,154,.7),transparent 60%),
  radial-gradient(1.4px 1.4px at 83% 42%,rgba(148,163,214,.75),transparent 60%),
  radial-gradient(1px 1px at 28% 64%,rgba(255,255,255,.5),transparent 60%),
  radial-gradient(1px 1px at 91% 78%,rgba(233,199,154,.55),transparent 60%),
  radial-gradient(1.2px 1.2px at 45% 88%,rgba(148,163,214,.5),transparent 60%);
  animation:as-scintille 5.5s ease-in-out infinite alternate}
.as-fond::after{background:
  radial-gradient(1px 1px at 22% 36%,rgba(233,199,154,.65),transparent 60%),
  radial-gradient(1.3px 1.3px at 73% 22%,rgba(255,255,255,.6),transparent 60%),
  radial-gradient(1px 1px at 8% 84%,rgba(148,163,214,.6),transparent 60%),
  radial-gradient(1px 1px at 55% 55%,rgba(255,255,255,.4),transparent 60%),
  radial-gradient(1.2px 1.2px at 38% 8%,rgba(148,163,214,.55),transparent 60%);
  animation:as-scintille 7s ease-in-out infinite alternate-reverse}
@keyframes as-scintille{0%{opacity:.95}50%{opacity:.45}100%{opacity:.85}}
.as-file{position:absolute;top:12%;left:-12%;width:130px;height:1.5px;border-radius:2px;
  background:linear-gradient(90deg,rgba(233,199,154,0),rgba(233,199,154,.95));
  opacity:0;animation:as-etoile-file 16s linear infinite}
.as-file.f2{top:38%;width:100px;background:linear-gradient(90deg,rgba(148,163,214,0),rgba(148,163,214,.85));animation-duration:23s;animation-delay:9s}
@keyframes as-etoile-file{0%,90%{opacity:0;transform:translateX(0) translateY(0) rotate(16deg)}92%{opacity:.95}98%{opacity:0}100%{opacity:0;transform:translateX(120vw) translateY(34vh) rotate(16deg)}}
main{max-width:760px;margin:0 auto;padding:0 16px 64px}

#btn-retour{position:fixed;top:14px;left:14px;z-index:20;width:38px;height:38px;border-radius:50%;border:1px solid rgba(212,165,116,.6);background:rgba(14,10,19,.82);color:var(--as-laiton);cursor:pointer;display:grid;place-items:center;transition:border-color .18s}
#btn-retour:hover{border-color:var(--as-laiton-vif)}
#solde{position:fixed;top:14px;right:14px;z-index:20;padding:7px 12px;border-radius:20px;border:1px solid rgba(212,165,116,.6);background:rgba(14,10,19,.82);font-size:13.5px;font-variant-numeric:tabular-nums}

/* ---------- Héros ---------- */
.as-hero{position:relative;text-align:center;padding:88px 8px 26px;overflow:hidden}
.as-roue{position:absolute;top:30px;left:50%;transform:translateX(-50%);width:min(400px,90vw);aspect-ratio:1;pointer-events:none;opacity:.5}
.as-roue::before{content:"";position:absolute;inset:0;border-radius:50%;
  border:1px solid rgba(148,163,214,.30);
  box-shadow:inset 0 0 0 8px transparent, inset 0 0 0 9px rgba(148,163,214,.12), inset 0 0 70px rgba(148,163,214,.05)}
.as-roue::after{content:"";position:absolute;inset:16px;border-radius:50%;
  background:
    repeating-conic-gradient(rgba(212,165,116,.55) 0deg .6deg, transparent .6deg 30deg),
    repeating-conic-gradient(rgba(148,163,214,.20) 0deg .35deg, transparent .35deg 6deg);
  -webkit-mask:radial-gradient(circle, transparent 58%, #000 59%);
  mask:radial-gradient(circle, transparent 58%, #000 59%);
  animation:as-roue-tourne 120s linear infinite}
@keyframes as-roue-tourne{to{transform:rotate(360deg)}}
.as-hero-contenu{position:relative;padding-top:58px;animation:as-leve .5s ease-out both}
@keyframes as-leve{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
h1{margin:0;color:var(--as-laiton-vif);font-weight:250;font-size:clamp(40px,9vw,60px);letter-spacing:.14em;text-transform:uppercase;line-height:1.05}
.as-tagline{margin:12px 0 4px;font-size:16px;color:var(--as-encre)}
.as-description{margin:6px auto 0;max-width:52ch;color:rgba(240,230,218,.72);font-size:14.5px;line-height:1.65}

/* ---------- Sections / titres ---------- */
.as-section{margin-top:34px}
.as-eyebrow{margin:0 0 6px;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--as-bleue)}
.as-titre{display:flex;align-items:center;gap:14px;margin:0 0 16px;color:var(--as-laiton);font-weight:500;font-size:21px;letter-spacing:.02em}
.as-titre::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(148,163,214,.35),transparent)}
.as-aide{color:rgba(240,230,218,.72);font-size:14.5px;line-height:1.6;margin:0 0 8px}
.as-meta{color:var(--as-bleue);font-size:12.5px;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.as-note-bleue{border-left:2px solid var(--as-bleue);padding:6px 10px;margin:0 0 14px;color:var(--as-bleue);font-size:13px;background:rgba(148,163,214,.07);border-radius:0 8px 8px 0;text-align:left}
.as-erreur{color:#e0899a;font-size:14px}
.as-retour-lien{background:none;border:0;color:var(--as-bleue);font-family:inherit;font-size:13.5px;letter-spacing:.04em;cursor:pointer;padding:4px 0;margin-bottom:10px}
.as-retour-lien:hover{color:var(--as-laiton)}

/* ---------- Boutons ---------- */
.as-btn{display:inline-block;padding:12px 24px;border-radius:13px;font-family:inherit;font-size:15px;font-weight:550;letter-spacing:.03em;cursor:pointer;text-decoration:none;text-align:center;transition:transform .16s, box-shadow .16s, border-color .16s, background .16s;
  border:1px solid rgba(212,165,116,.45);background:linear-gradient(165deg,rgba(212,165,116,.10),rgba(14,10,19,.4));color:var(--as-laiton)}
.as-btn:hover{transform:translateY(-1px);border-color:var(--as-laiton-vif);background:linear-gradient(165deg,rgba(212,165,116,.18),rgba(14,10,19,.5));box-shadow:0 4px 18px -6px rgba(212,165,116,.25)}
.as-btn-principal{position:relative;overflow:hidden;border:1px solid transparent;color:#f3ddba;
  background-image:linear-gradient(160deg,#190e20,#0d0813),
    linear-gradient(110deg, rgba(212,165,116,.18) 0%, #e9c79a 22%, rgba(148,163,214,.95) 50%, #e9c79a 78%, rgba(212,165,116,.18) 100%);
  background-origin:border-box;background-clip:padding-box,border-box;
  background-size:100% 100%, 320% 100%;
  animation:as-liseret 6.5s linear infinite;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07), 0 4px 18px -8px rgba(212,165,116,.35)}
@keyframes as-liseret{to{background-position:0 0, 320% 0}}
.as-btn-principal::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(1px 1px at 18% 35%,rgba(233,199,154,.9),transparent 60%),
             radial-gradient(1.2px 1.2px at 78% 62%,rgba(255,255,255,.7),transparent 60%),
             radial-gradient(1px 1px at 55% 22%,rgba(148,163,214,.7),transparent 60%);
  animation:as-scintille 4s ease-in-out infinite alternate}
.as-btn-principal:hover{color:#fff6e6;box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 8px 26px -8px rgba(212,165,116,.55)}
.as-btn-ghost{background:transparent;border-color:rgba(148,163,214,.4);color:rgba(240,230,218,.85)}
.as-btn-ghost:hover{border-color:var(--as-bleue);background:rgba(148,163,214,.08)}
.as-btn-danger{background:transparent;border-color:rgba(224,137,154,.4);color:#e0899a;font-size:13px;padding:8px 14px}
.as-btn-danger:hover{border-color:#e0899a;background:rgba(224,137,154,.08)}
.as-btn:disabled{opacity:.55;cursor:wait;transform:none}
:focus-visible{outline:2px solid var(--as-bleue);outline-offset:2px}

/* ---------- Assistant de naissance ---------- */
.as-wizard{position:relative;max-width:460px;margin:0 auto;background:linear-gradient(170deg,rgba(23,16,34,.92),rgba(14,10,19,.97));border:1px solid rgba(212,165,116,.35);border-radius:20px;padding:28px 26px 22px;text-align:center}
.as-wizard::before{content:"";position:absolute;top:0;left:28px;right:28px;height:1px;background:linear-gradient(90deg,transparent,rgba(148,163,214,.55),transparent)}
.as-wizard-dots{display:flex;justify-content:center;gap:10px;margin-bottom:18px}
.as-wizard-dots span{width:9px;height:9px;border-radius:2px;transform:rotate(45deg);background:rgba(148,163,214,.25);transition:background .2s, box-shadow .2s}
.as-wizard-dots span.actif{background:var(--as-laiton);box-shadow:0 0 10px rgba(212,165,116,.6)}
.as-wiz-etape{animation:as-leve .28s ease-out both}
.as-wiz-eyebrow{margin:0 0 4px;font-size:10.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--as-bleue)}
.as-wizard h2{margin:0 0 8px;color:var(--as-laiton-vif);font-weight:500;font-size:21px}
.as-wizard .as-aide{margin-bottom:14px}
.as-wizard input[type=date],.as-wizard input[type=time],.as-wizard input[type=text]{width:100%;box-sizing:border-box;padding:13px 14px;border-radius:12px;border:1px solid rgba(148,163,214,.3);background:rgba(14,10,19,.72);color:var(--as-encre);font-size:16px;font-family:inherit;text-align:center;transition:border-color .18s}
.as-wizard input:focus{border-color:var(--as-bleue);outline:none;box-shadow:0 0 0 3px rgba(148,163,214,.14)}
.as-wiz-actions{display:flex;flex-direction:column;gap:9px;margin-top:16px}
.as-wiz-actions .as-btn{width:100%}
.as-wiz-retour{background:none;border:0;color:rgba(240,230,218,.5);font-family:inherit;font-size:12.5px;cursor:pointer;margin-top:14px}
.as-wiz-retour:hover{color:var(--as-bleue)}
#wiz-erreur{margin-top:10px}
.as-autocomplete{position:relative}
.as-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:10;background:var(--as-nuit-2);border:1px solid rgba(148,163,214,.4);border-radius:10px;overflow:hidden;box-shadow:0 10px 26px rgba(0,0,0,.5)}
.as-suggestions button{display:block;width:100%;text-align:left;padding:10px 12px;background:none;border:0;color:var(--as-encre);font-size:14.5px;font-family:inherit;cursor:pointer}
.as-suggestions button:hover,.as-suggestions button:focus-visible{background:rgba(148,163,214,.14)}

/* ---------- Identité astrale ---------- */
.as-identite{animation:as-leve .4s ease-out both;display:flex;align-items:center;gap:16px;background:linear-gradient(170deg,rgba(23,16,34,.9),rgba(14,10,19,.96));border:1px solid rgba(212,165,116,.4);border-radius:18px;padding:16px 18px;margin-bottom:14px;flex-wrap:wrap}
.as-identite-embleme{flex:0 0 auto;width:54px;height:54px;border-radius:50%;border:1px solid rgba(148,163,214,.4);position:relative;display:grid;place-items:center}
.as-identite-embleme::before{content:"";position:absolute;inset:5px;border-radius:50%;border:1px dashed rgba(212,165,116,.5)}
.as-identite-embleme b{color:var(--as-laiton-vif);font-size:17px;font-weight:600}
.as-identite-infos{flex:1;min-width:200px}
.as-identite-infos .as-signe{margin:0;color:var(--as-laiton-vif);font-size:17.5px;font-weight:600}
.as-identite-infos .as-ligne{margin:3px 0 0;color:rgba(240,230,218,.72);font-size:13.5px}
.as-chip{display:inline-block;margin-top:7px;margin-right:6px;padding:3px 11px;border-radius:20px;border:1px solid rgba(148,163,214,.4);color:var(--as-bleue);font-size:12px;letter-spacing:.04em}
.as-identite .as-btn{padding:8px 16px;font-size:13px}

/* ---------- Cartes produits ---------- */
.as-produit-theme{position:relative;overflow:hidden;background:linear-gradient(150deg,rgba(90,20,35,.34),rgba(14,10,19,.95));border:1px solid rgba(212,165,116,.5);border-radius:18px;padding:22px;margin-bottom:12px}
.as-produit-theme{animation:as-leve .45s ease-out both}
.as-produit-theme::after{content:"";position:absolute;right:-70px;top:calc(50% - 115px);width:230px;aspect-ratio:1;border-radius:50%;pointer-events:none;opacity:.35;
  background:repeating-conic-gradient(rgba(212,165,116,.5) 0deg .6deg, transparent .6deg 30deg);
  -webkit-mask:radial-gradient(circle, transparent 55%, #000 56%);
  mask:radial-gradient(circle, transparent 55%, #000 56%);
  animation:as-roue-tourne 200s linear infinite}
.as-orbite{position:absolute;right:-70px;top:calc(50% - 115px);width:230px;height:230px;pointer-events:none;animation:as-roue-tourne 34s linear infinite}
.as-orbite::after{content:"";position:absolute;top:24px;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--as-laiton-vif);box-shadow:0 0 10px 2px rgba(233,199,154,.65)}
.as-orbite-bleue::after{background:var(--as-bleue);box-shadow:0 0 10px 2px rgba(148,163,214,.6)}
.as-produit-theme .as-cycle{position:absolute;top:16px;right:16px}
.as-produit-theme h3{margin:0 0 4px;color:var(--as-laiton-vif);font-size:19px;font-weight:600}
.as-produit-theme p{margin:0 0 14px;color:rgba(240,230,218,.75);font-size:14px;max-width:46ch;position:relative;z-index:1}
.as-produit-theme .as-actions{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}
/* ---------- Tuiles du hub ---------- */
.as-tuiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.as-tuile{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:6px;padding:18px 16px 16px;border-radius:16px;text-align:left;font-family:inherit;color:var(--as-encre);cursor:pointer;transition:transform .2s, box-shadow .2s;animation:as-leve .45s ease-out both}
.as-tuile::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;transition:opacity .25s;
  background:radial-gradient(1px 1px at 20% 28%,rgba(255,255,255,.5),transparent 60%),
             radial-gradient(1.3px 1.3px at 80% 60%,rgba(148,163,214,.55),transparent 60%),
             radial-gradient(1px 1px at 60% 82%,rgba(233,199,154,.6),transparent 60%)}
.as-tuile::after{content:"›";position:absolute;right:14px;bottom:10px;color:var(--as-bleue);font-size:20px;line-height:1;transition:transform .2s}
.as-tuile:hover{transform:translateY(-3px)}
.as-tuile:hover::before{opacity:1}
.as-tuile:hover::after{transform:translateX(3px)}
.as-tuile .as-eyebrow{margin:0}
.as-tuile h3{margin:0;color:var(--as-laiton-vif);font-size:18px;font-weight:600}
.as-tuile .as-etat{color:rgba(240,230,218,.6);font-size:12.5px;padding-right:18px}
.as-tuile-theme{border:1px solid transparent;
  background-image:linear-gradient(150deg,#1c0d16,#0a070f),
    linear-gradient(110deg, rgba(212,165,116,.25) 0%, #e9c79a 22%, rgba(148,163,214,.95) 50%, #e9c79a 78%, rgba(212,165,116,.25) 100%);
  background-origin:border-box;background-clip:padding-box,border-box;
  background-size:100% 100%, 320% 100%;
  animation:as-leve .45s ease-out both, as-liseret 7s linear infinite;
  box-shadow:0 8px 26px -14px rgba(212,165,116,.4)}
.as-tuile-theme:hover{box-shadow:0 14px 32px -12px rgba(212,165,116,.55)}
.as-tuile-theme::before{opacity:1;
  background:radial-gradient(1.2px 1.2px at 14% 30%,rgba(233,199,154,.95),transparent 60%),
             radial-gradient(1px 1px at 46% 16%,rgba(255,255,255,.8),transparent 60%),
             radial-gradient(1.5px 1.5px at 78% 34%,rgba(233,199,154,.85),transparent 60%),
             radial-gradient(1px 1px at 30% 72%,rgba(148,163,214,.75),transparent 60%),
             radial-gradient(1.2px 1.2px at 88% 74%,rgba(255,255,255,.6),transparent 60%),
             radial-gradient(1px 1px at 62% 58%,rgba(233,199,154,.7),transparent 60%);
  animation:as-scintille 4.5s ease-in-out infinite alternate}
.as-tuile-theme h3{color:#f3ddba}
.as-tuile-theme .as-etat{color:var(--as-laiton-vif)}
.as-tuile-hz{border:1px solid rgba(148,163,214,.35);background:linear-gradient(160deg,rgba(23,16,34,.9),rgba(14,10,19,.96));animation-delay:.07s}
.as-tuile-hz:hover{border-color:var(--as-bleue);box-shadow:0 12px 28px -14px rgba(148,163,214,.4)}
@media (max-width:560px){.as-tuiles{grid-template-columns:1fr}}

.as-produit-hz{margin-top:12px;background:linear-gradient(150deg,rgba(148,163,214,.10),rgba(14,10,19,.95));border-color:rgba(148,163,214,.4)}
.as-produit-hz::after{background:repeating-conic-gradient(rgba(148,163,214,.5) 0deg .6deg, transparent .6deg 30deg);-webkit-mask:radial-gradient(circle, transparent 55%, #000 56%);mask:radial-gradient(circle, transparent 55%, #000 56%)}
.as-produit-hz .as-cycle{color:var(--as-laiton)}
.as-produits{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.as-produit{position:relative;display:flex;flex-direction:column;gap:7px;padding:18px 16px 16px;border:1px solid rgba(148,163,214,.20);border-radius:16px;background:linear-gradient(170deg,rgba(23,16,34,.85),rgba(14,10,19,.96));overflow:hidden;transition:border-color .2s, transform .2s, box-shadow .2s;animation:as-leve .45s ease-out both}
.as-produit::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;transition:opacity .25s;
  background:radial-gradient(1px 1px at 18% 30%,rgba(255,255,255,.55),transparent 60%),
             radial-gradient(1px 1px at 72% 18%,rgba(212,165,116,.7),transparent 60%),
             radial-gradient(1.4px 1.4px at 86% 62%,rgba(148,163,214,.6),transparent 60%),
             radial-gradient(1px 1px at 38% 78%,rgba(255,255,255,.35),transparent 60%)}
.as-produit::after{content:"";position:absolute;top:-36px;right:-36px;width:92px;height:92px;border-radius:50%;border:1px dashed rgba(148,163,214,.28);pointer-events:none;animation:as-roue-tourne 90s linear infinite}
.as-produit:hover{border-color:rgba(212,165,116,.65);transform:translateY(-3px);box-shadow:0 14px 30px -14px rgba(212,165,116,.28)}
.as-produit:hover::before{opacity:1}
.as-produit h3{margin:0;color:var(--as-laiton-vif);font-size:16.5px;font-weight:550;letter-spacing:.01em;position:relative}
.as-produits .as-produit:nth-child(2){animation-delay:.06s}
.as-produits .as-produit:nth-child(3){animation-delay:.12s}
.as-produits .as-produit:nth-child(4){animation-delay:.18s}
.as-produits .as-produit:nth-child(5){animation-delay:.24s}
.as-cycle{font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--as-bleue);font-variant-numeric:tabular-nums}
.as-produit .as-cycle{position:absolute;top:14px;right:14px}
/* Cadran de cycle : l'arc doré = la durée réelle de la lecture */
/* La croix vit AU CENTRE du cadran de cycle (même position, aucun décalage). */
.as-produit-suppr{position:absolute;top:14px;right:14px;z-index:2;width:26px;height:26px;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;background:transparent;color:rgba(240,230,218,.55);font-size:11px;line-height:1;font-family:inherit;cursor:pointer;transition:color .16s, background .16s}
.as-produit-suppr:hover{color:#e0a0a0;background:rgba(214,116,116,.14)}
.as-produit-suppr:disabled{opacity:.5;cursor:default}
.as-cadran{position:absolute;top:14px;right:14px;width:26px;height:26px;border-radius:50%;z-index:1;
  background:conic-gradient(var(--as-laiton) calc(var(--pct, .1) * 360deg), rgba(148,163,214,.20) 0);
  -webkit-mask:radial-gradient(circle, transparent 54%, #000 56%);
  mask:radial-gradient(circle, transparent 54%, #000 56%)}
.as-produit .as-validite,.as-produit .as-btn{position:relative;z-index:1}
.as-validite{color:rgba(240,230,218,.55);font-size:12.5px}
.as-produit .as-btn{margin-top:auto;padding:10px 14px;font-size:14px}
.as-produit-actions{display:flex;gap:8px;margin-top:auto;position:relative;z-index:1}
.as-produit-actions .as-btn{margin-top:0;flex:1}
.as-produit-actions .as-btn-pdf{flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:0 13px}
.as-btn-pdf svg{display:block}
.as-produit .as-spinner{width:22px;height:22px;margin:10px auto 6px;border-width:2px}
.as-journal-carte{animation:as-leve .5s ease-out both;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:12px;padding:15px 18px;border:1px solid rgba(148,163,214,.25);border-radius:16px;background:rgba(14,10,19,.55);color:var(--as-encre);font-family:inherit;font-size:15px;cursor:pointer;text-align:left;transition:border-color .18s}
.as-journal-carte:hover{border-color:var(--as-laiton)}
.as-journal-carte .as-jc-titre{color:var(--as-laiton-vif);font-weight:550}
.as-journal-carte .as-jc-sous{display:block;margin-top:2px;color:rgba(240,230,218,.55);font-size:12.5px}
.as-journal-carte .as-jc-chevron{color:var(--as-bleue);font-size:18px}

/* ---------- Fiche structurée ---------- */
.as-fiche-entete{background:linear-gradient(170deg,rgba(23,16,34,.9),rgba(14,10,19,.96));border:1px solid rgba(212,165,116,.4);border-radius:18px;padding:20px 20px 16px;margin-bottom:14px;position:relative}
.as-fiche-entete::before{content:"";position:absolute;top:0;left:24px;right:24px;height:1px;background:linear-gradient(90deg,transparent,rgba(148,163,214,.55),transparent)}
.as-fiche-entete .as-eyebrow{margin-bottom:4px}
.as-fiche-entete h1{font-size:clamp(22px,5vw,30px);letter-spacing:.03em;text-transform:none;font-weight:550;color:var(--as-laiton-vif)}
.as-fiche-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}
.as-fiche-meta .as-btn{margin-left:auto;padding:8px 14px;font-size:13px}
.as-fiche-img{width:100%;border-radius:16px;border:1px solid rgba(148,163,214,.2);margin:0 0 14px;display:block}
.as-essentiel{display:flex;gap:12px;align-items:flex-start;background:linear-gradient(135deg,rgba(212,165,116,.10),rgba(148,163,214,.06));border:1px solid rgba(212,165,116,.45);border-radius:16px;padding:16px 18px;margin-bottom:14px}
.as-essentiel .as-etoile{color:var(--as-laiton);font-size:18px;line-height:1.4}
.as-essentiel p{margin:0;font-size:15.5px;line-height:1.6;color:var(--as-encre)}
.as-fiche-section{background:linear-gradient(170deg,rgba(23,16,34,.85),rgba(14,10,19,.95));border:1px solid rgba(148,163,214,.2);border-radius:16px;padding:20px;margin-bottom:12px}
.as-fiche-section > h2{display:flex;align-items:center;gap:12px;margin:0 0 6px;color:var(--as-laiton);font-weight:550;font-size:18px}
.as-fiche-section > h2::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(148,163,214,.3),transparent)}
.as-fiche-section .as-lead{margin:2px 0 10px;color:var(--as-bleue);font-size:13.5px;font-style:italic}
.as-bloc + .as-bloc{margin-top:16px;padding-top:16px;border-top:1px solid rgba(148,163,214,.12)}
.as-bloc h3{margin:0 0 6px;color:var(--as-laiton);font-size:15.5px;font-weight:600;letter-spacing:.02em}
.as-bloc p{margin:8px 0 0;font-size:15px;line-height:1.7;color:rgba(240,230,218,.92)}
.as-legacy{line-height:1.7;font-size:15px}
.as-legacy h2{display:flex;align-items:center;gap:12px;margin:22px 0 8px;color:var(--as-laiton);font-weight:500;font-size:18px}
.as-legacy h2::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(148,163,214,.3),transparent)}
.as-legacy h3{margin:18px 0 6px;color:var(--as-laiton);font-size:16px;font-weight:600}
.as-legacy hr{border:0;height:1px;margin:20px auto;max-width:220px;background:linear-gradient(90deg,transparent,rgba(148,163,214,.45),transparent)}

/* ---------- Carte guide (libre accès) + titre de section lectures ---------- */
.as-guide-carte{position:relative;display:flex;align-items:center;gap:14px;width:100%;margin-top:12px;padding:16px 18px;border:1px solid rgba(148,163,214,.3);border-radius:16px;background:linear-gradient(150deg,rgba(17,13,26,.85),rgba(10,7,15,.94));color:var(--as-encre);text-decoration:none;overflow:hidden;transition:border-color .18s, box-shadow .18s;animation:as-leve .5s ease-out both}
.as-guide-carte::before{content:"";position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(1.5px 1.5px at 13% 28%,rgba(233,199,154,.85),transparent 60%),
  radial-gradient(1px 1px at 32% 72%,rgba(148,163,214,.75),transparent 60%),
  radial-gradient(1.5px 1.5px at 63% 20%,rgba(240,230,218,.55),transparent 60%),
  radial-gradient(1px 1px at 84% 62%,rgba(233,199,154,.6),transparent 60%),
  radial-gradient(1px 1px at 94% 30%,rgba(148,163,214,.6),transparent 60%);
  animation:as-scintille 6s ease-in-out infinite alternate}
.as-guide-carte::after{content:"";position:absolute;top:-30px;right:-30px;width:84px;height:84px;border-radius:50%;border:1px dashed rgba(148,163,214,.32);pointer-events:none}
.as-guide-carte:hover{border-color:var(--as-bleue);box-shadow:0 10px 26px -14px rgba(148,163,214,.4)}
.as-gc-texte{flex:1;min-width:0}
.as-gc-texte .as-eyebrow{display:block;color:var(--as-laiton)}
.as-gc-titre{display:block;color:#cdd7f2;font-size:17px;font-weight:600;letter-spacing:.02em}
.as-gc-sous{display:block;margin-top:3px;color:rgba(240,230,218,.6);font-size:12.5px;line-height:1.5}
.as-titre-lectures{display:flex;align-items:center;gap:14px;margin:30px 0 4px;color:var(--as-laiton);font-size:16px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.as-titre-lectures::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(212,165,116,.4),transparent)}
.as-note-regen{position:relative;z-index:1;margin:12px 0 2px;padding:10px 14px;border-left:2px solid var(--as-laiton);border-radius:0 10px 10px 0;background:rgba(212,165,116,.08);color:var(--as-laiton-vif);font-size:14px;line-height:1.55}

/* ---------- Journal ---------- */
.as-liste{list-style:none;margin:8px 0 0;padding:0}
.as-liste li{margin-bottom:8px}
.as-jt-ligne{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:5px 10px 5px 4px;border:1px solid rgba(148,163,214,.2);border-radius:14px;background:rgba(14,10,19,.55);transition:border-color .16s}
.as-jt-ligne:hover{border-color:var(--as-laiton);box-shadow:0 8px 20px -12px rgba(212,165,116,.3)}
.as-jt-corps{display:flex;align-items:center;gap:14px;flex:1 1 220px;min-width:0;padding:10px 6px 10px 12px;border:0;background:none;color:var(--as-encre);font-size:15px;font-family:inherit;cursor:pointer;text-align:left}
.as-jt-point{flex:0 0 auto;width:9px;height:9px;border-radius:2px;transform:rotate(45deg);background:var(--as-bleue)}
.as-jt-point.theme{background:var(--as-laiton)}
.as-jt-titre{flex:1;min-width:0;color:var(--as-encre);font-weight:500}
.as-jt-titre small{display:block;color:rgba(240,230,218,.5);font-size:12px;font-weight:400;margin-top:1px}
.as-jt-actions{display:flex;align-items:center;gap:6px;margin-left:auto;padding:4px 0}
.as-jt-btn{padding:7px 13px;border:1px solid rgba(148,163,214,.3);border-radius:999px;background:rgba(23,16,34,.6);color:var(--as-encre);font-family:inherit;font-size:12.5px;cursor:pointer;transition:border-color .16s,color .16s}
.as-jt-btn:hover{border-color:var(--as-laiton);color:var(--as-laiton-vif)}
.as-jt-btn:disabled{opacity:.5;cursor:default}
.as-jt-lire{border-color:rgba(212,165,116,.45);color:var(--as-laiton-vif)}
.as-jt-suppr{padding:7px 11px;color:rgba(240,230,218,.55)}
.as-jt-suppr:hover{border-color:rgba(214,116,116,.6);color:#e0a0a0}
.as-liste .as-meta{white-space:nowrap}
.as-banniere{position:relative;border:1px solid rgba(148,163,214,.32);border-radius:14px;padding:14px 16px 14px 42px;margin-bottom:14px;background:linear-gradient(170deg,rgba(23,16,34,.8),rgba(14,10,19,.92));overflow:hidden}
.as-banniere::before{content:"✦";position:absolute;left:16px;top:14px;color:var(--as-laiton);font-size:15px}
.as-banniere::after{content:"";position:absolute;top:-34px;right:-34px;width:88px;height:88px;border-radius:50%;border:1px dashed rgba(148,163,214,.22);pointer-events:none}
.as-banniere p{margin:0 0 8px;font-size:14.5px}
.as-banniere .as-btn{padding:9px 16px;font-size:13.5px}
.as-banniere-compte{border-color:rgba(212,165,116,.5)}
.as-banniere-compte::before{color:var(--as-laiton-vif)}

/* ---------- Divers ---------- */
.as-spinner{width:34px;height:34px;margin:10px auto 14px;border-radius:50%;border:3px solid rgba(148,163,214,.22);border-top-color:var(--as-laiton);animation:as-spin 1s linear infinite}
@keyframes as-spin{to{transform:rotate(360deg)}}

@media (max-width:520px){
  .as-hero{padding-top:78px}
  .as-hero-contenu{padding-top:48px}
  .as-identite{padding:14px}
  .as-produit-theme::after{display:none}
  .as-fiche-meta .as-btn{margin-left:0}
}
@media (prefers-reduced-motion: reduce){
  .as-roue::after,.as-spinner,.as-btn-principal,.as-btn-principal::before,.as-produit::after,.as-produit-theme::after,.as-orbite,.as-fond::before,.as-fond::after,.as-file,.as-tuile-theme,.as-tuile-theme::before{animation:none}
  .as-hero-contenu,.as-wiz-etape,.as-produit,.as-produit-theme,.as-identite,.as-journal-carte,.as-tuile,.as-guide-carte,.as-guide-carte::before{animation:none}
  .as-btn,.as-produit,.as-liste button{transition:none}
}
