.game-card-art > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.game-card-art:has(> img)::before,
.game-card-art:has(> img)::after {
  display: none;
}

.game-card-art > img + .game-art-title {
  inset: auto 0 0;
  padding: 34px 12px 12px;
  background: linear-gradient(transparent, rgba(4, 3, 2, .92));
}

.auth-tabs:has(> :only-child) {
  grid-template-columns: 1fr;
}

/* Dense black-and-gold lobby inspired by the approved mobile reference. */
body { background-color: #030302; background-image: radial-gradient(ellipse at 15% 7%, rgba(255,190,48,.11), transparent 22%), radial-gradient(ellipse at 82% 42%, rgba(191,117,8,.08), transparent 28%); }
.site-header, .jackpot-strip, .campaign-banner, .page-section, .site-footer { box-shadow: inset 0 -1px rgba(255,194,55,.28); }
.view-all { display:inline-flex; align-items:center; gap:8px; min-height:42px; padding:0 18px; border:1px solid var(--gold-500); border-radius:10px; color:var(--gold-100); background:linear-gradient(180deg,rgba(55,37,8,.8),rgba(6,5,3,.9)); box-shadow:inset 0 0 16px rgba(255,191,43,.12),0 0 14px rgba(215,168,62,.12); font:inherit; font-weight:800; cursor:pointer; }
.popular-games { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.popular-games .game-card { border-color:rgba(255,200,66,.66); border-radius:10px; box-shadow:inset 0 0 12px rgba(255,201,73,.08),0 0 12px rgba(215,168,62,.12); }
.popular-games .game-card-art { aspect-ratio:16/10; }
.popular-games .game-art-title { display:none; }
.popular-games .game-card-copy { min-height:62px; padding:10px 12px; }
.popular-games .game-card-copy b { font-size:14px; }
.popular-games .game-play { bottom:72px; }
.poker-live-banner { display:block; width:min(64%,820px); margin:18px auto 0; overflow:hidden; border:1px solid rgba(255,200,66,.72); border-radius:12px; background:#050403; box-shadow:inset 0 0 18px rgba(255,201,73,.1),0 0 18px rgba(215,168,62,.16); }
.poker-live-banner img { width:100%; aspect-ratio:3.3/1; object-fit:contain; }
.provider-catalog { margin-top:64px; }
.entertainment-section { padding-top:18px; }
.entertainment-section .promotions-grid { grid-template-columns:repeat(3,1fr); }
.entertainment-section .promotion-card { min-height:260px; border-color:rgba(255,200,66,.72); }
.entertainment-section .promotion-content { display:flex; align-items:center; justify-content:space-between; padding:18px 22px; border-top:1px solid rgba(255,200,66,.62); background:rgba(2,2,1,.88); }
.entertainment-section .promotion-content h3 { margin:0; text-transform:uppercase; }
.category-link { width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--gold-500); border-radius:50%; background:#070603; color:var(--gold-100); }
.category-card { cursor:pointer; transition:transform .2s var(--ease), border-color .2s, box-shadow .2s; }
.category-card:hover, .category-card:focus-visible { transform:translateY(-4px); border-color:var(--gold-300); box-shadow:0 0 26px rgba(215,168,62,.28); }
.category-card:focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
#poker-en-vivo, #slots, #bingo { scroll-margin-top:calc(var(--header-height) + 16px); }
.catalog-modal { width:min(1500px,calc(100% - 32px)); max-width:none; height:min(92vh,980px); max-height:none; padding:0; overflow:auto; border:1px solid rgba(255,200,66,.58); border-radius:16px; background:#080704; color:#fff9ea; box-shadow:0 30px 100px rgba(0,0,0,.8),inset 0 0 35px rgba(215,168,62,.07); }
.catalog-modal-header { position:sticky; top:0; z-index:4; padding:18px 22px 12px; background:rgba(8,7,4,.97); border-bottom:1px solid rgba(255,200,66,.22); }
.catalog-modal-header h2 { margin:2px 0 0; color:var(--gold-100); }
.catalog-toolbar { position:sticky; top:91px; z-index:3; display:grid; grid-template-columns:minmax(260px,1fr) minmax(180px,260px) minmax(180px,260px); gap:12px; padding:14px 22px; background:rgba(8,7,4,.97); border-bottom:1px solid rgba(255,200,66,.18); }
.catalog-toolbar label { display:grid; gap:5px; color:#d9c99d; font-size:12px; font-weight:700; }
.catalog-toolbar input,.catalog-toolbar select { width:100%; min-height:44px; padding:0 12px; border:1px solid rgba(255,200,66,.38); border-radius:9px; background:#111008; color:#fff; font:inherit; }
.catalog-search { position:relative; }
.catalog-search svg { position:absolute; left:12px; bottom:12px; width:20px; color:#e6bd51; pointer-events:none; }
.catalog-search input { padding-left:42px; }
.catalog-summary { padding:14px 22px 0; color:#d9c99d; font-size:13px; }
.catalog-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; padding:14px 22px 20px; }
.catalog-grid .game-card { min-width:0; border-color:rgba(255,200,66,.5); cursor:pointer; }
.catalog-grid .game-card-art { aspect-ratio:16/11; }
.catalog-grid .game-card-copy { min-height:58px; padding:9px 10px; }
.catalog-grid .game-card-copy b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.catalog-grid .game-play { bottom:66px; }
.catalog-empty { grid-column:1/-1; }
.catalog-more-wrap { display:flex; justify-content:center; padding:0 22px 26px; }
.catalog-more-wrap [hidden] { display:none; }

@media (max-width: 719px) {
  :root { --header-height:108px; }
  .container { width:calc(100% - 14px); }
  .site-header { border-bottom-color:rgba(255,199,57,.58); }
  .mobile-header { height:57px; padding-inline:4px; }
  .mobile-actions { inset:62px 7px 6px; }
  .mobile-actions #login-mobile { grid-column:1/-1; width:48%; justify-self:end; border-radius:12px; }
  .mobile-actions .search-mobile { top:-51px; right:0; }
  .jackpot-level { border:1px solid rgba(255,197,53,.42); }
  .campaign-banner { margin:7px; border:1px solid rgba(255,199,57,.65); border-radius:9px; }
  .campaign-banner-viewport { aspect-ratio:2.15/1; }
  .campaign-slide img { object-fit:contain; object-position:center; background:#030302; }
  .page-section { padding:22px 0 28px; }
  .slots-heading { margin-bottom:10px; }
  .section-heading h2 { font-size:clamp(20px,6vw,29px); text-transform:uppercase; letter-spacing:-.02em; }
  .section-heading .eyebrow { display:none; }
  .view-all { min-height:34px; padding-inline:12px; font-size:12px; }
  .popular-games { grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
  .popular-games .game-card-art { aspect-ratio:1/.76; }
  .popular-games .game-card-copy { min-height:52px; padding:7px 6px; }
  .popular-games .game-card-copy b { font-size:clamp(9px,2.7vw,12px); white-space:normal; line-height:1.05; }
  .popular-games .game-card-copy span { margin-top:3px; font-size:clamp(7px,2.1vw,9px); }
  .popular-games .game-play, .popular-games .demo-badge { display:none; }
  .poker-live-banner { width:66%; margin:9px auto 0; border-radius:8px; }
  .poker-live-banner img { aspect-ratio:3.3/1; object-fit:contain; object-position:center; background:#030302; }
  .provider-catalog { display:none; }
  .entertainment-section { padding-top:4px; }
  .entertainment-section .section-heading { display:none; }
  .entertainment-section .promotions-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  .entertainment-section .promotion-card { min-height:160px; border-radius:9px; }
  .entertainment-section .promotion-content { padding:9px 7px; }
  .entertainment-section .promotion-content h3 { font-size:clamp(14px,4vw,20px); }
  .category-link { display:none; }
  .site-footer { padding:30px 0 90px; background:radial-gradient(ellipse at 80% 30%,rgba(205,140,24,.13),transparent 38%),#030302; }
  .footer-brand img { width:190px; }
  .footer-brand p { font-size:12px; line-height:1.4; }
  .footer-grid { grid-template-columns:repeat(3,1fr); gap:24px 12px; }
  .footer-brand { grid-column:1/-1; }
  .footer-column:last-of-type { grid-column:auto; }
  .footer-column h3 { font-size:10px; }
  .footer-column a { margin:8px 0; font-size:10px; }
  .footer-legal { display:none; }
  .mobile-drawer { top:0; bottom:auto; height:100dvh; overflow-y:auto; background:#050504 !important; opacity:1; color:#fff9ea; box-shadow:18px 0 55px rgba(0,0,0,.92), inset -1px 0 rgba(242,209,112,.32); backdrop-filter:none; }
  .mobile-drawer::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(165deg,#100d06 0%,#050504 38%,#020202 100%); }
  .drawer-head { padding-bottom:18px; border-bottom:1px solid rgba(242,209,112,.34); }
  .drawer-nav { display:grid; gap:8px; }
  .drawer-nav a { padding:15px 14px; border:1px solid rgba(242,209,112,.22); border-radius:10px; background:#0d0b07; color:#fff9ea; font-size:15px; box-shadow:inset 0 0 14px rgba(215,168,62,.05); }
  .drawer-nav a span { color:#f2d170; }
  .drawer-backdrop { top:0; bottom:auto; width:100vw; height:100dvh; }
  .drawer-backdrop.open { background:rgba(0,0,0,.86); }
  .mobile-bottom-nav { grid-template-columns:repeat(5,1fr); min-height:calc(72px + env(safe-area-inset-bottom)); overflow:visible; border-top-color:rgba(255,199,57,.5); background:#070706; }
  .mobile-bottom-nav .mobile-brand-home { position:relative; overflow:visible; }
  .mobile-bottom-nav .mobile-brand-medallion { position:absolute; left:50%; bottom:5px; width:64px; height:64px; display:grid; place-items:center; transform:translateX(-50%); border:1px solid rgba(255,213,102,.78); border-radius:50%; background:radial-gradient(circle at 50% 35%,#3b2908,#090704 68%); box-shadow:0 -6px 22px rgba(215,168,62,.28),inset 0 0 18px rgba(255,211,92,.14); }
  .mobile-bottom-nav .mobile-brand-medallion img { width:46px; height:46px; object-fit:contain; }
  .catalog-modal { width:calc(100% - 10px); height:95dvh; border-radius:12px; }
  .catalog-modal-header { padding:12px 12px 9px; }
  .catalog-modal-header .eyebrow { display:none; }
  .catalog-modal-header h2 { font-size:21px; }
  .catalog-toolbar { top:58px; grid-template-columns:1fr 1fr; gap:8px; padding:9px 10px; }
  .catalog-toolbar .catalog-search { grid-column:1/-1; }
  .catalog-toolbar input,.catalog-toolbar select { min-height:40px; font-size:12px; }
  .catalog-summary { padding:10px 10px 0; font-size:11px; }
  .catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; padding:10px 8px 16px; }
  .catalog-grid .game-card-art { aspect-ratio:1/.78; }
  .catalog-grid .game-card-copy { min-height:48px; padding:6px; }
  .catalog-grid .game-card-copy b { font-size:10px; }
  .catalog-grid .game-card-copy span { font-size:8px; }
  .catalog-grid .game-play,.catalog-grid .demo-badge { display:none; }
}
