/* Shared V7 contrast, typography and home grids. */
:root{--slot-cover-ratio:5/4;--ink:#12152b;--muted:#303446}

body{color:var(--ink);font-weight:500}
.section-heading p,.how-intro p,.how-steps p,.operator small,.operator-note,.editorial-heading-copy>p,.editorial-copy p,.prose-steps,.note-card p,.reading-note p,.faq-layout>div>p,.faq-answer p,.family-dialog>p,.guide-type-strip span{color:#303446;font-weight:500}
.quick-links small,.provider,.filter-field label,.results-toolbar,.reading-nav>a,.reading-nav>span,.reading-nav>a>b,.reading-note,.guide-visual-label{color:#3c3b50}
.editorial-copy strong,.guide-type-strip strong,.game-card h3,.quick-links strong{color:#12152b}
.hero-copy>p,.hero-copy>p strong,.hero-kicker,.hero-secondary,.family p,.family .eyebrow,.topics-section .section-heading p,.topic-name,.adm-layout p,.adm-layout .eyebrow,.chapter-heading .chapter,.chapter-heading h3,.responsibility,.footer-brand p,.footer-top>div:not(.footer-brand)>a,.footer-bottom p{color:#fff;font-weight:500}
.hero-kicker,.family .eyebrow,.chapter-heading .chapter{font-weight:700}
.chapter-heading h3{font-weight:800}
.editorial-heading-copy>p,.editorial-heading .guide-visual-label,.faq-layout>div>p,.faq-answer p,.faqs summary,.footer-bottom>span{color:#fff}
.catalog-section .section-heading p,.catalog-section .eyebrow,.catalog-section .results-toolbar,.catalog-section .results-toolbar label,.catalog-section .results-toolbar select,.directory-grid .provider,.directory-grid h3,.catalog-section .empty-state p{color:#fff}
.header-search input,.filter-field input,.filter-field select{color:#161a2e;font-weight:500}
.header-search input::placeholder,.filter-field input::placeholder{color:#505368;opacity:1}
.featured-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:29px 24px}
.featured-grid .game-card h3{font-size:16px;line-height:1.5}
.featured-grid .provider{font-size:10px;letter-spacing:.8px}
.producer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.producer-grid>a{gap:14px;padding:16px;font-size:14px;color:#15192d}
.producer-logo-tile{display:flex;align-items:center;justify-content:center;width:76px;height:46px;flex-shrink:0;border:1px solid #dcdde9;border-radius:9px;background:#fff;padding:7px}
.producer-logo-tile.dark{background:#17192f;border-color:#252845}
.producer-logo-tile img{display:block;width:100%;height:100%;object-fit:contain}
.topic-art{position:relative;filter:brightness(1.16) saturate(1.08);box-shadow:0 0 0 1px #ffecb14d,0 5px 20px #f5c9ff35;overflow:hidden}
.topic-art:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(145deg,#ffffff2e 0%,#ffffff08 42%,transparent 65%);border-radius:inherit;box-shadow:inset 0 1px 0 #fff7dba8,inset 0 0 13px #ffffff12}
@media(max-width:600px){
 .featured-grid,.directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:23px 10px}
 .featured-grid .game-cover{border-radius:11px}
 .featured-grid .card-copy{padding:8px 0 0}.featured-grid .game-card h3,.directory-grid .game-card h3{font-size:12px;line-height:1.45;letter-spacing:-.15px}
 .featured-grid .provider,.directory-grid .provider{font-size:8px;letter-spacing:.45px;margin-bottom:4px}
 .featured-grid .cover-action{display:none}
 .producer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .producer-grid>a{gap:8px;padding:12px 9px;font-size:11px;line-height:1.4}
 .producer-logo-tile{width:48px;height:37px;padding:5px;border-radius:7px}
 .producer-grid .icon{width:12px}.producer-grid strong{min-width:0}
 .editorial-copy p,.prose-steps,.faq-answer p{font-size:14px;line-height:1.85}
 .note-card p,.how-steps p{font-size:13px}
}

/* One shared notice: normal document flow on desktop, bottom bar on mobile. */
.responsibility{position:relative;background:#f6f7fc;color:#24354d;border-top:3px solid #284d70;border-bottom:1px solid #dce2ec;font-weight:500}
.responsibility>.wrap{display:grid;grid-template-columns:110px 44px minmax(0,1fr) auto;align-items:center;gap:17px;min-height:0;padding-block:11px}
.responsibility p{display:block;color:#24354d;font-size:14px;line-height:1.55;margin:0;min-width:0}
.responsibility a{color:#294d72}
.responsibility p a{display:inline;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.responsibility-adm{display:block!important}
.responsibility-adm img{display:block;width:110px;height:auto;max-width:100%}
.responsibility-age img{display:block;width:44px;height:44px}
.responsibility .responsibility-care{display:flex;align-items:center;gap:8px;color:#294d72;font-size:11px;font-weight:800;line-height:1.35}
.responsibility-care img{width:31px;height:31px;flex-shrink:0}
.responsibility a:focus-visible{outline:3px solid #7538ae;outline-offset:4px;border-radius:3px}
@media(max-width:700px){
 :root{--responsibility-offset:calc(116px + env(safe-area-inset-bottom,0px))}
 html{scroll-padding-bottom:calc(var(--responsibility-offset) + 20px)}
 body{padding-bottom:var(--responsibility-offset)}
 .responsibility{position:fixed;top:auto;bottom:0;left:0;right:0;z-index:70;width:100%;border-top:2px solid #31567c;border-bottom:0;box-shadow:0 -5px 22px #17244e14;padding-bottom:env(safe-area-inset-bottom,0px)}
 .responsibility>.wrap{width:calc(100% - 24px);grid-template-columns:80px 34px minmax(0,1fr);column-gap:9px;row-gap:5px;padding-block:9px;align-items:center}
 .responsibility-adm{grid-column:1;grid-row:1}
 .responsibility-adm img{width:80px;height:20px}
 .responsibility-age{grid-column:2;grid-row:1}
 .responsibility-age img{width:34px;height:34px}
 .responsibility p{grid-column:3;grid-row:1/3;font-size:11px;line-height:1.5;font-weight:500}
 .responsibility p a{display:inline;color:#294d72}
 .responsibility .responsibility-care{grid-column:1/3;grid-row:2;justify-content:center;gap:5px;font-size:10px;line-height:1.2}
 .responsibility-care img{width:21px;height:21px}
 .responsibility-care br{display:none}
 .responsibility-care span{max-width:80px}
}

/* Original artwork remains intact; its own colours fill different aspect ratios. */
.cover-complete{position:relative;overflow:hidden;isolation:isolate;background:#171528}
.cover-complete::before{content:"";position:absolute;inset:-12px;background:var(--cover-art) center/cover no-repeat;filter:blur(9px) brightness(.86);z-index:0}
.cover-complete>img{position:relative;z-index:1;display:block}
.cover-complete>.cover-action{z-index:2}
.related-cover.cover-complete{display:block;width:100%;aspect-ratio:var(--slot-cover-ratio,5/4);border-radius:12px;border:2px solid #d9b95d}
.related-cover.cover-complete>img{width:100%;height:100%;border:0;border-radius:0;margin:0}

/* Keep card pixels inside the gold frame, including composited mobile images. */
.game-cover{--cover-corner:14px;border-radius:var(--cover-corner);overflow:hidden;clip-path:inset(0 round var(--cover-corner))}
.game-cover>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;display:block;margin:0;border:0;border-radius:calc(var(--cover-corner) - 2px)}
.game-cover::after{border-radius:calc(var(--cover-corner) - 2px)}
@media(max-width:600px){.game-cover{--cover-corner:10px}}

/* Official game background and transparent logo share one clipped card. */
.cover-layered{position:relative;overflow:hidden;isolation:isolate;background:var(--cover-scene) center/cover no-repeat}
.cover-layered>img{object-fit:contain!important;z-index:1}
.related-cover.cover-layered{display:block;width:92px;flex-shrink:0;aspect-ratio:5/4;border:2px solid var(--gold,#d7ad3e);border-radius:14px;clip-path:inset(0 round 14px)}
.related-cover.cover-layered>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;margin:0;border:0}

@media(max-width:1050px){.related-cover.cover-layered{width:72px}}
@media(max-width:600px){.related-cover.cover-layered{width:100%;border-radius:10px;clip-path:inset(0 round 10px)}}
/* Consistent logo surfaces, shared by home, directories and comparison cards. */
.producer-grid>a{display:grid;grid-template-columns:112px minmax(0,1fr) 16px;align-items:center;min-height:104px}
.producer-logo-tile,.producer-logo-tile.dark{width:112px;height:68px;padding:11px;background:#fff;border:1px solid #e5d8b5;border-radius:10px}
.producer-logo-tile.dark img{filter:brightness(0) saturate(100%);opacity:.88}
.producer-grid>a>strong{font-size:13px;line-height:1.4}
.collection-tile.providers{display:grid;grid-template-columns:132px minmax(0,1fr) 18px;align-items:center;gap:16px;min-height:126px}
.collection-tile.providers .collection-tile-art{width:132px;height:82px;margin:0;padding:12px;background:#fff;border:1px solid #e5d8b5;border-radius:10px}
.collection-tile.providers .collection-tile-art>img{width:100%;height:100%;object-fit:contain;background:transparent;padding:0;border:0;border-radius:0}
.collection-tile.providers .producer-logo-dark{filter:brightness(0) saturate(100%);opacity:.88}
.operator-logo,.operator-logo.starvegas,.collection-tile.casinos .collection-tile-art,.directory-hero .casino-brand,.casino-brand.navy{background:#142653;border:1px solid #405b8c}
.operator-logo{width:132px;height:76px;display:flex;align-items:center;justify-content:center}
.operator-logo img,.casino-brand img,.collection-tile.casinos .collection-tile-art>img{display:block;object-fit:contain;object-position:center;margin:0;max-width:100%;max-height:100%}
.operator-logo.starvegas{padding:8px 22px}
.collection-tile.casinos{align-items:center}
.collection-tile.casinos .collection-tile-art{height:80px;width:120px;flex:0 0 120px;padding:12px;margin:0;display:flex;align-items:center;justify-content:center}
.collection-tile.casinos .collection-tile-art>img{width:100%;height:56px}
.casino-entry{border:2px solid #f0bd28;box-shadow:0 3px 12px #bf8d1110}
.casino-button.casino-official-link{background:#123f91;border:1px solid #123f91;color:white}
.casino-button.casino-official-link:hover{background:#0c2e70;color:#fff}
.casino-button.casino-official-link:disabled{background:#123f91;color:#fff;opacity:1}
.casino-entry-actions{grid-template-columns:.9fr 1.3fr;height:auto;min-height:var(--control-h)}
.casino-button.casino-review-link{line-height:1.25;white-space:normal;padding:7px 5px;display:flex;align-items:center;justify-content:center;text-align:center}
.casino-ranking{margin-top:48px}.casino-ranking>p{max-width:850px;color:#514d69;line-height:1.75}
.casino-ranking .casino-comparison-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:24px}
.casino-ranking .casino-entry{--card-pad:20px;--logo-h:54px;--control-h:42px;--row-gap:12px}
.casino-ranking .casino-brand{width:146px;height:60px;padding:9px 15px}
.casino-ranking .casino-welcome h3{font-size:25px}.casino-ranking .casino-button{font-size:13px}
.type-casinos{padding-top:46px;margin-top:40px;border-top:1px solid #d8d8e8}
.type-casinos>p{max-width:850px;line-height:1.75}.type-casinos>.text-link{margin-top:24px}
@media(max-width:900px){
 .producer-grid>a{grid-template-columns:95px minmax(0,1fr) 12px;gap:10px}.producer-logo-tile,.producer-logo-tile.dark{width:95px;height:64px}
 .collection-tile.providers{grid-template-columns:100px minmax(0,1fr);gap:10px}.collection-tile.providers>.icon{display:none}
 .collection-tile.providers .collection-tile-art{width:100px;height:72px}
}
@media(max-width:700px){
 .responsibility .responsibility-care{display:none}
 .responsibility>.wrap{grid-template-columns:74px 32px minmax(0,1fr);gap:10px;align-items:center;padding-block:10px}
 .responsibility p{grid-column:3;grid-row:1;font-size:10px;line-height:1.5}
 .responsibility-adm,.responsibility-age{grid-row:1;align-self:center}
 .responsibility-adm img{width:74px;height:auto}.responsibility-age img{width:32px;height:32px}
 .casino-ranking .casino-comparison-list{grid-template-columns:1fr}
}
@media(max-width:600px){
 .producer-grid>a{grid-template-columns:1fr;justify-items:center;text-align:center;gap:10px;padding:14px 8px;min-height:132px}
 .producer-grid>a>strong{font-size:12px;min-height:34px;display:flex;align-items:center}.producer-grid>a>.icon{display:none}
 .producer-logo-tile,.producer-logo-tile.dark{width:100%;max-width:138px;height:65px;padding:10px}
 .collection-tile.providers{grid-template-columns:1fr;justify-items:center;text-align:center;padding:15px 10px}
 .collection-tile.providers .collection-tile-art{width:100%;max-width:155px;height:78px}
 .collection-tile.providers>span:nth-child(2){min-height:65px}
 .collection-tile.casinos{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}
 .collection-tile.casinos .collection-tile-art{width:100%;height:80px;flex-basis:80px;padding:12px}
 .collection-tile.casinos>span:nth-child(2){min-height:57px}.collection-tile.casinos>.icon{display:none}
 .casino-ranking .casino-entry{--card-pad:14px}.casino-ranking .casino-welcome h3{font-size:22px}
}
/* Preserve every logo's aspect ratio within the same white frame. */
.producer-logo-tile,.collection-tile.providers .collection-tile-art{box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden}
.producer-logo-tile img,.collection-tile.providers .collection-tile-art>img{display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;object-position:center;transform:none;margin:0}
.producer-grid>a:is([href="/elk-studios/"],[href="/playn-go/"]) .producer-logo-tile img,.collection-tile.providers:is([href="/elk-studios/"],[href="/playn-go/"]) .collection-tile-art>img{filter:none;opacity:1}
.producer-hero--playn-go .producer-brand{background:#fff;border-radius:10px;padding:12px 16px}
.producer-hero--playn-go .producer-brand img{width:165px;height:46px;max-height:none;filter:none}
.producer-hero--big-time-gaming .producer-brand img{max-height:none;object-fit:contain}
.collection-hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin-top:25px}
.collection-hero-actions .button,.collection-hero-actions .casino-button{min-height:52px;margin:0;display:inline-flex;justify-content:center;align-items:center;padding:16px 22px;font:inherit;font-weight:800;border-radius:12px;line-height:1.3;text-align:center}
.collection-hero-actions .collection-official{border:1px solid #6689ce;background:#123f91;color:#fff;min-width:150px}
.legal-copy{max-width:980px;margin:38px auto 65px;line-height:1.8;color:#343349;font-size:16px;overflow-wrap:anywhere}
.legal-copy h1{font-size:clamp(32px,5vw,48px);line-height:1.2;color:#15162f;margin-bottom:25px}
.legal-copy h2{font-size:25px;line-height:1.4;margin-top:42px;color:#212047}.legal-copy h3{font-size:20px;margin-top:28px}
.legal-copy table{border-collapse:collapse;width:100%;font-size:14px}.legal-copy th,.legal-copy td{padding:14px;border:1px solid #dcd9e9;text-align:left;vertical-align:top}.legal-copy th{background:#f1edfa}
.legal-copy a{color:#753191;text-decoration:underline;text-underline-offset:3px}.legal-copy .table-scroll{max-width:100%;overflow:auto}.legal-copy code{overflow-wrap:anywhere;white-space:normal}
.cookie-preferences-action{background:#123f91;color:#fff;border:0;border-radius:8px;padding:13px 20px;font:inherit;cursor:pointer}
.cookie-preferences-status{padding:16px;border:1px solid #dbd6e8;border-radius:10px;background:#f8f5fd}
@media(max-width:600px){.collection-hero-actions{gap:9px}.collection-hero-actions .button{flex:1.4;min-width:0;font-size:12px;padding:13px 9px;gap:5px}.collection-hero-actions .collection-official{flex:1;min-width:0;font-size:12px;padding:13px 8px}.collection-hero-actions .button .icon{width:17px}.legal-copy{font-size:15px}.legal-copy h2{font-size:22px}.legal-copy th,.legal-copy td{min-width:135px;padding:10px}}
