:root{
  --casino-bg:#071525;
  --casino-panel:#0a1c2f;
  --casino-panel-2:#102840;
  --casino-line:#31506b;
  --casino-text:#f7f9fc;
  --casino-muted:#b9c9d9;
  --casino-gold:#f7c94c;
  --casino-gold-2:#f7c94c;
}
*{box-sizing:border-box}
body{margin:0;background:var(--casino-bg);color:var(--casino-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.casino-header{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:auto 1fr auto;align-items:center;min-height:54px;padding:0 14px;background:#f6b600;color:#111;border-bottom:1px solid rgba(0,0,0,.25)}
.casino-brand{display:flex;align-items:center;gap:8px;color:#111;text-decoration:none;font-weight:900;letter-spacing:.025em}
.casino-brand img{width:32px;height:32px;object-fit:contain}
.casino-brand span{white-space:nowrap;font-size:14px}
.casino-main-nav{display:flex;align-items:stretch;justify-content:center;height:54px}
.casino-main-nav a{border:0;background:transparent;color:#111;font-weight:800;padding:0 14px;display:flex;align-items:center;justify-content:center;border-bottom:4px solid transparent;border-radius:0}
.casino-main-nav a:hover,.casino-main-nav a.active{background:rgba(0,0,0,.08);border-bottom-color:#111;color:#111}
.casino-account-area{display:flex;align-items:center;justify-content:flex-end}
.casino-login-link{display:inline-flex;align-items:center;justify-content:center;background:#111;color:#f5b800;padding:8px 11px;border-radius:6px;font-size:11px;font-weight:900;white-space:nowrap}
.casino-shell{width:min(1540px,calc(100% - 34px));margin:0 auto;padding:28px 0 56px}
.casino-hero{display:flex;justify-content:space-between;gap:24px;align-items:end;padding:34px;border:1px solid var(--casino-line);border-radius:22px;background:radial-gradient(circle at 80% 10%,rgba(247,201,76,.16),transparent 32%),linear-gradient(135deg,#0d2135,#091729)}
.eyebrow,.section-kicker{margin:0 0 8px;color:var(--casino-gold-2);font-size:12px;font-weight:900;letter-spacing:.14em}
.casino-hero h1,.casino-section h2{margin:0}
.casino-hero h1{font-size:clamp(34px,5vw,62px)}
.casino-hero p:not(.eyebrow){max-width:720px;color:var(--casino-muted);margin:12px 0 0}
.casino-stat{text-align:right}
.casino-stat strong{display:block;font-size:36px;color:var(--casino-gold-2)}
.casino-stat span{color:var(--casino-muted);font-size:13px}
.casino-tools{display:flex;gap:12px;margin:22px 0}
.search-box{flex:1;display:flex;align-items:center;gap:10px;padding:0 15px;background:var(--casino-panel);border:1px solid var(--casino-line);border-radius:13px}
.search-box input{width:100%;height:50px;border:0;outline:0;background:transparent;color:#fff;font-size:15px}
.filter-button,.load-more,.provider-panel button{border:1px solid var(--casino-line);background:var(--casino-panel-2);color:#fff;font-weight:800;border-radius:12px;cursor:pointer}
.filter-button{padding:0 20px}
.provider-panel{margin:-8px 0 22px;padding:18px;background:var(--casino-panel);border:1px solid var(--casino-line);border-radius:16px}
.provider-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.provider-panel-head button{padding:8px 12px}
.provider-list{display:flex;flex-wrap:wrap;gap:8px}
.provider-chip{padding:9px 12px!important;font-size:13px}
.provider-chip.active{border-color:var(--casino-gold);color:var(--casino-gold-2)}
.casino-section-head{display:flex;justify-content:space-between;align-items:end;margin:28px 0 16px}
.results-count{color:var(--casino-muted);font-size:13px}
.games-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.game-card{position:relative;overflow:hidden;border-radius:15px;background:var(--casino-panel);border:1px solid var(--casino-line);min-width:0}
.game-card img{display:block;width:100%;aspect-ratio:288/210;object-fit:cover;background:#111927}
.game-card-body{padding:12px 13px}
.game-card h3{margin:0 0 5px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.game-provider{color:var(--casino-muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catalog-message{text-align:center;padding:40px;color:var(--casino-muted)}
.load-more-wrap{text-align:center;padding:28px}
.load-more{min-width:180px;padding:13px 22px}
.load-more:hover{border-color:var(--casino-gold);color:var(--casino-gold-2)}
@media(max-width:1200px){.games-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:820px){
  .casino-header{grid-template-columns:1fr auto;min-height:auto;padding:6px 8px;gap:6px}
  .casino-brand img{width:30px;height:30px}
  .casino-brand span{font-size:12px}
  .casino-account-area{justify-self:end}
  .casino-login-link{padding:7px 10px;font-size:11px}
  .casino-main-nav{grid-column:1/-1;order:3;width:100%;height:auto;overflow-x:auto;justify-content:flex-start;background:rgba(0,0,0,.09);border-radius:6px;scrollbar-width:none}
  .casino-main-nav::-webkit-scrollbar{display:none}
  .casino-main-nav a{flex:0 0 auto;padding:9px 12px;font-size:12px;border-bottom-width:3px}
  .casino-shell{width:min(100% - 20px,1540px);padding-top:16px}
  .casino-hero{align-items:flex-start;flex-direction:column;padding:22px}
  .casino-stat{text-align:left}
  .casino-tools{align-items:stretch;flex-direction:column}
  .filter-button{height:48px}
  .games-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .game-card-body{padding:10px}
}

.game-card{cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}
.game-card:hover,.game-card:focus-visible{transform:translateY(-2px);border-color:var(--casino-gold);box-shadow:0 10px 24px rgba(0,0,0,.28);outline:none}
.game-card.opening{opacity:.65;pointer-events:none}
.game-card.opening::after{content:"Apertura...";position:absolute;inset:auto 8px 8px 8px;padding:7px 9px;border-radius:8px;background:rgba(7,21,37,.92);color:var(--casino-gold);font-size:11px;font-weight:900;text-align:center}

body.casino-game-open{overflow:hidden}
.game-modal{position:fixed;inset:0;z-index:1000;background:rgba(2,8,15,.88);padding:18px;backdrop-filter:blur(6px)}
.game-modal[hidden]{display:none!important}
.game-modal-dialog{width:min(1500px,100%);height:min(900px,calc(100vh - 36px));margin:0 auto;display:flex;flex-direction:column;background:#071525;border:1px solid #31506b;border-radius:14px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.65)}
.game-modal-head{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px;padding:8px 12px;background:#f6b600;color:#111}
.game-modal-brand{display:flex;align-items:center;gap:9px;min-width:0}
.game-modal-brand img{width:34px;height:34px;object-fit:contain}
.game-modal-brand div{display:flex;flex-direction:column;min-width:0}
.game-modal-brand strong,.game-modal-brand small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.game-modal-brand small{font-size:11px;opacity:.75}
.game-modal-close{width:38px;height:38px;border:0;border-radius:8px;background:#111;color:#f6b600;font-size:27px;line-height:1;cursor:pointer}
.game-modal-frame{display:block;width:100%;height:100%;flex:1;border:0;background:#08111d}
.game-modal-loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;background:rgba(7,21,37,.94);border:1px solid #31506b;border-radius:10px;padding:12px 16px;color:#f7c94c;font-weight:900}
@media(max-width:820px){
  .game-modal{padding:0}
  .game-modal-dialog{width:100%;height:100dvh;border-radius:0;border-left:0;border-right:0}
  .game-modal-head{min-height:54px}
  .game-modal-brand img{width:30px;height:30px}
  .game-modal-brand strong{font-size:13px}
}

.provider-search{display:flex;align-items:center;gap:9px;margin:0 0 12px;padding:0 12px;border:1px solid var(--casino-line);border-radius:10px;background:#071525}
.provider-search input{width:100%;height:42px;border:0;outline:0;background:transparent;color:#fff}
.provider-list{max-height:238px;overflow:auto;align-content:flex-start;padding-right:4px}
.provider-empty{margin:10px 0 0;color:var(--casino-muted);font-size:13px}
@media(max-width:820px){
  .provider-panel{padding:14px}
  .provider-list{max-height:280px}
  .provider-chip{padding:8px 10px!important;font-size:12px}
}

.game-card img.game-image-missing{
  visibility:visible!important;
  background:radial-gradient(circle at 50% 40%,rgba(247,201,76,.12),transparent 30%),linear-gradient(135deg,#102840,#071525);
}


/* Category-first lobbies share one visual system across the three verticals. */
[hidden]{display:none!important}
.casino-main-nav a,.casino-login-link{text-decoration:none;white-space:nowrap}
.lobby-topline{display:flex;align-items:center;gap:24px;margin-bottom:22px}
.lobby-tabs{display:flex;gap:12px;flex:1;align-items:center}
.lobby-tabs a{padding:9px 16px;border-radius:24px;text-decoration:none;color:var(--casino-text);font-size:13px;font-weight:700;white-space:nowrap}
.lobby-tabs a.active{background:#f6b600;color:#111}
.lobby-topline .search-box{flex:0 1 360px;background:#263343;border-color:transparent;border-radius:8px}
.lobby-topline input{height:40px;font-size:13px}
.casino-hero{position:relative;overflow:hidden;min-height:230px;border:0;border-radius:18px;padding:34px 42px;background:linear-gradient(115deg,#101c2b 55%,#133c43)}
.casino-hero>div:first-child{position:relative;z-index:1;max-width:70%}
.casino-hero h1{font-size:clamp(30px,4vw,52px);line-height:1.12}
.lobby-slot .casino-hero{background:linear-gradient(115deg,#121e2d 55%,#49235b)}
.lobby-live .casino-hero{background:linear-gradient(115deg,#121e2d 55%,#174965)}
.lobby-art{display:flex;gap:8px;align-items:center;position:absolute;right:7%;top:28px;transform:rotate(-10deg)}
.lobby-art span{display:grid;place-items:center;width:88px;height:155px;font-size:65px;font-weight:900;border:2px solid #f6b600;border-radius:14px;background:linear-gradient(155deg,#26364c,#0b1524);color:#f6b600;box-shadow:0 12px 24px #0006}
.lobby-art span:nth-child(2){transform:translateY(20px);color:#fff}
.category-nav{display:flex;justify-content:center;gap:22px;padding:30px 0 24px;overflow:auto}
.category-button{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:9px;min-width:80px;padding:8px 4px;border:0;border-bottom:3px solid transparent;background:none;color:#fff;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.category-icon{display:grid;place-items:center;width:42px;height:42px;font-size:30px;color:#f6b600;text-shadow:0 2px 8px #0006}
.category-button.active{color:#f6b600;border-bottom-color:#f6b600}
.category-button:hover{color:#f6b600}
.provider-secondary{display:none}
.catalog-total{margin-left:auto;margin-right:12px;background:#266342;color:#fff;border-radius:18px;padding:4px 12px;font-weight:800;font-size:13px}
.casino-section-head{gap:8px}
.casino-section-head h2{font-size:21px}
.game-card img{aspect-ratio:1;object-fit:cover}
.game-card{border-color:#263b50}
:focus-visible{outline:2px solid #f6b600;outline-offset:4px}
@media(min-width:821px) and (max-width:1100px){.casino-header{grid-template-columns:1fr auto}.casino-main-nav{grid-column:1/-1;grid-row:2;justify-content:flex-start;overflow:auto}.casino-account-area{grid-column:2;grid-row:1}.casino-main-nav a{padding:0 12px;font-size:13px}}
@media(max-width:820px){
 .lobby-topline{flex-direction:column;align-items:stretch;gap:14px}.lobby-tabs{gap:4px;overflow:auto}.lobby-tabs a{font-size:12px;padding:8px 12px}.lobby-topline .search-box{flex:auto}
 .casino-hero{min-height:190px;padding:24px}.casino-hero>div:first-child{max-width:72%}.casino-hero p:not(.eyebrow){font-size:13px}.lobby-art{right:-20px;top:44px;opacity:.35}.lobby-art span{width:58px;height:110px;font-size:42px}
 .category-nav{justify-content:flex-start;gap:12px;padding:18px 0}.category-button{min-width:75px;font-size:11px}.category-icon{font-size:26px}
 .casino-section-head{flex-wrap:wrap;align-items:center}.results-count{width:100%;font-size:12px}.catalog-total{margin-right:0}.section-kicker{font-size:10px}
 .game-card h3{font-size:12px}.game-provider{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.game-card{transition:none}}

/* Session recovery stays reachable when cross-origin game content is blank. */
.game-modal-recovery{display:flex;flex:none;align-items:center;gap:8px;flex-wrap:wrap;padding:7px 12px;background:#14243d;border-bottom:1px solid #d5ac4566}
.game-modal-recovery p{flex:1;min-width:180px;margin:0;color:#bbcae0;font-size:12px;line-height:1.4}
.game-modal-recovery button,.game-modal-recovery a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 12px;border:1px solid #d5ac4588;border-radius:6px;background:#1a2c47;color:#ffe095;text-decoration:none;font-size:11px;font-weight:800;cursor:pointer}
.game-modal-recovery a{background:#f7c94c;color:#14243d}
.game-modal-recovery button:disabled{opacity:.55;cursor:wait}
.game-modal-frame{min-height:0}
@media(max-width:600px){.game-modal-recovery p{flex-basis:100%}.game-modal-recovery button,.game-modal-recovery a{flex:1}}
