
/* END DICE */


/* HOME */
.home {
	padding: 0 50px;
	text-align: left;
}

.home img {
	width: 100%;
	transition: transform 300ms;
}

.home img:hover {
	transform: scale(1.01);
	cursor: pointer;
}

.home .grid3 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 20px;
}

/*.home h2,
.home p {
	margin: 0;
}*/

.home h2 {
	margin: 20px 0 0;
}

.home p {
	opacity: .7;
	margin: 0 0 10px;
}

.home .grid2,
.home .grid3,
.home p,
.home h2 {
	width: 100%;
	float: left;
}

.home .grid2 {
	display: grid;
	grid-gap: 20px;
	grid-template-columns: repeat(2, 1fr);
}

.home .slider2 {
	width: 100%;
	float: left;
	border-radius: 15px;
	position: relative;
	overflow: hidden;
}

/*.home .slider2 img.bg {
	visibility: hidden;
}*/

.home .slider2 .container {
	width: 400%;
	position: absolute;
	left: 0;
	bottom: 0;
	top: 0;
	transition: transform 500ms;
}

.home .slider2 img.s {
	width: 100%;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	/*transform: scale(1.015);*/
}

.home .slider2 img.s[data-active="false"] {
	display: none;
}

.home .slider2 .arrow {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 130px;
	z-index: 5;
	background: linear-gradient(to right, rgba(0,0,0,.35), transparent);
}

.home .slider2 .arrow:hover {
	opacity: .8;
	cursor: pointer;
}

.home .slider2 .arrow.right {
	left: unset;
	right: 0;
	background: linear-gradient(to right, transparent, rgba(0,0,0,.35));
	/*transform: rotate(180deg);*/
}

.home .slider2 .arrow i {
	position: absolute;
	left: 30px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 24px;
}

.home .slider2 .arrow.right i {
	left: unset;
	right: 30px;
}

.home .slider-controls {
	width: 100%;
	float: left;
	text-align: center;
	margin: 10px 0;
}

.home .slider-controls div[data-active] {
	width: 10px;
	height: 10px;
	float: left;
	margin: 0 4px;
	border-radius: 50%;
	background: #4b5b72;
	transition: background 500ms;
}

.home .slider-controls div[data-active]:hover {
	cursor: pointer;
	opacity: .8;
}

.home .slider-controls div[data-active="true"] {
	background: var(--site-color-main);
}

@media (max-width: 768px), (pointer: coarse) and (max-width: 1199px) and (max-height: 600px) and (orientation: landscape) {
	.home {
		padding: 0;
	}

	.home .grid3,
	.home .grid2 {
		grid-template-columns: 1fr;
	}

	.home .grid7 {
		grid-template-columns: 1fr 1fr;
	}}

/* ---- HOME PAGE ---- */

/* Hero Section — full-width banner image with CTA overlay */
.home-hero {
    position: relative;
    /* Spacing scales with the viewport width. */
    margin: clamp(8px, 1vw, 12px) clamp(8px, 1vw, 12px) 0;
    border-radius: 16px;
    overflow: hidden;
    background: #130d22;
    isolation: isolate;
    aspect-ratio: 3 / 1;
}
.hero-carousel-track { position:absolute;inset:0;width:100%;height:100%; }
.hero-slide {
    position:absolute;
    inset:0;
    z-index:0;
    opacity:0;
    visibility:hidden;
    transition:opacity .65s ease,visibility .65s;
}
.hero-slide.is-active { z-index:1;opacity:1;visibility:visible; }
.hero-slide picture { display:block;width:100%;height:100%; }
.hero-banner-bg {
    width: 100%;
    height:100%;
    display:block;
    object-fit:cover;
    vertical-align: top;
    border-radius: 16px;
}
.hero-slide-copy {
    position:absolute;
    z-index:2;
    top:58%;
    left:4.2%;
    width:min(38%,520px);
    transform:translateY(-50%);
    color:#fff;
    text-shadow:0 3px 18px rgba(0,0,0,.7);
}
.hero-slide-kicker { display:inline-block;margin-bottom:9px;color:#e8be62;font-size:clamp(9px,1vw,13px);font-weight:900;letter-spacing:.17em;text-transform:uppercase; }
.hero-slide-copy h2 { margin:0 0 8px;font-family:var(--site-font-display);font-size:clamp(24px,3.2vw,54px);line-height:.98;letter-spacing:-.025em; }
.hero-slide-copy p { max-width:470px;margin:0;color:rgba(255,255,255,.82);font-size:clamp(11px,1.25vw,18px);line-height:1.45; }
.hero-slide-cta {
    display:inline-flex;align-items:center;gap:9px;margin-top:18px;padding:10px 15px;
    border:1px solid rgba(36,214,200,.35);border-radius:10px;
    background:linear-gradient(135deg,#24d6c8,#169b9b);box-shadow:0 10px 26px rgba(36,214,200,.22);
    color:#120c22;font-size:12px;font-weight:900;letter-spacing:.04em;text-decoration:none;text-shadow:none;
    transition:transform .18s,filter .18s;
}
.hero-slide-cta:hover { color:#120c22;transform:translateY(-2px);filter:brightness(1.08); }
.hero-slide--bonanza .hero-slide-kicker { color:#75fff2; }
.hero-slide--bonanza .hero-slide-copy h2 { color:#fff7ed;text-shadow:0 4px 24px rgba(0,0,0,.62); }
.hero-carousel-arrow {
    position:absolute;z-index:4;bottom:44%;display:grid;place-items:center;width:38px;height:38px;padding:0;
    transform:translateY(50%);border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(18,10,29,.5);
    color:#fff;cursor:pointer;opacity:0;transition:opacity .2s,background .2s,transform .2s;backdrop-filter:blur(8px);
}
.home-hero:hover .hero-carousel-arrow,.home-hero:focus-within .hero-carousel-arrow { opacity:1; }
.hero-carousel-arrow:hover { background:rgba(130,54,194,.85);transform:translateY(50%) scale(1.06); }
.hero-carousel-prev { left:14px; }.hero-carousel-next { right:14px; }
.hero-carousel-dots { position:absolute;z-index:4;left:50%;bottom:12px;display:flex;gap:7px;transform:translateX(-50%); }
.hero-carousel-dots button { width:7px;height:7px;padding:0;border:0;border-radius:99px;background:rgba(255,255,255,.48);cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.35);transition:width .25s,background .25s; }
.hero-carousel-dots button.is-active { width:24px;background:#fff; }
.hero-carousel-arrow:focus-visible,.hero-carousel-dots button:focus-visible { outline:2px solid #fff;outline-offset:3px; }
@media (prefers-reduced-motion: reduce) {
    .hero-slide,.hero-carousel-arrow,.hero-carousel-dots button { transition:none; }}
.home .hero-cta {
    display: none;
}

/* Section heading */
.section-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: clamp(18px, 3vw, 28px) clamp(12px, 2vw, 20px) 12px;
}
.section-heading h2 {
    font-family: var(--site-font-display);
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin: 0;
}
.section-heading .section-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, rgba(139,92,246,0.4), transparent);
}
.section-heading .section-badge {
    font-size: 20px;
    font-weight: 600;
    color: var(--site-color-main);
    background: rgba(139,92,246,0.12);
    padding: 3px 10px;
    border-radius: 20px;
    min-width: fit-content;
}

/* Game Cards Grid */
.games-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(8px, 1.2vw, 14px);
    padding: 0 clamp(12px, 2vw, 20px) clamp(12px, 2vw, 20px);
}
.game-card {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    aspect-ratio: 1/1;
    cursor: pointer;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    display: block;
    text-decoration: none !important;
    background: var(--site-color-bg-light);
}
.game-card:hover {
    transform: translateY(-4px) scale(1.01);
    box-shadow: 0 16px 40px rgba(0,0,0,0.5), 0 0 0 1px rgba(139,92,246,0.3);
}
.game-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
    vertical-align: top;
}
.game-card:hover img { transform: scale(1.06); }
.game-card--casebattles { isolation:isolate; box-shadow:inset 0 0 0 1px rgba(188,126,246,.16); }
.game-card--casebattles::after {
    content:"";
    position:absolute;
    z-index:1;
    top:-30%;
    bottom:-30%;
    left:-55%;
    width:34%;
    pointer-events:none;
    opacity:0;
    transform:skewX(-18deg);
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),transparent);
}
.game-card--casebattles:hover { box-shadow:0 18px 44px rgba(59,25,89,.6),0 0 0 1px rgba(190,126,250,.42); }
.game-card--casebattles:hover::after { opacity:1; animation:casebattles-card-shine .85s ease-out both; }
.game-card--casebattles .game-card-info,
.game-card--fight .game-card-info { z-index:2; }
.game-card--avia { isolation:isolate; box-shadow:inset 0 0 0 1px rgba(106,177,244,.16); }
.game-card--avia .game-card-overlay {
    display:block;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(to top,rgba(5,8,20,.97) 0%,rgba(5,8,20,.5) 27%,transparent 59%);
}
.game-card--avia .game-card-info { display:block; z-index:2; padding:clamp(12px,2vw,20px); pointer-events:none; }
.game-card--avia .game-card-name { font-size:clamp(17px,2vw,24px); text-shadow:0 2px 14px rgba(0,0,0,.75); }
.game-card--avia .game-card-desc { color:rgba(255,255,255,.72); }
.game-card--avia::after { content:""; position:absolute; z-index:1; left:-30%; top:46%; width:42%; height:2px; pointer-events:none; opacity:0; transform:rotate(-17deg); background:linear-gradient(90deg,transparent,rgba(255,228,139,.85)); filter:drop-shadow(0 0 5px rgba(255,207,85,.72)); }
.game-card--avia:hover { box-shadow:0 18px 44px rgba(16,38,83,.65),0 0 0 1px rgba(111,185,255,.4); }
.game-card--avia:hover::after { opacity:1; animation:avia-card-flight 1.1s ease-out both; }
.game-card-overlay {
    display: none;
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.1) 50%, transparent 100%);
}
.game-card-info {
    display: none;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 16px;
}
.game-card-name {
    font-family: var(--site-font-display);
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
    margin-bottom: 4px;
}
.game-card-desc {
    font-size: 12px;
    color: rgba(255,255,255,0.6);
    line-height: 1.4;
}
.game-card--rps .game-card-overlay,
.game-card--wheel .game-card-overlay,
.game-card--slots .game-card-overlay,
.game-card--bonanza .game-card-overlay,
.game-card--poker .game-card-overlay,
.game-card--chicken .game-card-overlay,
.game-card--coinflip .game-card-overlay,
.game-card--keno .game-card-overlay,
.game-card--baccarat .game-card-overlay,
.game-card--limbo .game-card-overlay,
.game-card--hilo .game-card-overlay,
.game-card--blackjack .game-card-overlay,
.game-card--dice .game-card-overlay,
.game-card--roulette .game-card-overlay,
.game-card--plinko .game-card-overlay,
.game-card--crash .game-card-overlay,
.game-card--mines .game-card-overlay,
.game-card--tower .game-card-overlay,
.game-card--dragon-tiger .game-card-overlay,
.game-card--sicbo .game-card-overlay,
.game-card--euroroulette .game-card-overlay,
.game-card--holdwin .game-card-overlay,
.game-card--megaways .game-card-overlay,
.game-card--book .game-card-overlay,
.game-card--cases .game-card-overlay,
.game-card--casebattles .game-card-overlay,
.game-card--fight .game-card-overlay,
.game-card--nerve .game-card-overlay,
.game-card--revolver .game-card-overlay,
.game-card--bridge .game-card-overlay,
.game-card--nardy .game-card-overlay {
    display: block;
    background: linear-gradient(to top, rgba(8, 5, 19, 0.96) 0%, rgba(8, 5, 19, 0.48) 27%, transparent 58%);
    pointer-events: none;
}
.game-card--rps .game-card-info,
.game-card--wheel .game-card-info,
.game-card--slots .game-card-info,
.game-card--bonanza .game-card-info,
.game-card--poker .game-card-info,
.game-card--chicken .game-card-info,
.game-card--coinflip .game-card-info,
.game-card--keno .game-card-info,
.game-card--baccarat .game-card-info,
.game-card--limbo .game-card-info,
.game-card--hilo .game-card-info,
.game-card--blackjack .game-card-info,
.game-card--dice .game-card-info,
.game-card--roulette .game-card-info,
.game-card--plinko .game-card-info,
.game-card--crash .game-card-info,
.game-card--mines .game-card-info,
.game-card--tower .game-card-info,
.game-card--dragon-tiger .game-card-info,
.game-card--sicbo .game-card-info,
.game-card--euroroulette .game-card-info,
.game-card--holdwin .game-card-info,
.game-card--megaways .game-card-info,
.game-card--book .game-card-info,
.game-card--cases .game-card-info,
.game-card--casebattles .game-card-info,
.game-card--fight .game-card-info,
.game-card--nerve .game-card-info,
.game-card--revolver .game-card-info,
.game-card--bridge .game-card-info,
.game-card--nardy .game-card-info {
    display: block;
    padding: clamp(12px, 2vw, 20px);
    pointer-events: none;
}
.game-card--rps .game-card-name,
.game-card--wheel .game-card-name,
.game-card--slots .game-card-name,
.game-card--bonanza .game-card-name,
.game-card--poker .game-card-name,
.game-card--chicken .game-card-name,
.game-card--coinflip .game-card-name,
.game-card--keno .game-card-name,
.game-card--baccarat .game-card-name,
.game-card--limbo .game-card-name,
.game-card--hilo .game-card-name,
.game-card--blackjack .game-card-name,
.game-card--dice .game-card-name,
.game-card--roulette .game-card-name,
.game-card--plinko .game-card-name,
.game-card--crash .game-card-name,
.game-card--mines .game-card-name,
.game-card--tower .game-card-name,
.game-card--dragon-tiger .game-card-name,
.game-card--sicbo .game-card-name,
.game-card--euroroulette .game-card-name,
.game-card--holdwin .game-card-name,
.game-card--megaways .game-card-name,
.game-card--book .game-card-name,
.game-card--cases .game-card-name,
.game-card--casebattles .game-card-name,
.game-card--fight .game-card-name,
.game-card--nerve .game-card-name,
.game-card--revolver .game-card-name,
.game-card--bridge .game-card-name,
.game-card--nardy .game-card-name {
    font-size: clamp(17px, 2vw, 24px);
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.75);
}
.game-card--rps .game-card-desc,
.game-card--wheel .game-card-desc,
.game-card--slots .game-card-desc,
.game-card--bonanza .game-card-desc,
.game-card--poker .game-card-desc,
.game-card--chicken .game-card-desc,
.game-card--coinflip .game-card-desc,
.game-card--keno .game-card-desc,
.game-card--baccarat .game-card-desc,
.game-card--limbo .game-card-desc,
.game-card--hilo .game-card-desc,
.game-card--blackjack .game-card-desc,
.game-card--dice .game-card-desc,
.game-card--roulette .game-card-desc,
.game-card--plinko .game-card-desc,
.game-card--crash .game-card-desc,
.game-card--mines .game-card-desc,
.game-card--tower .game-card-desc,
.game-card--dragon-tiger .game-card-desc,
.game-card--sicbo .game-card-desc,
.game-card--euroroulette .game-card-desc,
.game-card--holdwin .game-card-desc,
.game-card--megaways .game-card-desc,
.game-card--book .game-card-desc,
.game-card--cases .game-card-desc,
.game-card--casebattles .game-card-desc,
.game-card--fight .game-card-desc,
.game-card--nerve .game-card-desc,
.game-card--revolver .game-card-desc,
.game-card--bridge .game-card-desc,
.game-card--nardy .game-card-desc {
    color: rgba(255, 255, 255, 0.72);
}

/* Thematic game-card hover scenes */
.game-card[class*="game-card--"] { isolation: isolate; }
.game-card[class*="game-card--"] .game-card-info { z-index: 3; }
.game-card[class*="game-card--"] .game-card-overlay { z-index: 1; }

.game-card--crash::after,
.game-card--mines::after,
.game-card--plinko::after,
.game-card--tower::after,
.game-card--roulette::after,
.game-card--euroroulette::after,
.game-card--dice::after,
.game-card--sicbo::after,
.game-card--limbo::after,
.game-card--hilo::after,
.game-card--blackjack::after,
.game-card--baccarat::after,
.game-card--dragon-tiger::after,
.game-card--keno::after,
.game-card--chicken::after,
.game-card--coinflip::after,
.game-card--poker::after,
.game-card--slots::after,
.game-card--bonanza::after,
.game-card--holdwin::after,
.game-card--megaways::after,
.game-card--book::after,
.game-card--cases::after,
.game-card--rps::after,
.game-card--fight::after,
.game-card--nerve::after,
.game-card--nardy::after,
.game-card--wheel::after {
    content: "";
    position: absolute;
    z-index: 2;
    pointer-events: none;
    opacity: 0;
    will-change: transform, opacity;
}

/* Rocket trail */
.game-card--crash::after {
    left: -36%; top: 64%; width: 62%; height: 3px;
    transform: rotate(-28deg);
    background: linear-gradient(90deg, transparent, rgba(255,88,68,.45), #ffd06b);
    filter: drop-shadow(0 0 7px #ff593d);
}

/* Mine blast */
.game-card--mines::after {
    left: 50%; top: 42%; width: 18%; aspect-ratio: 1; border-radius: 50%;
    transform: translate(-50%,-50%) scale(.1);
    background: radial-gradient(circle, #fff 0 5%, #ffcf55 8% 17%, #ff583d 27%, transparent 65%);
    box-shadow: 0 0 24px #ff633f;
}

/* Falling Plinko ball */
.game-card--plinko::after {
    left: 48%; top: 7%; width: 13px; height: 13px; border-radius: 50%;
    background: #ffcf57;
    box-shadow: 0 0 12px #ff8b36, -28px 31px 0 -4px rgba(255,255,255,.45), 27px 62px 0 -4px rgba(255,255,255,.35);
}

/* Rising tower floor */
.game-card--tower::after {
    left: 13%; right: 13%; bottom: 17%; height: 3px;
    background: linear-gradient(90deg, transparent, #54e6ff, transparent);
    box-shadow: 0 0 13px #3dc9ff, 0 -18px 0 rgba(67,207,255,.16), 0 -36px 0 rgba(67,207,255,.09);
}

/* Spinning wheel family */
.game-card--roulette::after,
.game-card--euroroulette::after,
.game-card--wheel::after {
    left: 50%; top: 43%; width: 48%; aspect-ratio: 1; border-radius: 50%;
    transform: translate(-50%,-50%) rotate(0deg) scale(.8);
    background: repeating-conic-gradient(from 0deg, rgba(255,65,65,.75) 0 12deg, rgba(9,10,15,.3) 12deg 24deg);
    border: 2px solid rgba(255,218,113,.72);
    -webkit-mask: radial-gradient(circle, transparent 0 43%, #000 45% 53%, transparent 55%);
    mask: radial-gradient(circle, transparent 0 43%, #000 45% 53%, transparent 55%);
}
.game-card--wheel::after {
    background: conic-gradient(#9d62ff, #ff4b7d, #ffcb52, #44dfbc, #58a5ff, #9d62ff);
    border-color: rgba(255,255,255,.8);
}
.game-card--euroroulette::after {
    background: repeating-conic-gradient(from 0deg,rgba(232,49,69,.88) 0 10deg,rgba(7,10,13,.72) 10deg 20deg,rgba(24,170,96,.82) 20deg 30deg);
    border-color: rgba(255,222,128,.86);
}

/* Tumbling die */
.game-card--dice::after {
    left: 43%; top: 33%; width: 42px; height: 42px; border-radius: 9px;
    background: radial-gradient(circle at 29% 29%, #25164b 0 3px, transparent 4px), radial-gradient(circle at 71% 71%, #25164b 0 3px, transparent 4px), radial-gradient(circle, #25164b 0 3px, transparent 4px), linear-gradient(135deg,#fff,#c8b5ff);
    box-shadow: 0 0 22px rgba(153,105,255,.85);
}

/* Limbo target pulse */
.game-card--limbo::after {
    left: 50%; top: 42%; width: 34%; aspect-ratio: 1; border: 2px solid #65f1c3; border-radius: 50%;
    transform: translate(-50%,-50%) scale(.3);
    box-shadow: 0 0 18px rgba(71,240,188,.65), inset 0 0 18px rgba(71,240,188,.35);
}

/* Hi-Lo opposing card movement */
.game-card--hilo::after {
    left: 50%; top: 38%; width: 34px; height: 48px; border-radius: 5px;
    transform: translate(-50%,-50%) rotate(-8deg);
    background: linear-gradient(145deg,#fff,#d8d4ff);
    box-shadow: 25px 12px 0 -2px #ff626f, 0 0 18px rgba(132,93,255,.55);
}

/* Card-table glints */
.game-card--blackjack::after,
.game-card--baccarat::after,
.game-card--poker::after {
    left: -45%; top: 12%; width: 28%; height: 62%;
    transform: skewX(-16deg);
    background: linear-gradient(90deg,transparent,rgba(255,235,169,.58),transparent);
    filter: drop-shadow(0 0 8px rgba(255,200,94,.5));
}
.game-card--baccarat::after { background: linear-gradient(90deg,transparent,rgba(255,75,104,.6),rgba(255,220,136,.55),transparent); }
.game-card--poker::after { background: linear-gradient(90deg,transparent,rgba(116,240,255,.5),rgba(255,255,255,.5),transparent); }

/* Dragon and Tiger opposing energy */
.game-card--dragon-tiger::after {
    inset: 5% 4% 27%;
    background: radial-gradient(circle at 24% 50%,rgba(255,55,55,.72),transparent 30%), radial-gradient(circle at 76% 50%,rgba(55,147,255,.72),transparent 30%);
    filter: blur(5px);
    transform: scale(.7);
}

/* Keno number-grid spark */
.game-card--keno::after {
    left: 20%; top: 17%; width: 12px; height: 12px; border-radius: 3px;
    background: #ffd75c;
    box-shadow: 28px 0 #9e72ff, 56px 0 #4bd9bf, 14px 25px #ff6688, 42px 25px #ffd75c, 70px 25px #6ea7ff, 0 50px #4bd9bf, 28px 50px #ff6688, 56px 50px #9e72ff;
    filter: drop-shadow(0 0 6px rgba(255,221,104,.8));
}

/* Rising chicken-game bubble */
.game-card--chicken::after {
    left: 25%; bottom: 18%; width: 18px; height: 18px; border: 2px solid rgba(255,236,135,.9); border-radius: 50%;
    box-shadow: 38px 11px 0 4px rgba(255,139,103,.32), 78px -5px 0 -3px rgba(255,255,255,.35), 0 0 10px rgba(255,211,91,.55);
}

/* Flipping coin */
.game-card--coinflip::after {
    left: 50%; top: 40%; width: 48px; height: 48px; border-radius: 50%;
    transform: translate(-50%,-50%) rotateY(0deg);
    background: radial-gradient(circle at 35% 30%,#fff0a1,#f2aa24 55%,#9b5a0b 75%);
    border: 3px double rgba(111,57,0,.55);
    box-shadow: 0 0 22px rgba(255,192,51,.75);
}

/* Slot reel scan */
.game-card--slots::after {
    left: 15%; right: 15%; top: 20%; height: 4px;
    background: linear-gradient(90deg,transparent,#fff3a6 20%,#ff53b9 50%,#71e8ff 80%,transparent);
    box-shadow: 0 0 12px rgba(255,98,199,.8);
}

/* Rock-paper-scissors triple pulse */
.game-card--rps::after {
    left: 50%; top: 39%; width: 22px; height: 22px; border: 2px solid #ffcf61; border-radius: 50%;
    transform: translate(-50%,-50%) scale(.3);
    box-shadow: -38px 8px 0 3px rgba(99,204,255,.55), 38px 8px 0 3px rgba(255,94,139,.55), 0 0 15px rgba(255,210,104,.65);
}

/* Simple Fight impact shockwave */
.game-card--fight::after {
    left: 50%; top: 43%; width: 24%; aspect-ratio: 1; border-radius: 50%;
    transform: translate(-50%,-50%) scale(.2);
    background: radial-gradient(circle,rgba(255,255,255,.95) 0 4%,rgba(255,214,105,.72) 8%,rgba(163,88,255,.42) 28%,transparent 65%);
    border: 2px solid rgba(220,178,255,.75);
    box-shadow: 0 0 18px rgba(255,210,90,.72),0 0 34px rgba(137,61,255,.78);
}

.game-card--fight:hover {
    box-shadow: 0 18px 44px rgba(50,20,82,.68),0 0 0 1px rgba(204,145,255,.5),0 0 28px rgba(126,55,235,.28);
}

/* Nerve Duel critical gauge surge */
.game-card--nerve::after {
    left: 50%; top: 43%; width: 48%; aspect-ratio: 1; border-radius: 50%;
    transform: translate(-50%,-50%) rotate(-28deg) scale(.72);
    background: conic-gradient(from 208deg,transparent 0 64%,rgba(255,185,62,.95) 72%,rgba(255,246,191,.98) 79%,rgba(167,73,255,.92) 88%,transparent 94%);
    -webkit-mask: radial-gradient(circle,transparent 0 66%,#000 69% 75%,transparent 78%);
    mask: radial-gradient(circle,transparent 0 66%,#000 69% 75%,transparent 78%);
    filter: drop-shadow(0 0 8px rgba(255,183,56,.88)) drop-shadow(0 0 15px rgba(137,59,255,.72));
}

.game-card--nerve:hover {
    box-shadow: 0 18px 44px rgba(47,18,80,.7),0 0 0 1px rgba(209,150,255,.5),0 0 30px rgba(255,174,55,.18);
}

/* Nardy gold/cyan race orbit */
.game-card--nardy::after {
    left: 50%; top: 43%; width: 48%; aspect-ratio: 1; border-radius: 50%;
    transform: translate(-50%,-50%) rotate(-24deg) scale(.72);
    background: conic-gradient(from 18deg,transparent 0 12%,rgba(81,214,255,.95) 18%,transparent 27% 57%,rgba(255,194,83,.96) 65%,transparent 75%);
    -webkit-mask: radial-gradient(circle,transparent 0 68%,#000 71% 76%,transparent 79%);
    mask: radial-gradient(circle,transparent 0 68%,#000 71% 76%,transparent 79%);
    filter: drop-shadow(0 0 7px rgba(72,204,255,.9)) drop-shadow(0 0 12px rgba(255,184,61,.8));
}

.game-card--nardy:hover {
    box-shadow: 0 18px 44px rgba(31,17,58,.72),0 0 0 1px rgba(255,199,91,.48),0 0 28px rgba(74,202,255,.2);
}

/* Three tumbling Sic Bo dice */
.game-card--sicbo::after {
    left: 29%; top: 25%; width: 30px; height: 30px; border-radius: 7px;
    background: radial-gradient(circle at 30% 30%,#3b245d 0 3px,transparent 4px),radial-gradient(circle at 70% 70%,#3b245d 0 3px,transparent 4px),linear-gradient(145deg,#fff,#d9c6ff);
    box-shadow: 42px 13px 0 -1px #f7eaff,20px 49px 0 -2px #ffe0bd,0 0 18px rgba(190,139,255,.76);
}

/* Sugar Bonanza candy shower */
.game-card--bonanza::after {
    left: 24%; top: 18%; width: 18px; height: 18px; border-radius: 50%;
    background: radial-gradient(circle at 34% 28%,#fff,#ff6dab 38%,#b81f72 76%);
    box-shadow: 34px 13px 0 2px #61ddff,70px -3px 0 -1px #ffd65d,15px 46px 0 3px #8df16f,55px 58px 0 1px #be78ff,88px 37px 0 -2px #ff7a76;
    filter: drop-shadow(0 0 7px rgba(255,112,190,.7));
}

/* Sun of Zam golden coin halo */
.game-card--holdwin::after {
    left: 50%; top: 40%; width: 46px; height: 46px; border-radius: 50%;
    transform: translate(-50%,-50%) scale(.45);
    border: 3px double rgba(109,59,0,.58);
    background: radial-gradient(circle at 34% 28%,#fff5a6,#f7b625 48%,#9c5c09 76%);
    box-shadow: -46px 16px 0 -8px rgba(255,192,45,.88),46px 16px 0 -8px rgba(255,218,82,.8),0 0 25px rgba(255,183,38,.9);
}

/* Gem Megaways cascading gems */
.game-card--megaways::after {
    left: 24%; top: 18%; width: 19px; height: 19px;
    transform: rotate(45deg);
    border: 2px solid rgba(255,255,255,.7);
    border-radius: 4px;
    background: linear-gradient(135deg,#bdf9ff,#2da3ef 48%,#1250a2);
    box-shadow: 39px 16px 0 -1px #d15eff,76px -5px 0 -2px #52edb2,20px 51px 0 #ff4d7d,63px 62px 0 -2px #6edcff;
    filter: drop-shadow(0 0 8px rgba(65,206,255,.78));
}

/* Book of Zam opening-book glow */
.game-card--book::after {
    left: 50%; top: 40%; width: 58px; height: 45px;
    transform: translate(-50%,-50%) perspective(90px) rotateX(12deg) scale(.65);
    border: 2px solid rgba(255,214,104,.82);
    border-radius: 5px 5px 10px 10px;
    background: linear-gradient(90deg,#f6d98b 0 47%,#9e6a24 48% 52%,#f9e5a8 53%);
    box-shadow: 0 0 24px rgba(255,197,73,.76);
}

/* Case Opening loot burst */
.game-card--cases::after {
    left: 50%; top: 40%; width: 52px; height: 52px; border-radius: 50%;
    transform: translate(-50%,-50%) scale(.25);
    background: repeating-conic-gradient(from 0deg,rgba(255,222,111,.92) 0 5deg,transparent 5deg 19deg);
    -webkit-mask: radial-gradient(circle,transparent 0 22%,#000 25% 60%,transparent 64%);
    mask: radial-gradient(circle,transparent 0 22%,#000 25% 60%,transparent 64%);
    filter: drop-shadow(0 0 9px rgba(255,190,76,.85));
}

@media (hover: hover) and (pointer: fine) {
    .game-card--crash:hover::after { animation: game-flight .9s ease-out both; }
    .game-card--mines:hover::after { animation: game-burst .7s ease-out both; }
    .game-card--plinko:hover::after { animation: game-drop 1.15s cubic-bezier(.45,.05,.55,.95) infinite; }
    .game-card--tower:hover::after { animation: game-rise 1.15s ease-out both; }
    .game-card--roulette:hover::after,
    .game-card--euroroulette:hover::after,
    .game-card--wheel:hover::after { animation: game-spin 1.25s cubic-bezier(.2,.7,.3,1) both; }
    .game-card--dice:hover::after { animation: game-tumble .85s cubic-bezier(.2,.8,.3,1) both; }
    .game-card--limbo:hover::after,
    .game-card--rps:hover::after { animation: game-pulse 1s ease-out infinite; }
    .game-card--fight:hover::after { animation: game-fight-impact .9s ease-out infinite; }
    .game-card--nerve:hover::after { animation: game-nerve-surge 1.05s cubic-bezier(.2,.75,.3,1) infinite; }
    .game-card--nardy:hover::after { animation: nardy-card-race 1.15s cubic-bezier(.2,.75,.3,1) infinite; }
    .game-card--hilo:hover::after { animation: game-cards .85s ease-out both; }
    .game-card--blackjack:hover::after,
    .game-card--baccarat:hover::after,
    .game-card--poker:hover::after { animation: game-shine .9s ease-out both; }
    .game-card--dragon-tiger:hover::after { animation: game-duel 1.1s ease-in-out infinite alternate; }
    .game-card--keno:hover::after { animation: game-grid .9s steps(2,end) infinite; }
    .game-card--chicken:hover::after { animation: game-bubbles 1.35s ease-out infinite; }
    .game-card--coinflip:hover::after { animation: game-coin 1s cubic-bezier(.2,.75,.3,1) both; }
    .game-card--slots:hover::after { animation: game-reel 1s ease-in-out infinite; }
    .game-card--sicbo:hover::after { animation: game-sicbo .95s cubic-bezier(.2,.75,.3,1) both; }
    .game-card--bonanza:hover::after { animation: game-candy 1.25s ease-in-out infinite; }
    .game-card--holdwin:hover::after { animation: game-gold-pulse 1.05s ease-out infinite; }
    .game-card--megaways:hover::after { animation: game-gem-cascade 1.15s ease-in-out infinite; }
    .game-card--book:hover::after { animation: game-book-glow 1.15s ease-in-out infinite alternate; }
    .game-card--cases:hover::after { animation: game-loot-burst .9s ease-out infinite; }}

@keyframes nardy-card-race {
    0% { opacity:0; transform:translate(-50%,-50%) rotate(-32deg) scale(.68); }
    24% { opacity:1; }
    72% { opacity:.92; }
    100% { opacity:0; transform:translate(-50%,-50%) rotate(328deg) scale(1.03); }
}

@media (prefers-reduced-motion: reduce) {
    .game-card[class*="game-card--"]::after { animation: none !important; }}

/* Old home styles - hide/override */
.home > .slider2 { display: none !important; }
.home > .slider-controls { display: none !important; }
.home > h2, .home > p { display: none !important; }
.home > .grid3 { display: none !important; }
.home > h2 + *, .home > p + * { display: none !important; }

/* ---- RESPONSIVE ---- */
@media (max-width: 1280px) {
    .games-grid { grid-template-columns: repeat(3, 1fr); gap: 10px; }}

@media (max-width: 1024px) {
    .games-grid { grid-template-columns: repeat(3, 1fr); }}

@media (max-width: 768px), (pointer: coarse) and (max-width: 1199px) and (max-height: 600px) and (orientation: landscape) {
    .home-hero { margin: 8px 8px 0; }
    .games-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; padding: 0 12px 20px; }
    .section-heading { padding: 20px 12px 10px; }}

@media (max-width: 480px) {
    .games-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .game-card-name { font-size: 15px; }}

/* Fluid game-card typography scales smoothly instead of jumping between breakpoints. */
.game-card-name { font-size: clamp(14px, 1.6vw, 20px); }
.section-heading h2 { font-size: clamp(15px, 1.6vw, 18px); }
.game-card:not(.media-ready)::before {
    content:"";position:absolute;inset:0;z-index:4;pointer-events:none;
    background:linear-gradient(105deg,#251d2c 12%,#34283e 28%,#251d2c 44%);
    background-size:220% 100%;animation:mobile-card-shimmer 1.35s linear infinite;
}
.game-card:not(.media-ready) img { opacity:0; }
.game-card img { transition:opacity .25s ease,transform .35s ease; }

/* Compact, horizontally scrollable game groups on the home page. */
.game-shelves {
    display: grid;
    gap: clamp(18px, 2.4vw, 28px);
    padding-bottom: clamp(12px, 2vw, 24px);
}
.game-shelf {
    min-width: 0;
    margin: 0 clamp(12px, 2vw, 20px);
}
.game-shelf-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 10px;
}
.game-shelf-head h3 {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    margin: 0;
    color: #fff;
    font-family: var(--site-font-display);
    font-size: clamp(15px, 1.5vw, 19px);
    font-weight: 750;
}
.game-shelf-head h3 i {
    display: grid;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    place-items: center;
    border: 1px solid rgba(139, 92, 246, .2);
    border-radius: 9px;
    background: rgba(139, 92, 246, .11);
    color: #b998ff;
    font-size: 12px;
}
.game-shelf--recent .game-shelf-head h3 i {
    border-color: rgba(36, 214, 200, .22);
    background: rgba(36, 214, 200, .1);
    color: #5fe7da;
}
.game-shelf-controls {
    display: flex;
    gap: 6px;
}
.game-shelf-arrow {
    display: grid;
    width: 30px;
    height: 30px;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 9px;
    background: rgba(255, 255, 255, .055);
    color: rgba(255, 255, 255, .82);
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}
.game-shelf-arrow:hover:not(:disabled) {
    transform: translateY(-1px);
    border-color: rgba(139, 92, 246, .4);
    background: rgba(139, 92, 246, .16);
    color: #fff;
}
.game-shelf-arrow:focus-visible {
    outline: 2px solid #24d6c8;
    outline-offset: 2px;
}
.game-shelf-arrow:disabled {
    opacity: .28;
    cursor: default;
}
.game-shelf .games-grid {
    display: flex;
    gap: clamp(9px, 1vw, 13px);
    width: auto;
    max-width: 100%;
    margin: 0;
    padding: 2px 2px 10px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-padding-inline: 2px;
    scroll-snap-type: x mandatory;
    scrollbar-color: rgba(139, 92, 246, .38) transparent;
    scrollbar-width: thin;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}
.game-shelf .games-grid:focus-visible {
    outline: 2px solid rgba(36, 214, 200, .7);
    outline-offset: 3px;
    border-radius: 14px;
}
.game-shelf .games-grid::-webkit-scrollbar { height: 5px; }
.game-shelf .games-grid::-webkit-scrollbar-track { background: transparent; }
.game-shelf .games-grid::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: rgba(139, 92, 246, .34);
}
.game-shelf .game-card {
    flex: 0 0 clamp(152px, 15.5vw, 210px);
    aspect-ratio: 1;
    scroll-snap-align: start;
    scroll-snap-stop: normal;
    border-radius: 13px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .055), 0 7px 18px rgba(0, 0, 0, .17);
}
.game-shelf .game-card-info { padding: 12px !important; }
.game-shelf .game-card-name { font-size: clamp(14px, 1.3vw, 17px) !important; }
.game-shelf .game-card-desc {
    max-width: 95%;
    overflow: hidden;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.game-shelf-empty {
    box-sizing: border-box;
    float: none !important;
    width: 100% !important;
    min-height: 82px;
    margin: 0 !important;
    padding: 24px;
    border: 1px dashed rgba(139, 92, 246, .22);
    border-radius: 13px;
    background: rgba(139, 92, 246, .045);
    color: rgba(255, 255, 255, .46);
    font-size: 12px;
    text-align: center;
}
.game-shelf.is-empty .games-grid,
.game-shelf.is-empty .game-shelf-controls { display: none; }

@media (max-width: 768px), (pointer: coarse) and (max-width: 1199px) and (max-height: 600px) and (orientation: landscape) {
    .game-shelves { gap: 20px; }
    .game-shelf { margin-inline: 12px; }
    .game-shelf-controls { display: none; }
    .game-shelf .games-grid {
        width: calc(100% + 12px);
        max-width: none;
        margin-right: -12px;
        padding: 2px 12px 8px 0;
        gap: 9px;
        scrollbar-width: none;
    }
    .game-shelf .games-grid::-webkit-scrollbar { display: none; }
    .game-shelf .game-card {
        flex-basis: clamp(142px, 42vw, 176px);
        aspect-ratio: 1;
        border-radius: 12px;
    }
    .game-shelf .game-card-desc { display: none !important; }
    .game-shelf .game-card-info { padding: 10px !important; }
    .game-shelf .game-card-name { font-size: 14px !important; }}

@media (max-width:768px), (pointer:coarse) and (max-width:1199px) and (max-height:600px) and (orientation:landscape) {

    .home { padding-bottom:4px; }
    .home-hero { min-height:0;aspect-ratio:3 / 1;border-radius:18px; }
    .hero-banner-bg { min-height:0;object-fit:cover; }
    .hero-slide-copy { top:55%;left:7%;width:45%; }
    .hero-slide-copy h2 { font-size:clamp(20px,6vw,32px); }
    .hero-slide-copy p { display:none; }
    .hero-slide-cta { margin-top:10px;padding:7px 10px;font-size:9px;border-radius:8px; }
    .hero-slide-kicker { margin-bottom:5px;font-size:8px; }
    .hero-carousel-arrow { display:none; }
    .hero-carousel-dots { bottom:8px;align-items:center; }
    .games-grid { gap:9px;padding:0 0 18px; }
    .game-card { aspect-ratio:1 / 1.08;border-radius:17px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 8px 22px rgba(0,0,0,.18); }
    .game-card-info { padding:12px!important; }
    .game-card-name { font-size:14px!important; }
    .game-card-desc { display:none!important; }
    .section-heading { padding:19px 2px 10px; }
    .section-heading .section-badge { font-size:11px; }}
