/* EntomoSphère — chasse aux easter eggs (popup, collection, mode nuit) */

/* ---------- le cloporte qui traverse l'écran ---------- */
.eggbug{ position:fixed; left:-60px; z-index:56; font-size:1.9rem; line-height:1; cursor:pointer;
  background:none; border:0; padding:6px; filter:drop-shadow(0 2px 4px rgba(52,44,20,.35));
  animation:bugWalk 15s linear forwards; }
.eggbug.rtl{ left:auto; right:-60px; animation-name:bugWalkR; }
@keyframes bugWalk{ from{ transform:translateX(0) rotate(6deg); } to{ transform:translateX(calc(100vw + 90px)) rotate(6deg); } }
@keyframes bugWalkR{ from{ transform:translateX(0) scaleX(-1) rotate(6deg); } to{ transform:translateX(calc(-100vw - 90px)) scaleX(-1) rotate(6deg); } }
.eggbug:hover{ transform:scale(1.15); }
.eggbug.caught{ animation:none; transform:scale(1.6) rotate(20deg); opacity:0; transition:all .4s; }
@media (prefers-reduced-motion: reduce){ .eggbug{ display:none; } }

/* ---------- popup de découverte ---------- */
.eggpop{ position:fixed; inset:0; z-index:115; display:grid; place-items:center; padding:18px;
  background:rgba(40,34,16,.6); backdrop-filter:blur(4px); opacity:0; transition:opacity .22s; overflow-y:auto; }
.eggpop.in{ opacity:1; }
.eggpop__box{ position:relative; width:min(430px,94vw); background:var(--paper-2); border-radius:20px;
  padding:30px 26px 26px; text-align:center; box-shadow:var(--shadow-lg); overflow:hidden; margin:auto;
  transform:translateY(14px) scale(.96); transition:transform .3s cubic-bezier(.25,1.5,.5,1); }
.eggpop.in .eggpop__box{ transform:none; }
.eggpop__box::before{ content:""; position:absolute; inset:0 0 auto 0; height:5px;
  background:linear-gradient(90deg,var(--olive),var(--gold),var(--terra)); }
.eggpop--rare::before, .eggpop__box.eggpop--rare::before{ background:linear-gradient(90deg,#5e7d8a,#7fa8c4,#5e7d8a); }
.eggpop__box.eggpop--legendaire::before{ background:linear-gradient(90deg,#b0862e,#f0d98a,#b0862e); }
.eggpop__x{ position:absolute; top:10px; right:10px; width:34px; height:34px; border-radius:50%;
  display:grid; place-items:center; color:var(--ink-faint); cursor:pointer; font-size:.95rem;
  background:none; border:0; font-family:inherit; }
.eggpop__x:hover{ background:rgba(131,147,81,.14); color:var(--olive-deep); }
.eggpop__kick{ font-family:var(--font-script); font-size:1.35rem; color:var(--terra); }
.eggpop__badge{ width:96px; height:96px; margin:10px auto 6px; border-radius:50%; display:grid; place-items:center;
  background:radial-gradient(circle at 40% 35%, var(--paper), var(--paper-3));
  box-shadow:inset 0 0 0 3px var(--olive), var(--shadow-sm); animation:badgePop .5s cubic-bezier(.25,1.6,.5,1); }
.eggpop__badge span{ font-size:3rem; line-height:1; }
@keyframes badgePop{ 0%{ transform:scale(0) rotate(-40deg); } 70%{ transform:scale(1.12) rotate(8deg); } 100%{ transform:none; } }
.eggpop__box.eggpop--legendaire .eggpop__badge{ box-shadow:inset 0 0 0 3px var(--gold), 0 0 26px rgba(176,134,46,.5); }
.eggpop__box.eggpop--rare .eggpop__badge{ box-shadow:inset 0 0 0 3px #5e7d8a, var(--shadow-sm); }
.eggpop__nom{ font-family:var(--font-hand); font-weight:700; font-size:2.1rem; color:var(--olive-ink); margin:.1em 0 .15em; line-height:1; }
.eggpop__rar{ display:inline-block; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em;
  color:var(--olive-deep); background:rgba(131,147,81,.16); border-radius:20px; padding:.3em .9em; }
.eggpop__box.eggpop--rare .eggpop__rar{ color:#3f5c6a; background:rgba(94,125,138,.18); }
.eggpop__box.eggpop--legendaire .eggpop__rar{ color:#7a5c15; background:rgba(176,134,46,.22); }
.eggpop__txt{ color:var(--ink-soft); font-size:.92rem; line-height:1.6; margin:12px 0 4px; }
.eggpop__reco{ font-size:.88rem; color:var(--olive-deep); background:rgba(131,147,81,.13);
  border-radius:10px; padding:9px 12px; margin:10px 0 0; }
.eggpop__prog{ margin:16px 0 14px; }
.eggpop__bar{ height:8px; border-radius:6px; background:var(--paper-3); overflow:hidden;
  box-shadow:inset 0 1px 2px rgba(52,44,20,.15); }
.eggpop__bar i{ display:block; height:100%; border-radius:6px;
  background:linear-gradient(90deg,var(--olive),var(--gold)); transition:width .5s; }
.eggpop__prog span{ display:block; font-size:.76rem; color:var(--ink-faint); margin-top:5px; letter-spacing:.05em; }
.eggpop__warn{ text-align:left; background:rgba(176,134,46,.13); border-radius:12px; padding:13px 15px;
  margin-bottom:14px; box-shadow:inset 0 0 0 1px rgba(176,134,46,.28); }
.eggpop__warn b{ color:#7a5c15; }
.eggpop__warn p{ font-size:.84rem; color:var(--ink-soft); line-height:1.55; margin:7px 0 0; }
.eggpop__later{ display:block; width:100%; margin-top:10px; font-family:inherit; font-size:.84rem;
  color:var(--ink-faint); cursor:pointer; padding:6px; background:none; border:0; }
.eggpop__later:hover{ color:var(--olive-deep); }

/* ---------- collection (page compte) ---------- */
.eggcol{ margin-top:40px; }
.eggcol__head{ display:flex; align-items:flex-end; gap:16px; flex-wrap:wrap; margin-bottom:10px; }
.eggcol__t{ font-family:var(--font-hand); font-weight:700; font-size:2.3rem; color:var(--olive-ink); margin:0; line-height:.9; }
.eggcol__score{ margin-left:auto; font-family:var(--font-hand); line-height:.9; color:var(--olive-deep); }
.eggcol__score b{ font-size:2.6rem; }
.eggcol__score span{ font-size:1.3rem; color:var(--ink-faint); }
.eggcol__prog{ height:10px; border-radius:6px; background:var(--paper-3); overflow:hidden;
  box-shadow:inset 0 1px 3px rgba(52,44,20,.16); }
.eggcol__prog i{ display:block; height:100%; border-radius:6px;
  background:linear-gradient(90deg,var(--olive),var(--gold)); transition:width .6s; }
.eggcol__titre{ font-size:.88rem; color:var(--ink-soft); margin:8px 0 4px; }
.eggcol__titre b{ color:var(--olive-deep); font-size:1rem; }
.eggcol__note{ font-size:.86rem; color:var(--ink-soft); background:rgba(176,134,46,.13); border-radius:10px;
  padding:11px 14px; margin:12px 0; box-shadow:inset 0 0 0 1px rgba(176,134,46,.28); }
.eggcol__plate{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:14px; margin-top:16px;
  padding:18px; border-radius:16px;
  background:
    repeating-linear-gradient(90deg, rgba(120,105,60,.05) 0 1px, transparent 1px 26px),
    radial-gradient(circle at 30% 20%, var(--paper-2), var(--paper-3));
  box-shadow:inset 0 0 0 1px rgba(120,105,60,.16), var(--shadow-sm); }
.eggcard{ position:relative; margin:0; padding:26px 12px 14px; text-align:center; border-radius:12px;
  background:var(--paper-2); box-shadow:inset 0 0 0 1px rgba(120,105,60,.14);
  transition:transform .15s, box-shadow .15s; }
.eggcard.on{ box-shadow:inset 0 0 0 1.5px var(--olive), var(--shadow-sm); }
.eggcard.on:hover{ transform:translateY(-3px) rotate(-.6deg); box-shadow:inset 0 0 0 2px var(--olive), var(--shadow-md); }
.eggcard--rare.on{ box-shadow:inset 0 0 0 1.5px #5e7d8a, var(--shadow-sm); }
.eggcard--legendaire.on{ box-shadow:inset 0 0 0 2px var(--gold), 0 0 18px rgba(176,134,46,.28); }
.eggcard__pin{ position:absolute; top:8px; left:50%; transform:translateX(-50%); width:10px; height:10px;
  border-radius:50%; background:radial-gradient(circle at 35% 30%, #d9d2bb, #7d7562);
  box-shadow:0 2px 3px rgba(52,44,20,.4); }
.eggcard__ico{ font-size:2.3rem; line-height:1; filter:grayscale(1) opacity(.22); }
.eggcard.on .eggcard__ico{ filter:none; }
.eggcard figcaption{ font-weight:600; font-size:.86rem; color:var(--ink); margin-top:6px; }
.eggcard__q{ color:var(--ink-faint); font-weight:500; font-style:italic; }
.eggcard__hint{ font-size:.74rem; color:var(--ink-faint); line-height:1.5; margin:6px 0 0; }
.eggcard__hint time{ display:block; margin-top:4px; opacity:.75; }
.eggcard__rar{ display:inline-block; margin-top:7px; font-size:.62rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.09em; color:var(--olive-deep); background:rgba(131,147,81,.16); border-radius:20px; padding:.25em .7em; }
.eggcard--legendaire .eggcard__rar{ color:#7a5c15; background:rgba(176,134,46,.22); }
.eggcard--rare .eggcard__rar{ color:#3f5c6a; background:rgba(94,125,138,.18); }
.eggcol__reco, .eggcol__win{ margin-top:14px; font-size:.9rem; color:var(--olive-deep);
  background:rgba(131,147,81,.14); border-radius:12px; padding:12px 15px; }
.eggcol__win{ background:rgba(176,134,46,.16); color:#7a5c15; text-align:center; font-size:1rem; }

/* ---------- mode nuit (récompense du badge Noctambule) ---------- */
body.night{
  --paper:#252a1d; --paper-2:#2d3324; --paper-3:#1e2317; --paper-edge:#3d4429;
  --ink:#ece7cf; --ink-soft:#cbc4a4; --ink-faint:#98916f;
  --sage:#454c31; --sage-2:#586041;
  --olive-deep:#a9c06d; --olive-ink:#c9dc95;
  --shadow-sm:0 2px 8px rgba(0,0,0,.4); --shadow-md:0 10px 26px rgba(0,0,0,.5); --shadow-lg:0 22px 60px rgba(0,0,0,.62);
  background:#1e2317; color:var(--ink);
}
body.night .site-header{ background:rgba(45,51,36,.94); }
body.night .card, body.night .info-card, body.night .compte-card{ background:var(--paper-2); }
body.night .banner{ filter:brightness(.86); }
body.night .hero__specimen img, body.night .card__media img{ filter:brightness(.92); }
body.night .site-footer{ background:#171b0f; }
body.night .toast{ background:#3a4426; }
body.night .eggcard__ico{ filter:grayscale(1) opacity(.3); }
body.night .eggcard.on .eggcard__ico{ filter:none; }

/* ==================== SUIVI DE COLIS (compte) ==================== */
.track{ margin:12px 0 4px; padding:12px 0 0; border-top:1px dashed var(--sage-2); }
.track--no{ color:var(--terra-2); font-size:.85rem; font-weight:600; }
.track__steps{ display:flex; list-style:none; margin:0 0 10px; padding:0; counter-reset:s; }
.track__steps li{ flex:1; position:relative; text-align:center; font-size:.72rem; color:var(--ink-faint); }
.track__steps li i{ display:block; width:13px; height:13px; border-radius:50%; margin:0 auto 6px;
  background:var(--sage-2); position:relative; z-index:2; box-shadow:0 0 0 3px var(--paper-2); }
.track__steps li::before{ content:""; position:absolute; top:6px; left:-50%; width:100%; height:3px;
  background:var(--sage-2); z-index:1; }
.track__steps li:first-child::before{ display:none; }
.track__steps li.on{ color:var(--olive-deep); font-weight:600; }
.track__steps li.on i{ background:var(--olive); }
.track__steps li.on::before{ background:var(--olive); }
.track__colis{ font-size:.84rem; color:var(--ink-soft); background:rgba(131,147,81,.12);
  border-radius:10px; padding:9px 12px; }
.track__colis a{ color:var(--olive-deep); font-weight:600; }
.track__btn{ display:inline-block; margin-left:6px; white-space:nowrap; }
.track__note{ font-size:.78rem; color:var(--ink-faint); font-style:italic; }
.order__foot{ align-items:center; }
.order__inv{ font-family:inherit; font-size:.78rem; font-weight:600; color:var(--olive-deep);
  background:var(--paper); border:0; border-radius:20px; padding:.4em .9em; cursor:pointer;
  box-shadow:inset 0 0 0 1.5px var(--sage-2); transition:box-shadow .14s, background .14s; margin:0 auto 0 12px; }
.order__inv:hover{ background:rgba(131,147,81,.13); box-shadow:inset 0 0 0 1.5px var(--olive); }

/* ==================== FIDÉLITÉ ==================== */
.fid{ position:relative; overflow:hidden; }
.fid::before{ content:""; position:absolute; inset:0 0 auto 0; height:4px;
  background:linear-gradient(90deg,var(--olive),var(--gold)); }
.fid__top{ display:flex; align-items:center; gap:13px; margin-bottom:8px; }
.fid__emo{ font-size:2.4rem; line-height:1; }
.fid__nom{ display:block; font-family:var(--font-hand); font-size:1.7rem; color:var(--olive-deep); line-height:1; }
.fid__pts{ font-size:.8rem; color:var(--ink-faint); font-weight:600; letter-spacing:.04em; }
.fid__av{ font-size:.85rem; color:var(--ink-soft); line-height:1.55; margin:0 0 12px; }
.fid__bar{ height:9px; border-radius:6px; background:var(--paper-3); overflow:hidden;
  box-shadow:inset 0 1px 3px rgba(52,44,20,.16); }
.fid__bar i{ display:block; height:100%; border-radius:6px;
  background:linear-gradient(90deg,var(--olive),var(--gold)); transition:width .6s; }
.fid__next{ font-size:.82rem; color:var(--ink-soft); margin-top:8px; }
.fid__next b{ color:var(--olive-deep); }
.fid__code{ margin-top:12px; font-size:.86rem; color:#7a5c15; background:rgba(176,134,46,.15);
  border-radius:10px; padding:10px 13px; box-shadow:inset 0 0 0 1px rgba(176,134,46,.3); }
.fid__code b{ font-size:1rem; letter-spacing:.06em; }
.fid__code span{ display:block; font-size:.74rem; opacity:.8; margin-top:2px; }
.fid__how{ font-size:.72rem; color:var(--ink-faint); margin-top:10px; }
body.night .track__colis{ background:rgba(131,147,81,.16); }

/* ---------- consentement classement (collection) ---------- */
.eggcol__optin{ display:flex; align-items:flex-start; gap:10px; margin-top:14px; padding:12px 15px;
  background:var(--paper-2); border-radius:12px; cursor:pointer;
  box-shadow:inset 0 0 0 1px rgba(120,105,60,.16); }
.eggcol__optin input{ margin-top:2px; width:17px; height:17px; accent-color:var(--olive); cursor:pointer; flex:0 0 auto; }
.eggcol__optin span{ font-size:.88rem; color:var(--ink-soft); line-height:1.45; }
.eggcol__optin a{ color:var(--olive-deep); font-weight:600; }
.eggcol__optin small{ display:block; font-size:.75rem; color:var(--ink-faint); margin-top:3px; }

/* ---------- page « Les grands chasseurs » ---------- */
.cls-wrap{ max-width:760px; }
.cls-podium{ display:flex; align-items:flex-end; justify-content:center; gap:14px; margin:10px 0 26px; flex-wrap:wrap; }
.cls-p{ flex:1 1 150px; max-width:200px; text-align:center; background:var(--paper-2); border-radius:16px 16px 0 0;
  padding:18px 12px 0; box-shadow:var(--shadow-sm), inset 0 0 0 1px rgba(120,105,60,.14); }
.cls-p__m{ font-size:2.1rem; line-height:1; }
.cls-p__n{ font-family:var(--font-hand); font-size:1.7rem; color:var(--olive-ink); line-height:1; margin-top:4px; }
.cls-p__b{ font-weight:700; font-size:1.5rem; color:var(--olive-deep); margin-top:4px; }
.cls-p__b small{ font-size:.8rem; color:var(--ink-faint); font-weight:500; margin-left:2px; }
.cls-p__t{ font-size:.72rem; color:var(--ink-faint); text-transform:uppercase; letter-spacing:.07em; margin-top:2px; }
.cls-p__socle{ margin:12px -12px 0; border-radius:0; background:linear-gradient(180deg,var(--olive),var(--olive-2)); }
.cls-p--1 .cls-p__socle{ height:56px; }
.cls-p--2 .cls-p__socle{ height:36px; }
.cls-p--3 .cls-p__socle{ height:24px; }
.cls-p--1{ box-shadow:var(--shadow-md), inset 0 0 0 2px var(--gold); }

.cls-ol{ list-style:none; margin:0; padding:0; background:var(--paper-2); border-radius:14px; overflow:hidden;
  box-shadow:var(--shadow-sm), inset 0 0 0 1px rgba(120,105,60,.14); }
.cls-ol li{ display:flex; align-items:center; gap:14px; padding:12px 18px; border-top:1px solid rgba(120,105,60,.11); }
.cls-ol li:first-child{ border-top:0; }
.cls-r{ font-family:var(--font-hand); font-size:1.5rem; color:var(--ink-faint); width:28px; flex:0 0 auto; }
.cls-n{ flex:1; font-weight:600; color:var(--ink); }
.cls-n small{ display:block; font-size:.74rem; color:var(--ink-faint); font-weight:400; }
.cls-b{ font-size:.86rem; font-weight:700; color:var(--olive-deep); white-space:nowrap; }
.cls-load, .cls-seuls{ text-align:center; color:var(--ink-faint); font-size:.9rem; padding:20px; }
.cls-vide{ text-align:center; padding:40px 24px; border-radius:16px;
  background:radial-gradient(circle at 30% 20%, var(--paper-2), var(--paper-3));
  box-shadow:inset 0 0 0 1px rgba(120,105,60,.16); }
.cls-vide span{ font-size:2.6rem; display:block; }
.cls-vide b{ display:block; font-family:var(--font-hand); font-size:1.9rem; color:var(--olive-deep); margin:6px 0 4px; }
.cls-vide p{ color:var(--ink-soft); font-size:.9rem; max-width:44ch; margin:0 auto; }
.cls-cta{ text-align:center; margin-top:30px; }
.cls-cta p{ color:var(--ink-soft); font-size:.92rem; margin-bottom:14px; }
.cls-cta .btn{ margin:0 5px; }
@media (max-width:560px){
  .cls-podium{ gap:8px; }
  .cls-p{ flex:1 1 90px; padding:12px 6px 0; }
  .cls-p__n{ font-size:1.25rem; }
  .cls-p__b{ font-size:1.15rem; }
  .cls-p__t{ display:none; }
}

/* ================= RÉCOMPENSES : section collection ================= */
.reco{ margin-top:18px; padding:18px; border-radius:16px;
  background:radial-gradient(circle at 25% 15%, var(--paper-2), var(--paper-3));
  box-shadow:inset 0 0 0 1px rgba(120,105,60,.16); }
.reco__t{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap;
  font-family:var(--font-hand); font-size:1.6rem; color:var(--olive-deep); margin-bottom:12px; }
.reco__t span{ font-family:var(--font-body); font-size:.8rem; color:var(--ink-faint); margin-left:auto; }
.reco__t b{ color:var(--olive-deep); }
.reco__grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:12px; }
.reco__c{ background:var(--paper-2); border-radius:12px; padding:14px; text-align:center;
  box-shadow:inset 0 0 0 1px rgba(120,105,60,.14); opacity:.6; }
.reco__c.ok{ opacity:1; box-shadow:inset 0 0 0 1.5px var(--olive), var(--shadow-sm); }
.reco__e{ font-size:1.9rem; line-height:1; display:block; }
.reco__c b{ display:block; font-size:.9rem; color:var(--ink); margin:6px 0 4px; }
.reco__c p{ font-size:.75rem; color:var(--ink-faint); line-height:1.45; margin:0 0 10px; }
.reco__btn{ font-family:inherit; font-size:.78rem; font-weight:600; color:var(--olive-deep);
  background:var(--paper); border:0; border-radius:20px; padding:.45em 1.1em; cursor:pointer;
  box-shadow:inset 0 0 0 1.5px var(--sage-2); transition:all .14s; }
.reco__btn:hover{ box-shadow:inset 0 0 0 1.5px var(--olive); background:rgba(131,147,81,.13); }
.reco__btn.on{ background:linear-gradient(160deg,var(--olive),var(--olive-2)); color:var(--paper-2); box-shadow:none; }
.reco__lock, .reco__on, .reco__attente{ font-size:.74rem; color:var(--ink-faint); font-weight:600; }
.reco__on{ color:var(--olive-deep); }
.reco__code{ display:inline-block; font-weight:700; font-size:.85rem; letter-spacing:.06em; color:#7a5c15;
  background:rgba(176,134,46,.2); border-radius:20px; padding:.4em 1em; }
.reco__raz{ display:block; margin:14px auto 0; font-family:inherit; font-size:.78rem; color:var(--ink-faint);
  background:none; border:0; text-decoration:underline; cursor:pointer; }
.reco__raz:hover{ color:var(--olive-deep); }

/* palier annoncé dans la popup de découverte */
.eggpop__palier{ margin-top:12px; padding:12px 14px; border-radius:12px; text-align:left;
  background:linear-gradient(135deg, rgba(176,134,46,.2), rgba(131,147,81,.16));
  box-shadow:inset 0 0 0 1px rgba(176,134,46,.35); }
.eggpop__palier-k{ display:block; font-size:.68rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:#7a5c15; }
.eggpop__palier b{ display:block; font-size:1.05rem; color:var(--olive-ink); margin:3px 0 2px; }
.eggpop__palier span{ font-size:.82rem; color:var(--ink-soft); line-height:1.45; }
.eggpop__palier em{ display:block; font-size:.72rem; color:var(--ink-faint); margin-top:4px; }

/* ================= THÈMES DÉBLOCABLES ================= */
/* « Herbier » — planche de collection ancienne, claire et dorée */
body.theme-herbier{
  --paper:#fdf6e3; --paper-2:#fffcf0; --paper-3:#f3e7c8; --paper-edge:#e0cfa0;
  --ink:#3a3524; --ink-soft:#63593c; --ink-faint:#948968;
  --olive:#9a8f4a; --olive-2:#867c3c; --olive-deep:#6d6330; --olive-ink:#413b1a;
  --sage:#ded2ab; --sage-2:#c9bb8c; --terra:#a9702f; --terra-2:#8a5722; --gold:#b8912f;
}
body.theme-herbier .site-header{ background:rgba(255,252,240,.94); }

/* « Sous-bois » — vert profond, mousse humide */
body.theme-sousbois{
  --paper:#e8efe0; --paper-2:#f2f7ec; --paper-3:#d8e4cc; --paper-edge:#bcd0ab;
  --ink:#22301c; --ink-soft:#42553a; --ink-faint:#6f8265;
  --olive:#4d7a3a; --olive-2:#3d6630; --olive-deep:#2f5626; --olive-ink:#1c3818;
  --sage:#b6cba6; --sage-2:#9ab488; --terra:#8a6a30; --terra-2:#6d5324; --gold:#8f9b3c;
}
body.theme-sousbois .site-header{ background:rgba(242,247,236,.94); }

/* « Or » — le thème des complétistes */
body.theme-or{
  --paper:#241f14; --paper-2:#2e281a; --paper-3:#1b1710; --paper-edge:#4a3f26;
  --ink:#f3e9cd; --ink-soft:#d6c79c; --ink-faint:#a2926a;
  --olive:#b8912f; --olive-2:#9a7726; --olive-deep:#e0c163; --olive-ink:#f0d98a;
  --sage:#4a3f26; --sage-2:#5e5133; --terra:#c07a35; --terra-2:#a3632a; --gold:#e8c964;
  --shadow-sm:0 2px 8px rgba(0,0,0,.4); --shadow-md:0 10px 26px rgba(0,0,0,.5); --shadow-lg:0 22px 60px rgba(0,0,0,.62);
  background:#1b1710; color:var(--ink);
}
body.theme-or .site-header{ background:rgba(46,40,26,.95); }
body.theme-or .site-footer{ background:#14110b; }
body.theme-or .card, body.theme-or .info-card, body.theme-or .compte-card{ background:var(--paper-2); }
body.theme-or .banner{ filter:brightness(.9) saturate(1.2); }

/* ================= CURSEUR CLOPORTE =================
   Une vraie pointe de flèche (clic précis) + un cloporte qui la suit.
   Le point actif est la pointe, en haut à gauche → hotspot « 3 2 ». */
body.curseur-cloporte{
  cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'><g transform='translate(15,15)'><ellipse cx='7' cy='7' rx='7' ry='5.4' fill='%238a7738' stroke='%234c4326' stroke-width='1.3'/><path d='M2.6 4.4h8.8M2.1 7h9.8M2.6 9.6h8.8' stroke='%236e5c2d' stroke-width='.9' fill='none' stroke-linecap='round'/><circle cx='11.6' cy='5.3' r='.85' fill='%2333301f'/><path d='M12.4 4.6l2.6-1.6M12.6 6.2l2.8.5' stroke='%234c4326' stroke-width='1' fill='none' stroke-linecap='round'/></g><path d='M3 2 L3 21.5 L8.4 16.4 L11.7 23.2 L14.9 21.6 L11.5 15 L18.6 14.6 Z' fill='%23fff9e2' stroke='%232c3a1c' stroke-width='1.7' stroke-linejoin='round'/></svg>") 3 2, auto;
}
/* les éléments cliquables gardent une main, mais avec le même compagnon */
body.curseur-cloporte a, body.curseur-cloporte button,
body.curseur-cloporte .card, body.curseur-cloporte [role=button]{
  cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'><g transform='translate(15,15)'><ellipse cx='7' cy='7' rx='7' ry='5.4' fill='%238a7738' stroke='%234c4326' stroke-width='1.3'/><path d='M2.6 4.4h8.8M2.1 7h9.8M2.6 9.6h8.8' stroke='%236e5c2d' stroke-width='.9' fill='none' stroke-linecap='round'/><circle cx='11.6' cy='5.3' r='.85' fill='%2333301f'/></g><path d='M9.5 3.2c0-1.2 1.9-1.2 1.9 0v6.4c0-1 1.8-1 1.8 .2v.6c0-1 1.8-1 1.8 .2v.6c0-.9 1.7-.9 1.7 .3v3.4c0 2.5-1.7 4.4-4.4 4.4h-1.6c-2 0-2.8-.9-4.2-2.7l-2-2.6c-.7-.9 .5-2.2 1.5-1.4l1.6 1.3z' fill='%23fff9e2' stroke='%232c3a1c' stroke-width='1.5' stroke-linejoin='round'/></svg>") 10 3, pointer;
}

/* ================= CADRE DORÉ (collection) ================= */
body.cadre-or .eggcol__plate{
  box-shadow:inset 0 0 0 2px var(--gold), 0 0 22px rgba(176,134,46,.25), var(--shadow-sm);
}
body.cadre-or .eggcol__titre b{
  background:linear-gradient(90deg, var(--gold), #e8c964, var(--gold));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  font-size:1.15rem; letter-spacing:.02em;
}
