*,*::before,*::after{box-sizing:border-box}
/* ═══════════════════════════════════════════════════
   L2GAMERS.CL — SHARED.CSS
   Variables, reset, cursor, navbar, footer, utilidades
═══════════════════════════════════════════════════ */


/* ─── VARIABLES ─────────────────────────────────── */
/* ── TEMA: Fuego Vivo ────────────────────────────── */
[data-theme="fire"] {
  --c0:#0d0500; --c1:#1a0800; --c2:#2a1000; --c3:#3a1800;
  --fire1:#c03000; --fire2:#ff6a00; --fire3:#ff9040; --fire4:#ffb040;
  --gold1:#e08000; --gold2:#ffaa00; --gold3:#ffcc30; --gold4:#ffe880;
  --tx1:#fff8f0; --tx2:#ffc880; --tx3:#ff9040; --tx4:#cc5010;
  --bf:rgba(255,106,0,.28); --bf2:rgba(255,106,0,.45);
  --green:#4ade80; --nav-h:64px;
}

/* ─── RESET ─────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--c0);color:var(--tx1);
  font-family:'Exo 2',sans-serif;
  overflow-x:hidden;min-height:100vh;
}
a{color:var(--fire3);text-decoration:none}
a:hover{color:var(--gold3)}
img{max-width:100%;display:block}
button{cursor:pointer;font-family:inherit;border:none;background:none}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--c0)}
::-webkit-scrollbar-thumb{background:var(--fire2);border-radius:2px}
::selection{background:color-mix(in srgb,var(--fire2) 40%,transparent);color:var(--gold3)}

/* ─── CURSOR ─────────────────────────────────────── */

/* ─── BG PARTICLES CANVAS ─────────────────────────── */
#bg-cvs{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.55}

/* ─── NAVBAR ─────────────────────────────────────── */
#l2-nav{
  position:fixed;top:0;left:0;right:0;z-index:9999;isolation:isolate;
  height:var(--nav-h);
  padding:0 clamp(1rem,4vw,3rem);
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:transparent;border-bottom:1px solid transparent;
  transition:background .4s,border-color .4s,backdrop-filter .4s,box-shadow .4s;
}
#l2-nav.sc{
  background:rgba(3,2,1,.55);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-bottom-color:var(--bf);
  box-shadow:0 1px 30px color-mix(in srgb,var(--fire2) 10%,transparent);
}
[data-page="info"] #l2-nav.sc{
  background:rgba(3,2,1,.35);
}

/* Logo */
.l2-logo{display:flex;align-items:center;gap:9px;text-decoration:none;flex-shrink:0}
.l2-logo img{
  height:40px;width:40px;object-fit:contain;
  filter:drop-shadow(0 0 4px color-mix(in srgb,var(--fire2) 40%,transparent));
  transition:filter .3s;
}
.l2-logo:hover img{filter:drop-shadow(0 0 14px color-mix(in srgb,var(--gold3) 90%,transparent))}

.l2-logo-wm{line-height:1.15}
.l2-logo-wm .wm-l2{
  font-family:'Cinzel',serif;font-size:8px;font-weight:900;
  letter-spacing:2px;display:block;
  background:linear-gradient(135deg,var(--gold2),var(--gold4));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.l2-logo-wm .wm-g{
  font-family:'Cinzel',serif;font-size:17px;font-weight:900;
  letter-spacing:1.5px;display:block;
  background:linear-gradient(135deg,var(--tx1),var(--tx2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}

/* Links desktop */
.l2-nav-links{
  display:flex;list-style:none;align-items:center;
  flex:1;justify-content:center;
}
.l2-nav-links a{
  color:var(--tx4);font-size:11px;font-weight:700;
  letter-spacing:1.2px;padding:8px 13px;
  transition:color .2s;text-transform:uppercase;
  position:relative;border-radius:3px;white-space:nowrap;
}
.l2-nav-links a::after{
  content:'';position:absolute;bottom:3px;left:13px;right:13px;
  height:1px;background:var(--gold3);
  transform:scaleX(0);transition:transform .22s;transform-origin:center;
}
.l2-nav-links a:hover,
.l2-nav-links a.active{color:var(--gold3)}
.l2-nav-links a:hover::after,
.l2-nav-links a.active::after{transform:scaleX(1)}

/* Nav right */
.l2-nav-right{display:flex;gap:8px;align-items:center;flex-shrink:0}

/* Dropdown idiomas */
.lang-dd{position:relative}
/* ── Selector de Servidor ── */
.srv-dd{position:relative}
.srv-btn{
  display:flex;align-items:center;gap:5px;
  padding:5px 11px;
  border:1px solid var(--fire2);border-radius:4px;
  color:var(--fire3);font-family:'Exo 2',sans-serif;
  font-size:11px;font-weight:700;letter-spacing:1px;
  cursor:pointer;transition:all .2s;background:color-mix(in srgb,var(--fire2) 8%,transparent);
  text-transform:uppercase;
}
.srv-btn:hover{background:color-mix(in srgb,var(--fire2) 18%,transparent);border-color:var(--fire3);}
.srv-btn svg{transition:transform .2s;}
.srv-dd.open .srv-btn svg:last-child{transform:rotate(180deg);}
.srv-menu{
  display:none;position:absolute;top:calc(100% + 6px);left:0;
  background:rgba(8,5,2,.97);border:1px solid var(--bf);border-radius:5px;
  min-width:120px;overflow:hidden;
  box-shadow:0 8px 24px rgba(0,0,0,.5);z-index:999;
}
.srv-dd.open .srv-menu{display:block;}
.srv-option{
  display:flex;align-items:center;gap:9px;
  padding:9px 14px;font-size:12px;font-weight:700;
  color:var(--tx3);cursor:pointer;transition:all .18s;
  white-space:nowrap;letter-spacing:1px;text-transform:uppercase;
}
.srv-option:hover{background:color-mix(in srgb,var(--fire2) 10%,transparent);color:var(--gold3);}
.srv-option.sel{color:var(--fire3);background:color-mix(in srgb,var(--fire2) 8%,transparent);}
.srv-dot-online{width:7px;height:7px;border-radius:50%;background:#4ade80;flex-shrink:0;}

.lang-btn{
  display:flex;align-items:center;gap:5px;
  padding:5px 11px;
  border:1px solid var(--bf);border-radius:4px;
  color:var(--tx3);font-family:'Exo 2',sans-serif;
  font-size:11px;font-weight:700;letter-spacing:1px;
  cursor:pointer;transition:all .2s;background:transparent;
  text-transform:uppercase;
}

.lang-dd:hover .lang-btn,
.lang-dd.open .lang-btn{border-color:var(--fire2);color:var(--fire3)}
.lang-dd.open .lang-btn svg{transform:rotate(180deg)}
.lang-menu{
  display:none;position:absolute;top:calc(100% + 6px);right:0;
  background:rgba(8,5,2,.97);border:1px solid var(--bf);border-radius:5px;
  min-width:110px;overflow:hidden;
  box-shadow:0 8px 24px rgba(0,0,0,.5);
}
.lang-dd.open .lang-menu{display:block}
.lang-option{
  display:flex;align-items:center;gap:9px;
  padding:9px 14px;font-size:12px;font-weight:600;
  color:var(--tx3);cursor:pointer;transition:all .18s;
  white-space:nowrap;letter-spacing:.5px;
}
.lang-option:hover{background:color-mix(in srgb,var(--fire2) 10%,transparent);color:var(--gold3)}
.lang-option.sel{color:var(--gold3);background:color-mix(in srgb,var(--fire2) 8%,transparent)}
.lang-option .flag{font-size:14px}

.btn-cta{
  padding:7px 18px;
  background:linear-gradient(135deg,var(--fire1),var(--fire3));
  border:none;color:#fff;font-family:'Exo 2',sans-serif;
  font-size:11px;font-weight:700;cursor:pointer;border-radius:4px;
  transition:all .22s;letter-spacing:1px;text-transform:uppercase;
  position:relative;overflow:hidden;white-space:nowrap;
}
.btn-cta::before{
  content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);
  transition:left .4s;
}
.btn-cta:hover::before{left:100%}
.btn-cta:hover{box-shadow:0 4px 18px color-mix(in srgb,var(--fire2) 55%,transparent)}

/* Hamburger */
.l2-ham{
  display:none;flex-direction:column;gap:5px;
  cursor:pointer;padding:6px;background:none;border:none;z-index:501;
  flex-shrink:0;
}
.l2-ham span{width:22px;height:2px;background:var(--tx3);border-radius:2px;transition:.25s;display:block}
.l2-ham.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.l2-ham.open span:nth-child(2){opacity:0}
.l2-ham.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* Mobile menu */
.l2-mob{
  display:none;position:fixed;
  top:var(--nav-h);left:0;right:0;
  background:rgba(3,2,1,.98);border-bottom:1px solid var(--bf);
  padding:10px clamp(1rem,4vw,2rem);z-index:499;
  flex-direction:column;gap:2px;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
}
.l2-mob.open{display:flex}
.l2-mob a{
  font-family:'Cinzel',serif;font-size:13px;font-weight:600;
  letter-spacing:1.5px;color:var(--tx3);padding:11px 14px;
  text-transform:uppercase;border-radius:4px;transition:all .2s;
}
.l2-mob a:hover,.l2-mob a.active{color:var(--gold3);background:color-mix(in srgb,var(--fire2) 8%,transparent)}
/* Mobile lang inside menu */
.l2-mob-langs{
  display:flex;gap:6px;padding:10px 14px;border-top:1px solid var(--bf);
  margin-top:4px;flex-wrap:wrap;
}
.l2-mob-langs button{
  padding:5px 12px;border:1px solid var(--bf);border-radius:3px;
  color:var(--tx4);font-size:11px;font-weight:700;letter-spacing:1px;
  cursor:pointer;transition:all .2s;background:transparent;text-transform:uppercase;
}
.l2-mob-langs button.sel{border-color:var(--fire2);color:var(--fire3);background:color-mix(in srgb,var(--fire2) 10%,transparent)}

/* ─── PAGE WRAPPER ───────────────────────────────── */
.page-wrap{padding-top:var(--nav-h);min-height:100vh;position:relative;z-index:2;overflow-x:hidden}

/* ─── PAGE HEADER ────────────────────────────────── */
.page-header{
  text-align:center;
  padding:clamp(2rem,5vw,4rem) clamp(1rem,4vw,3rem) 1.5rem;
  position:relative;z-index:2;
}
.page-title{
  font-family:'Cinzel',serif;
  font-size:clamp(1.8rem,4vw,3rem);
  font-weight:400;color:var(--tx1);letter-spacing:3px;margin:0 0 .5rem;
}
.page-title span{color:var(--fire3);font-weight:700}
.page-title .pt-highlight{
  background:linear-gradient(135deg,var(--gold1) 0%,var(--gold4) 50%,var(--gold2) 100%);
  background-size:200% auto;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:shimmer 4s linear infinite;
  font-weight:900;
}
.brand-hl { color: var(--gold3) !important; font-weight: 700 !important; background: none !important; -webkit-text-fill-color: var(--gold3) !important; animation: none !important; }
.page-sub{font-size:.95rem;color:var(--tx3);line-height:1.75}
.page-divider{
  display:flex;align-items:center;justify-content:center;
  width:240px;margin:1rem auto 0;
}
.pd-line{flex:1;height:2px;background:linear-gradient(90deg,transparent,var(--fire2))}
.pd-line.r{background:linear-gradient(90deg,var(--fire2),transparent)}
.pd-diamond{width:8px;height:8px;background:var(--fire3);transform:rotate(45deg);margin:0 5px}
.pd-dot{width:5px;height:5px;background:var(--fire1);transform:rotate(45deg);margin:0 3px}

/* ─── DIVIDER LINE ───────────────────────────────── */
.div-line{
  height:1px;
  background:linear-gradient(90deg,transparent,var(--bf) 20%,color-mix(in srgb,var(--fire2) 40%,transparent) 50%,var(--bf) 80%,transparent);
  max-width:1240px;margin:0 auto;position:relative;z-index:2;
}

/* ─── REVEAL ANIMATION ───────────────────────────── */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.rv.on{opacity:1;transform:none}
.rv-l{opacity:0;transform:translateX(-32px);transition:opacity .7s ease,transform .7s ease}
.rv-l.on{opacity:1;transform:none}
.rv-r{opacity:0;transform:translateX(32px);transition:opacity .7s ease,transform .7s ease}
.rv-r.on{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.18s}
.d3{transition-delay:.3s}.d4{transition-delay:.42s}

/* ─── FOOTER ─────────────────────────────────────── */
#l2-footer{
  background:rgba(3,2,1,.55);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-top:1px solid var(--bf);
  padding:2.5rem clamp(1rem,4vw,3rem);
  position:relative;z-index:2;
}
.ft-inner{
  max-width:1240px;margin:0 auto;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;gap:2rem;
}
/* Columna izq: brand */
.ft-brand{display:flex;align-items:center;gap:9px;flex-shrink:0}
.ft-brand img{height:34px;width:34px;object-fit:contain;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--fire2) 38%,transparent))}
/* Columna centro: links */
.ft-links{
  display:flex;gap:6px;flex-wrap:wrap;justify-content:center;
}
.ft-links a{
  color:var(--tx4);font-size:10px;font-weight:600;
  letter-spacing:1px;text-transform:uppercase;
  padding:4px 10px;border-radius:3px;transition:color .2s;
}
.ft-links a:hover{color:var(--gold2)}
/* Columna der: redes sociales */
.ft-social{display:flex;gap:10px;align-items:center;flex-shrink:0}
.ft-social .theme-picker-btn{margin-right:4px}
.ft-social a{
  width:38px;height:38px;
  border:1px solid var(--bf);border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  color:var(--tx4);transition:all .25s;
  background:rgba(8,5,2,.6);
}
.ft-social a:hover{
  border-color:var(--fire3);color:var(--fire3);
  background:color-mix(in srgb,var(--fire2) 12%,transparent);
  box-shadow:0 0 12px color-mix(in srgb,var(--fire2) 25%,transparent);
}
.ft-social a svg{width:18px;height:18px}
.ft-bottom{
  max-width:1240px;margin:.8rem auto 0;
  display:flex;align-items:center;justify-content:space-between;
  padding-top:.8rem;border-top:1px solid color-mix(in srgb,var(--fire2) 10%,transparent);
  flex-wrap:wrap;gap:.5rem;
}
.ft-copy{font-size:10px;color:var(--tx4);letter-spacing:.5px}
.ft-badge{font-size:10px;color:var(--tx4)}
.ft-legal{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ft-legal a{font-size:10px;color:var(--tx3);text-decoration:none;letter-spacing:.3px;transition:color .15s}
.ft-legal a:hover{color:var(--gold3)}
.ft-legal-sep{font-size:10px;color:var(--tx4)}

/* ─── BOTONES GLOBALES ───────────────────────────── */
.btn{
  display:inline-flex;align-items:center;gap:7px;
  font-family:'Cinzel',serif;font-size:10px;font-weight:700;
  letter-spacing:1.5px;padding:9px 18px;border-radius:4px;
  cursor:pointer;text-transform:uppercase;transition:.22s;
  text-decoration:none;border:none;
}
.btn-fire{
  background:linear-gradient(135deg,var(--fire1),var(--fire3));
  color:#fff;box-shadow:0 4px 18px color-mix(in srgb,var(--fire2) 35%,transparent);
}
.btn-fire:hover{transform:translateY(-2px);box-shadow:0 8px 28px color-mix(in srgb,var(--fire2) 60%,transparent);color:#fff}
.btn-ghost{
  border:1px solid var(--bf);background:transparent;color:var(--tx2);
}
.btn-ghost:hover{border-color:var(--fire3);color:var(--fire3)}
.btn-gold{
  background:linear-gradient(135deg,var(--gold1),var(--gold3));
  color:var(--c0);font-weight:800;
  box-shadow:0 4px 16px color-mix(in srgb,var(--gold2) 35%,transparent);
}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 8px 24px color-mix(in srgb,var(--gold2) 60%,transparent);color:var(--c0)}

/* ─── CARDS ──────────────────────────────────────── */
.card{
  background:var(--c1);border:1px solid var(--bf);
  border-radius:6px;padding:20px;margin-bottom:14px;
}
.sec-label{
  font-family:'Cinzel',serif;font-size:10px;font-weight:700;
  letter-spacing:3px;color:var(--fire2);text-transform:uppercase;margin-bottom:12px;
}

/* ─── EYEBROW ────────────────────────────────────── */
.eyebrow{
  font-size:10px;font-weight:700;letter-spacing:4px;
  text-transform:uppercase;color:var(--fire2);margin-bottom:.4rem;
  display:flex;align-items:center;gap:10px;
}
.eyebrow::before{content:'';height:1px;flex:1;max-width:36px;background:linear-gradient(270deg,var(--fire2),transparent)}
.eyebrow::after{content:'';height:1px;flex:1;max-width:36px;background:linear-gradient(90deg,var(--fire2),transparent)}

/* ─── RESPONSIVE SHARED ──────────────────────────── */
@media(max-width:1024px){
  .l2-nav-links a{font-size:10px;padding:7px 10px}
}
@media(max-width:900px){
  .l2-nav-links{display:none}
  .l2-ham{display:flex}
  .ft-inner{grid-template-columns:1fr auto;grid-template-rows:auto auto}
  .ft-links{justify-content:flex-start;grid-column:1/-1;order:3}
  .lang-dd{display:none}
  .srv-btn{font-size:11px;padding:4px 8px}
}
@media(max-width:480px){
  .l2-nav-right .btn-cta{display:none}
  #l2-nav{padding:0 .75rem;gap:.5rem}
  .l2-logo-wm .wm-g{font-size:14px}
}
@media(max-width:600px){
  :root{--nav-h:58px}
  #l2-nav{padding:0 1rem}
  .l2-logo img{height:36px;width:36px}
  .l2-logo-wm .wm-g{font-size:15px}
  .ft-inner{grid-template-columns:1fr 1fr;gap:1.2rem}
  .ft-links{gap:4px}
  .page-title{font-size:clamp(1.5rem,6vw,2rem)!important}
  .btn-cta{padding:6px 14px;font-size:10px}
  .hero-btns{flex-direction:column;align-items:center;gap:10px;}
  .hero-btns .btn{width:260px;justify-content:center;}
  .ft-social{gap:6px}
  .ft-social .theme-picker-btn{padding:0 8px;letter-spacing:1px;font-size:10px}
}
@media(max-width:380px){
  .l2-nav-right .btn-cta{display:none}
  .lang-dd{display:none}
}

/* ─── LOADER ─────────────────────────────────────── */
#l2-loader {
  position: fixed; inset: 0; z-index: 99999;
  background: var(--c0);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 0;
  transition: opacity .8s ease, visibility .8s;
}
.l2-ld-wrap { margin-bottom: 2.8rem; }
.l2-ld-bar-wrap { margin-bottom: .6rem; }
#l2-loader.l2-ld-out { opacity: 0; visibility: hidden; pointer-events: none; }

.l2-ld-wrap {
  position: relative; width: 160px; height: 160px;
  display: flex; align-items: center; justify-content: center;
}
.l2-ld-wrap img {
  width: 100%; height: 100%; object-fit: contain;
  animation: l2LdFloat 1.4s ease-in-out infinite alternate;
  position: relative; z-index: 3;
  filter: drop-shadow(0 0 16px color-mix(in srgb,var(--fire2) 60%,transparent));
}
@keyframes l2LdFloat {
  from { filter: drop-shadow(0 0 12px color-mix(in srgb,var(--fire2) 50%,transparent)) brightness(.92); transform: scale(.97); }
  to   { filter: drop-shadow(0 0 32px color-mix(in srgb,var(--gold3) 85%,transparent)) brightness(1.08); transform: scale(1.04); }
}

/* Anillos giratorios */
.l2-ld-ring {
  position: absolute; inset: -18px; border-radius: 50%;
  border: 1px solid color-mix(in srgb,var(--fire2) 35%,transparent);
  animation: l2LdSpin 3s linear infinite;
  z-index: 1;
}
.l2-ld-ring::after {
  content: ''; position: absolute; inset: 0; border-radius: 50%;
  border: 1.5px solid transparent;
  border-top-color: color-mix(in srgb,var(--gold3) 80%,transparent);
  animation: l2LdSpin 1.2s linear infinite reverse;
}
.l2-ld-ring-2 {
  position: absolute; inset: -32px; border-radius: 50%;
  border: 1px solid color-mix(in srgb,var(--fire2) 15%,transparent);
  animation: l2LdSpin 5s linear infinite reverse;
  z-index: 1;
}
@keyframes l2LdSpin { to { transform: rotate(360deg); } }

/* Orbes orbitando — el arm cubre todo el wrap y rota desde su propio centro */
.l2-ld-orb-arm {
  position: absolute;
  inset: 0;
  transform-origin: center center;
  animation: l2LdSpin 2s linear infinite;
  z-index: 2;
}
.l2-ld-orb-arm-b {
  animation-duration: 1.5s;
  animation-direction: reverse;
}
/* El orbe se posiciona en el borde derecho del centro vertical del arm */
.l2-ld-orb {
  position: absolute;
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--gold3); box-shadow: 0 0 10px var(--gold3);
  top: calc(50% - 4px); right: -4px;
}
.l2-ld-orb-b {
  background: var(--fire3); box-shadow: 0 0 8px var(--fire3);
  width: 6px; height: 6px;
  top: calc(50% - 3px); right: -3px;
}
@media(max-width:480px){
  .l2-ld-wrap { width: 130px; height: 130px; }
  .l2-ld-ring { inset: -14px; }
  .l2-ld-ring-2 { inset: -24px; }
}

/* Barra de progreso */
.l2-ld-bar-wrap {
  width: 200px; height: 1px;
  background: rgba(255,255,255,.06); overflow: hidden; border-radius: 1px;
}
.l2-ld-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--fire2), var(--gold3));
  width: 0; animation: l2LdFill 2s cubic-bezier(.4,0,.2,1) forwards;
}
@keyframes l2LdFill { to { width: 100%; } }

/* Texto parpadeante */
.l2-ld-txt {
  font-family: 'Cinzel', serif; font-size: 10px;
  letter-spacing: 5px; color: var(--tx4); text-transform: uppercase;
  animation: l2LdFlicker 1.1s ease-in-out infinite alternate;
}
@keyframes l2LdFlicker { from { opacity: .3; } to { opacity: 1; } }

/* ── VIDEO FONDO GLOBAL (todas las páginas) ── */
.page-bg-video {
  position: fixed; inset: 0; z-index: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: center 20%;
  opacity: .28;  /* sutil pero visible */
  pointer-events: none;
}
.page-bg-overlay {
  position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background: rgba(20,10,4,.72);  /* capa sobre el video, más cálida y menos opaca */
}
/* Todo el contenido de página encima del video */
.page-wrap, .info-page { padding-top: var(--nav-h); position: relative; z-index: 2; background: transparent; }

/* ── FÉNIX FONDO PÁGINAS SECUNDARIAS ── */
.page-px-wrap {
  position: fixed;
  top: 50%; right: 0;
  transform: translate(-48%, -50%);
  width: clamp(280px, 32vw, 460px);
  height: clamp(280px, 32vw, 460px);
  z-index: 1; pointer-events: none;
  opacity: .18;
}
@media(max-width:768px){
  .page-px-wrap {
    top: 50%; right: 50%;
    transform: translate(50%, -50%);
    width: clamp(220px, 70vw, 320px);
    height: clamp(220px, 70vw, 320px);
    opacity: .10;
  }
  /* UCP: la barra de navegación inferior (rpg-sidebar) mide 56px y es fixed.
     Subimos el botón "volver arriba" para que no quede montado encima. */
  body[data-page="ucp_panel"] #btn-top {
    bottom: calc(64px + env(safe-area-inset-bottom, 0px));
    right: 16px;
  }
}
.page-px-wrap #px-cvs {
  position: absolute; inset: 0; width: 100%; height: 100%;
}
.page-px-logo {
  width: 100%; height: 100%; object-fit: contain;
  position: relative; z-index: 5;
  animation: pxFloat 5s ease-in-out infinite alternate;
  filter: drop-shadow(0 0 30px color-mix(in srgb,var(--fire2) 80%,transparent));
}

/* ── BOTÓN VOLVER ARRIBA ── */
#btn-top {
  position: fixed; bottom: 40px; right: 45px; z-index: 999;
  width: 42px; height: 42px; border-radius: 50%;
  background: color-mix(in srgb,var(--fire2) 15%,transparent);
  border: 1px solid var(--fire2);
  color: var(--fire3); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .3s, visibility .3s, transform .3s, background .2s;
  backdrop-filter: blur(8px);
}
#btn-top.visible { opacity: 1; visibility: visible; pointer-events: all; }
#btn-top:hover { background: color-mix(in srgb,var(--fire2) 35%,transparent); transform: translateY(-3px); }
#btn-top svg { width: 18px; height: 18px; }

/* ── TOOLTIPS SIDEBAR ── */
.sidebar-item { position: relative; }
.sidebar-item .s-tooltip {
  position: absolute; left: calc(100% + 10px); top: 50%;
  transform: translateY(-50%);
  background: var(--c2); border: 1px solid var(--bf2);
  color: var(--tx1); font-size: 11px; font-weight: 600;
  letter-spacing: 1px; white-space: nowrap;
  padding: 5px 10px; border-radius: 4px;
  pointer-events: none; opacity: 0;
  transition: opacity .2s, transform .2s;
  transform: translateY(-50%) translateX(-4px);
  z-index: 999;
}
.sidebar-item:hover .s-tooltip {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}
@media(max-width:960px){
  .sidebar-item .s-tooltip { display: none; }
}

/* ── TRANSICIÓN ENTRE PÁGINAS ── */
#page-transition {
  position: fixed; inset: 0; z-index: 99998;
  background: var(--c0);
  pointer-events: none;
  opacity: 0;
  transition: opacity .35s ease;
}
#page-transition.t-out { opacity: 1; pointer-events: all; }

/* ── BARRA DE PROGRESO DE LECTURA ── */
#read-progress {
  position: fixed; top: 0; left: 0; z-index: 99999;
  height: 2px; width: 0%;
  background: linear-gradient(90deg, var(--fire2), var(--gold3), var(--fire3));
  background-size: 200% auto;
  animation: shimmer 2s linear infinite;
  transition: width .1s linear;
  pointer-events: none;
}

/* ── HOVER ELABORADO TARJETA FEATURED DONACIONES ── */
.pack-card.featured {
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.pack-card.featured:hover {
  transform: translateY(-6px);
  border-color: var(--gold3);
  box-shadow:
    0 0 0 1px color-mix(in srgb,var(--gold3) 30%,transparent),
    0 12px 40px color-mix(in srgb,var(--fire2) 45%,transparent),
    0 0 60px color-mix(in srgb,var(--gold3) 10%,transparent);
}

/* ── LANDSCAPE TABLET ── */
@media (max-height: 500px) and (orientation: landscape) {
  .info-shell-header { padding: .8rem clamp(1rem,4vw,3rem) .8rem; }
  .info-shell-header .page-title { font-size: 1.4rem; }
  .info-shell-header .page-sub { display: none; }
  .info-shell-header .page-divider { display: none; }
  .info-sidebar { height: calc(100vh - var(--nav-h,64px)); }
  .info-content { padding: 1rem 1.5rem; }
  #l2-nav { height: 48px; --nav-h: 48px; }
}
@media (min-width: 600px) and (max-width: 1024px) and (orientation: landscape) {
  .info-layout { grid-template-columns: 200px 1fr; }
  .info-sidebar { position: sticky; top: var(--nav-h,64px); height: calc(100vh - var(--nav-h,64px)); padding-top: 1rem; }
  .info-content { border-left: 1px solid var(--bf); border-top: none; }
}


/* ── TEMA: Blood Fire ────────────────────────────── */
[data-theme="bloodfire"] {
  --c0:#0c0000; --c1:#1a0000; --c2:#280000; --c3:#380000;
  --fire1:#cc0000; --fire2:#ff2020; --fire3:#ff6060; --fire4:#ff9090;
  --gold1:#cc0000; --gold2:#ff2020; --gold3:#ffb0b0; --gold4:#ffdddd;
  --tx1:#fff5f5; --tx2:#ffb0b0; --tx3:#ff6060; --tx4:#cc2020;
  --bf:rgba(255,32,32,.28); --bf2:rgba(255,32,32,.45);
  --green:#4ade80; --nav-h:64px;
}

/* ── TEMA: Electric Blue ─────────────────────────── */
[data-theme="electricblue"] {
  --c0:#000510; --c1:#000d20; --c2:#001030; --c3:#001840;
  --fire1:#003080; --fire2:#0060cc; --fire3:#0090ff; --fire4:#50b8ff;
  --gold1:#0050cc; --gold2:#0080ff; --gold3:#b0deff; --gold4:#ddf0ff;
  --tx1:#f0f8ff; --tx2:#b0deff; --tx3:#50b8ff; --tx4:#0080ff;
  --bf:rgba(0,144,255,.28); --bf2:rgba(0,144,255,.45);
  --green:#4ade80; --nav-h:64px;
}

/* ── TEMA: Neon Cyber ────────────────────────────── */
[data-theme="neoncyber"] {
  --c0:#000408; --c1:#000c18; --c2:#001020; --c3:#001828;
  --fire1:#005070; --fire2:#00a0cc; --fire3:#00d4ff; --fire4:#60e8ff;
  --gold1:#00a0cc; --gold2:#00c8f0; --gold3:#b0f4ff; --gold4:#ddfeff;
  --tx1:#f0feff; --tx2:#b0f4ff; --tx3:#60e8ff; --tx4:#00c8f0;
  --bf:rgba(0,212,255,.28); --bf2:rgba(0,212,255,.45);
  --green:#4ade80; --nav-h:64px;
}

/* ── TEMA: Venom Green ───────────────────────────── */
[data-theme="venomgreen"] {
  --c0:#010800; --c1:#051400; --c2:#0a1e00; --c3:#102800;
  --fire1:#1a6000; --fire2:#28a800; --fire3:#40e000; --fire4:#80f040;
  --gold1:#28a800; --gold2:#40e000; --gold3:#c0f890; --gold4:#e5ffd0;
  --tx1:#f5fff0; --tx2:#c0f890; --tx3:#80f040; --tx4:#40e000;
  --bf:rgba(64,224,0,.28); --bf2:rgba(64,224,0,.45);
  --green:#4ade80; --nav-h:64px;
}

/* ── TEMA: Bubblegum ─────────────────────────────── */
[data-theme="bubblegum"] {
  --c0:#08000a; --c1:#140016; --c2:#200020; --c3:#2c002c;
  --fire1:#800080; --fire2:#cc30a0; --fire3:#ff50c8; --fire4:#ff90e0;
  --gold1:#cc30a0; --gold2:#ff50c8; --gold3:#ffc8f0; --gold4:#ffe8fa;
  --tx1:#fff5ff; --tx2:#ffc8f0; --tx3:#ff90e0; --tx4:#cc30a0;
  --bf:rgba(255,80,200,.28); --bf2:rgba(255,80,200,.45);
  --green:#4ade80; --nav-h:64px;
}

/* ── TEMA: Midnight Purple ───────────────────────── */
[data-theme="midnightpurple"] {
  --c0:#05020a; --c1:#0e0818; --c2:#180e28; --c3:#221236;
  --fire1:#4020a0; --fire2:#7040d0; --fire3:#a060ff; --fire4:#c090ff;
  --gold1:#5030b0; --gold2:#8050e0; --gold3:#d0a0ff; --gold4:#ecdcff;
  --tx1:#f5f0ff; --tx2:#d0a0ff; --tx3:#a060ff; --tx4:#7040d0;
  --bf:rgba(112,64,208,.28); --bf2:rgba(112,64,208,.45);
  --green:#4ade80; --nav-h:64px;
}


/* ── TEMA: Obsidian ──────────────────────────────── */
[data-theme="obsidian"] {
  --c0:#000000; --c1:#111111; --c2:#1e1e1e; --c3:#2a2a2a;
  --fire1:#444444; --fire2:#aaaaaa; --fire3:#dddddd; --fire4:#ffffff;
  --gold1:#666666; --gold2:#aaaaaa; --gold3:#dddddd; --gold4:#ffffff;
  --tx1:#ffffff; --tx2:#dddddd; --tx3:#aaaaaa; --tx4:#666666;
  --bf:rgba(170,170,170,.2); --bf2:rgba(170,170,170,.35);
  --green:#4ade80; --nav-h:64px;
}

/* ── Theme Picker ────────────────────────────────── */
.theme-picker-btn{display:flex;align-items:center;gap:7px;background:rgba(8,5,2,.6);border:1px solid var(--bf);border-radius:6px;padding:0 14px;height:38px;cursor:pointer;color:var(--tx4);font-size:11px;font-family:'Exo 2',sans-serif;font-weight:600;letter-spacing:2px;text-transform:uppercase;transition:all .25s}
.theme-picker-btn:hover{border-color:var(--fire3);color:var(--fire3);background:color-mix(in srgb,var(--fire2) 12%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--fire2) 25%,transparent)}
.theme-picker-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;flex-shrink:0}
.theme-overlay{position:fixed;inset:0;z-index:900;background:rgba(0,0,0,.6);opacity:0;pointer-events:none;transition:opacity .25s}
.theme-overlay.open{opacity:1;pointer-events:all}
.theme-panel{position:fixed;bottom:80px;right:24px;z-index:901;background:var(--c1);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:18px;width:300px;transform:translateY(16px) scale(.97);opacity:0;pointer-events:none;transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .3s ease;box-shadow:0 20px 60px rgba(0,0,0,.8);max-width:calc(100vw - 32px)}
.theme-panel.open{transform:translateY(0) scale(1);opacity:1;pointer-events:all}
.theme-panel::before{content:'';position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--fire2),transparent)}
.tp-title{font-family:'Cinzel',serif;font-size:11px;font-weight:700;letter-spacing:3px;color:var(--fire3);text-transform:uppercase;margin-bottom:14px}
.tp-themes{display:flex;flex-direction:column;gap:8px}
.tp-theme{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.06);cursor:pointer;transition:.2s;background:rgba(255,255,255,.02)}
.tp-theme:hover{border-color:var(--fire2);background:rgba(255,255,255,.05)}
.tp-theme.active{border-color:var(--fire2);background:rgba(255,255,255,.07)}
.tp-swatches{display:flex;gap:3px;flex-shrink:0}
.tp-sw{width:12px;height:28px;border-radius:3px}
.tp-info{flex:1}
.tp-name{font-size:13px;font-weight:700;color:var(--tx2);letter-spacing:.5px}
.tp-desc{font-size:10px;color:var(--tx4);letter-spacing:.5px;margin-top:2px}
.tp-check{width:16px;height:16px;border-radius:50%;border:2px solid var(--fire2);display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0;transition:.15s}
.tp-theme.active .tp-check{opacity:1;background:var(--fire2)}
.tp-check::after{content:'';width:5px;height:5px;background:#fff;border-radius:50%}

@media(max-width:480px){
  .theme-panel{right:16px;left:16px;width:auto;max-width:none}
  .ft-social .theme-picker-btn{padding:0 10px;width:38px;justify-content:center}
  .ft-social .theme-picker-btn span{display:none}
}

/* ── Menú de cuenta (navbar) ── */
.l2-acct{position:relative;display:inline-block;}
.l2-acct-btn{display:inline-flex;align-items:center;gap:7px;cursor:pointer;}
.l2-acct-caret{font-size:.7em;transition:transform .2s;opacity:.85;}
.l2-acct.open .l2-acct-caret{transform:rotate(180deg);}
.l2-acct-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;
  background:var(--c2,#2a1000);border:1px solid var(--bf,rgba(255,160,64,.25));
  border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.5);
  padding:6px;display:none;flex-direction:column;gap:2px;z-index:1000;}
.l2-acct.open .l2-acct-menu{display:flex;}
.l2-acct-item{display:block;width:100%;text-align:left;background:none;border:0;
  color:var(--tx1,#fff8f0);font:inherit;font-size:.92rem;padding:10px 14px;
  border-radius:7px;cursor:pointer;text-decoration:none;transition:background .15s,color .15s;}
.l2-acct-item:hover{background:var(--c3,#3a1800);color:var(--fire3,#ff9040);}
.l2-acct-logout{color:var(--fire2,#ff6a00);}
.l2-acct-logout:hover{background:rgba(255,60,40,.12);color:#ff5a3c;}
/* Versión móvil: menú en flujo, no flotante */
.l2-acct-mob{display:block;width:100%;}
.l2-acct-mob .l2-acct-menu{position:static;min-width:0;margin-top:6px;box-shadow:none;}

/* ─── CURSOR CUSTOM L2GAMERS ────────────────────── */
/* Flecha del juego para navegar (hotspot 6 5) + mano del juego para clicables (hotspot 3 2).
   PNG (no .cur) porque navegadores rechazan .cur BMP-8bit. Ruta ../img/ como el resto de assets.
   !important en la mano: hay ~14 reglas cursor:pointer sueltas en este CSS que de otro modo la pisan. */
html,body{
  cursor:url('../img/L2Gamers.png') 6 5, auto;
}
/* Clicables: MANO del juego. !important para ganar a las reglas cursor:pointer existentes. */
a,a:hover,button,[role="button"],.btn,
input[type="submit"],input[type="button"],input[type="checkbox"],input[type="radio"],
select,summary,label[for],
[onclick],[class*="btn"],[class*="-btn"],
.theme-picker-btn,.tp-theme,.l2-acct-btn{
  cursor:url('../img/L2Gamers2.png') 3 2, pointer !important;
}
/* Campos de texto: cursor de texto normal (NO el de L2) para escribir cómodo */
input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]),
textarea,
[contenteditable="true"]{
  cursor:text !important;
}
/* Deshabilitados */
[disabled],.disabled{cursor:not-allowed !important;}
