/* Auditoría premium 2026: correcciones estructurales, responsive y pulido final. */
:root{--header-h:76px;--rail-w:96px;--tap:44px}
body{font-size:16px}
button{min-width:0}
button:disabled{cursor:not-allowed}

/* Estructura: una sola columna real para la barra lateral. */
.casino-shell{display:grid!important;grid-template:var(--header-h) minmax(0,1fr)/var(--rail-w) minmax(0,1fr)!important}
.casino-header{grid-column:1/-1!important;grid-row:1!important;position:fixed!important;inset:0 0 auto 0!important;z-index:80!important;display:grid!important;grid-template-columns:145px minmax(170px,1fr) auto 44px minmax(160px,190px) 44px minmax(48px,150px)!important;gap:12px!important;align-items:center!important;width:100%!important;height:var(--header-h)!important;overflow:hidden!important}
.casino-header>*{min-width:0!important}
.casino-header .search-box{width:100%!important;max-width:440px!important}
.casino-header .audio-button,.casino-header .notice-button{min-width:38px!important}
.casino-header .profile-chip{max-width:150px!important;overflow:hidden!important}
.casino-header .profile-chip>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side-nav{grid-column:1!important;grid-row:2!important;position:fixed!important;inset:var(--header-h) auto 0 0!important;width:var(--rail-w)!important;overflow-x:hidden!important;overflow-y:auto!important;z-index:50!important}
.casino-main{grid-column:2!important;grid-row:2!important;margin-left:0!important;padding-top:0!important;min-width:0!important;overflow:visible!important}
.lobby-page,.profile-page,.game-page{width:100%;max-width:1600px;margin-inline:auto}

/* Hero de lobby: asset original, jerarquía y señal local. */
.casino-hero{min-height:430px!important;padding:58px clamp(30px,6vw,88px)!important;isolation:isolate}
.casino-hero:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(3,5,4,.96) 0,rgba(3,5,4,.82) 35%,rgba(3,5,4,.08) 72%),linear-gradient(0deg,rgba(3,5,4,.5),transparent 44%);pointer-events:none}
.hero-scene-img{position:absolute;z-index:0;inset:-8% -3% -10% auto;width:78%;height:120%;object-fit:cover;object-position:center;filter:saturate(1.12) contrast(1.04);opacity:.94;transform:scale(1.02);transition:filter .5s,transform .7s var(--ease)}
.casino-hero:hover .hero-scene-img{filter:saturate(1.23) contrast(1.08) brightness(1.05);transform:scale(1.045)}
.hero-copy-lobby{z-index:3!important;max-width:560px!important}
.hero-copy-lobby p:not(.overline){font:italic 1.05rem/1.6 var(--display);max-width:410px;color:#c5c0b6!important}
.hero-proof{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0 5px}
.hero-proof span{padding:7px 9px;border:1px solid rgba(255,255,255,.15);background:rgba(0,0,0,.3);font-size:.45rem;letter-spacing:.13em;color:#b9b2a5}
.hero-dots{z-index:4!important}.hero-dots button{min-width:32px!important;height:3px!important}

/* Catálogo: sin expansión fuera de la grilla y CTA táctil. */
.game-grid,.public-game-grid{align-items:stretch!important}
.game-card{overflow:hidden!important;contain:paint;min-width:0;cursor:pointer}
.game-card:hover{transform:translate(var(--px,0),calc(var(--py,0) - 7px))!important}
.game-card:focus-visible{outline:1px solid var(--gold);outline-offset:5px}
.game-art{width:100%;max-width:100%;transform:none!important}
.game-art>.game-badge{position:absolute;z-index:8;top:16px;right:auto;bottom:auto;left:16px;width:auto;padding:6px 9px;border-left:2px solid currentColor;background:rgba(2,4,3,.76);font:700 .43rem/1 var(--sans)!important;letter-spacing:.13em;color:var(--gold);text-shadow:none!important;backdrop-filter:blur(5px)}
.game-slot .game-badge{color:#ff5da7}.game-roulette .game-badge{color:#39e59b}.game-dice .game-badge{color:#65ebff}.game-mines .game-badge{color:#9f84ff}.game-crash .game-badge{color:#ff8e4b}.game-baccarat .game-badge{color:#e3a0b7}
.favorite{min-width:40px!important;width:40px!important;height:40px!important}
.card-play{min-height:46px!important}
.cover-table:after{content:"BLACKJACK PAGA 3:2"!important}
.cover-baccarat:after{content:"JUGADOR · BANCA · EMPATE"!important}
.empty-state{min-height:260px!important;padding:36px!important;border:1px solid rgba(217,184,115,.22)!important;background:radial-gradient(circle at center,rgba(217,184,115,.08),transparent 62%),#080b09!important;text-align:center}
.empty-state>i{display:grid;place-items:center;width:70px;height:70px;border:1px solid var(--gold);border-radius:50%;font:italic 2.8rem var(--display);color:var(--gold);box-shadow:0 0 30px rgba(217,184,115,.1)}
.empty-state>b{font:400 1.5rem var(--display);color:var(--cream)}
.empty-state>span{max-width:430px;line-height:1.6}
.empty-state>button{min-height:44px;padding:0 18px;border:1px solid var(--gold);background:transparent;color:var(--gold);font-size:.52rem;letter-spacing:.13em}

/* Cabeceras de juego siempre visibles. */
.game-page{padding:0 clamp(14px,2.3vw,34px) 70px!important}
.game-page-head{height:88px!important;min-height:88px!important;margin:0 0 16px!important;position:relative!important;z-index:20!important}
.game-page-head .back-casino,.game-page-head .paytable-link{min-height:44px!important;padding-inline:15px!important}

/* P0: las piezas decorativas nunca interceptan el control físico. */
.spin-housing{position:relative;z-index:10}
.spin-housing>i,.slot-stage:before,.cabinet-lights,.win-line{pointer-events:none!important}
.physical-spin{position:relative!important;z-index:4!important;pointer-events:auto!important;min-width:82px!important}

/* Todos los escenarios respetan el ancho disponible dentro del rail. */
.roulette-status,.roulette-canvas-layout,.blackjack-table,.dice-arena,.baccarat-table,.mines-console,.crash-arena{width:100%!important;max-width:1180px!important}
.roulette-room,.blackjack-room,.dice-room,.baccarat-room,.mines-room,.crash-room{width:100%!important;max-width:1280px!important;margin-inline:auto!important}
.roulette-canvas-layout{max-width:1180px!important}
.roulette-board button{min-height:42px}
.outside-grid button{min-height:42px!important}
.physical-chips button{min-width:48px!important}

/* Blackjack: las fichas viven en un rail propio, lejos de las acciones. */
.blackjack-room{min-height:800px!important;padding-top:44px!important;overflow:visible!important}
.blackjack-table{min-height:720px!important;transform:none!important}
.dealer-zone{top:38px!important}.player-zone{bottom:270px!important}
.waiting-hand{display:grid!important;place-items:center!important;min-width:230px;border:1px dashed rgba(217,184,115,.3);border-radius:50%;color:#baa77f;font-size:.5rem;letter-spacing:.17em}
.betting-spot{bottom:205px!important}
.blackjack-chips{bottom:158px!important;z-index:12!important;pointer-events:none!important}
.blackjack-chips button{pointer-events:auto!important;min-width:46px!important;width:46px!important;height:46px!important}
.blackjack-controls{left:18px!important;right:18px!important;bottom:14px!important;z-index:11!important;display:grid!important;grid-template-columns:minmax(120px,1.3fr) repeat(6,minmax(78px,1fr))!important;gap:7px!important;padding:12px!important}
.blackjack-controls button,.blackjack-controls select{min-height:46px!important}
.blackjack-table>.game-message{position:absolute!important;left:20%!important;right:20%!important;bottom:-50px!important}

/* Dados, Baccarat, Minas y Crash: proporción real del contenedor. */
.dice-room{min-height:690px!important}.dice-arena{max-width:940px!important}
.baccarat-room{min-height:690px!important;padding:8px 0 40px!important}
.baccarat-table{max-width:1050px!important;min-height:590px!important;padding:38px!important}
.baccarat-controls button,.baccarat-controls select{min-height:46px!important}
.mines-room{min-height:720px!important;padding:8px 0 40px!important}
.mines-console{max-width:780px!important;padding:30px!important}
.mines-board{max-width:560px;margin-inline:auto;gap:8px!important}
.mines-board button{min-width:44px;box-shadow:inset 0 0 18px #030309,0 5px 0 #070611,0 12px 16px #000!important}
.mines-controls button,.mines-controls select{min-height:48px!important}
.crash-room{min-height:650px!important;padding:8px 0 40px!important}
.crash-arena{max-width:1050px!important;height:min(650px,calc(100svh - 210px))!important;min-height:540px!important}
.crash-controls button,.crash-controls select{min-height:50px!important}

/* Modales: cierre anclado al panel y contenido dentro del viewport. */
.modal-backdrop{position:fixed!important;inset:0!important;z-index:1000!important;padding:clamp(12px,3vw,34px)!important;overflow:auto!important;overscroll-behavior:contain}
.modal-backdrop>section{position:relative!important;max-height:calc(100svh - 40px)!important;overflow:auto!important;margin:auto!important}
.modal-close{position:sticky!important;float:right;top:0!important;right:0!important;z-index:8!important;min-width:44px!important;width:44px!important;height:44px!important;border:1px solid var(--hair)!important;background:#080b09!important;color:var(--cream)!important;font-size:1.4rem!important}
.wallet-modal,.notice-modal,.paytable-modal,.audio-console{width:min(560px,94vw)!important;padding:clamp(24px,4vw,42px)!important}
.notice-modal>article,.paytable-modal article,.wallet-modal article{min-height:54px!important}
.reward-vault{width:min(1000px,96vw)!important;max-height:calc(100svh - 32px)!important}

/* Perfil: lectura limpia, sin identificadores técnicos visibles. */
.activity-row{min-height:56px}.activity-row>span,.activity-row>strong{min-width:0}

@media(max-width:1250px){
  .casino-header{grid-template-columns:145px minmax(160px,1fr) 44px minmax(150px,190px) 44px 44px!important}
  .casino-header .live-status{display:none!important}
  .casino-header .profile-chip>span{display:none!important}
  .casino-header .profile-chip{width:44px!important;justify-content:center}
  .casino-header .profile-chip>i{flex:none}
  .featured-game{grid-template-columns:1fr .8fr}
  .blackjack-controls{grid-template-columns:120px repeat(3,1fr)!important}
  .blackjack-controls button:nth-of-type(n+4){grid-row:2}
  .blackjack-table{min-height:790px!important}.player-zone{bottom:325px!important}.betting-spot{bottom:250px!important}.blackjack-chips{bottom:198px!important}
}

@media(max-width:1000px){
  :root{--rail-w:78px}
  .casino-header{grid-template-columns:76px minmax(160px,1fr) 44px minmax(150px,185px) 44px 44px!important}
  .casino-header .wordmark{font-size:1.3rem!important}.casino-header .wordmark span{display:none!important}
  .side-nav button{font-size:0!important;justify-content:center!important}.side-nav button svg{width:1.25rem!important;height:1.25rem!important}
  .game-grid,.public-game-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .game-card:last-child{grid-column:auto!important}
  .hero-scene-img{width:88%;right:-16%;opacity:.83}
  .casino-hero:after{background:linear-gradient(90deg,rgba(3,5,4,.97),rgba(3,5,4,.78) 48%,rgba(3,5,4,.12))}
  .roulette-canvas-layout{grid-template-columns:1fr!important}.roulette-canvas-layout .roulette-wheel-wrap{min-height:570px!important}#rouletteCanvas{height:540px!important}
  .baccarat-controls{grid-template-columns:repeat(3,1fr)!important}.baccarat-controls label,.baccarat-controls .deal-control{grid-column:span 3!important}
}

@media(max-width:800px){
  :root{--header-h:68px;--rail-w:0px}
  .casino-shell{display:block!important;padding-bottom:76px!important}
  .casino-header{grid-template-columns:minmax(72px,1fr) 42px minmax(135px,165px)!important;gap:8px!important;height:var(--header-h)!important;padding:0 12px!important}
  .casino-header .wordmark{font-size:1.35rem!important}
  .casino-header .search-box,.casino-header .live-status,.casino-header .notice-button,.casino-header .profile-chip{display:none!important}
  .casino-header .audio-button{display:grid!important}
  .wallet-pill{display:flex!important;min-width:0!important;width:100%!important;height:46px!important;padding:5px 10px!important}
  .wallet-pill span{font-size:.78rem!important}.wallet-pill small{font-size:.36rem!important}
  .side-nav{display:none!important}.casino-main{padding-top:var(--header-h)!important;margin:0!important}
  .mobile-nav{display:grid!important;height:76px!important;padding-bottom:env(safe-area-inset-bottom);z-index:90!important}
  .mobile-nav button{min-height:58px!important;font-size:.39rem!important;line-height:1.2!important}
  .lobby-page{padding:14px 12px 96px!important}.game-page{padding:0 10px 98px!important}.profile-page{padding:14px 12px 98px!important}
  .casino-hero{min-height:520px!important;padding:38px 24px!important;display:flex;align-items:flex-start}
  .casino-hero:after{background:linear-gradient(180deg,rgba(3,5,4,.92) 0,rgba(3,5,4,.52) 45%,rgba(3,5,4,.2) 70%,rgba(3,5,4,.9) 100%)}
  .hero-scene-img{inset:auto -30% -2% auto;width:145%;height:78%;object-position:center bottom;opacity:.76}
  .hero-copy-lobby h1{font-size:3.55rem!important}.hero-copy-lobby p:not(.overline){font-size:.9rem;max-width:310px}
  .hero-proof span{font-size:.38rem}.hero-dots{left:24px!important;bottom:16px!important}
  .live-jackpots{grid-template-columns:1fr 1fr!important}.jackpot-title{grid-column:span 2}.live-jackpots .mega{grid-column:span 2}
  .featured-game{grid-template-columns:1fr!important}.featured-art{min-height:300px!important}.featured-copy{padding:30px 24px!important}
  .game-grid,.public-game-grid{grid-template-columns:1fr!important;gap:16px!important}.game-art{height:300px!important}.game-card:last-child{grid-column:auto!important}
  .card-play{opacity:1!important;transform:translate(-50%,0)!important;bottom:18px!important}
  .game-info{padding:15px!important}.game-info b{font-size:1.12rem!important}.game-info span{font-size:.57rem!important;line-height:1.5}.game-info small{font-size:.47rem!important}
  .category-tabs button{min-height:44px!important}.balance-strip{grid-template-columns:1fr 1fr!important}.balance-strip>div{min-height:76px}
  .game-page-head{grid-template-columns:auto 1fr!important;height:78px!important;min-height:78px!important}.game-page-head>span{display:none!important}.game-page-head .overline{display:none}.game-page-head h1{font-size:1.35rem!important}.back-casino{font-size:.48rem!important;padding-inline:10px!important}
  .slot-chamber{min-height:670px!important}.slot-stage{max-width:100%!important}
  .roulette-status{grid-template-columns:1fr 1fr!important}.roulette-canvas-layout .roulette-wheel-wrap{min-height:430px!important}#rouletteCanvas{height:405px!important}.roulette-betting{padding:22px 12px!important}.roulette-board{grid-template-columns:44px 1fr!important}.number-grid{grid-template-columns:repeat(6,1fr)!important;grid-template-rows:repeat(6,44px)!important}.outside-grid button{min-height:44px!important}.physical-chips button{min-width:46px!important;width:46px!important;height:46px!important}.manual-roulette-bet{grid-template-columns:1fr 1fr!important}.manual-roulette-bet button{grid-column:span 2;min-height:44px}
  .blackjack-room{min-height:790px!important;padding-top:20px!important}.blackjack-table{min-height:730px!important;border-width:9px!important;border-radius:34% 34% 5% 5%/14% 14% 3% 3%!important}.dealer-zone{top:24px!important}.player-zone{bottom:280px!important}.table-mark{top:38%!important}.table-mark b{font-size:2.7rem!important}.table-mark small{display:none!important}.betting-spot{bottom:215px!important}.blackjack-chips{bottom:158px!important;width:100%;justify-content:center;gap:5px!important}.blackjack-chips button{width:40px!important;height:40px!important;min-width:40px!important;border-width:4px!important}.blackjack-controls{left:8px!important;right:8px!important;bottom:8px!important;grid-template-columns:repeat(3,1fr)!important;padding:9px!important}.blackjack-controls label{grid-column:span 3}.blackjack-controls button{min-width:0!important;font-size:.46rem!important}.blackjack-controls button:nth-of-type(n+4){grid-row:auto}.blackjack-table>.game-message{left:10px!important;right:10px!important;bottom:-46px!important}
  .dice-room,.baccarat-room,.mines-room,.crash-room{min-height:0!important;padding:8px 0 32px!important}.dice-arena,.baccarat-table,.mines-console,.crash-arena{max-width:100%!important}
  .baccarat-table{min-height:570px!important;padding:25px 12px!important;border-width:8px!important;border-radius:24% 24% 4% 4%/10% 10% 2% 2%!important}.baccarat-hands{min-height:330px!important}.baccarat-controls{grid-template-columns:repeat(3,1fr)!important}.baccarat-controls label,.baccarat-controls .deal-control{grid-column:span 3!important}.baccarat-controls button{font-size:.43rem!important}
  .mines-console{padding:24px 12px!important}.mines-board{max-width:520px!important;gap:6px!important}.mines-controls{grid-template-columns:1fr 70px!important}.mines-controls button{grid-column:auto!important}
  .crash-arena{height:590px!important;min-height:590px!important}.crash-controls{left:12px!important;right:12px!important;bottom:24px!important;grid-template-columns:1fr 1fr!important}.crash-controls label{grid-column:span 2!important}
  .modal-backdrop{padding:10px!important}.modal-backdrop>section{max-height:calc(100svh - 20px)!important}.reward-days{grid-template-columns:repeat(2,1fr)!important}.reward-vault{padding:28px 12px!important}.vault-wheel{width:82px!important;height:82px!important}.reward-vault h2{font-size:1.8rem!important}.reward-chest{height:70px!important}
  .profile-hero{display:grid!important;grid-template-columns:auto 1fr!important;gap:18px!important}.profile-hero button{grid-column:span 2}.profile-hero h1{font-size:2.4rem!important}.profile-stats{grid-template-columns:1fr 1fr!important}.activity{overflow:auto!important}.activity-row{min-width:620px!important}
}

@media(max-width:480px){
  .casino-header{grid-template-columns:1fr 40px minmax(128px,150px)!important}.wallet-pill span{font-size:.72rem!important}
  .casino-hero{min-height:500px!important}.hero-copy-lobby h1{font-size:3.1rem!important}.hero-proof{max-width:280px}.hero-scene-img{width:165%;right:-47%;height:75%}
  .game-art{height:270px!important}.featured-art{min-height:260px!important}.seven-monolith{font-size:13rem!important}
  .roulette-status{grid-template-columns:1fr!important}.roulette-status>div{padding:9px 11px!important}.roulette-canvas-layout .roulette-wheel-wrap{min-height:365px!important}#rouletteCanvas{height:345px!important}.roulette-board{grid-template-columns:40px 1fr!important}.number-grid{grid-template-columns:repeat(4,1fr)!important;grid-template-rows:repeat(9,44px)!important}.outside-grid{grid-template-columns:repeat(2,1fr)!important}.outside-grid button{font-size:.4rem!important}.roulette-betting h2{font-size:1.8rem!important}
  .slot-window{height:270px!important}.slot-symbol b{font-size:1.8rem!important}.game-controls{grid-template-columns:1fr auto 1fr!important}.spin-housing{width:84px!important;height:84px!important;margin:0 3px!important}.spin-housing>i{width:72px!important;height:72px!important}.physical-spin{width:64px!important;height:64px!important;min-width:64px!important}.physical-spin span{font-size:.66rem!important}
  .blackjack-table{min-height:700px!important}.cards{gap:4px!important}.card{width:58px!important;height:84px!important}.blackjack-chips{gap:3px!important}.blackjack-chips button{width:35px!important;height:35px!important;min-width:35px!important}.blackjack-controls button{font-size:.42rem!important;padding:3px!important}
  .baccarat-hands{grid-template-columns:1fr!important;min-height:370px!important}.baccarat-mark{display:none!important}.baccarat-hands article{min-height:170px}.baccarat-controls{grid-template-columns:1fr!important}.baccarat-controls label,.baccarat-controls .deal-control{grid-column:auto!important}
  .mines-console>header{align-items:flex-start!important}.mines-console h2{font-size:1.8rem!important}.mines-multiplier strong{font-size:1.3rem!important}.mines-controls{grid-template-columns:1fr!important}
  .crash-value strong{font-size:3.35rem!important}.crash-ship{right:10%!important}.profile-stats{grid-template-columns:1fr!important}
}

@media(prefers-reduced-motion:reduce){.hero-scene-img{transition:none!important;transform:none!important}}
