/* Boutique Ration — noir profond, or pâle, indigo ; polices du système (rien à télécharger) */
:root{--bg:#06070B;--s1:#0E0F16;--s2:#15161F;--s3:#1D1E2A;--line:rgba(233,220,190,.12);--tx:#F4F1E8;--tx2:#CBC5B6;--tx3:#8E897C;--gold:#F3DFA6;--gold2:#C9A55A;--ind:#7C8CFF;--red:#FF5A5F;color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:radial-gradient(120% 60% at 50% -10%,#191B33 0%,var(--bg) 60%) fixed,var(--bg);color:var(--tx);font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;min-height:100vh}
a{color:inherit}
#app{max-width:780px;margin:0 auto;padding:14px 16px 40px}
.ic{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0 14px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo b{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:var(--s2);border:1px solid var(--line);font-size:18px;font-weight:900;letter-spacing:-.04em}
.logo b i{font-style:normal;color:var(--red)}
.logo span{font-weight:750;font-size:15px}
.langs{display:flex;gap:1px;padding:3px;border-radius:12px;background:var(--s1);border:1px solid var(--line);flex:none}
.langs button{border:0;background:none;color:var(--tx3);font:700 11px/1 system-ui,sans-serif;padding:7px 6px;border-radius:9px;cursor:pointer}
.langs button[aria-pressed="true"]{background:var(--s3);color:var(--tx)}
.intro h1{margin:10px 0 4px;font-size:30px;letter-spacing:-.02em}
.intro p{margin:0 0 16px;color:var(--tx2)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border-radius:14px;border:1px solid var(--line);background:var(--s2);color:var(--tx);font:700 15px/1.2 system-ui,sans-serif;text-decoration:none;cursor:pointer}
.btn.gold{background:linear-gradient(180deg,#F8E9BE,#E2C27A);color:#1A1408;border-color:transparent;box-shadow:0 8px 24px rgba(243,223,166,.18)}
.btn.block{width:100%}
.btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}
.btn.ghost{background:transparent}
.kick{display:inline-flex;align-items:center;gap:8px;font-size:13px}
.kick b{font-weight:800;color:var(--gold)}
.kick em{font-style:normal;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#A9B3FF}
/* la carte du pass (accueil) */
.hero{position:relative;display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:6px;align-items:center;padding:14px 16px 16px 6px;border-radius:26px;text-decoration:none;overflow:hidden;background:radial-gradient(90% 90% at 18% 30%,rgba(243,223,166,.22),transparent 60%),radial-gradient(80% 90% at 100% 100%,rgba(124,140,255,.22),transparent 60%),linear-gradient(160deg,#10111C,#06070B);border:1px solid rgba(243,223,166,.28);box-shadow:0 20px 60px rgba(0,0,0,.45)}
.hero-art img,.ph-art img{display:block;width:100%;height:auto;max-height:330px;object-fit:contain;filter:drop-shadow(0 10px 24px rgba(0,0,0,.5))}
.hero-t{display:grid;gap:8px;min-width:0}
.hero-t h2{margin:0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx3)}
.hero-t p{margin:0;color:var(--tx2);font-size:14px}
.when{color:var(--tx3);font-size:12.5px}
.cta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}
.price{font-size:26px;font-weight:900;color:var(--gold)}
.sec{margin:24px 2px 10px;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3)}
.soon{display:flex;gap:10px;align-items:flex-start;margin:0;padding:14px;border-radius:18px;background:var(--s1);border:1px dashed var(--line);color:var(--tx2);font-size:14px}
.packs{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.pack{display:grid;gap:8px;padding:10px;border-radius:18px;background:var(--s1);border:1px solid var(--line);text-decoration:none}
.pack img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:12px;background:var(--s2)}
.pack span{display:grid}.pack small{color:var(--gold);font-weight:800}
.nokey{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 14px;padding:12px 14px;border-radius:18px;background:rgba(124,140,255,.1);border:1px solid rgba(124,140,255,.3)}
.nokey > .ic{width:22px;height:22px;color:#A9B3FF}
.nokey span{display:grid;gap:2px;flex:1 1 220px;min-width:0}.nokey small{color:var(--tx2);font-size:12.5px;line-height:1.4}
/* la page du pass */
.backl{display:inline-flex;align-items:center;gap:4px;margin:0 0 8px;color:var(--gold);text-decoration:none;font-weight:700}
.phero{display:grid;grid-template-columns:minmax(130px,40%) 1fr;gap:10px;align-items:center;padding:10px 16px 16px 4px;border-radius:26px;background:radial-gradient(90% 90% at 20% 30%,rgba(243,223,166,.22),transparent 60%),radial-gradient(80% 90% at 100% 100%,rgba(124,140,255,.2),transparent 60%),linear-gradient(160deg,#10111C,#06070B);border:1px solid rgba(243,223,166,.28);margin-bottom:14px}
.ph-t{display:grid;gap:8px;min-width:0}
.ph-t h1{margin:0;font-size:28px;letter-spacing:-.02em}
.ph-t p{margin:0;color:var(--tx2);font-size:14px}
.li{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:10px}
.li li{display:flex;gap:10px;align-items:flex-start;color:var(--tx2)}
.li .ic{color:var(--gold);margin-top:2px}
.glow{display:grid;gap:12px;margin:16px 0 0;padding:14px;border-radius:18px;background:var(--s1);border:1px solid var(--line)}
.glow > div:first-child{display:grid;gap:4px}
.glow small{color:var(--tx3);font-size:12.5px;line-height:1.45}.glow small b{color:var(--tx2)}
.gw{font-size:26px;font-weight:900;--g1:#F3DFA6;--g2:#C9A55A;color:#FFF;text-shadow:0 0 7px var(--g1),0 0 18px var(--g2);animation:gw 3.6s ease-in-out infinite}
@keyframes gw{50%{text-shadow:0 0 10px var(--g1),0 0 26px var(--g2)}}
.dots{display:flex;flex-wrap:wrap;gap:10px}
.dots button{width:30px;height:30px;border-radius:50%;border:2px solid transparent;background:radial-gradient(circle at 38% 36%,var(--g1),var(--g2));box-shadow:0 0 10px var(--g2);cursor:pointer;padding:0}
.dots button[aria-pressed="true"]{border-color:#FFF}
.rws{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.rw{margin:0;display:grid;gap:6px;padding:8px;border-radius:16px;background:var(--s1);border:1px solid var(--line)}
.rw.leg{border-color:rgba(243,223,166,.5);background:linear-gradient(180deg,rgba(243,223,166,.1),var(--s1))}
.rw-i{aspect-ratio:3/4;display:grid;place-items:center;border-radius:12px;background:radial-gradient(80% 60% at 50% 40%,#1A1C30,#0A0B12);overflow:hidden}
.rw-i img{max-width:100%;max-height:100%;object-fit:contain}
.rw-i.bg img{width:100%;height:100%;object-fit:cover}
.rw figcaption{display:grid;gap:1px;min-width:0}
.rw small{font-size:10.5px;color:var(--gold2);font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.rw b{font-size:13px;line-height:1.25}.rw span{font-size:11.5px;color:var(--tx3)}
.buy{display:grid;gap:12px;margin:18px 0 0;padding:16px;border-radius:22px;background:var(--s1);border:1px solid rgba(243,223,166,.3);box-shadow:0 14px 40px rgba(0,0,0,.4)}
.buy .price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.buy .price b{font-size:30px;color:var(--gold);white-space:nowrap}.buy .price small{color:var(--tx3);font-size:12.5px;font-weight:600}
.law{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.45;color:var(--tx2);cursor:pointer}
.law input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:#E2C27A}
.law a{color:var(--gold)}
.note{display:flex;gap:8px;align-items:flex-start;margin:0;color:var(--tx3);font-size:12.5px;line-height:1.45}
.note .ic{width:15px;height:15px;margin-top:1px}
.empty,.merci{display:grid;justify-items:center;gap:12px;text-align:center;padding:40px 10px}
.empty > .ic{width:34px;height:34px;color:var(--tx3)}
.mc-i{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:rgba(159,227,192,.14);color:#9FE3C0}
.mc-i .ic{width:36px;height:36px}
.merci h1{margin:0;font-size:30px}.merci p{margin:0;color:var(--tx2);max-width:460px}.merci small{color:var(--tx3);max-width:420px}
.cgv h1{font-size:26px;margin:6px 0 12px}.cgv h2{font-size:15px;margin:18px 0 4px}.cgv p{margin:0;color:var(--tx2);font-size:14px}
.cgv a{color:var(--gold)}
.foot{display:grid;gap:8px;margin:34px 0 0;padding:16px 4px 0;border-top:1px solid var(--line);color:var(--tx3);font-size:12.5px}
.foot p{display:flex;gap:8px;align-items:center;margin:0}.foot .ic{width:15px;height:15px}
.foot nav{display:flex;flex-wrap:wrap;gap:14px;margin-top:4px}.foot nav a{color:var(--tx2)}
@media (max-width:520px){
  .hero,.phero{grid-template-columns:1fr;padding:10px 14px 16px;text-align:left}
  .hero-art,.ph-art{justify-self:center;width:52%;max-width:200px}
  .rws{grid-template-columns:repeat(2,minmax(0,1fr))}
  .intro h1{font-size:26px}
  .logo span{display:none}
}
@media (prefers-reduced-motion:reduce){.gw{animation:none}}
