/* ============================================================
   LightCracked UEFN — Design system + composants
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap');

/* ---------- Tokens ---------- */
:root{
  --bg:            #06070A;
  --surface:       #0E1118;
  --surface-2:     #12161F;
  --line:          rgba(255,255,255,.07);
  --line-strong:   rgba(255,255,255,.14);

  --text:          #ECEEF4;
  --text-dim:      #9AA1B4;
  --text-faint:    #626A7E;

  --violet:        #7C5CFF;
  --violet-soft:   #A78BFF;
  --cyan:          #22E0FF;
  --pink:          #FF4D8D;
  --green:         #34E5A0;
  --amber:         #FFB020;

  --grad:          linear-gradient(120deg, #7C5CFF 0%, #22E0FF 100%);
  --grad-text:     linear-gradient(100deg,#FFFFFF 0%,#C7C4FF 42%,#7CE9FF 100%);

  --r:    16px;
  --r-lg: 22px;
  --r-xl: 30px;

  --shadow:      0 20px 60px -20px rgba(0,0,0,.8);
  --shadow-glow: 0 0 0 1px rgba(124,92,255,.25), 0 20px 70px -25px rgba(124,92,255,.55);

  --nav-h: 72px;
  --maxw: 1240px;
  --ease: cubic-bezier(.22,1,.36,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:calc(var(--nav-h) + 24px); -webkit-text-size-adjust:100%; }
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:15px; line-height:1.65; -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.no-scroll{ overflow:hidden; }
img,svg,video,iframe{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
input,select,textarea{ font:inherit; color:inherit; }
h1,h2,h3,h4,h5{ font-family:'Sora',sans-serif; font-weight:700; line-height:1.12; letter-spacing:-.025em; margin:0; }
p{ margin:0; }
ul{ margin:0; padding:0; list-style:none; }
::selection{ background:rgba(124,92,255,.4); }

::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-track{ background:var(--bg); }
::-webkit-scrollbar-thumb{ background:#20242F; border-radius:20px; border:2px solid var(--bg); }
::-webkit-scrollbar-thumb:hover{ background:#2C3140; }

/* ---------- Layout ---------- */
/* Les enfants de grille/flex valent min-width:auto par défaut : un contenu
   large (bloc de code, adresse crypto…) élargirait la colonne au lieu de
   défiler dans sa boîte. On les autorise à rétrécir.                        */
.hero__grid > *, .stats > *, .feat-grid > *, .steps > *, .reviews > *,
.footer__grid > *, .grid > *, .pv > *, .pv__specs > *, .pay-opts > *,
.field-2 > *, .row > *{ min-width:0; }

.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:24px; }
.section{ position:relative; padding:104px 0; }
.section--tight{ padding:76px 0; }

.sec-head{ max-width:640px; margin-bottom:48px; }
.sec-head.center{ margin-inline:auto; text-align:center; }
.sec-title{ font-size:clamp(30px,4.2vw,46px); margin:0 0 14px; }
.sec-sub{ color:var(--text-dim); font-size:16px; }

.grad-text{ background:var(--grad-text); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* ---------- Boutons ---------- */
.btn{
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:0 22px; height:46px; border-radius:12px; font-weight:600; font-size:14.5px;
  white-space:nowrap; border:1px solid transparent;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .2s, border-color .2s, opacity .2s;
}
.btn:active{ transform:translateY(1px) scale(.99); }
.btn svg{ width:17px; height:17px; flex-shrink:0; }

.btn--primary{ background:var(--grad); color:#08090C; box-shadow:0 10px 30px -10px rgba(124,92,255,.7); font-weight:700; }
.btn--primary:hover{ transform:translateY(-2px); box-shadow:0 16px 40px -12px rgba(124,92,255,.9); }

.btn--ghost{ background:rgba(255,255,255,.04); border-color:var(--line-strong); color:var(--text); }
.btn--ghost:hover{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.25); transform:translateY(-2px); }

.btn--discord{ background:#5865F2; color:#fff; box-shadow:0 10px 30px -12px rgba(88,101,242,.8); }
.btn--discord:hover{ background:#6875ff; transform:translateY(-2px); }

.btn--lg{ height:54px; padding:0 30px; font-size:15.5px; border-radius:14px; }
.btn--sm{ height:38px; padding:0 16px; font-size:13.5px; border-radius:10px; }
.btn--block{ width:100%; }
.btn:disabled{ opacity:.5; cursor:not-allowed; transform:none !important; }

.is-loading{ pointer-events:none; }
.is-loading::after{
  content:''; position:absolute; inset:0; margin:auto; width:18px; height:18px;
  border:2px solid rgba(8,9,12,.35); border-top-color:#08090C; border-radius:50%;
  animation:spin .7s linear infinite;
}
.is-loading > *{ opacity:0; }
@keyframes spin{ to{ transform:rotate(360deg) } }

/* ---------- Fond animé ---------- */
.bg-fx{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.bg-grid{
  position:absolute; inset:-2px;
  background-image:
    linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(ellipse 90% 60% at 50% 0%, #000 20%, transparent 75%);
  mask-image:radial-gradient(ellipse 90% 60% at 50% 0%, #000 20%, transparent 75%);
}
.orb{ position:absolute; border-radius:50%; filter:blur(120px); opacity:.45; }
.orb--1{ width:620px; height:620px; background:#4B2FCF; top:-260px; left:-140px; animation:float1 22s ease-in-out infinite; }
.orb--2{ width:520px; height:520px; background:#0E7C9B; top:-140px; right:-160px; animation:float2 26s ease-in-out infinite; }
.orb--3{ width:460px; height:460px; background:#5B1E77; top:52%; left:38%; opacity:.22; animation:float1 30s ease-in-out infinite reverse; }
@keyframes float1{ 0%,100%{ transform:translate(0,0) } 50%{ transform:translate(70px,50px) } }
@keyframes float2{ 0%,100%{ transform:translate(0,0) } 50%{ transform:translate(-60px,70px) } }
.noise{ position:absolute; inset:0; opacity:.03; mix-blend-mode:overlay; background-image:var(--noise-url); }

main,header,footer{ position:relative; z-index:1; }

/* ---------- Nav ---------- */
.nav{
  position:fixed; top:0; left:0; right:0; height:var(--nav-h); z-index:900;
  display:flex; align-items:center; border-bottom:1px solid transparent;
  transition:background .35s, border-color .35s, height .35s;
}
.nav.scrolled{
  background:rgba(6,7,10,.75); backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  border-bottom-color:var(--line); height:64px;
}
.nav__inner{ display:flex; align-items:center; gap:26px; width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:24px; }
.logo{ display:flex; align-items:center; gap:11px; font-family:'Sora'; font-weight:800; font-size:17.5px; letter-spacing:-.03em; flex-shrink:0; }
.logo__mark{
  width:34px; height:34px; border-radius:10px; background:var(--grad);
  display:grid; place-items:center; box-shadow:0 6px 20px -6px rgba(124,92,255,.9); flex-shrink:0;
}
.logo__mark svg{ width:19px; height:19px; }
.logo em{ display:block; font-style:normal; font-family:'JetBrains Mono'; font-size:9px; letter-spacing:.22em; color:var(--text-faint); font-weight:400; margin-top:-4px; }

.nav__links{ display:flex; align-items:center; gap:2px; margin-right:auto; }
.nav__links a{ padding:8px 13px; border-radius:9px; font-size:14px; font-weight:500; color:var(--text-dim); transition:color .2s, background .2s; }
.nav__links a:hover{ color:var(--text); background:rgba(255,255,255,.05); }

.nav__actions{ display:flex; align-items:center; gap:10px; margin-left:auto; }

.lang{ display:flex; align-items:center; gap:2px; padding:3px; border:1px solid var(--line); border-radius:9px; background:rgba(255,255,255,.03); flex-shrink:0; }
.lang button{ padding:5px 9px; border-radius:6px; font-size:11.5px; font-weight:700; font-family:'JetBrains Mono'; color:var(--text-faint); transition:.2s; }
.lang button.on{ background:rgba(255,255,255,.1); color:var(--text); }


.burger{ display:none; width:42px; height:42px; border-radius:11px; border:1px solid var(--line-strong); place-items:center; flex-shrink:0; }
.burger span{ display:block; width:17px; height:1.8px; background:var(--text); border-radius:2px; transition:.3s var(--ease); }
.burger span+span{ margin-top:4px; }
.burger.open span:nth-child(1){ transform:translateY(5.8px) rotate(45deg); }
.burger.open span:nth-child(2){ opacity:0; }
.burger.open span:nth-child(3){ transform:translateY(-5.8px) rotate(-45deg); }

.mobile-menu{
  position:fixed; inset:var(--nav-h) 0 0; z-index:880; background:rgba(6,7,10,.98);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  padding:28px 24px; display:flex; flex-direction:column; gap:6px;
  transform:translateX(100%); transition:transform .4s var(--ease); visibility:hidden;
}
.mobile-menu.open{ transform:none; visibility:visible; }
.mobile-menu a{ padding:16px 4px; font-size:20px; font-family:'Sora'; font-weight:600; border-bottom:1px solid var(--line); }

/* ---------- Hero ---------- */
.hero{ padding-top:calc(var(--nav-h) + 72px); padding-bottom:80px; }
.hero__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:center; }
.hero h1{ font-size:clamp(36px,5.4vw,64px); margin:0 0 22px; font-weight:800; }
.hero h1 .line{ display:block; }
.hero__sub{ font-size:17.5px; color:var(--text-dim); max-width:520px; margin-bottom:34px; }
.hero__cta{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom:40px; }

.hero__trust{ display:flex; align-items:center; gap:16px; }
.avatars{ display:flex; }
.avatars span{
  width:34px; height:34px; border-radius:50%; border:2px solid var(--bg); margin-left:-11px;
  display:grid; place-items:center; font-size:12px; font-weight:800; font-family:'Sora'; color:#0a0b0e;
}
.avatars span:first-child{ margin-left:0; }
.hero__trust small{ color:var(--text-dim); font-size:13.5px; line-height:1.45; display:block; }
.hero__trust b{ color:var(--text); }
.stars{ color:var(--amber); font-size:12px; letter-spacing:2px; }

.hero__visual{ position:relative; }
.code-card{
  border-radius:var(--r-lg); border:1px solid var(--line-strong);
  background:linear-gradient(160deg, rgba(20,24,34,.92), rgba(10,12,18,.95));
  box-shadow:var(--shadow); overflow:hidden;
  transform:perspective(1400px) rotateY(-7deg) rotateX(3deg);
  transition:transform .7s var(--ease);
}
.code-card:hover{ transform:perspective(1400px) rotateY(-2deg) rotateX(1deg); }
.code-card__bar{ display:flex; align-items:center; gap:8px; padding:13px 16px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.025); }
.dot{ width:11px; height:11px; border-radius:50%; flex-shrink:0; }
.code-card__bar em{ font-style:normal; font-family:'JetBrains Mono'; font-size:11.5px; color:var(--text-faint); margin-left:10px; }
.code-card pre{ margin:0; padding:20px 18px; font-family:'JetBrains Mono',monospace; font-size:12.5px; line-height:1.85; overflow-x:auto; max-width:100%; color:#C3C9DA; }
.k{ color:#FF7BC0; } .t{ color:#7CE9FF; } .s{ color:#B4FF3A; } .n{ color:#FFB020; } .fn{ color:#A78BFF; }

.code-badge{
  position:absolute; padding:9px 14px; border-radius:12px; z-index:3;
  background:rgba(14,17,24,.92); border:1px solid var(--line-strong);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  font-size:12.5px; font-weight:600; display:flex; align-items:center; gap:8px;
  box-shadow:var(--shadow); animation:bob 5s ease-in-out infinite; white-space:nowrap;
}
.code-badge i{ width:7px; height:7px; border-radius:50%; display:block; flex-shrink:0; }
.code-badge--1{ top:-18px; right:-14px; }
.code-badge--2{ bottom:-20px; left:-24px; animation-delay:-2.5s; }
@keyframes bob{ 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-9px) } }

/* ---------- Stats ---------- */
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; }
.stat{ background:linear-gradient(180deg,rgba(14,17,24,.9),rgba(8,10,14,.9)); padding:28px 18px; text-align:center; transition:background .3s; }
.stat:hover{ background:linear-gradient(180deg,rgba(24,28,40,.9),rgba(12,14,20,.9)); }
.stat b{ display:block; font-family:'Sora'; font-size:clamp(26px,3.4vw,34px); font-weight:800; letter-spacing:-.04em; }
.stat b.stat--word{ font-size:clamp(19px,2.4vw,25px); }
.stat span{ font-size:11.5px; color:var(--text-dim); font-family:'JetBrains Mono'; letter-spacing:.08em; text-transform:uppercase; }

/* ---------- Boutique ---------- */
.shop__bar{ display:flex; gap:14px; align-items:center; margin-bottom:30px; flex-wrap:wrap; }
.shop__tools{ display:flex; gap:10px; align-items:center; margin-left:auto; }
.filters{ display:flex; gap:7px; flex-wrap:wrap; }
.chip{
  padding:9px 16px; border-radius:100px; border:1px solid var(--line);
  background:rgba(255,255,255,.03); font-size:13.5px; font-weight:500; color:var(--text-dim);
  transition:.22s var(--ease); display:inline-flex; align-items:center; gap:7px; white-space:nowrap;
}
.chip:hover{ border-color:var(--line-strong); color:var(--text); background:rgba(255,255,255,.06); }
.chip.on{ background:var(--grad); color:#08090C; border-color:transparent; font-weight:700; box-shadow:0 8px 24px -10px rgba(124,92,255,.8); }
.chip em{ font-style:normal; opacity:.65; font-size:11.5px; font-family:'JetBrains Mono'; }

.search{ position:relative; min-width:220px; }
.search svg{ position:absolute; left:14px; top:50%; transform:translateY(-50%); width:16px; height:16px; color:var(--text-faint); pointer-events:none; }
.search input{
  width:100%; height:42px; padding:0 14px 0 40px; border-radius:11px;
  background:rgba(255,255,255,.04); border:1px solid var(--line); outline:none; font-size:14px; transition:.22s;
}
.search input::placeholder{ color:var(--text-faint); }
.search input:focus{ border-color:rgba(124,92,255,.55); background:rgba(124,92,255,.06); box-shadow:0 0 0 4px rgba(124,92,255,.1); }

.sort{
  height:42px; padding:0 34px 0 14px; border-radius:11px; border:1px solid var(--line);
  background-color:rgba(255,255,255,.04); outline:none; font-size:14px; appearance:none; cursor:pointer;
  background-image:var(--chevron-url); background-repeat:no-repeat; background-position:right 12px center; background-size:14px;
}
.sort option{ background:#12161F; color:#ECEEF4; }

.grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(288px,1fr)); gap:22px; }

/* ---------- Visuels produits ---------- */
.art{ position:absolute; inset:0; transition:transform .6s var(--ease); }
.art__pattern{ position:absolute; inset:0; width:100%; height:100%; }
.art__icon{ position:absolute; inset:0; display:grid; place-items:center; opacity:.5; }
.art--img img{ width:100%; height:100%; object-fit:cover; }

/* ---------- Carte produit ---------- */
.card{
  position:relative; border-radius:var(--r-lg); border:1px solid var(--line);
  background:linear-gradient(170deg, rgba(16,19,27,.9), rgba(9,11,16,.9));
  overflow:hidden; display:flex; flex-direction:column; cursor:pointer;
  transition:transform .4s var(--ease), border-color .35s, box-shadow .4s;
  animation:cardIn .5s var(--ease) both;
}
@keyframes cardIn{ from{ opacity:0; transform:translateY(18px) } to{ opacity:1; transform:none } }
.card:hover{ transform:translateY(-6px); border-color:rgba(124,92,255,.4); box-shadow:var(--shadow-glow); }
.card:hover .art{ transform:scale(1.06); }

.card__media{ position:relative; aspect-ratio:16/10; overflow:hidden; background:#0B0D13; }
.card__media::after{ content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(9,11,16,.95) 2%, transparent 58%); pointer-events:none; }
.card__tags{ position:absolute; top:12px; left:12px; display:flex; gap:6px; z-index:2; flex-wrap:wrap; }
.tag{ padding:4px 9px; border-radius:7px; font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-family:'JetBrains Mono'; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }
.tag--new{ background:rgba(52,229,160,.16); color:var(--green); border:1px solid rgba(52,229,160,.3); }
.tag--hot{ background:rgba(255,77,141,.16); color:var(--pink); border:1px solid rgba(255,77,141,.3); }
.tag--sale{ background:rgba(255,176,32,.16); color:var(--amber); border:1px solid rgba(255,176,32,.3); }
.tag--cat{ background:rgba(255,255,255,.08); color:var(--text-dim); border:1px solid var(--line-strong); }

.card__vbadge{
  position:absolute; top:12px; right:12px; z-index:2; display:inline-flex; align-items:center; gap:5px;
  padding:4px 9px; border-radius:7px; font-size:10.5px; font-weight:700; text-transform:uppercase;
  font-family:'JetBrains Mono'; letter-spacing:.06em;
  background:rgba(255,77,141,.16); color:var(--pink); border:1px solid rgba(255,77,141,.3);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}
.card__vbadge svg{ width:10px; height:10px; }

.card__preview{
  position:absolute; bottom:12px; right:12px; z-index:2; height:32px; padding:0 12px;
  border-radius:9px; font-size:12.5px; font-weight:600; background:rgba(6,7,10,.72);
  border:1px solid var(--line-strong); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  display:inline-flex; align-items:center; gap:6px; opacity:0; transform:translateY(6px); transition:.3s var(--ease);
}
.card:hover .card__preview{ opacity:1; transform:none; }
.card__preview svg{ width:13px; height:13px; }

.card__body{ padding:18px; display:flex; flex-direction:column; flex:1; gap:10px; }
.card__title{ font-size:16.5px; font-family:'Sora'; font-weight:600; letter-spacing:-.02em; }
.card__desc{ font-size:13.5px; color:var(--text-dim); line-height:1.6; flex:1; }
.card__meta{ display:flex; gap:14px; font-size:11.5px; color:var(--text-faint); font-family:'JetBrains Mono'; flex-wrap:wrap; }
.card__meta span{ display:flex; align-items:center; gap:5px; }
.card__meta svg{ width:12px; height:12px; }

.card__foot{ display:flex; align-items:center; gap:12px; padding-top:14px; border-top:1px solid var(--line); }
.price{ display:flex; align-items:baseline; gap:7px; margin-right:auto; flex-wrap:wrap; }
.price b{ font-family:'Sora'; font-size:22px; font-weight:700; letter-spacing:-.03em; }
.price del{ font-size:13px; color:var(--text-faint); }

.add-btn{
  width:40px; height:40px; border-radius:11px; background:var(--grad); color:#08090C;
  display:grid; place-items:center; transition:.25s var(--ease); flex-shrink:0;
  box-shadow:0 8px 22px -10px rgba(124,92,255,.8);
}
.add-btn:hover{ transform:scale(1.08) rotate(90deg); }
.add-btn svg{ width:18px; height:18px; }
.add-btn.done{ background:var(--green); transform:none; }
.add-btn.done svg{ animation:pop .4s var(--ease); }
@keyframes pop{ 0%{ transform:scale(0) } 60%{ transform:scale(1.3) } 100%{ transform:scale(1) } }

.empty{ grid-column:1/-1; text-align:center; padding:70px 20px; color:var(--text-faint); }
.empty svg{ width:44px; height:44px; margin:0 auto 16px; opacity:.4; }

/* ---------- Pourquoi nous ---------- */
.feat-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.feat{
  padding:30px 26px; border-radius:var(--r-lg); border:1px solid var(--line);
  background:linear-gradient(170deg,rgba(16,19,27,.8),rgba(9,11,16,.8));
  transition:.4s var(--ease);
}
.feat:hover{ border-color:var(--line-strong); transform:translateY(-4px); }
.feat__ico{
  width:46px; height:46px; border-radius:13px; display:grid; place-items:center; margin-bottom:18px;
  background:rgba(124,92,255,.12); border:1px solid rgba(124,92,255,.25); color:var(--violet-soft);
}
.feat__ico svg{ width:21px; height:21px; }
.feat h3{ font-size:18px; margin-bottom:9px; }
.feat p{ font-size:14px; color:var(--text-dim); }

/* ---------- Étapes ---------- */
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; position:relative; }
.steps::before{ content:''; position:absolute; top:26px; left:8%; right:8%; height:1px; background:linear-gradient(90deg,transparent,var(--line-strong) 15%,var(--line-strong) 85%,transparent); }
.step{ text-align:center; position:relative; }
.step__n{
  width:52px; height:52px; margin:0 auto 18px; border-radius:16px; display:grid; place-items:center;
  font-family:'Sora'; font-weight:800; font-size:19px; background:var(--surface-2);
  border:1px solid var(--line-strong); position:relative; z-index:1; transition:.35s var(--ease);
}
.step:hover .step__n{ background:var(--grad); color:#08090C; border-color:transparent; transform:scale(1.08); box-shadow:0 12px 30px -12px rgba(124,92,255,.9); }
.step h4{ font-size:16px; margin-bottom:8px; }
.step p{ font-size:13.5px; color:var(--text-dim); }

/* ---------- Avis ---------- */
.reviews{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.review{
  padding:26px; border-radius:var(--r-lg); border:1px solid var(--line);
  background:linear-gradient(170deg,rgba(16,19,27,.8),rgba(9,11,16,.8));
  display:flex; flex-direction:column; gap:16px; transition:.35s var(--ease);
}
.review:hover{ border-color:var(--line-strong); transform:translateY(-4px); }
.review p{ font-size:14.5px; color:var(--text-dim); line-height:1.7; flex:1; }
.review__who{ display:flex; align-items:center; gap:12px; }
.review__av{ width:40px; height:40px; border-radius:12px; display:grid; place-items:center; font-family:'Sora'; font-weight:800; color:#08090C; font-size:15px; flex-shrink:0; }
.review__who b{ display:block; font-size:14px; }
.review__who small{ color:var(--text-faint); font-size:12px; font-family:'JetBrains Mono'; }

/* ---------- FAQ ---------- */
.faq{ max-width:820px; margin-inline:auto; display:flex; flex-direction:column; gap:10px; }
.q{ border:1px solid var(--line); border-radius:var(--r); background:rgba(16,19,27,.6); overflow:hidden; transition:border-color .3s, background .3s; }
.q.open{ border-color:rgba(124,92,255,.4); background:rgba(124,92,255,.045); }
.q__head{ width:100%; display:flex; align-items:center; gap:16px; padding:19px 22px; text-align:left; font-weight:600; font-size:15.5px; font-family:'Sora'; }
.q__head i{ margin-left:auto; width:20px; height:20px; flex-shrink:0; position:relative; }
.q__head i::before,.q__head i::after{ content:''; position:absolute; background:var(--text-dim); border-radius:2px; top:50%; left:50%; transform:translate(-50%,-50%); }
.q__head i::before{ width:12px; height:1.8px; }
.q__head i::after{ width:1.8px; height:12px; transition:transform .35s var(--ease); }
.q.open .q__head i::after{ transform:translate(-50%,-50%) scaleY(0); }
.q__body{ max-height:0; overflow:hidden; transition:max-height .4s var(--ease); }
.q__body p{ padding:0 22px 20px; color:var(--text-dim); font-size:14.5px; }

/* ---------- CTA ---------- */
.cta{
  position:relative; border-radius:var(--r-xl); padding:60px 40px; text-align:center; overflow:hidden;
  border:1px solid rgba(124,92,255,.28);
  background:linear-gradient(150deg, rgba(35,25,80,.7), rgba(12,14,22,.85) 55%, rgba(10,40,60,.6));
}
.cta::before{
  content:''; position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:40px 40px;
  -webkit-mask-image:radial-gradient(ellipse at center, #000, transparent 70%);
  mask-image:radial-gradient(ellipse at center, #000, transparent 70%);
}
.cta > *{ position:relative; }
.cta h2{ font-size:clamp(26px,4vw,42px); margin:0 0 14px; }
.cta p{ color:var(--text-dim); max-width:520px; margin:0 auto 30px; font-size:16px; }
.cta__btns{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.live{ display:inline-flex; align-items:center; gap:8px; font-size:13px; color:var(--text-dim); margin-top:24px; font-family:'JetBrains Mono'; flex-wrap:wrap; justify-content:center; }
.live i{ width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 0 rgba(52,229,160,.7); animation:pulse 2s infinite; flex-shrink:0; }
@keyframes pulse{ 70%{ box-shadow:0 0 0 9px rgba(52,229,160,0) } 100%{ box-shadow:0 0 0 0 rgba(52,229,160,0) } }

/* ---------- Footer ---------- */
.footer{ border-top:1px solid var(--line); padding:64px 0 30px; margin-top:40px; background:rgba(8,9,13,.6); }
.footer__grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:44px; margin-bottom:48px; }
.footer__about p{ color:var(--text-dim); font-size:14px; margin:16px 0 20px; max-width:300px; }
.socials{ display:flex; gap:9px; }
.socials a{ width:38px; height:38px; border-radius:11px; border:1px solid var(--line); background:rgba(255,255,255,.03); display:grid; place-items:center; color:var(--text-dim); transition:.25s var(--ease); }
.socials a:hover{ color:var(--text); border-color:var(--line-strong); transform:translateY(-3px); background:rgba(255,255,255,.07); }
.socials svg{ width:17px; height:17px; }
.footer h5{ font-size:13px; text-transform:uppercase; letter-spacing:.12em; color:var(--text-faint); margin:0 0 18px; font-weight:600; }
.footer li+li{ margin-top:11px; }
.footer li a{ color:var(--text-dim); font-size:14px; transition:color .2s; }
.footer li a:hover{ color:var(--violet-soft); }
.footer__bot{ border-top:1px solid var(--line); padding-top:24px; display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; font-size:13px; color:var(--text-faint); }
.disclaimer{ font-size:11.5px; color:var(--text-faint); text-align:center; margin-top:20px; opacity:.7; max-width:800px; margin-inline:auto; line-height:1.6; }

/* ============================================================
   Overlays
   ============================================================ */
.scrim{
  position:fixed; inset:0; z-index:950; background:rgba(3,4,6,.74);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  opacity:0; visibility:hidden; transition:opacity .35s, visibility .35s;
}
.scrim.open{ opacity:1; visibility:visible; }

/* Bouton de fermeture des panneaux */
.x-btn{
  width:34px; height:34px; border-radius:9px; border:1px solid var(--line);
  display:grid; place-items:center; color:var(--text-dim); transition:.2s; flex-shrink:0;
}
.x-btn:hover{ background:rgba(255,255,255,.07); color:var(--text); }
.x-btn svg{ width:15px; height:15px; }
.x-btn--float{
  position:absolute; top:14px; right:14px; z-index:6;
  background:rgba(8,10,16,.85); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border-color:var(--line-strong);
}

/* Lignes de totaux */
.rows{ display:flex; flex-direction:column; gap:9px; }
.row{ display:flex; justify-content:space-between; gap:12px; font-size:13.5px; color:var(--text-dim); }
.row.total{ font-size:19px; color:var(--text); font-family:'Sora'; font-weight:700; padding-top:12px; border-top:1px solid var(--line); }
.row .disc{ color:var(--green); }

/* Modales */
.modal{
  position:fixed; top:50%; left:50%; transform:translate(-50%,-46%) scale(.97); z-index:970;
  width:min(940px,calc(100% - 32px)); max-height:88vh; border-radius:var(--r-xl);
  background:linear-gradient(165deg,#101420,#08090E); border:1px solid var(--line-strong);
  box-shadow:0 40px 120px -30px rgba(0,0,0,.95); overflow:hidden;
  opacity:0; visibility:hidden; transition:opacity .35s var(--ease), transform .35s var(--ease), visibility .35s;
  display:flex; flex-direction:column;
}
.modal.open{ opacity:1; visibility:visible; transform:translate(-50%,-50%) scale(1); }
.modal--sm{ width:min(580px,calc(100% - 32px)); }
.modal__scroll{ overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; }

/* Fiche produit */
.pv{ display:grid; grid-template-columns:1.15fr 1fr; }
.pv__media{ position:relative; min-height:320px; background:#0A0C12; overflow:hidden; }
.pv__media::after{ content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(9,11,16,.55), transparent 50%); pointer-events:none; }
.pv__media--playing{ background:#000; display:grid; place-items:center; }
.pv__media--playing::after{ display:none; }
.media__video{ width:100%; height:100%; min-height:320px; border:0; background:#000; object-fit:contain; }

.pv__play{
  position:absolute; left:50%; bottom:20px; transform:translateX(-50%); z-index:4;
  display:inline-flex; align-items:center; gap:9px; height:42px; padding:0 20px; border-radius:12px;
  background:rgba(6,7,10,.78); border:1px solid var(--line-strong); color:var(--text);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  font-weight:600; font-size:14px; transition:.25s var(--ease); white-space:nowrap;
}
.pv__play:hover{ background:var(--grad); color:#08090C; border-color:transparent; transform:translateX(-50%) translateY(-2px); }
.pv__play svg{ width:16px; height:16px; }
.pv__play--close{ bottom:14px; }
.pv__soon{
  position:absolute; left:50%; bottom:20px; transform:translateX(-50%); z-index:4;
  display:inline-flex; align-items:center; gap:8px; padding:7px 14px; border-radius:10px;
  background:rgba(6,7,10,.7); border:1px solid var(--line); color:var(--text-faint);
  font-size:12.5px; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); white-space:nowrap;
}
.pv__soon svg{ width:14px; height:14px; }

.pv__side{ padding:32px 30px; display:flex; flex-direction:column; gap:16px; }
.pv__side h2{ font-size:25px; }
.pv__side .lead{ color:var(--text-dim); font-size:14.5px; }
.pv__h{ font-size:12px; text-transform:uppercase; letter-spacing:.12em; color:var(--text-faint); margin:0 0 12px; font-weight:600; }
.pv__feats{ display:flex; flex-direction:column; gap:9px; }
.pv__feats li{ display:flex; gap:10px; font-size:13.5px; color:var(--text-dim); align-items:flex-start; }
.pv__feats svg{ width:15px; height:15px; color:var(--green); flex-shrink:0; margin-top:3px; }
.pv__specs{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; }
.pv__specs div{ background:rgba(14,17,24,.9); padding:12px 14px; }
.pv__specs small{ display:block; font-size:10.5px; text-transform:uppercase; letter-spacing:.1em; color:var(--text-faint); font-family:'JetBrains Mono'; margin-bottom:3px; }
.pv__specs b{ font-size:13.5px; font-weight:600; }
.pv__buy{ margin-top:auto; display:flex; align-items:center; gap:14px; padding-top:18px; border-top:1px solid var(--line); flex-wrap:wrap; }
.pv__buy .btn{ margin-left:auto; }

/* ---------- Checkout ---------- */
.co{ padding:30px; }
.co__title{ font-size:23px; margin-bottom:22px; padding-right:40px; }
.co__h{ font-size:12px; text-transform:uppercase; letter-spacing:.12em; color:var(--text-faint); margin:0 0 12px; font-weight:600; }
.co__terms{ font-size:11.5px; color:var(--text-faint); text-align:center; margin:16px 0 14px; }

.co__steps{ display:flex; align-items:center; gap:10px; margin-bottom:24px; }
.co__step{ display:flex; align-items:center; gap:9px; font-size:13px; color:var(--text-faint); font-weight:600; }
.co__step i{ width:26px; height:26px; border-radius:9px; display:grid; place-items:center; border:1px solid var(--line-strong); font-family:'JetBrains Mono'; font-size:12px; font-style:normal; transition:.3s; flex-shrink:0; }
.co__step i svg{ width:13px; height:13px; }
.co__step.on{ color:var(--text); }
.co__step.on i{ background:var(--grad); color:#08090C; border-color:transparent; }
.co__step.done i{ background:rgba(52,229,160,.15); color:var(--green); border-color:rgba(52,229,160,.35); }
.co__line{ flex:1; height:1px; background:var(--line-strong); min-width:8px; }

.field{ margin-bottom:14px; }
.field label{ display:block; font-size:12.5px; color:var(--text-dim); margin-bottom:7px; font-weight:500; }
.field label span{ color:var(--pink); }
.field input, .field select{
  width:100%; height:46px; padding:0 14px; border-radius:12px; background:rgba(255,255,255,.04);
  border:1px solid var(--line); outline:none; font-size:16px; transition:.22s;
}
.field input::placeholder{ color:var(--text-faint); }
.field input:focus,.field select:focus{ border-color:rgba(124,92,255,.55); background:rgba(124,92,255,.06); box-shadow:0 0 0 4px rgba(124,92,255,.1); }
.field input.err{ border-color:var(--pink); box-shadow:0 0 0 4px rgba(255,77,141,.12); }
.hint{ font-size:11.5px; color:var(--text-faint); margin-top:6px; }
.hint--block{ margin:-4px 0 18px; }
.field-2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }

.pay-opts{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:18px; }
.pay-opt{
  padding:18px; border-radius:var(--r); border:1.5px solid var(--line); background:rgba(255,255,255,.025);
  text-align:left; transition:.25s var(--ease); position:relative;
}
.pay-opt:hover{ border-color:var(--line-strong); background:rgba(255,255,255,.05); }
.pay-opt.on{ border-color:var(--violet); background:rgba(124,92,255,.09); box-shadow:0 0 0 4px rgba(124,92,255,.1); }
.pay-opt{ display:flex; align-items:center; gap:11px; }
.pay-opt__logo{ width:26px; height:26px; flex:0 0 26px; display:block; }
.pay-opt__logo svg{ width:100%; height:100%; }
.pay-opt__logo--ico{ color:var(--violet-soft); }
.pay-opt b{ font-family:'Sora'; font-size:15px; }
.pay-opt .badge{ position:absolute; top:12px; right:12px; font-size:10px; font-family:'JetBrains Mono'; padding:3px 7px; border-radius:6px; background:rgba(52,229,160,.15); color:var(--green); font-weight:700; }

.coins{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.coin{ padding:9px 14px; border-radius:11px; border:1px solid var(--line); background:rgba(255,255,255,.03); font-size:13px; font-weight:600; display:flex; align-items:center; gap:8px; transition:.22s; }
.coin:hover{ border-color:var(--line-strong); }
.coin.on{ border-color:var(--violet); background:rgba(124,92,255,.1); }
.coin i{ width:22px; height:22px; border-radius:50%; display:grid; place-items:center; font-size:10px; font-weight:800; font-family:'Sora'; color:#08090C; font-style:normal; flex-shrink:0; }
.coin small{ color:var(--text-faint); font-family:'JetBrains Mono'; font-size:11px; }

.crypto-box{ border:1px solid var(--line); border-radius:var(--r); padding:20px; background:rgba(255,255,255,.02); }
.crypto-box--live{ border-color:rgba(124,92,255,.3); background:rgba(124,92,255,.04); }

.cw__head{ display:flex; align-items:center; gap:10px; padding-bottom:16px; margin-bottom:16px; border-bottom:1px solid var(--line); }
.cw__head b{ font-family:'Sora'; font-size:14px; font-weight:600; }
.cw__dot{ width:9px; height:9px; border-radius:50%; background:var(--amber); box-shadow:0 0 0 0 rgba(255,176,32,.7); animation:pulse2 2s infinite; flex-shrink:0; }
@keyframes pulse2{ 70%{ box-shadow:0 0 0 8px rgba(255,176,32,0) } 100%{ box-shadow:0 0 0 0 rgba(255,176,32,0) } }
.cw__head.is-seen .cw__dot{ background:var(--cyan); }
.cw__head.is-paid .cw__dot{ background:var(--green); animation:none; }
.cw__head.is-paid b{ color:var(--green); }
.cw__timer{ margin-left:auto; font-family:'JetBrains Mono'; font-size:13px; color:var(--text-faint); }
.cw__leave{ font-size:11.5px; color:var(--text-faint); text-align:center; margin-top:14px; line-height:1.6; }

.crypto-amt{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
.crypto-amt__lbl{ font-size:12.5px; color:var(--text-dim); }
.crypto-amt b{ font-family:'JetBrains Mono'; font-size:21px; font-weight:700; letter-spacing:-.02em; word-break:break-all; }
.crypto-amt small{ color:var(--text-faint); font-size:12.5px; }
.crypto-amt--big{ align-items:center; }
.crypto-amt--big b{ font-size:23px; }

.qr{ width:152px; height:152px; border-radius:14px; background:#fff; padding:10px; margin:0 auto 16px; display:grid; place-items:center; }
.qr img, .qr canvas{ width:100% !important; height:100% !important; }
.qr--none{ background:rgba(255,255,255,.05); color:var(--text-faint); font-family:'JetBrains Mono'; font-size:12px; }

.addr__lbl{ font-size:12px; color:var(--text-dim); margin-bottom:8px; }
.addr__lbl b{ color:var(--text); }
.addr{ display:flex; gap:8px; align-items:center; padding:12px 14px; border-radius:11px; background:rgba(0,0,0,.45); border:1px solid var(--line); }
.addr code{ font-family:'JetBrains Mono'; font-size:11.5px; word-break:break-all; flex:1; min-width:0; color:var(--cyan); }
.copy{ width:32px; height:32px; border-radius:8px; border:1px solid var(--line-strong); display:grid; place-items:center; flex-shrink:0; transition:.2s; }
.copy:hover{ background:rgba(255,255,255,.08); }
.copy svg{ width:14px; height:14px; }
.copy.ok{ background:rgba(52,229,160,.2); border-color:rgba(52,229,160,.4); color:var(--green); }
.copy--sm{ width:28px; height:28px; margin-left:auto; }

.notice{ display:flex; gap:11px; padding:14px; border-radius:12px; font-size:12.5px; line-height:1.6; margin-top:14px; }
.notice svg{ width:16px; height:16px; flex-shrink:0; margin-top:1px; }
.notice--info{ background:rgba(34,224,255,.07); border:1px solid rgba(34,224,255,.2); color:#A9E9F7; }
.notice--warn{ background:rgba(255,176,32,.07); border:1px solid rgba(255,176,32,.22); color:#F2D9A8; }



/* Succès */
.success{ text-align:center; padding:44px 30px calc(38px + env(safe-area-inset-bottom)); }
.success__ico{ width:74px; height:74px; border-radius:50%; margin:0 auto 22px; display:grid; place-items:center; background:rgba(52,229,160,.14); border:1px solid rgba(52,229,160,.35); color:var(--green); animation:pop .5s var(--ease); }
.success__ico svg{ width:32px; height:32px; }
.success h2{ font-size:25px; margin-bottom:12px; }
.success p{ color:var(--text-dim); font-size:14.5px; }
.success__p{ margin-top:8px; }
.success__mail{ color:var(--text); word-break:break-all; }
.order-id{ display:inline-block; font-family:'JetBrains Mono'; font-size:13px; padding:8px 14px; border-radius:10px; background:rgba(124,92,255,.1); border:1px solid rgba(124,92,255,.3); color:var(--violet-soft); margin:14px 0 20px; }
.success__help{ text-align:left; margin-top:20px; }
.success__btns{ display:flex; gap:10px; justify-content:center; margin-top:24px; flex-wrap:wrap; }

/* Toasts */
.toasts{ position:fixed; bottom:22px; right:22px; z-index:999; display:flex; flex-direction:column; gap:10px; pointer-events:none; }
.toast{
  display:flex; align-items:center; gap:11px; padding:13px 17px; border-radius:13px; font-size:13.5px; font-weight:500;
  background:rgba(16,19,27,.97); border:1px solid var(--line-strong);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  box-shadow:var(--shadow); animation:toastIn .4s var(--ease); max-width:330px;
}
.toast.out{ animation:toastOut .3s var(--ease) forwards; }
.toast svg{ width:17px; height:17px; flex-shrink:0; }
.toast--ok svg{ color:var(--green); }
.toast--err svg{ color:var(--pink); }
@keyframes toastIn{ from{ opacity:0; transform:translateX(40px) } }
@keyframes toastOut{ to{ opacity:0; transform:translateX(40px) } }

/* Apparition au scroll */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in{ opacity:1; transform:none; }

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width:1024px){
  .hero__grid{ grid-template-columns:1fr; gap:48px; }
  .code-card{ transform:none; }
  .code-badge--2{ left:0; }
  .feat-grid, .reviews{ grid-template-columns:repeat(2,1fr); }
  .steps{ grid-template-columns:repeat(2,1fr); gap:32px; }
  .steps::before{ display:none; }
  .footer__grid{ grid-template-columns:1fr 1fr; gap:34px; }
  .nav__links{ display:none; }
  .burger{ display:grid; }
  .pv{ grid-template-columns:1fr; }
  .pv__media{ min-height:0; aspect-ratio:16/9; }
  .media__video{ min-height:0; aspect-ratio:16/9; height:auto; }
  .pv__media--playing{ aspect-ratio:16/9; }
}

@media (max-width:680px){
  .section{ padding:70px 0; }
  .section--tight{ padding:60px 0; }
  .wrap{ padding-inline:18px; }
  .sec-head{ margin-bottom:32px; }

  .hero{ padding-top:calc(var(--nav-h) + 40px); padding-bottom:56px; }
  .hero h1{ font-size:clamp(31px,8.4vw,42px); }
  .hero__sub{ font-size:16px; margin-bottom:28px; }
  .hero__cta{ gap:10px; }
  .hero__cta .btn{ flex:1 1 100%; }
  .code-badge--1{ top:-14px; right:0; font-size:11.5px; padding:7px 11px; }
  .code-badge--2{ bottom:-16px; left:0; font-size:11.5px; padding:7px 11px; }
  .code-card pre{ font-size:11px; padding:16px 14px; }

  .stats{ grid-template-columns:1fr 1fr; }
  .stat{ padding:22px 14px; }

  .feat-grid, .reviews, .steps, .footer__grid, .grid{ grid-template-columns:1fr; }
  .feat{ padding:24px 22px; }
  .cta{ padding:44px 20px; }

  .shop__bar{ gap:12px; }
  .shop__tools{ width:100%; margin-left:0; }
  .search{ flex:1; min-width:0; }
  .filters{ width:100%; overflow-x:auto; flex-wrap:nowrap; padding-bottom:4px; scrollbar-width:none; }
  .filters::-webkit-scrollbar{ display:none; }

  .card__preview{ opacity:1; transform:none; }

  /* Modales : feuille depuis le bas */
  .modal{
    top:auto; bottom:0; left:0; right:auto;
    width:100%; max-width:none; max-height:92vh;
    transform:translateY(100%); border-radius:24px 24px 0 0;
    border-left:0; border-right:0; border-bottom:0;
  }
  .modal.open{ transform:translateY(0); }
  .modal--sm{ width:100%; max-width:none; }
  .modal::before{
    content:''; position:absolute; top:9px; left:50%; transform:translateX(-50%);
    width:38px; height:4px; border-radius:4px; background:rgba(255,255,255,.18); z-index:7;
  }
  .x-btn--float{ top:18px; right:14px; }

  .co{ padding:26px 18px calc(24px + env(safe-area-inset-bottom)); }
  .co__title{ font-size:20px; margin-top:6px; }
  .co__step span{ display:none; }
  .co__steps{ gap:8px; }
  .pay-opts{ grid-template-columns:1fr; }
  .field-2{ grid-template-columns:1fr; }
  .crypto-box{ padding:16px; }
  .crypto-amt--big b{ font-size:20px; }
  .qr{ width:140px; height:140px; }
  .addr code{ font-size:10.5px; }

  .pv__side{ padding:24px 20px calc(24px + env(safe-area-inset-bottom)); }
  .pv__side h2{ font-size:21px; }
  .pv__buy .btn{ margin-left:0; width:100%; }
  .pv__specs{ grid-template-columns:1fr 1fr; }

  .success{ padding:36px 20px calc(32px + env(safe-area-inset-bottom)); }
  .success__btns .btn{ flex:1 1 100%; }

  /* En bas, les toasts masqueraient le bouton de paiement : on les remonte. */
  .toasts{ left:14px; right:14px; bottom:auto; top:calc(var(--nav-h) + 8px); }
  .toast{ max-width:none; }

  .footer{ padding-top:52px; }
  .footer__bot{ flex-direction:column; align-items:flex-start; gap:14px; }
}

@media (max-width:560px){
  .shop__tools{ flex-wrap:wrap; }
  .search{ flex:1 1 100%; }
  .sort{ flex:1 1 100%; }
  .nav__discord span{ display:none; }
  .nav__discord{ padding:0 12px; }
  .nav__inner{ gap:12px; padding-inline:18px; }
  .nav__actions{ gap:8px; }
  .logo span{ font-size:16px; }
}

@media (max-width:380px){
  .nav__discord{ display:none; }
  .lang button{ padding:5px 7px; }
}

@media (hover:none){
  .card:hover{ transform:none; box-shadow:none; border-color:var(--line); }
  .card:hover .art{ transform:none; }
  .feat:hover, .review:hover{ transform:none; }
  .btn:hover{ transform:none; }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  html{ scroll-behavior:auto; }
}

/* Monnaie non configurée */
.coin--off{ opacity:.4; cursor:not-allowed; filter:grayscale(1); }
.coin--off:hover{ border-color:var(--line); }

/* ============================================================
   Produits gratuits
   ============================================================ */
.tag--free{ background:rgba(52,229,160,.18); color:var(--green); border:1px solid rgba(52,229,160,.35); }
.chip--free.on{ background:linear-gradient(120deg,#34E5A0,#B4FF3A); }
.chip--free:not(.on){ color:var(--green); border-color:rgba(52,229,160,.3); }

.card--free:hover{ border-color:rgba(52,229,160,.45); box-shadow:0 0 0 1px rgba(52,229,160,.25), 0 20px 70px -25px rgba(52,229,160,.5); }
.price--free{ background:linear-gradient(120deg,#34E5A0,#B4FF3A); -webkit-background-clip:text; background-clip:text; color:transparent; font-size:20px; }

.add-btn--free{ background:linear-gradient(120deg,#34E5A0,#B4FF3A); box-shadow:0 8px 22px -10px rgba(52,229,160,.9); }
.add-btn--free:hover{ transform:scale(1.08); }
.add-btn.is-busy{ opacity:.6; pointer-events:none; }

/* ============================================================
   Avis — avatars Discord et étoiles partielles
   ============================================================ */
.review__av{ position:relative; overflow:hidden; }
.review__av--img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.stars--off{ color:rgba(255,255,255,.16); }

/* ============================================================
   Commande par ticket Discord
   ============================================================ */
.success__ico--tk{ background:rgba(88,101,242,.16); border-color:rgba(88,101,242,.4); color:#8A94FF; }

.tk{ text-align:left; max-width:440px; margin:24px auto 4px; display:flex; flex-direction:column; gap:16px; }
.tk__step{ display:flex; gap:13px; align-items:flex-start; }
.tk__step i{
  width:26px; height:26px; flex-shrink:0; border-radius:9px; display:grid; place-items:center;
  background:rgba(88,101,242,.16); border:1px solid rgba(88,101,242,.35); color:#A8B0FF;
  font-family:'JetBrains Mono'; font-size:12.5px; font-weight:700; font-style:normal; margin-top:1px;
}
.tk__step > div{ flex:1; min-width:0; }
.tk__step span{ font-size:14px; color:var(--text-dim); line-height:1.6; }
.order-id--tk{ display:inline-flex; align-items:center; gap:8px; margin:10px 0 0; font-size:14px; }

/* Logo remplaçable */
.logo__mark--img{ background:none !important; box-shadow:none !important; overflow:hidden; }
.logo__mark--img img{ width:100%; height:100%; object-fit:contain; }

/* ============================================================
   Paiement carte / PayPal — articles sur la plateforme externe
   ============================================================ */
.sa{ display:flex; flex-direction:column; gap:9px; margin:14px 0 0; }
.sa__row{
  display:flex; align-items:center; gap:12px; padding:10px 12px; border-radius:var(--r);
  border:1px solid var(--line); background:rgba(255,255,255,.025); transition:border-color .2s;
}
.sa__row:hover{ border-color:var(--line-strong); }
.sa__row--off{ opacity:.55; }
.sa__art{ width:52px; height:36px; border-radius:8px; overflow:hidden; position:relative; flex-shrink:0; background:#0B0D13; }
.sa__info{ flex:1; min-width:0; }
.sa__info b{ display:block; font-size:13.5px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sa__info small{ color:var(--text-faint); font-size:12px; font-family:'JetBrains Mono'; }
.sa__row .btn{ flex-shrink:0; }

.sa__shop{
  display:inline-flex; align-items:center; gap:7px; margin-top:14px;
  font-size:12.5px; color:var(--text-faint); transition:color .2s;
}
.sa__shop:hover{ color:var(--violet-soft); }
.sa__shop svg{ width:13px; height:13px; }

@media (max-width:680px){
  .sa__row{ flex-wrap:wrap; }
  .sa__row .btn{ width:100%; }
}

/* ============================================================
   Achat d'un article — récapitulatif
   ============================================================ */
.co__prod{
  display:flex; align-items:center; gap:13px; padding:12px; margin-bottom:20px;
  border-radius:var(--r); border:1px solid var(--line); background:rgba(255,255,255,.025);
}
.co__prod-art{ width:64px; height:44px; border-radius:9px; overflow:hidden; position:relative; flex-shrink:0; background:#0B0D13; }
.co__prod-info{ flex:1; min-width:0; }
.co__prod-info b{ display:block; font-size:14px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.co__prod-info small{ display:block; color:var(--text-faint); font-size:11.5px; font-family:'JetBrains Mono'; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.co__prod-price{ font-family:'Sora'; font-weight:700; font-size:17px; white-space:nowrap; }
.co__rows{ margin:-8px 0 20px; }

/* Méthode de paiement : carte compacte, sans texte descriptif */
.pay-opt b{ font-family:'Sora'; font-size:15px; }
.pay-opt .badge{ top:9px; right:9px; }
