/* Shared card finish, with distinct composition for each catalogue section. */
.game-section{padding-top:26px;margin-bottom:13px}.game-grid{gap:16px}.game-card{background:#0d2334;border-color:#35516b;border-radius:12px}.game-card:hover,.game-card:focus-visible{border-color:#66baff;box-shadow:0 9px 24px #0006}.game-card:focus-visible{transform:translateY(-3px)}
svg.card-image{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:hidden;transition:transform .25s ease}.game-card:hover .card-image{transform:scale(1.035)}.game-art{isolation:isolate}.status{z-index:1;font-size:8px;top:9px;left:9px}.card-hover-play{z-index:1}.card-info{padding:11px 12px 10px}.card-info h3{font-size:13px;min-height:0;margin-bottom:6px}.card-category{font-size:10px;color:#a2b9d1}.card-more svg{color:#8aafd2}.section-actions{display:flex;align-items:center;gap:17px;flex-shrink:0}.section-actions>button{display:flex;align-items:center;gap:7px;border:0;padding:6px 0;background:none;color:#a3caff;font-size:11px;white-space:nowrap}.section-actions>button svg{width:15px;height:15px}.section-actions>button:hover{color:#fff}.row-controls{display:none;gap:6px}.row-controls button{width:30px;height:30px;display:grid;place-items:center;border:1px solid #355775;border-radius:50%;color:#cfeaff;background:#12324a}.row-controls button:hover{background:#1c5275}.row-controls button svg{width:15px;height:15px}.row-controls button[data-row-scroll="-1"] svg{transform:rotate(180deg)}
/* Two lead games anchor a mosaic of four smaller cards. */
.layout-featured .game-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(145px,12.3vw,185px)}.layout-featured .game-card{display:flex;flex-direction:column}.layout-featured .game-art{flex:1;min-height:0;aspect-ratio:auto}.layout-featured .card-info{flex-shrink:0;padding:9px 10px}.layout-featured .card-info h3{font-size:12px;line-height:1.25;margin-bottom:4px}.layout-featured .card-major{grid-column:span 2;grid-row:span 2}.layout-featured .card-major .card-info{position:absolute;bottom:0;left:0;right:0;padding:55px 20px 18px;background:linear-gradient(transparent,#031321f5)}.layout-featured .card-major h3{font-size:clamp(19px,1.75vw,26px);line-height:1.12;max-width:360px;margin-bottom:9px;text-shadow:0 2px 8px #0008}.layout-featured .card-major .card-category{font-size:11px;color:#d0e3f4}.layout-featured .card-major .status{font-size:9px;top:14px;left:14px}.layout-featured .card-major .card-hover-play{bottom:auto;top:14px;right:14px}
/* Adventure scenery, larger racing covers, character posters, compact sports. */
.layout-adventure .game-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.layout-adventure .game-art{aspect-ratio:16/9}.layout-racing .game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.layout-racing .game-art{aspect-ratio:16/9}.layout-racing .card-info{padding:13px 15px}.layout-racing .card-info h3{font-size:16px}.layout-action .game-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.layout-action .game-art{aspect-ratio:2/3}.layout-action .card-info{position:absolute;bottom:0;left:0;right:0;padding:55px 13px 13px;background:linear-gradient(transparent,#031321f5)}.layout-action .card-info h3{font-size:15px;text-shadow:0 2px 6px #0009}.layout-action .card-category{color:#cee0ed}.layout-action .card-hover-play{bottom:auto;top:12px;right:12px}.layout-sports .game-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.layout-sports .game-art{aspect-ratio:4/3}.layout-sports .card-info{padding:10px 11px}.layout-sports .card-info h3{font-size:12px}
@media(max-width:1199px) and (min-width:761px){.layout-featured .game-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:auto}.layout-featured .card-major{grid-column:span 2;grid-row:auto}.layout-featured .game-art{flex:auto;aspect-ratio:16/9}.layout-featured .card-major .game-art{aspect-ratio:16/10}.layout-featured .card-major h3{font-size:24px}.layout-adventure .game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.layout-racing .game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.layout-action .game-grid,.layout-sports .game-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.game-section{padding-top:23px;margin-bottom:10px}.game-grid{gap:12px}.card-info{padding:10px}.card-info h3{font-size:12px;line-height:1.3}.status{font-size:7px;padding:4px 6px;top:8px;left:8px}.section-actions{gap:11px}.section-actions>button{font-size:10px}.row-controls{display:flex}.section-heading{gap:10px;align-items:center;flex-wrap:wrap}.section-actions{margin-left:auto}.section-heading h2{font-size:19px}.layout-featured .game-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}.layout-featured .game-art{flex:auto;aspect-ratio:16/9}.layout-featured .card-major{grid-column:span 2;grid-row:auto}.layout-featured .card-major .game-art{aspect-ratio:16/9}.layout-featured .card-major h3{font-size:25px;max-width:350px}.layout-featured .card-major .card-info{padding:45px 17px 16px}.layout-featured .card-info h3{min-height:0}.layout-adventure .game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.layout-sports .game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.layout-racing .game-grid,.layout-action .game-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:84%;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0;scrollbar-width:thin;scrollbar-color:#3b6890 transparent;padding:4px 2px 12px;margin:0 -2px;align-items:stretch}.swipe-row .game-card{scroll-snap-align:start}.layout-action .game-grid{grid-auto-columns:44%}.layout-racing .card-info h3{font-size:16px}.layout-action .card-info h3{font-size:14px}.layout-action .card-info{padding:45px 11px 12px}.layout-sports .card-info h3{font-size:11px}.layout-action .game-art{aspect-ratio:2/3}}
@media(max-width:520px){.layout-sports .game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading h2{font-size:17px}.section-actions{gap:8px}.section-actions>button{font-size:9px;gap:4px}.section-actions>button svg{width:12px;height:12px}.row-controls{gap:4px}.row-controls button{width:27px;height:27px}.layout-featured .card-major h3{font-size:23px}.layout-featured .card-major .status{font-size:8px;top:10px;left:10px}.layout-featured .game-card:not(.card-major) .card-info h3{font-size:12px}}
@media(prefers-reduced-motion:reduce){svg.card-image{transition:none}.game-card:hover .card-image{transform:none}}
