/* ============================================================
   Bunker Games — Tienda Gamificada  ·  estilos (scoped)
   Todo cuelga de #bunker-game-root para no afectar al tema.
   ============================================================ */
#bunker-game-root{
  --bg:#0e0e10; --bg2:#16161a; --panel:#1c1c22; --panel2:#23232b;
  --gold:#e3b53e; --gold2:#cba135; --gold-l:#f6d56b; --gold-dim:#8a6f28;
  --wood:#7a5230; --wood2:#5c3d22;
  --txt:#ece8df; --txt-dim:#9a958a; --ok:#56d364; --line:#33323b;
  --shadow:0 18px 50px rgba(0,0,0,.6);
  position:fixed; inset:0; z-index:99999; overflow:hidden; color:var(--txt);
  font-family:'Oswald',system-ui,Segoe UI,Roboto,Arial,sans-serif; font-weight:300;
  background:radial-gradient(120% 90% at 50% 18%, #20202a 0%, #101014 45%, #07070a 100%);
  -webkit-font-smoothing:antialiased;
}
#bunker-game-root *{box-sizing:border-box}
#bunker-game-root .disp{font-family:'Russo One','Oswald',sans-serif;letter-spacing:.5px}
#bunker-game-root .gold{color:var(--gold)}
#bunker-game-root .glow{text-shadow:0 0 18px rgba(227,181,62,.45)}

#bunker-game-root .bg-vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 220px 60px rgba(0,0,0,.85);z-index:60}
#bunker-game-root .bg-flick{position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 40% at 50% 0%, rgba(246,213,107,.10), transparent 70%);animation:bg-flick 6s infinite;z-index:1}
@keyframes bg-flick{0%,100%{opacity:.5}48%{opacity:.62}50%{opacity:.3}52%{opacity:.6}}
#bunker-game-root .dust{position:absolute;width:3px;height:3px;border-radius:50%;background:rgba(246,213,107,.5);filter:blur(.5px);animation:bg-fall linear infinite;z-index:2;pointer-events:none}
@keyframes bg-fall{0%{transform:translateY(-10vh)}10%{opacity:.7}100%{transform:translateY(110vh) translateX(30px);opacity:0}}

/* loader */
#bunker-game-root .bg-loader{position:absolute;inset:0;z-index:80;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#08080b}
#bunker-game-root .bg-spin{width:42px;height:42px;border:4px solid #33333c;border-top-color:var(--gold);border-radius:50%;animation:bg-rot 1s linear infinite}
@keyframes bg-rot{to{transform:rotate(360deg)}}

/* buttons */
#bunker-game-root .bg-btn{font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:.6px;text-transform:uppercase;cursor:pointer;border:none;border-radius:11px;padding:14px 24px;font-size:15px;color:#1a1206;background:linear-gradient(180deg,var(--gold-l),var(--gold2));box-shadow:0 8px 22px rgba(227,181,62,.32),inset 0 1px 0 rgba(255,255,255,.5);transition:transform .12s,box-shadow .2s;line-height:1.25}
#bunker-game-root .bg-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(227,181,62,.45)}
#bunker-game-root .bg-btn:active{transform:translateY(0)}
#bunker-game-root .bg-btn.ghost{background:transparent;color:var(--gold);border:1.5px solid var(--gold-dim);box-shadow:none}
#bunker-game-root .bg-btn.ghost:hover{border-color:var(--gold);color:var(--gold-l)}
#bunker-game-root .bg-btn.sm{padding:9px 15px;font-size:12.5px;border-radius:9px}
#bunker-game-root .bg-btn small{display:block;font-weight:300;text-transform:none;letter-spacing:.3px;font-size:11.5px;opacity:.85}

/* intro / door */
#bunker-game-root .bg-intro{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 45%,#15151b,#050507 80%);transition:opacity .8s,transform 1.2s}
#bunker-game-root .bg-intro.go{opacity:0;transform:scale(1.6);pointer-events:none}
#bunker-game-root .bg-door{position:absolute;top:0;bottom:0;width:50%;background:repeating-linear-gradient(90deg,#26262c 0 7px,#1d1d22 7px 14px);border-top:6px solid #34343c;box-shadow:inset 0 0 80px rgba(0,0,0,.8);transition:transform 1.4s cubic-bezier(.7,0,.2,1)}
#bunker-game-root .bg-door::after{content:"";position:absolute;top:50%;width:46px;height:46px;border-radius:50%;border:5px solid var(--gold-dim);transform:translateY(-50%);box-shadow:0 0 18px rgba(227,181,62,.4)}
#bunker-game-root .bg-door.l{left:0;border-right:3px solid #000}#bunker-game-root .bg-door.l::after{right:14px}
#bunker-game-root .bg-door.r{right:0;border-left:3px solid #000}#bunker-game-root .bg-door.r::after{left:14px}
#bunker-game-root .bg-intro.go .bg-door.l{transform:translateX(-100%)}
#bunker-game-root .bg-intro.go .bg-door.r{transform:translateX(100%)}
#bunker-game-root .bg-introcard{position:relative;z-index:5;text-align:center;max-width:560px;padding:24px}
#bunker-game-root .bg-introcard img{width:170px;height:auto;filter:drop-shadow(0 8px 30px rgba(0,0,0,.7))}
#bunker-game-root .bg-introcard h1{font-family:'Russo One','Oswald',sans-serif;font-size:28px;margin:14px 0 4px;color:var(--gold-l)}
#bunker-game-root .bg-introcard p{color:var(--txt-dim);font-size:15px;line-height:1.5;margin:0 0 22px}

/* scene */
#bunker-game-root .bg-scene{position:absolute;inset:0;z-index:5;opacity:0;transition:opacity 1s .3s}
#bunker-game-root .bg-scene.show{opacity:1}
#bunker-game-root .bg-wall{position:absolute;inset:0;background:linear-gradient(180deg,#1a1a20 0%,#101015 60%,#0a0a0d 100%)}
#bunker-game-root .bg-shelf{position:absolute;top:13%;height:8px;width:60%;left:20%;background:linear-gradient(180deg,#2a2a31,#15151a);border-radius:3px;box-shadow:0 10px 26px rgba(0,0,0,.55)}
#bunker-game-root .bg-shelf.two{top:23%;width:48%;left:26%}
#bunker-game-root .bg-shelf .bx{position:absolute;bottom:8px;width:34px;height:26px;border-radius:3px;background:linear-gradient(180deg,#33333c,#22222a);border:1px solid #3d3d47}
#bunker-game-root .bg-sign{position:absolute;top:4%;left:50%;transform:translateX(-50%);font-family:'Russo One','Oswald',sans-serif;color:var(--gold-l);font-size:24px;letter-spacing:2px;text-shadow:0 0 24px rgba(227,181,62,.6);opacity:.92;text-align:center}
#bunker-game-root .bg-sign small{display:block;font-family:'Oswald',sans-serif;font-weight:300;font-size:11px;letter-spacing:5px;color:var(--gold-dim)}

#bunker-game-root .bg-trasky{position:absolute;left:50%;bottom:118px;transform:translateX(-50%);z-index:8;width:280px;text-align:center;transition:transform .5s cubic-bezier(.5,1.6,.5,1)}
#bunker-game-root .bg-trasky img{width:280px;height:auto;filter:drop-shadow(0 12px 26px rgba(0,0,0,.7));display:block}
#bunker-game-root .bg-trasky.idle img{animation:bg-bob 3.4s ease-in-out infinite}
@keyframes bg-bob{0%,100%{transform:translateY(0) rotate(-.4deg)}50%{transform:translateY(-8px) rotate(.4deg)}}
#bunker-game-root .bg-trasky.crouch{transform:translateX(-50%) translateY(150px) scale(.92)}
#bunker-game-root .bg-trasky.present{transform:translateX(-50%) translateY(-6px)}
#bunker-game-root .bg-tag{position:absolute;left:50%;top:-46px;transform:translateX(-50%);white-space:nowrap;background:rgba(20,20,26,.92);border:1px solid var(--gold-dim);color:var(--gold-l);padding:7px 14px;border-radius:20px;font-size:13px;opacity:0;transition:opacity .3s;box-shadow:var(--shadow)}
#bunker-game-root .bg-tag.show{opacity:1}
#bunker-game-root .bg-thumb{position:absolute;left:62%;top:-30px;font-size:40px;opacity:0;transform:scale(.4);transition:.35s}
#bunker-game-root .bg-thumb.show{opacity:1;transform:scale(1)}

#bunker-game-root .bg-counter{position:absolute;left:0;right:0;bottom:0;height:148px;z-index:10;background:linear-gradient(180deg,#8a5f38 0,#6b4a2a 18%,#553a20 100%);border-top:7px solid #9c6f44;box-shadow:0 -16px 40px rgba(0,0,0,.6)}
#bunker-game-root .bg-counter::before{content:"";position:absolute;inset:0;opacity:.5;background:repeating-linear-gradient(90deg,rgba(0,0,0,.18) 0 2px,transparent 2px 78px),repeating-linear-gradient(90deg,rgba(255,220,150,.06) 0 1px,transparent 1px 78px)}
#bunker-game-root .bg-counter .lip{position:absolute;top:-7px;left:0;right:0;height:7px;background:linear-gradient(180deg,#b07e4c,#7c5630)}
#bunker-game-root .bg-citem{position:absolute;left:50%;bottom:118px;transform:translateX(-50%) translateY(40px) scale(.6);z-index:11;opacity:0;transition:.5s cubic-bezier(.4,1.5,.5,1)}
#bunker-game-root .bg-citem.show{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}
#bunker-game-root .bg-citem img{width:84px;height:84px;object-fit:contain;border-radius:8px;background:#0008;padding:4px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.6))}

#bunker-game-root .bg-prop{position:absolute;bottom:150px;z-index:7;opacity:0;transform:translateY(20px) scale(.9);transition:.45s;text-align:center}
#bunker-game-root .bg-prop.show{opacity:1;transform:translateY(0) scale(1)}
#bunker-game-root .bg-prop .scr{font-size:11px;color:#8fd0ff}
#bunker-game-root #bgPropPC{right:9%}#bunker-game-root #bgPropPhone{right:20%}

#bunker-game-root .bg-hint{position:absolute;left:50%;bottom:296px;transform:translateX(-50%);z-index:12;text-align:center}
#bunker-game-root .bg-hint .pulse{display:inline-block;padding:11px 20px;border-radius:30px;background:rgba(227,181,62,.12);border:1px solid var(--gold-dim);color:var(--gold-l);cursor:pointer;animation:bg-pulse 2s infinite;font-size:15px}
@keyframes bg-pulse{0%,100%{box-shadow:0 0 0 0 rgba(227,181,62,.4)}50%{box-shadow:0 0 0 14px rgba(227,181,62,0)}}

/* overlay panels */
#bunker-game-root .bg-overlay{position:absolute;inset:0;z-index:40;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(5,5,8,.55);backdrop-filter:blur(3px)}
#bunker-game-root .bg-overlay.show{display:flex;animation:bg-fade .4s}
@keyframes bg-fade{from{opacity:0}to{opacity:1}}

#bunker-game-root .bg-hud .panel{width:min(1020px,96vw);height:min(620px,88vh);display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(180deg,var(--panel),#141419);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;transition:transform .5s cubic-bezier(.6,0,.2,1)}
#bunker-game-root .bg-hud.peek .panel{transform:translateY(78%)}
#bunker-game-root .bg-hudhead{grid-column:1/3;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#202028,#1a1a20)}
#bunker-game-root .bg-hudhead .ttl{font-family:'Russo One','Oswald',sans-serif;color:var(--gold-l);font-size:18px;letter-spacing:1px}
#bunker-game-root .bg-hudhead .ttl small{display:block;font-family:'Oswald',sans-serif;font-weight:300;color:var(--txt-dim);font-size:12px;letter-spacing:2px}
#bunker-game-root .bg-live{display:inline-flex;align-items:center;gap:6px;color:var(--txt-dim);font-size:11px;letter-spacing:1px;text-transform:uppercase}
#bunker-game-root .bg-live i{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok);animation:bg-blink 1.6s infinite}
@keyframes bg-blink{50%{opacity:.3}}

#bunker-game-root .bg-list{overflow:auto;padding:10px;border-right:1px solid var(--line)}
#bunker-game-root .bg-list::-webkit-scrollbar{width:8px}#bunker-game-root .bg-list::-webkit-scrollbar-thumb{background:#3a3a44;border-radius:8px}
#bunker-game-root .bg-row{display:flex;gap:12px;align-items:center;padding:10px;border-radius:12px;cursor:pointer;border:1px solid transparent;transition:.15s}
#bunker-game-root .bg-row:hover{background:var(--panel2);border-color:var(--gold-dim)}
#bunker-game-root .bg-row .ic{width:52px;height:52px;border-radius:9px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:24px;overflow:hidden;background:radial-gradient(circle at 30% 25%,#33333d,#1c1c23);border:1px solid #3b3b45}
#bunker-game-root .bg-row .ic img{width:100%;height:100%;object-fit:cover}
#bunker-game-root .bg-row .nm{flex:1;min-width:0}
#bunker-game-root .bg-row .nm b{font-weight:600;font-size:14.5px;color:var(--txt);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#bunker-game-root .bg-row .nm span{font-size:11.5px;color:var(--txt-dim)}
#bunker-game-root .bg-row .pr{text-align:right}
#bunker-game-root .bg-row .pr b{color:var(--gold-l);font-size:15px;font-weight:600}
#bunker-game-root .bg-row .pr span{display:block;font-size:10.5px;color:var(--txt-dim)}
#bunker-game-root .bg-cat{font-size:9.5px;text-transform:uppercase;letter-spacing:1px;padding:2px 7px;border-radius:20px;border:1px solid var(--line);color:var(--txt-dim)}

#bunker-game-root .bg-preview{position:relative;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(80% 60% at 50% 35%,#202028,#121217);overflow:hidden}
#bunker-game-root .bg-preview .ph{color:var(--txt-dim);text-align:center;font-size:14px;max-width:240px;line-height:1.5}
#bunker-game-root .bg-preview .ph .big{font-size:40px;display:block;margin-bottom:10px;opacity:.5}
#bunker-game-root .bg-stage3d{perspective:1100px;height:300px;display:flex;align-items:center;justify-content:center}
#bunker-game-root .bg-card3d{width:210px;height:294px;border-radius:14px;animation:bg-spin 7s linear infinite;box-shadow:0 22px 50px rgba(0,0,0,.6);position:relative;overflow:hidden;border:6px solid #14110a;background:linear-gradient(150deg,#2a2118,#0f0c07)}
#bunker-game-root .bg-card3d img{width:100%;height:100%;object-fit:cover;border-radius:8px}
#bunker-game-root .bg-card3d .foil{position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(246,213,107,.28) 50%,transparent 70%);background-size:300% 300%;animation:bg-foil 3s linear infinite;pointer-events:none}
@keyframes bg-foil{0%{background-position:0 0}100%{background-position:300% 300%}}
@keyframes bg-spin{from{transform:rotateY(-16deg)}50%{transform:rotateY(16deg)}to{transform:rotateY(-16deg)}}
#bunker-game-root .bg-acc3d{width:220px;height:240px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:96px;overflow:hidden;background:radial-gradient(circle at 35% 25%,#2c2c35,#141419);border:1px solid #3b3b45;animation:bg-spin 7s linear infinite;box-shadow:0 22px 50px rgba(0,0,0,.6)}
#bunker-game-root .bg-acc3d img{width:100%;height:100%;object-fit:contain;padding:14px}
#bunker-game-root .bg-preview .pv-name{font-family:'Russo One','Oswald',sans-serif;color:var(--gold-l);font-size:16px;margin-top:14px;text-align:center;padding:0 10px}
#bunker-game-root .bg-preview .pv-sub{color:var(--txt-dim);font-size:12px;margin-top:3px}
#bunker-game-root .bg-preview .pickbtn{margin-top:16px}

#bunker-game-root .bg-cartpill{position:absolute;right:22px;top:18px;z-index:45;display:none;align-items:center;gap:9px;cursor:pointer;background:linear-gradient(180deg,#23232b,#16161c);border:1px solid var(--gold-dim);border-radius:30px;padding:9px 16px;box-shadow:var(--shadow);color:var(--gold-l);font-weight:600}
#bunker-game-root .bg-cartpill.show{display:flex}
#bunker-game-root .bg-cartpill .cnt{background:var(--gold);color:#1a1206;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:12px}

#bunker-game-root .bg-acctoggle{position:absolute;left:18px;top:18px;z-index:45}
#bunker-game-root .bg-exit{position:absolute;left:18px;bottom:18px;z-index:45}

#bunker-game-root .bg-sheet{width:min(560px,96vw);max-height:92vh;overflow:auto;background:linear-gradient(180deg,var(--panel),#131318);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
#bunker-game-root .bg-shhead{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
#bunker-game-root .bg-shhead .ttl{font-family:'Russo One','Oswald',sans-serif;color:var(--gold-l);font-size:17px}
#bunker-game-root .bg-body{padding:18px 20px}
#bunker-game-root .bg-ci{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:14px}
#bunker-game-root .bg-ci small{color:var(--txt-dim)}
#bunker-game-root .bg-subt{display:flex;justify-content:space-between;font-size:13px;color:var(--txt-dim);margin-top:8px}
#bunker-game-root .bg-tot{display:flex;justify-content:space-between;font-family:'Russo One','Oswald',sans-serif;color:var(--gold-l);font-size:18px;margin-top:12px}
#bunker-game-root .bg-legal{font-size:11.5px;color:var(--txt-dim);line-height:1.5;margin:14px 0 4px;border-left:2px solid var(--gold-dim);padding-left:10px}
#bunker-game-root .bg-sech{font-size:13px;color:var(--txt-dim);letter-spacing:1px;margin:18px 0 8px;text-transform:uppercase}
#bunker-game-root .bg-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0}
#bunker-game-root .bg-opt{display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;border:1.5px solid var(--line);cursor:pointer;transition:.15s;font-size:14px}
#bunker-game-root .bg-opt:hover{border-color:var(--gold-dim);background:var(--panel2)}
#bunker-game-root .bg-opt.on{border-color:var(--gold);background:rgba(227,181,62,.1);box-shadow:0 0 0 1px var(--gold) inset}
#bunker-game-root .bg-opt .e{font-size:22px}
#bunker-game-root .bg-opt small{display:block;font-size:11px;color:var(--txt-dim)}
#bunker-game-root .bg-paybtn{width:100%;margin-top:8px;font-size:15px}
#bunker-game-root .bg-close{cursor:pointer;color:var(--txt-dim);font-size:22px;line-height:1;border:none;background:none}
#bunker-game-root .bg-close:hover{color:var(--gold-l)}
#bunker-game-root .center{text-align:center}

/* device props */
#bunker-game-root .bg-device{display:flex;flex-direction:column;align-items:center;gap:14px;padding:18px;text-align:center}
#bunker-game-root .bg-dtf{width:180px;background:linear-gradient(180deg,#2a2a31,#16161a);border-radius:16px 16px 10px 10px;padding:14px 14px 22px;border:1px solid #3a3a44;box-shadow:var(--shadow)}
#bunker-game-root .bg-dtf .screen{background:#0a1a10;border:1px solid #1c3a26;border-radius:8px;min-height:92px;padding:10px;color:#7CFFB0;font-size:13px;display:flex;flex-direction:column;justify-content:center;gap:6px}
#bunker-game-root .bg-dtf .keys{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}
#bunker-game-root .bg-dtf .keys span{height:20px;border-radius:4px;background:#33333c}
#bunker-game-root .bg-slot{margin-top:10px;height:10px;border-radius:3px;background:#000;border:1px solid #3a3a44}
#bunker-game-root .bg-phone{width:150px;height:300px;border-radius:24px;background:linear-gradient(180deg,#23232b,#101015);border:6px solid #2c2c34;box-shadow:var(--shadow);padding:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
#bunker-game-root .bg-ticket{width:210px;background:#f4efe2;color:#1a1206;border-radius:4px;padding:14px;box-shadow:var(--shadow);position:relative;animation:bg-print 1.1s cubic-bezier(.4,1,.5,1)}
@keyframes bg-print{from{transform:translateY(-120px);opacity:.2}to{transform:translateY(0);opacity:1}}
#bunker-game-root .bg-ticket .bg-bg{font-family:'Russo One','Oswald',sans-serif;font-size:14px;letter-spacing:1px;text-align:center;border-bottom:2px dashed rgba(26,18,6,.2);padding-bottom:6px;margin-bottom:6px}
#bunker-game-root .bg-ticket .ln{display:flex;justify-content:space-between;font-size:11px;margin:3px 0}
#bunker-game-root .bg-ticket .no{font-family:'Russo One','Oswald',sans-serif;font-size:18px;text-align:center;margin:8px 0}
#bunker-game-root .bg-status{font-size:14px;color:var(--txt);min-height:22px}
#bunker-game-root .bg-status.ok{color:var(--ok);font-weight:600}

@media(max-width:720px){
  #bunker-game-root .bg-hud .panel{grid-template-columns:1fr;height:86vh}
  #bunker-game-root .bg-preview{display:none}
  #bunker-game-root .bg-trasky,#bunker-game-root .bg-trasky img{width:200px}
  #bunker-game-root .bg-sign{font-size:17px}
  #bunker-game-root .bg-opts{grid-template-columns:1fr}
}
