/* ===== vLiteRP — Boutique (hub, Coins, VIP) ===== */
.shopHead{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.shopWho{display:flex;align-items:center;gap:.8rem;padding:.7rem 1rem;border-radius:var(--radius);border:1px solid rgba(1,230,118,.25);background:rgba(1,230,118,.06)}
.shopWho .n{font-family:var(--font-head);font-weight:700;color:#fff;line-height:1.1}
.shopWho .m{font-size:.78rem;color:var(--muted)}
.shopWho form{margin:0}
.lockWrap{position:relative;min-height:520px}
.locked{filter:blur(7px) saturate(.6);opacity:.5;pointer-events:none;user-select:none}
.lockOverlay{position:absolute;inset:-.6rem 0 0 0;z-index:5;display:flex;align-items:flex-start;justify-content:center;padding:0 1rem}
.lockCard{position:sticky;top:calc(var(--nav-h) + 10px);width:min(560px,100%);padding:1.5rem 1.4rem;border-radius:var(--radius);border:1px solid rgba(1,230,118,.3);background:rgba(8,10,20,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 70px rgba(1,230,118,.14)}
.lockCard:before{content:"";position:absolute;top:.8rem;left:.8rem;width:18px;height:18px;border-top:1px solid rgba(1,230,118,.5);border-left:1px solid rgba(1,230,118,.5)}
.lockCard:after{content:"";position:absolute;bottom:.8rem;right:.8rem;width:18px;height:18px;border-bottom:1px solid rgba(1,230,118,.5);border-right:1px solid rgba(1,230,118,.5)}
.lockCard h2{font-size:1.4rem;text-transform:uppercase;letter-spacing:.04em;text-align:center}
.lockCard .sub{text-align:center;margin:.6rem auto 1.2rem;max-width:46ch}
.lockOpt{padding:1rem;border-radius:6px;border:1px solid var(--line-soft);background:rgba(255,255,255,.03)}
.lockOpt+.lockOpt{margin-top:.8rem}
.lockOpt .k{font-family:var(--font-head);font-size:.62rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(1,230,118,.75);margin-bottom:.5rem}
.lockOpt .row{display:flex;gap:.5rem;flex-wrap:wrap}
.lockOpt .row input{flex:1 1 160px}
.lockOr{text-align:center;font-family:var(--font-head);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);margin:.6rem 0}
.btn.off{opacity:.45;pointer-events:none}

/* --- Hub --- */
.hubGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.hubCard{position:relative;display:flex;flex-direction:column;gap:.6rem;min-height:260px;padding:1.6rem 1.5rem;border-radius:var(--radius);border:1px solid var(--line-soft);background:var(--bg-card);overflow:hidden;transition:transform .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease)}
.hubCard:hover{transform:translateY(-4px);border-color:rgba(1,230,118,.45);box-shadow:0 18px 50px rgba(0,0,0,.5),0 0 40px rgba(1,230,118,.12)}
.hubCard .big{font-family:var(--font-head);font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1;color:#fff}
.hubCard .big span{color:var(--neon);text-shadow:0 0 24px rgba(1,230,118,.35)}
.hubCard .desc{color:var(--muted);line-height:1.6;max-width:40ch}
.hubCard .cta{margin-top:auto;display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-head);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;color:var(--neon)}
.hubCard .bgIcon{position:absolute;right:-1rem;bottom:-1.4rem;font-family:var(--font-head);font-size:9rem;font-weight:700;color:transparent;-webkit-text-stroke:1px rgba(1,230,118,.14);line-height:1;pointer-events:none}
.hubCard.vip{border-color:rgba(255,196,84,.25)}
.hubCard.vip:hover{border-color:rgba(255,196,84,.55);box-shadow:0 18px 50px rgba(0,0,0,.5),0 0 40px rgba(255,196,84,.14)}
.hubCard.vip .big span{color:#ffc454;text-shadow:0 0 24px rgba(255,196,84,.35)}
.hubCard.vip .cta{color:#ffc454}
.hubCard.vip .bgIcon{-webkit-text-stroke:1px rgba(255,196,84,.16)}

/* --- Coins --- */
.coinGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:1.2rem}
.coin{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;padding:1.5rem 1.1rem 1.2rem;border-radius:var(--radius);border:1px solid var(--line-soft);background:var(--bg-card);overflow:hidden;transition:transform .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease)}
.coin:hover{transform:translateY(-3px);border-color:rgba(1,230,118,.4);box-shadow:0 14px 40px rgba(0,0,0,.45),0 0 30px rgba(1,230,118,.10)}
.coin.featured{border-color:rgba(1,230,118,.55);box-shadow:0 0 0 1px rgba(1,230,118,.15),0 0 40px rgba(1,230,118,.18)}
.coin .img{width:110px;height:110px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,rgba(1,230,118,.35),rgba(1,230,118,.05) 60%,transparent 70%);box-shadow:0 0 34px rgba(1,230,118,.18)}
.coin .img img{width:100%;height:100%;object-fit:contain}
.coin .img .ph{font-family:var(--font-head);font-size:2.2rem;font-weight:700;color:var(--neon);text-shadow:0 0 20px rgba(1,230,118,.4)}
.coin .amount{font-family:var(--font-head);font-size:1.7rem;font-weight:700;color:#fff;line-height:1}
.coin .amount small{display:block;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--neon);margin-top:.3rem}
.coin .desc{font-size:.82rem;color:var(--muted);line-height:1.5;min-height:1.2em}
.coin .eur{font-family:var(--font-head);font-size:1.5rem;font-weight:700;color:var(--neon);text-shadow:0 0 16px rgba(1,230,118,.3)}
.coin .bonus{position:absolute;top:.7rem;right:.7rem}
.coin form,.coin .btn{width:100%}

/* --- VIP --- */
.vipHero{position:relative;overflow:hidden;padding:2.4rem 1.8rem;border-radius:var(--radius);border:1px solid rgba(255,196,84,.25);background:radial-gradient(900px 400px at 15% 0%,rgba(255,196,84,.14),transparent 60%),radial-gradient(700px 300px at 90% 100%,rgba(1,230,118,.10),transparent 60%),var(--bg-card)}
.vipHero .kicker{color:#ffc454}
.vipHero h1 .g{color:#ffc454;text-shadow:0 0 30px rgba(255,196,84,.4)}
.vipTiers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:1.6rem;align-items:stretch}
.tier{position:relative;display:flex;flex-direction:column;gap:.8rem;padding:2rem 1.5rem 1.6rem;border-radius:12px;border:1px solid var(--line-soft);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01)),var(--bg-card);overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.tier:hover{transform:translateY(-5px)}
.tier:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--tier)}
.tier .crown{width:64px;height:64px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;background:color-mix(in srgb,var(--tier) 16%,transparent);border:1px solid color-mix(in srgb,var(--tier) 45%,transparent);box-shadow:0 0 30px color-mix(in srgb,var(--tier) 30%,transparent)}
.tier .img{width:100%;aspect-ratio:16/9;border-radius:8px;overflow:hidden;border:1px solid color-mix(in srgb,var(--tier) 30%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--tier) 18%,transparent),transparent 70%)}
.tier .img img{width:100%;height:100%;object-fit:cover;display:block}
.tier .name{font-family:var(--font-head);font-size:1.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1;color:#fff}
.tier .name span{color:var(--tier);text-shadow:0 0 22px color-mix(in srgb,var(--tier) 50%,transparent)}
.tier .tag{font-family:var(--font-head);font-size:.64rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--tier)}
.tier .price{display:flex;align-items:baseline;gap:.4rem;margin-top:.2rem}
.tier .price .eur{font-family:var(--font-head);font-size:2.3rem;font-weight:700;color:#fff;line-height:1}
.tier .price .per{font-size:.78rem;color:var(--muted)}
.tier .perks{list-style:none;margin:.3rem 0 0;padding:0;display:flex;flex-direction:column;gap:.45rem;flex:1}
.tier .perks li{display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;line-height:1.5;color:rgba(255,255,255,.82)}
.tier .perks li:before{content:"✔";flex-shrink:0;width:18px;height:18px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;color:#04120a;background:var(--tier);margin-top:.15rem}
.tier .empty{font-size:.85rem;color:var(--muted);font-style:italic}
.tier form{margin-top:.4rem}
.tier .btn{width:100%;justify-content:center;border-color:color-mix(in srgb,var(--tier) 45%,transparent);background:color-mix(in srgb,var(--tier) 16%,transparent)}
.tier .btn:hover{background:color-mix(in srgb,var(--tier) 28%,transparent);box-shadow:0 0 24px color-mix(in srgb,var(--tier) 30%,transparent)}
.tier.gold{--tier:#ffc454}
.tier.diamond{--tier:#7dd4fc}
.tier.platinium{--tier:#01E676}
.tier.other{--tier:#01E676}
.tier.featured{transform:scale(1.03);border-color:color-mix(in srgb,var(--tier) 55%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--tier) 25%,transparent),0 30px 70px rgba(0,0,0,.55),0 0 60px color-mix(in srgb,var(--tier) 22%,transparent);z-index:1}
.tier.featured:hover{transform:scale(1.03) translateY(-5px)}
.tier .ribbon{position:absolute;top:1rem;right:-2.4rem;transform:rotate(45deg);padding:.3rem 3rem;font-family:var(--font-head);font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#04120a;background:var(--tier)}
.vipNote{margin-top:1.4rem;display:flex;gap:1rem;flex-wrap:wrap}
.vipNote .pill{flex:1 1 200px;justify-content:center}
@media (max-width:1000px){.vipTiers{grid-template-columns:1fr}.tier.featured{transform:none}.tier.featured:hover{transform:translateY(-5px)}.hubGrid{grid-template-columns:1fr}}
@media (max-width:640px){.lockCard{padding:1.4rem 1rem}}

/* --- Onglets COINS / VIP en haut des pages boutique --- */
.shopTabs{display:flex;gap:.6rem;margin:16px 0 0;flex-wrap:wrap}
.shopTab{flex:1 1 200px;display:flex;align-items:center;justify-content:center;gap:.6rem;padding:1rem 1.2rem;border-radius:var(--radius);border:1px solid var(--line-soft);background:var(--bg-card);font-family:var(--font-head);font-size:1.05rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);transition:.25s var(--ease)}
.shopTab:hover{color:#fff;border-color:rgba(1,230,118,.4)}
.shopTab.active{color:#fff;border-color:rgba(1,230,118,.55);background:rgba(1,230,118,.10);box-shadow:0 0 0 1px rgba(1,230,118,.15),0 0 30px rgba(1,230,118,.14)}
.shopTab.vip.active{border-color:rgba(255,196,84,.6);background:rgba(255,196,84,.10);box-shadow:0 0 0 1px rgba(255,196,84,.18),0 0 30px rgba(255,196,84,.14)}
.shopTab i{font-style:normal;font-size:1.1rem}

/* --- Brillance des cartes (packs, grades, hub) --- */
.coin,.tier,.hubCard{
  background:linear-gradient(160deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,.035) 45%,rgba(1,230,118,.06) 100%),var(--bg-card);
  border-color:rgba(1,230,118,.28);
  box-shadow:0 0 0 1px rgba(1,230,118,.06),0 18px 40px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.14);
}
.coin:after,.tier:after,.hubCard:after{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.14) 45%,rgba(255,255,255,.04) 52%,transparent 62%);
  transform:translateX(-120%);opacity:0;transition:opacity .3s var(--ease);
}
.coin:hover:after,.tier:hover:after,.hubCard:hover:after{opacity:1;animation:shopSheen 1.1s var(--ease) forwards}
@keyframes shopSheen{from{transform:translateX(-120%)}to{transform:translateX(120%)}}
.coin .img{box-shadow:0 0 40px rgba(1,230,118,.28),inset 0 0 20px rgba(1,230,118,.15)}
.coin .amount{text-shadow:0 0 18px rgba(255,255,255,.18)}
.coin.featured,.tier.featured{box-shadow:0 0 0 1px rgba(1,230,118,.28),0 22px 50px rgba(0,0,0,.5),0 0 50px rgba(1,230,118,.22),inset 0 1px 0 rgba(255,255,255,.18)}
.tier{background:linear-gradient(160deg,color-mix(in srgb,var(--tier) 16%,transparent) 0%,rgba(255,255,255,.04) 40%,rgba(255,255,255,.02) 100%),var(--bg-card);border-color:color-mix(in srgb,var(--tier) 40%,transparent)}
.tier.featured{box-shadow:0 0 0 1px color-mix(in srgb,var(--tier) 35%,transparent),0 30px 70px rgba(0,0,0,.55),0 0 70px color-mix(in srgb,var(--tier) 30%,transparent),inset 0 1px 0 rgba(255,255,255,.18)}
.tier .name span{text-shadow:0 0 26px color-mix(in srgb,var(--tier) 65%,transparent)}
.tier .price .eur{text-shadow:0 0 18px rgba(255,255,255,.2)}
.hubCard.vip{background:linear-gradient(160deg,rgba(255,196,84,.14) 0%,rgba(255,255,255,.035) 45%,rgba(255,196,84,.05) 100%),var(--bg-card);border-color:rgba(255,196,84,.35)}
.hubCard .big{text-shadow:0 0 20px rgba(255,255,255,.12)}
@media (prefers-reduced-motion:reduce){.coin:hover:after,.tier:hover:after,.hubCard:hover:after{animation:none}}

/* --- Icônes des catégories et des packs --- */
.shopTab i{display:inline-flex;width:26px;height:26px;color:var(--neon)}
.shopTab.vip i{color:#ffc454}
.shopTab i svg{width:100%;height:100%}
.hubIcon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--neon);border:1px solid rgba(1,230,118,.35);background:rgba(1,230,118,.10);box-shadow:0 0 26px rgba(1,230,118,.22)}
.hubIcon svg{width:30px;height:30px}
.hubCard.vip .hubIcon{color:#ffc454;border-color:rgba(255,196,84,.4);background:rgba(255,196,84,.10);box-shadow:0 0 26px rgba(255,196,84,.22)}
.coin .img .ph{display:inline-flex;width:64px;height:64px;color:var(--neon);filter:drop-shadow(0 0 14px rgba(1,230,118,.5))}
.coin .img .ph svg{width:100%;height:100%}
.coin .title{font-family:var(--font-head);font-size:1.05rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff}

/* carte d'identification plus compacte et plus haute */
.lockCard h2{font-size:1.25rem}
.lockCard .sub{margin:.4rem auto .9rem;font-size:.9rem}
.lockOpt{padding:.8rem}
.lockOpt+.lockOpt{margin-top:.6rem}
.lockOr{margin:.45rem 0}
.shopTabs{margin-top:12px}
.lockWrap{margin-top:12px}

/* --- Brillance des onglets de catégories --- */
.shopTab{
  position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(160deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.04) 45%,rgba(1,230,118,.10) 100%),var(--bg-card);
  border-color:rgba(1,230,118,.38);
  box-shadow:0 0 0 1px rgba(1,230,118,.08),0 12px 30px rgba(0,0,0,.4),0 0 26px rgba(1,230,118,.14),inset 0 1px 0 rgba(255,255,255,.18);
  text-shadow:0 0 14px rgba(255,255,255,.18);
}
.shopTab:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.22) 48%,rgba(255,255,255,.06) 54%,transparent 65%);
  transform:translateX(-130%);animation:tabSheen 3.2s var(--ease) infinite;
}
.shopTab.vip:before{animation-delay:1.6s}
@keyframes tabSheen{0%{transform:translateX(-130%)}55%{transform:translateX(130%)}100%{transform:translateX(130%)}}
.shopTab:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(1,230,118,.18),0 16px 36px rgba(0,0,0,.45),0 0 38px rgba(1,230,118,.24),inset 0 1px 0 rgba(255,255,255,.22)}
.shopTab.active{border-color:rgba(1,230,118,.7);background:linear-gradient(160deg,rgba(1,230,118,.28) 0%,rgba(1,230,118,.10) 50%,rgba(255,255,255,.04) 100%),var(--bg-card);box-shadow:0 0 0 1px rgba(1,230,118,.25),0 14px 34px rgba(0,0,0,.45),0 0 44px rgba(1,230,118,.3),inset 0 1px 0 rgba(255,255,255,.25)}
.shopTab.vip{
  background:linear-gradient(160deg,rgba(255,196,84,.18) 0%,rgba(255,255,255,.04) 45%,rgba(255,196,84,.08) 100%),var(--bg-card);
  border-color:rgba(255,196,84,.45);
  box-shadow:0 0 0 1px rgba(255,196,84,.10),0 12px 30px rgba(0,0,0,.4),0 0 26px rgba(255,196,84,.16),inset 0 1px 0 rgba(255,255,255,.18);
}
.shopTab.vip:hover{box-shadow:0 0 0 1px rgba(255,196,84,.2),0 16px 36px rgba(0,0,0,.45),0 0 38px rgba(255,196,84,.26),inset 0 1px 0 rgba(255,255,255,.22)}
.shopTab.vip.active{border-color:rgba(255,196,84,.75);background:linear-gradient(160deg,rgba(255,196,84,.32) 0%,rgba(255,196,84,.12) 50%,rgba(255,255,255,.04) 100%),var(--bg-card);box-shadow:0 0 0 1px rgba(255,196,84,.28),0 14px 34px rgba(0,0,0,.45),0 0 44px rgba(255,196,84,.32),inset 0 1px 0 rgba(255,255,255,.25)}
.shopTab i{filter:drop-shadow(0 0 8px currentColor)}
@media (prefers-reduced-motion:reduce){.shopTab:before{animation:none}}

/* icône Discord du bouton de connexion (taille fixe) */
.lockCard .btn svg,.lockOpt .btn svg{width:18px;height:18px;flex-shrink:0}
