/* dupa-casino — luminous pastel refresh */
:root {
	--sl-color-bg: #f8f9ff;
	--sl-color-surface: #ffffff;
	--sl-color-card: rgba(255, 255, 255, 0.98);
	--sl-color-card-soft: rgba(255, 255, 255, 0.86);
	--sl-color-surface-tint: rgba(255, 210, 210, 0.32);
	--sl-color-primary: #ee1111;
	--sl-color-primary-alt: #ff4040;
	--sl-color-accent: #ff4040;
	--sl-color-text: #1f2638;
	--sl-color-text-muted: #5d6c83;
	--sl-color-success: #4bbd96;
	--sl-shadow-lg: 0 28px 68px rgba(18, 21, 31, 0.14);
	--sl-shadow-soft: 0 18px 42px rgba(18, 21, 31, 0.1);
	--sl-gradient-primary: linear-gradient(135deg, var(--sl-color-primary), var(--sl-color-primary-alt));
	--sl-gradient-radial: radial-gradient(140% 140% at 82% 0%, rgba(18, 21, 31, 0.18), transparent 60%);
	--sl-gradient-aura: radial-gradient(circle at 16% 0%, rgba(255, 215, 185, 0.72), transparent 55%), radial-gradient(circle at 90% -10%, rgba(255, 140, 140, 0.68), transparent 60%);
	/* Compact rhythm */
	--space-0: 0;
	--space-1: .25rem;
	--space-2: .5rem;
	--space-3: .75rem;
	--space-4: 1rem;
	--space-5: 1.25rem;
	--space-6: 1.5rem;
	--space-7: 1.75rem;
	--space-8: 2rem;
	--space-9: 2.25rem;
	--space-10: 2.5rem;
	--radius-lg: 15px;
	--radius-xl: 10px;
	--radius-2xl: 15px;
}

*,
*::before,
*::after { box-sizing: border-box; }

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

body {
	background: #ffffff;
	color: var(--sl-color-text);
	font-size: 16px;
	line-height: 1.64;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

body.menu-open {
	overflow: hidden;
}

a { color: var(--sl-color-primary); text-decoration: none; transition: color 140ms ease; }
a:hover, a:focus { color: var(--sl-color-accent); }

.site-container {
	width: min(1200px, 92vw);
	margin: 0 auto;
}

/* Header (slimmer, clearer) */
.site-header {
    position: sticky;
    top: 0;
    z-index: 9999;
    backdrop-filter: blur(14px);
    background: #ee1111;
    border-bottom: 1px solid rgba(18, 21, 31, 0.14);
    box-shadow: 0 6px 16px rgba(18, 21, 31, 0.08);
}

.site-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0; /* Y padding = 10px */
    gap: var(--space-5);
}

.site-branding {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    font-weight: 600;
    font-size: 1.05rem;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: var(--sl-color-text);
}

.site-logo { display: inline-flex; align-items: center; }
.site-logo img { height: 60px; width: auto; display: block; transition: height 160ms ease; }

/* Shrink logo on scroll */
.is-scrolled .site-logo img { height: 40px; }

.site-branding__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: var(--sl-gradient-primary);
	box-shadow: 0 6px 14px rgba(18, 21, 31, 0.18);
	font-weight: 700;
	color: #15203b;
}

.site-nav { display: flex; align-items: center; gap: 1rem; }

.site-nav ul {
	list-style: none;
	display: flex;
	gap: 2rem;
	margin: 0;
	padding: 0;
}

.site-nav a {
    color: var(--sl-color-text-muted);
    font-weight: 500;
    padding: .25rem 0;
    position: relative;
}

.site-nav a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -.35rem;
    width: 100%;
    height: 2px;
    background: var(--sl-gradient-primary);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 120ms ease-in-out;
}
.site-nav a:hover::after,
.site-nav .current-menu-item > a::after { transform: scaleX(1); }

/* Header-specific nav contrast on red background */
.site-header .site-nav a { color: #fff; }
.site-header .site-nav a:hover,
.site-header .site-nav a:focus { color: #fff; }
.site-header .site-nav a::after {
    background: rgba(255, 255, 255, 0.95);
    transition: transform 140ms ease-in-out, box-shadow 200ms ease;
}
.site-header .site-nav a:hover::after,
.site-header .site-nav .current-menu-item > a::after {
    box-shadow: 0 0 12px rgba(255, 255, 255, 0.55);
}

.site-nav__toggle {
	display: none;
	position: relative;
	width: 46px;
	height: 46px;
	border-radius: 999px;
	border: none;
	background: transparent;
	color: inherit;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: transform 180ms ease, color 180ms ease;
	z-index: 120;
}
.site-nav__toggle:hover,
.site-nav__toggle:focus-visible {
	transform: scale(0.96);
	color: rgba(255, 255, 255, 0.78);
	outline: 2px solid rgba(255, 255, 255, 0.6);
	outline-offset: 4px;
}
.site-nav__toggle.is-active {
	color: rgba(255, 255, 255, 0.85);
}

.site-nav__icon {
	position: relative;
	width: 24px;
	height: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.site-nav__icon-line {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	border-radius: 999px;
	background: currentColor;
	transform-origin: center;
	transition: transform 260ms cubic-bezier(.4, 0, .2, 1), opacity 200ms ease, top 260ms cubic-bezier(.4, 0, .2, 1), bottom 260ms cubic-bezier(.4, 0, .2, 1);
	will-change: transform, opacity;
}

.site-nav__icon-line--top { top: 0; }
.site-nav__icon-line--middle { top: 50%; transform: translateY(-50%); }
.site-nav__icon-line--bottom { bottom: 0; top: auto; }

.site-nav__toggle.is-active .site-nav__icon-line--top {
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}
.site-nav__toggle.is-active .site-nav__icon-line--middle {
	opacity: 0;
}
.site-nav__toggle.is-active .site-nav__icon-line--bottom {
	bottom: auto;
	top: 50%;
	transform: translateY(-50%) rotate(-45deg);
}

/* Better contrast for mobile toggle in header */
.site-header .site-nav__toggle { color: #fff; }

/* Hero (denser, award-level polish) */
.hero {
	position: relative;
	z-index: 1;
	overflow: hidden;
	padding: 3rem 0 2.6rem;
	background: linear-gradient(180deg, #ffffff 0%, #fff5f5 100%);
	color: var(--sl-color-text);
}

.hero::before,
.hero::after {
	content: "";
	position: absolute;
	border-radius: 999px;
	z-index: -1;
	filter: blur(0);
}

.hero::before {
	width: clamp(320px, 46vw, 480px);
	height: clamp(320px, 46vw, 480px);
	top: -36%;
	right: -18%;
	background: radial-gradient(circle, rgba(18, 21, 31, 0.1) 0%, rgba(238, 17, 17, 0) 68%);
}

.hero::after {
	width: clamp(210px, 34vw, 320px);
	height: clamp(210px, 34vw, 320px);
	bottom: -26%;
	left: -14%;
	background: radial-gradient(circle, rgba(255, 204, 140, 0.22) 0%, rgba(255, 196, 108, 0) 68%);
}

.hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
	align-items: center;
	gap: clamp(1.8rem, 4vw, 3rem);
}

.hero__content {
	max-width: 520px;
}

.hero__title {
	margin: 0;
	font-size: clamp(2.4rem, 3.2vw, 3.2rem);
	line-height: 1.08;
	font-weight: 800;
	color: var(--sl-color-text);
}

.hero__lead {
	font-size: 1.05rem;
	color: rgba(31, 38, 56, 0.78);
	margin: 1rem 0 1.35rem;
	max-width: 34rem;
}

.hero__cta { display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; }

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .72rem 1.35rem;
	border-radius: 5px;
	font-weight: 700;
	border: none;
	cursor: pointer;
	transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, border-color 180ms ease;
	will-change: transform;
}

.button:hover,
.button:focus-visible {
	transform: translateY(-2px);
}

.button:active {
	transform: translateY(-1px);
}

.button--primary {
	background: linear-gradient(135deg, #ee1111, #ff4040);
	color: #fff;
	box-shadow: 0 6px 16px rgba(18, 21, 31, 0.14);
}
.button--primary:hover,
.button--primary:focus-visible {
	background: linear-gradient(135deg, #ff1f1f, #ff5f5f);
	box-shadow: 0 8px 20px rgba(18, 21, 31, 0.18);
	color: #fff;
}

.button--ghost {
	background: #ffffff;
	color: #ee1111;
	border: 1px solid rgba(18, 21, 31, 0.1);
	box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}
.button--ghost:hover,
.button--ghost:focus-visible {
	background: #ffffff;
	border-color: rgba(238, 17, 17, 0.3);
	color: #ee1111;
}

.badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .2rem .55rem;
	border-radius: 999px;
	font-size: .68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: #ee1111;
	background: rgba(18, 21, 31, 0.1);
}

.hero__media {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.2rem;
}

.hero__media-label {
	margin: 0;
	font-size: .78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .22em;
	color: #ee1111;
	text-align: center;
}

.hero__media-frame {
	position: relative;
	margin: 0;
	width: min(520px, 100%);
	border-radius: 10px;
	overflow: hidden;
	box-shadow: inset 0 32px 68px rgba(0, 0, 0, 0.36);
}

.hero__media-frame::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 35% 20%, rgba(255, 215, 150, 0.18), transparent 65%);
	z-index: 1;
	mix-blend-mode: screen;
	pointer-events: none;
}

.hero__image {
	width: 100%;
	display: block;
	border-radius: 10px;
	object-fit: cover;
	position: relative;
	z-index: 0;
}

.hero__media-button {
	position: absolute;
	left: 50%;
	bottom: clamp(1rem, 12%, 1.8rem);
	transform: translate(-50%, 0);
	white-space: nowrap;
	padding-inline: 1.6rem;
}

.hero__media-button:hover,
.hero__media-button:focus-visible {
	transform: translate(-50%, -2px);
}

.hero__media-button:active {
	transform: translate(-50%, -1px);
}

.button--surface {
	background: linear-gradient(135deg, #ee1111, #ff4040);
	color: #fff;
	box-shadow: 0 6px 16px rgba(18, 21, 31, 0.14);
}
.button--surface:hover,
.button--surface:focus-visible {
	background: linear-gradient(135deg, #ff1f1f, #ff5f5f);
	box-shadow: 0 8px 20px rgba(18, 21, 31, 0.18);
	color: #fff;
}

@media (max-width: 960px) {
	.hero__inner {
		grid-template-columns: 1fr;
	}

	.hero__content {
		text-align: center;
		margin: 0 auto;
	}

	.hero__cta {
		justify-content: center;
	}

	.hero__media {
		gap: .9rem;
	}

	.hero__media-button {
		bottom: 1.5rem;
	}
}

@media (max-width: 600px) {
	.hero {
		padding: 2.6rem 0 2.2rem;
	}

	.hero__title {
		font-size: clamp(2rem, 8vw, 2.6rem);
	}

	.hero__lead {
		font-size: 1rem;
	}

	.hero__media {
		gap: .75rem;
	}

	.hero__media-label {
		font-size: .7rem;
		letter-spacing: .18em;
	}

	.hero__media-button {
		bottom: 1.2rem;
		padding-inline: 1.35rem;
	}
}

.section { padding: 2rem 0; }

.section__header {
	display: flex;
	justify-content: space-between;
	align-items: start;
	gap: 1rem;
	margin-bottom: 0.5rem;
}

.entry-content p:first-child {
	margin-top: 0;
}

.section__title {
	margin: 0;
	font-size: clamp(1.8rem, 2.6vw, 2.2rem);
	color: var(--sl-color-text);
}
.section__lead { margin: 0; color: var(--sl-color-text-muted); max-width: 28rem; }

/* Slots archive */
.slotsl-archive {
	display: grid;
	gap: var(--space-6);
}

.slotsl-filters--compact {
	display: grid;
	gap: var(--space-4);
	padding: 1.1rem;
	border-radius: var(--radius-xl);
	background: var(--sl-color-card);
	box-shadow: var(--sl-shadow-soft);
	border: 1px solid rgba(31, 38, 56, 0.08);
}

.slotsl-filters__primary {
    /* Use flex for robust responsiveness across all widths */
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    align-items: center;
}

.slotsl-filters__secondary {
	display: grid;
	gap: var(--space-3);
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	align-items: center;
}

.slotsl-field {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	gap: .4rem;
}

.slotsl-field__label {
	font-size: .65rem;
	text-transform: uppercase;
	letter-spacing: .14em;
	color: var(--sl-color-text-muted);
	font-weight: 600;
}

.slotsl-field__control {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

/* Keep the toggle button aligned on the right when space allows */
.slotsl-field--more { margin-left: auto; align-self: center; }

/* Icon-only filter toggle: hide the text label */
.sl-mobile-filter-button__label { display: none !important; }

/* Make the toggle button a neat icon circle */
.sl-mobile-filter-button {
    width: 36px;
    height: 36px;
    padding: 0;
    justify-content: center;
}

.slotsl-field input[type="text"],
.slotsl-archive .choices__inner {
    width: 100%;
    border-radius: 12px;
    border: 1px solid rgba(31, 38, 56, 0.12);
    background: #fff;
    box-shadow: none;
    font-size: .92rem;
    color: var(--sl-color-text);
    /* Match search input/select height for perfect alignment */
    min-height: 53px;
    transition: border-color 120ms ease, box-shadow 120ms ease;
}

.slotsl-field input[type="text"] {
	padding: .55rem 2.4rem .55rem .9rem;
}

.slotsl-field input[type="text"]:focus {
	outline: none;
	border-color: rgba(238, 17, 17, 0.38);
	box-shadow: 0 0 0 2px rgba(238, 17, 17, 0.12);
}

.slotsl-archive .choices {
	width: 100%;
}

.slotsl-archive .choices__inner {
	padding: .45rem .85rem;
	display: flex;
	align-items: center;
	gap: .25rem;
	min-height: 42px;
}

.slotsl-archive .choices__input {
	background: transparent;
	color: var(--sl-color-text);
}

.slotsl-archive .choices__list--dropdown,
.slotsl-archive .choices__list[aria-expanded] {
	border-radius: 12px;
	border: 1px solid rgba(31, 38, 56, 0.12);
	box-shadow: var(--sl-shadow-soft);
}

.slotsl-archive .choices__list--dropdown .choices__item--selectable {
	padding-block: .45rem;
	font-size: .9rem;
}

.sl-submit-search {
	position: absolute;
	right: .45rem;
	width: 2.25rem;
	height: 2.25rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: none;
	border-radius: 999px;
	background: var(--sl-color-card);
	color: var(--sl-color-text-muted);
	cursor: pointer;
	transition: background 120ms ease, color 120ms ease, transform 120ms ease;
}

.sl-submit-search:hover,
.sl-submit-search:focus-visible {
	background: var(--sl-color-primary);
	color: #fff;
	outline: none;
	transform: translateY(-1px);
}

/* Show the filter toggle button on all viewports */
.sl-mobile-filter-button {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .5rem .75rem;
    border: 1px solid rgba(31, 38, 56, 0.1);
    border-radius: 10px;
    background: var(--sl-color-card);
    color: var(--sl-color-text);
    font-size: .82rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 140ms ease, color 140ms ease, border-color 140ms ease;
}

.sl-mobile-filter-button.clicked {
	background: var(--sl-gradient-primary);
	color: #fff;
	border-color: transparent;
}

.sl-mobile-filter-button svg {
	display: block;
}

.slotsl-field--toggle {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	flex-direction: row;
	justify-content: flex-start;
}

.slotsl-toggle {
	position: relative;
	display: inline-flex;
	align-items: center;
	width: 42px;
	height: 22px;
}

.slotsl-toggle input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
	margin: 0;
}

.slotsl-toggle__track {
	position: absolute;
	inset: 0;
	border-radius: 999px;
	background: rgba(31, 38, 56, 0.18);
	transition: background 140ms ease;
}

.slotsl-toggle__track::after {
	content: '';
	position: absolute;
	top: 2px;
	left: 2px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 2px 6px rgba(18, 21, 31, 0.18);
	transition: transform 140ms ease;
}

.slotsl-toggle input:checked + .slotsl-toggle__track {
	background: var(--sl-gradient-primary);
}

.slotsl-toggle input:checked + .slotsl-toggle__track::after {
	transform: translateX(20px);
}

.slotsl-grid--modern {
	display: grid;
	gap: var(--space-5);
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.slotsl-card {
	position: relative;
	display: flex;
	flex-direction: column;
	border-radius: 5px !important;
	background: var(--sl-color-card);
	box-shadow: var(--sl-shadow-soft);
	overflow: hidden;
	isolation: isolate;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.slotsl-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--sl-shadow-lg);
}

.slotsl-card__media {
	position: relative;
	height: 120px;
	overflow: hidden;
	background: transparent;
	border-radius: 0 !important;
}

.slotsl-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 0 !important;
	aspect-ratio: auto !important;
	transition: transform 220ms ease, filter 220ms ease;
}

.slotsl-card:hover .slotsl-card__media img {
	transform: scale(1.03);
	filter: saturate(1.07);
}

.slotsl-card__body {
	display: flex;
	flex-direction: column;
	padding: 10px !important;
}

.slotsl-card__provider {
	font-size: .62rem !important;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--sl-color-text-muted);
	font-weight: 600;
}

.slotsl-card__title {
	margin: 0;
	color: var(--sl-color-text);
	font-size: .8rem;
	font-weight: 700;
	line-height: 1.3;
}

.slotsl-card__link {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--space-4);
	background: linear-gradient(180deg, rgba(18, 26, 46, 0.2), rgba(18, 26, 46, 0.74));
	color: #fff;
	text-decoration: none;
	opacity: 0;
	transition: opacity 200ms ease;
	padding: var(--space-5);
	text-align: center;
}

.slotsl-card:hover .slotsl-card__link,
.slotsl-card:focus-within .slotsl-card__link {
	opacity: 1;
}

.slotsl-card__link:focus-visible {
	outline: 2px solid #fff;
	outline-offset: -6px;
	opacity: 1;
}

.slotsl-card__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .65rem 1.7rem;
	border-radius: 5px;
	background: var(--sl-gradient-primary);
	color: #fff;
	font-weight: 700;
	font-size: .95rem;
	box-shadow: var(--sl-shadow-soft);
}

.slotsl-card--banner {
	padding: 0;
}

.slotsl-not-found {
	padding: 2rem;
	border-radius: 15px;
	background: var(--sl-color-card);
	box-shadow: var(--sl-shadow-soft);
	text-align: center;
	color: var(--sl-color-text-muted);
}

.slotsl-footer {
	display: grid;
	gap: var(--space-4);
	justify-items: center;
}

.slotsl-progress {
	display: grid;
	gap: .45rem;
	color: var(--sl-color-text-muted);
	font-size: .82rem;
}

.slotsl-progress__summary {
	margin: 0;
}

.slotsl-progress__summary .sl_total_viewed,
.slotsl-progress__summary .sl_total_found {
	font-weight: 700;
	color: var(--sl-color-text);
}

.slotsl-progress-bar {
	position: relative;
	width: min(280px, 100%);
	height: 4px;
	border-radius: 999px;
	background: rgba(31, 38, 56, 0.12);
	overflow: hidden;
}

.slotsl-progress-bar-fill {
	height: 100%;
	border-radius: 999px;
	background: var(--sl-gradient-primary);
}

.slotsl-load-more {
	display: flex;
	justify-content: center;
}

.slotsl-load-more .button {
	font-size: 18px;
}

.slotsl-load-more-btn:disabled {
	opacity: .55;
	cursor: not-allowed;
	box-shadow: none;
	transform: none;
}

@media (max-width: 1280px) {
	.slotsl-grid--modern {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 1080px) {
    /* No explicit columns needed with flex; items wrap naturally */
}

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

@media (max-width: 900px) {
    .slotsl-archive {
        gap: var(--space-6);
    }

	.slotsl-field--toggle {
		align-self: flex-start;
	}
}

/* Make secondary filters toggle-based on all viewports */
.slotsl-filters--compact .slotsl-filters__secondary { display: none !important; }
.sl-mobile-filter-button.clicked + .sl-mobile-filters,
.slotsl-filters--compact .slotsl-filters__secondary.show-filters { display: grid !important; }

@media (max-width: 720px) {
    .sl-mobile-filter-button { display: flex; }

    /* Stack primary filters vertically on very small widths */
    .slotsl-filters__primary { width: 100%; }

    .slotsl-grid--modern { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

    .slotsl-card__title { font-size: .92rem; }
    .slotsl-progress { gap: .35rem; }
    .slotsl-load-more { justify-content: center; }
}

/* Keep the toggle button visible on desktop and do not force secondary filters open */
@media (min-width: 721px) {
    .sl-mobile-filter-button { display: inline-flex; }
}

@media (max-width: 380px) {
	.slotsl-grid--modern {
		grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
	}

	.slotsl-card__title {
		font-size: .88rem;
	}
}

.slotsl-card__link .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* Payment archive (compact grid) */
.payment-method-archive__header {
	display: grid;
	gap: .75rem;
	text-align: center;
	margin-bottom: 1.75rem;
	justify-items: center;
}
.payment-method-archive__icon {
	width: 72px; height: 72px; object-fit: contain; border-radius: 16px;
	background: linear-gradient(135deg, rgba(18, 21, 31, 0.14), rgba(255, 196, 196, 0.2));
	border: 1px solid rgba(18, 21, 31, 0.16);
	padding: 10px;
	box-shadow: 0 6px 16px rgba(18, 21, 31, 0.1);
}
.payment-method-archive__title {
	margin: 0; font-size: clamp(1.8rem, 3.6vw, 2.4rem); color: var(--sl-color-text);
}
.payment-method-archive__description {
	color: var(--sl-color-text-muted); max-width: 640px; text-align: center; margin: 0;
}
.payment-method-archive__grid {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1rem;
}

.payment-method-card {
	position: relative; overflow: hidden;
	border-radius: var(--radius-lg);
	border: 1px solid rgba(18, 21, 31, 0.1);
	background: var(--sl-color-card);
	box-shadow: var(--sl-shadow-soft);
	transition: transform 140ms ease, box-shadow 140ms ease;
}
.payment-method-card:hover { transform: translateY(-4px); box-shadow: var(--sl-shadow-lg); }

.payment-method-card__link { display: grid; gap: .75rem; padding: 1.25rem; height: 100%; color: inherit; }
.payment-method-card__icon {
	width: 56px; height: 56px; object-fit: contain; border-radius: 14px;
	background: linear-gradient(135deg, rgba(18, 21, 31, 0.1), rgba(255, 196, 196, 0.16));
	border: 1px solid rgba(18, 21, 31, 0.14);
	padding: .5rem;
}
.payment-method-card__title { margin: 0; font-size: 1.15rem; color: var(--sl-color-text); }
.payment-method-card__excerpt { color: var(--sl-color-text-muted); font-size: .95rem; }
.payment-method-card__cta {
	font-size: .82rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: var(--sl-color-primary);
}

/* Single payment (no change in markup, tighter layout) */
.payment-method-single { display: grid; gap: 1.75rem; }
.payment-method-single__header { display: grid; gap: .75rem; justify-items: center; text-align: center; }
.payment-method-single__icon,
.payment-method-single__icon--compact {
	width: 86px; height: 86px; object-fit: contain; border-radius: 18px;
	background: linear-gradient(135deg, rgba(18, 21, 31, 0.16), rgba(255, 196, 196, 0.24));
	border: 1px solid rgba(18, 21, 31, 0.1);
	padding: .65rem;
	box-shadow: 0 8px 18px rgba(18, 21, 31, 0.1);
}
.payment-method-single__icon--compact { margin-top: 1rem; width: 60px; height: 60px; }
.payment-method-single__title { margin: 0; font-size: clamp(2rem, 3.4vw, 2.4rem); color: var(--sl-color-text); }

.payment-method-single__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
	gap: 1.5rem;
	align-items: start;
}
.payment-method-single__content {
	background: var(--sl-color-card);
	border-radius: 20px;
	border: 1px solid rgba(18, 21, 31, 0.16);
	padding: 1.4rem;
	box-shadow: var(--sl-shadow-soft);
}
.payment-method-single__sidebar { display: grid; gap: 1rem; }

.payment-method-single__casinos {
	background: var(--sl-color-card);
	border-radius: 16px;
	border: 1px solid rgba(18, 21, 31, 0.1);
	padding: 1.1rem;
	box-shadow: var(--sl-shadow-soft);
}
.payment-method-single__casinos h2 {
	margin: 0;
	font-size: .9rem;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--sl-color-text-muted);
}
.payment-method-single__casino-list {
	list-style: none; margin: .5rem 0 0; padding: 0; display: grid; gap: .45rem;
}
.payment-method-single__casino-item a {
	color: var(--sl-color-primary); font-weight: 600;
}
.payment-method-single__casino-item a:hover,
.payment-method-single__casino-item a:focus { color: var(--sl-color-accent); }

@media (max-width: 768px) {
	.payment-method-single__grid { grid-template-columns: 1fr; }
}

/* Review grid/list */
.review-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 1rem;
}

.review-card {
	background: rgba(255, 255, 255, 0.9);
	border-radius: 20px;
	padding: 1rem 1.1rem;
	border: 1px solid rgba(18, 21, 31, 0.14);
	box-shadow: 0 8px 20px rgba(18, 21, 31, 0.1);
	transition: transform 140ms ease, box-shadow 140ms ease;
}
.review-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 28px rgba(18, 21, 31, 0.14);
}

.review-card__frame {
	display: grid;
	gap: .9rem;
}

.review-card__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: .9rem;
}

.review-card__identity {
	display: flex;
	align-items: center;
	gap: .75rem;
	min-width: 0;
}

.review-card__logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: .2rem .4rem;
	border-radius: 14px;
	background: rgba(238, 17, 17, 0.14);
	border: 1px solid rgba(18, 21, 31, 0.1);
}
.review-card__image {
	height: 100%;
	width: auto;
	max-width: 140px;
	object-fit: contain;
}

.review-card__identity-copy {
	display: grid;
	gap: .15rem;
	min-width: 0;
}

.review-card__title {
	margin: 0;
	font-size: 1.05rem;
	color: var(--sl-color-text);
}
.review-card__title a { color: inherit; text-decoration: none; }
.review-card__title a:hover,
.review-card__title a:focus { color: var(--sl-color-primary); }

.review-card__date {
	font-size: .74rem;
	color: var(--sl-color-text-muted);
}

.review-card__score {
	display: inline-flex;
	align-items: baseline;
	gap: .25rem;
	padding: .25rem .6rem;
	border-radius: 999px;
	background: rgba(18, 21, 31, 0.1);
	color: var(--sl-color-primary);
	font-weight: 700;
}
.review-card__score-number { font-size: 1.1rem; line-height: 1; }
.review-card__score-suffix {
	font-size: .7rem;
	text-transform: uppercase;
	letter-spacing: .16em;
	color: var(--sl-color-text-muted);
}

.review-card__excerpt {
	margin: 0;
	color: var(--sl-color-text-muted);
	font-size: .9rem;
	line-height: 1.5;
}

.review-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
}

.review-card__tag {
	display: inline-flex;
	align-items: center;
	padding: .22rem .6rem;
	border-radius: 999px;
	background: rgba(18, 21, 31, 0.08);
	color: var(--sl-color-primary);
	font-size: .7rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .12em;
}

.review-card__actions {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	margin-left: auto;
}

.review-card__link {
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	font-weight: 600;
	color: var(--sl-color-primary);
	text-decoration: none;
	font-size: .85rem;
}
.review-card__link:hover,
.review-card__link:focus { color: var(--sl-color-accent); }

.review-card__primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .48rem 1.05rem;
	border-radius: 999px;
	background: var(--sl-gradient-primary);
	color: #1a1f33;
	font-weight: 700;
	font-size: .85rem;
	text-decoration: none;
	box-shadow: 0 10px 18px rgba(18, 21, 31, 0.1);
}
.review-card__primary:hover,
.review-card__primary:focus { box-shadow: 0 8px 18px rgba(18, 21, 31, 0.18); }

/* Review single */
.review-single { display: grid; gap: clamp(1.2rem, 2.4vw, 1.8rem); }

/* HERO container */
.review-hero {
	position: relative;
	overflow: visible;
	padding: clamp(2rem, 3vw, 2.6rem) 0 clamp(1.6rem, 2vw, 2rem);
	border-radius: 0;
	background: none;
	border: 0;
	box-shadow: none;
}

.review-hero__glow {
	position: absolute;
	inset: -35% -25% auto -25%;
	height: 140%;
	background:
			radial-gradient(circle at 45% 35%, rgba(18, 21, 31, 0.14), transparent 60%),
			radial-gradient(circle at 80% 70%, rgba(255, 196, 196, 0.18), transparent 68%);
	opacity: .7;
	pointer-events: none;
	z-index: 0;
	transform: rotate(4deg);
}

.review-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	gap: clamp(1rem, 2vw, 1.4rem);
	align-items: start;
	width: min(1120px, 92vw);
	margin: 0 auto;
	padding: 0 clamp(1rem, 0, 2.6rem);
}
@media (min-width: 1040px) {
	.review-hero__inner {
		grid-template-columns: minmax(0, 1.35fr) minmax(260px, 1fr);
	}
}

.review-hero__primary {
	display: grid;
	gap: clamp(.7rem, 1.6vw, 1.05rem);
	max-width: 620px;
	grid-auto-rows: min-content;
	align-content: start;
}

.review-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	padding: .28rem .65rem;
	border-radius: 999px;
	background: rgba(18, 21, 31, 0.1);
	color: var(--sl-color-text-muted);
	text-transform: uppercase;
	font-size: .7rem;
	letter-spacing: .2em;
	font-weight: 700;
}

.review-hero__identity { display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; min-width: 0; }

.review-hero__logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-height: 72px;
	padding: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background: none;
}
.review-hero__logo-image {
	display: block;
	max-height: 72px;
	max-width: 180px;
	width: auto;
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 10px 24px rgba(18, 21, 31, 0.1));
	border-radius: 16px;
}
.review-hero__logo--fallback {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 68px;
	height: 68px;
	border-radius: 18px;
	background: linear-gradient(135deg, rgba(18, 21, 31, 0.18), rgba(255, 196, 196, 0.26));
	color: var(--sl-color-text);
	font-size: clamp(1.9rem, 3.2vw, 2.3rem);
	font-weight: 800;
	box-shadow: 0 8px 18px rgba(18, 21, 31, 0.1);
}

.review-hero__identity-copy { display: grid; gap: 0; min-width: 0; }
.review-hero__eyebrow {
	margin: 0;
	text-transform: uppercase;
	letter-spacing: .24em;
	font-size: clamp(1.6rem, 3.6vw, 2.35rem);
	color: var(--sl-color-text);
	line-height: 1.05;
	font-weight: 800;
}

.review-hero__summary { margin: 0; color: var(--sl-color-text-muted); font-size: .98rem; }
.review-hero__summary p { margin: 0 0 .45rem; }
.review-hero__summary p:last-child { margin-bottom: 0; }

/* Meta footnotes */
.review-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: .3rem .9rem;
	margin-top: auto;
	padding-top: .5rem;
	font-size: .72rem;
	color: var(--sl-color-text-muted);
}
.review-hero__meta-item {
	display: grid;
	gap: .1rem;
	align-content: end;
	min-height: 2.1rem;
	padding-bottom: .05rem;
}
.review-hero__meta-label {
	text-transform: uppercase;
	letter-spacing: .18em;
	font-size: .64rem;
	color: rgba(238, 17, 17, 0.72);
	font-weight: 600;
}
.review-hero__meta-text {
	display: block;
	color: var(--sl-color-text);
	font-weight: 600;
	letter-spacing: .01em;
}

.review-hero__supplement {
	margin-top: clamp(.9rem, 2vw, 1.2rem);
	display: grid;
	gap: .45rem;
	padding: 0;
}

.review-hero__supplement-header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: .5rem;
}

.review-hero__supplement-title {
	text-transform: uppercase;
	letter-spacing: .18em;
	font-size: .62rem;
	color: var(--sl-color-text-muted);
	font-weight: 700;
}

.review-hero__supplement-meta {
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	padding: .18rem .55rem;
	border-radius: 999px;
	background: rgba(18, 21, 31, 0.1);
	color: var(--sl-color-primary);
	font-size: .65rem;
	font-weight: 600;
}

.review-hero__supplement-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	gap: .45rem .6rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.review-hero__supplement-item {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .35rem .65rem;
	border-radius: 999px;
	background: rgba(18, 21, 31, 0.1);
	border: none;
	color: var(--sl-color-text);
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .005em;
}

.review-hero__supplement-item--more {
	justify-content: center;
	background: rgba(18, 21, 31, 0.1);
	color: var(--sl-color-primary);
	font-size: .74rem;
}

.review-hero__supplement-icon {
	width: 22px;
	height: 22px;
	object-fit: contain;
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.92);
	padding: .25rem;
	box-shadow: none;
}

.review-hero__supplement-name {
	color: var(--sl-color-text);
}

.review-hero__side {
	position: relative;
	display: grid;
	gap: .65rem;
	align-content: start;
	justify-items: stretch;
	padding-top: clamp(5.6rem, 10vw, 6.3rem);
	padding-right: clamp(.6rem, 1.6vw, 1rem);
}

/* SCORE — floating badge */
.review-score {
	position: absolute;
	top: .35rem;
	right: clamp(.45rem, 1.6vw, 1rem);
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	padding: .4rem .7rem;
	min-width: 88px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(18, 21, 31, 0.14);
	box-shadow: 0 8px 18px rgba(18, 21, 31, 0.14);
	backdrop-filter: blur(10px);
	z-index: 2;
}

.review-score__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: linear-gradient(135deg, rgba(238, 17, 17, 0.3), rgba(255, 196, 196, 0.3));
	box-shadow: 0 6px 18px rgba(18, 21, 31, 0.18);
}

.review-score__icon svg {
	width: 16px;
	height: 16px;
	fill: var(--sl-color-primary);
}

.review-score__content {
	display: grid;
	gap: .12rem;
}

.review-score__label {
	text-transform: uppercase;
	letter-spacing: .24em;
	font-size: .58rem;
	color: var(--sl-color-text-muted);
	font-weight: 700;
}

.review-score__value {
	display: inline-flex;
	align-items: baseline;
	gap: .18rem;
}

.review-score__number {
	font-size: clamp(1.32rem, 1.7vw, 1.6rem);
	font-weight: 800;
	color: var(--sl-color-text);
	line-height: 1;
}

.review-score__denom {
	font-size: .68rem;
	color: var(--sl-color-text-muted);
	font-weight: 700;
	letter-spacing: .05em;
}

/* Right-hand cards (payments/bonus) — tighter */
.review-hero__card {
	display: grid;
	gap: .55rem;
	padding: .95rem 1.15rem;
	border-radius: 20px;
	border: 0;
	background: rgba(18, 21, 31, 0.1);
	box-shadow: none;
	border-left: 4px solid var(--sl-color-primary);
	width: 100%;
}
.review-hero__card--bonus {
	background: rgba(255, 196, 196, 0.2);
	border-left-color: var(--sl-color-primary-alt);
}
.review-hero__card-label {
	text-transform: uppercase;
	letter-spacing: .16em;
	font-size: .62rem;
	color: var(--sl-color-text-muted);
	font-weight: 700;
}
.review-hero__card-copy {
	display: grid;
	gap: .3rem;
	color: var(--sl-color-text);
	font-size: .92rem;
}
.review-hero__card-copy p { margin: 0; }
.review-hero__cta {
	justify-self: start;
	padding: .52rem 1.25rem;
	border-radius: 999px;
	background: var(--sl-gradient-primary);
	color: #1a1f33;
	box-shadow: none;
}

/* Pros/Cons — denser tiles */
.review-single__insights {
	display: grid;
	gap: clamp(.9rem, 1.8vw, 1.2rem);
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.review-single__insight {
	position: relative;
	padding: clamp(.9rem, 1.6vw, 1.2rem) clamp(1rem, 2vw, 1.6rem);
	border-radius: 16px;
	display: grid;
	gap: .65rem;
	border: 0;
	box-shadow: none;
	color: var(--sl-color-text);
	background: rgba(255, 255, 255, 0.7);
	backdrop-filter: blur(6px);
	border-left: 4px solid var(--sl-color-primary);
}
.review-single__insight--pros { border-left-color: #3ba77f; }
.review-single__insight--cons { border-left-color: #e17490; }

.review-single__insight-header { display: flex; align-items: center; gap: .6rem; }
.review-single__insight-icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 34px; height: 34px; border-radius: 50%; background: rgba(255, 255, 255, 0.86);
	color: inherit;
}
.review-single__insight-icon svg { width: 20px; height: 20px; fill: currentColor; }
.review-single__insight--pros .review-single__insight-icon { color: #3ba77f; }
.review-single__insight--cons .review-single__insight-icon { color: #e17490; }
.review-single__insight h2 {
	margin: 0; font-size: .92rem; text-transform: uppercase; letter-spacing: .16em; color: var(--sl-color-text);
}
.review-single__insight ul {
	margin: 0; padding: 0; display: grid; gap: .55rem; list-style: none; color: var(--sl-color-text); font-weight: 500;
}
.review-single__insight ul li { position: relative; padding-left: 1.1rem; }
.review-single__insight ul li::before {
	content: ""; position: absolute; left: 0; top: .58rem; width: 7px; height: 7px; border-radius: 50%;
}
.review-single__insight--pros ul li::before { background: #3ba77f; box-shadow: 0 0 0 4px rgba(59, 167, 127, 0.25); }
.review-single__insight--cons ul li::before { background: #e17490; box-shadow: 0 0 0 4px rgba(225, 116, 144, 0.25); }

/* Content area (denser, still very readable) */
.review-single__content {
	color: var(--sl-color-text);
	line-height: 1.68;
	border-top: 1px solid rgba(18, 21, 31, 0.14);
	padding-top: clamp(1.4rem, 2.4vw, 2rem);
}
.review-single__content-inner {
	padding: 0;
	border-radius: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
	display: grid;
	gap: clamp(1rem, 2vw, 1.6rem);
}
.review-single__content-inner > *:last-child { margin-bottom: 0; }
.review-single__content-inner h2,
.review-single__content-inner h3,
.review-single__content-inner h4 { color: var(--sl-color-text); }

/* Alternatives block */
.review-single__alternatives { display: grid; }
.review-single__alternatives-card {
	padding: clamp(1.2rem, 2.2vw, 1.6rem);
	border-radius: 20px;
	border: 0;
	background: rgba(18, 21, 31, 0.08);
	box-shadow: none;
	border-left: 4px solid var(--sl-color-primary);
	display: grid; gap: 1rem;
}
.review-single__alternatives-header { display: grid; gap: .55rem; max-width: 520px; }
.review-single__alternatives-badge {
	display: inline-flex; align-items: center; gap: .35rem; padding: .32rem .7rem;
	border-radius: 999px; background: rgba(18, 21, 31, 0.1); color: var(--sl-color-primary);
	text-transform: uppercase; letter-spacing: .18em; font-size: .7rem; font-weight: 700;
}
.review-single__alternatives-card h2 { margin: 0; font-size: clamp(1.45rem, 2.1vw, 1.75rem); color: var(--sl-color-text); }
.review-single__alternatives-card p { margin: 0; color: var(--sl-color-text-muted); }
.review-single__alternatives-card .casino-offers { display: grid; gap: .9rem; }

/* Responsive refinements */
@media (min-width: 760px) and (max-width: 1180px) {
	.review-hero__side { padding-top: clamp(6.4rem, 11vw, 7.4rem); }
}
@media (max-width: 900px) {
	.review-hero__inner { grid-template-columns: 1fr; }
	.review-hero__side {
		padding-top: 0;
		padding-right: 0;
	}
	.review-score {
		position: relative;
		top: auto;
		right: auto;
		margin: 0 auto .8rem;
		width: auto;
	}

	.review-score__content {
		text-align: center;
	}

	.review-hero__supplement {
		margin-top: .85rem;
	}

	.review-hero__supplement-list {
		grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	}
}
@media (max-width: 640px) {
	.hero { padding: 2.1rem 0 1.6rem; }
	.review-hero { padding: 1.05rem .85rem; }
	.review-hero__identity { gap: .7rem; }
	.review-hero__logo { width: 70px; height: 70px; }
	.review-score { margin: 0 auto .75rem; }
	.review-hero__card { padding: .75rem .9rem; }
	.review-single__insight { padding: .95rem; }

	.review-hero__supplement {
		padding: .65rem;
	}

	.review-hero__supplement-list {
		grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
		gap: .35rem .5rem;
	}
}

/* Footer / pagination / embeds — more compact */
.site-footer {
	margin-top: 3rem;
}
.site-footer__band { width: 100%; }
.site-footer__band .site-container { padding: .9rem 0; }
.site-footer__band--primary { background: var(--sl-color-primary); color: #fff; }
.site-footer__band--light { background: var(--sl-color-primary); color: #fff; border-top: 1px solid rgba(18, 21, 31, 0.12); border-bottom: 1px solid rgba(18, 21, 31, 0.12); }
.site-footer__band--light + .site-footer__band--light { border-top: none; }
.site-footer__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.site-footer__brand { display: flex; align-items: center; gap: .7rem; }
.site-footer__brand .site-branding { display: flex; align-items: center; }
.site-footer__meta { display: flex; flex-direction: column; gap: .3rem; color: var(--sl-color-text-muted); font-size: .9rem; }
.site-footer__menu { margin-left: auto; }
.site-footer__menu ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: .6rem 1.1rem; flex-wrap: wrap; }
.site-footer__menu a { color: var(--sl-color-text); font-weight: 600; }
.site-footer__menu a:hover { color: var(--sl-color-accent); }

/* Footer menu – subtle animated underline + lift on hover */
.site-footer__menu a {
    position: relative;
    text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 0% 2px; /* hidden by default */
    transition: color 160ms ease, background-size 220ms ease, transform 140ms ease, text-shadow 160ms ease;
}
.site-footer__menu a:hover,
.site-footer__menu a:focus-visible {
    background-size: 100% 2px; /* slide-in underline */
    transform: translateY(-1px);
    text-shadow: 0 0 10px rgba(255,255,255,0.18);
}
.site-footer__legal { text-align: center; color: var(--sl-color-text-muted); font-size: .85rem; padding-top: 10px; padding-bottom: 30px; }

/* Primary band (red) typography overrides */
.site-footer__band--primary .site-footer__meta { color: rgba(255,255,255,.86); }
.site-footer__band--primary .site-footer__menu a { color: #fff; }
.site-footer__band--primary .site-footer__menu a:hover { color: #ffe3e3; }
/* Keep underline visible on high-contrast band */
.site-footer__band--primary .site-footer__menu a:hover,
.site-footer__band--primary .site-footer__menu a:focus-visible {
    text-shadow: 0 0 10px rgba(255,255,255,0.28);
}
.site-footer__band--primary .site-footer__policy-links a { color: #fff !important; }
.site-footer__band--primary .site-footer__policy-links a:hover { color: #ffe3e3 !important; text-decoration: underline }
.site-footer__band--primary .site-footer__legal { color: rgba(255,255,255,.92); }

/* Footer branding tweaks */
.site-footer .site-logo { padding: 0; border-radius: 0; background: none; box-shadow: none; }
.site-footer .site-logo img { height: 40px; width: auto; }

/* Footer logo strip */
.site-footer__logos {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: .6rem 0;
    flex-wrap: wrap;
}
.site-footer__logos .site-footer__logo { display: inline-flex; align-items: center; height: 22px; flex: 0 0 auto; }
.site-footer__logos img { height: 22px; width: auto; display: block; }
.site-footer__logos a { filter: grayscale(100%); opacity: .9; transition: opacity 140ms ease, filter 140ms ease, transform 140ms ease; }
.site-footer__logos a:hover, .site-footer__logos a:focus { filter: none; opacity: 1; transform: translateY(-1px); }

@media (max-width: 560px) {
    .site-footer__logos { gap: 12px; }
}

/* Policy links under logos */
.site-footer__policies { margin-top: 0; }
.site-footer__policy-links { list-style: none; margin: 0; padding: .2rem 0 0; display: flex; justify-content: center; gap: .5rem 1rem; flex-wrap: wrap; }
.site-footer__policy-links a { color: var(--sl-color-text-muted); font-size: .9rem; }
.site-footer__policy-links a:hover { color: var(--sl-color-accent); }
.site-footer__band--light .site-footer__policy-links a { color: var(--sl-color-text); }
.site-footer__band--light .site-footer__legal { color: #fff }

/* Space between policy links and copyright when stacked */
.site-footer__policies + .site-footer__legal { margin-top: .5rem; }

/* Layout refinement for larger screens: brand + menu */
@media (max-width: 720px) {
  .site-footer__inner { justify-content: center; }
  .site-footer__menu { margin-left: 0; }
}

.pagination { margin-top: 1.8rem; display: flex; justify-content: center; gap: .4rem; }
.pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 2.1rem; padding: .4rem .7rem; border-radius: 999px;
	background: rgba(18, 21, 31, 0.1); color: var(--sl-color-primary); font-weight: 700;
}
.pagination .page-numbers.current { background: var(--sl-gradient-primary); color: #1a1f33; }

.slotslaunch-affiliate-offers {
	margin-top: 1.1rem;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1rem;
}
.slotslaunch-affiliate-offer {
	position: relative;
	display: grid;
	gap: .6rem;
	padding: .9rem 1rem;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(18, 21, 31, 0.16);
	box-shadow: 0 8px 18px rgba(18, 21, 31, 0.1);
	transition: transform 140ms ease, box-shadow 140ms ease;
}
.slotslaunch-affiliate-offer:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 18px rgba(18, 21, 31, 0.16);
}
.slotslaunch-affiliate-offer::before { display: none; }

.slotslaunch-affiliate-offer__header {
	display: flex;
	align-items: center;
	gap: .65rem;
}
.slotslaunch-affiliate-offer__thumbnail img {
	width: 56px;
	height: 56px;
	border-radius: 14px;
	border: 1px solid rgba(18, 21, 31, 0.16);
	background: rgba(255, 255, 255, 0.92);
	object-fit: cover;
}
.slotslaunch-affiliate-offer__title {
	flex: 1;
	margin: 0;
	font-size: 1.02rem;
	color: var(--sl-color-text);
}
.slotslaunch-affiliate-offer__score {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: rgba(18, 21, 31, 0.1);
	color: var(--sl-color-primary);
	font-weight: 700;
	font-size: .9rem;
}
.slotslaunch-affiliate-offer__score::after {
	content: "/100";
	margin-left: 2px;
	font-size: .65rem;
	color: var(--sl-color-text-muted);
	font-weight: 600;
}

.slotslaunch-affiliate-offer__content { display: none; }
.slotslaunch-affiliate-offer__summary { display: none; }
.slotslaunch-affiliate-offer__lists { display: none; }

.slotslaunch-affiliate-offer__bonus {
	margin: 0;
	font-weight: 600;
	font-size: .9rem;
	color: var(--sl-color-primary);
}

.slotslaunch-affiliate-offer__cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .6rem;
}
.slotslaunch-affiliate-offer__review-link {
	color: var(--sl-color-primary);
	font-weight: 600;
	font-size: .85rem;
	text-decoration: none;
}
.slotslaunch-affiliate-offer__review-link:hover,
.slotslaunch-affiliate-offer__review-link:focus { color: var(--sl-color-accent); }

.slotslaunch-affiliate-offer__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .55rem 1.1rem;
	border-radius: 999px;
	background: var(--sl-gradient-primary);
	color: #1a1f33;
	font-weight: 700;
	font-size: .85rem;
	text-decoration: none;
	box-shadow: 0 8px 18px rgba(18, 21, 31, 0.1);
	transition: transform 140ms ease, box-shadow 140ms ease;
}
.slotslaunch-affiliate-offer__button:hover,
.slotslaunch-affiliate-offer__button:focus {
	transform: translateY(-2px);
	box-shadow: 0 8px 18px rgba(18, 21, 31, 0.18);
}
.slotslaunch-affiliate-offer__button::after {
	content: "\2192";
	margin-left: .4rem;
	font-size: .9rem;
}

.slotslaunch-game-embed iframe { border-radius: 16px; min-height: 380px; }

/* Responsible play */
.responsible-play {
	margin-top: 1.6rem; padding: 1rem 1.15rem; border-radius: 14px;
	background: rgba(18, 21, 31, 0.1); border: 1px solid rgba(18, 21, 31, 0.1);
	color: var(--sl-color-text-muted); font-size: .9rem; line-height: 1.5;
}

.section--trusted {
	padding: 2.5rem 0 2rem;
}

.trusted-casinos__grid {
	display: grid;
	gap: clamp(1rem, 1.8vw, 1.4rem);
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.trusted-casino-card {
	background: var(--sl-color-card);
	border-radius: 5px;
	padding: var(--space-3);
	box-shadow: 0 6px 16px rgba(18, 21, 31, 0.08);
	border: 1px solid rgba(18, 21, 31, 0.06);
	display: grid;
	grid-template-rows: auto 1fr auto;
	gap: var(--space-2);
	position: relative;
	overflow: hidden;
}

.trusted-casino-card__media {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	row-gap: 0;
}

.trusted-casino-card__score-bar {
	width: calc(100% + var(--space-3) + var(--space-3));
	margin: calc(-1 * var(--space-3)) calc(-1 * var(--space-3)) 0;
	padding: .4rem calc(var(--space-3) * .9);
	background: #fff;
	border-top-left-radius: var(--radius-xl);
	border-top-right-radius: var(--radius-xl);
	border-bottom: 1px solid rgba(18, 21, 31, 0.1);
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: .3rem;
	box-shadow: 0 8px 18px rgba(21, 34, 68, 0.08);
	box-sizing: border-box;
}

.trusted-casino-card__artwork {
	width: calc(100% + var(--space-3) + var(--space-3));
	margin: 0 calc(-1 * var(--space-3)) 0;
	height: 156px;
	overflow: hidden;
	background: transparent;
	display: grid;
	place-items: center;
	position: relative;
}

.trusted-casino-card__artwork-link {
	display: grid;
	width: 100%;
	height: 100%;
	place-items: center;
	text-decoration: none;
}

.trusted-casino-card__artwork-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	background: transparent;
}

.trusted-casino-card__artwork-fallback {
	font-size: 2.2rem;
	font-weight: 700;
	color: var(--sl-color-primary);
	background: rgba(18, 21, 31, 0.1);
	width: 100%;
	height: 100%;
	display: grid;
	place-items: center;
}

.trusted-casino-card__body {
	display: grid;
	gap: var(--space-2);
	text-align: center;
	justify-items: center;
}

.trusted-casino-card__score-label {
	font-size: .58rem;
	font-weight: 700;
	color: var(--sl-color-text-muted);
	text-transform: uppercase;
	letter-spacing: .12em;
}

.trusted-casino-card__score-value {
	font-weight: 700;
	font-size: .95rem;
	color: var(--sl-color-primary);
	line-height: 1;
}

.trusted-casino-card__score-max {
	font-size: .95rem;
	color: var(--sl-color-text-muted);
}

.trusted-casino-card__title {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 700;
	text-align: center;
}

.trusted-casino-card__bonus-group {
	display: grid;
	gap: 0;
	justify-items: center;
}

.trusted-casino-card__bonus-label {
	font-size: .72rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .18em;
	color: var(--sl-color-text-muted);
	margin-bottom: -5px;
}

.trusted-casino-card__bonus {
	margin: 0;
	color: var(--sl-color-text);
	font-size: 1.1rem;
	font-weight: 600;
	line-height: 1.45;
	text-decoration: none;
	transition: color 140ms ease;
}

.trusted-casino-card__bonus:hover,
.trusted-casino-card__bonus:focus-visible {
	color: var(--sl-color-primary);
}

.trusted-casino-card__actions {
	display: flex;
	align-items: end;
	gap: var(--space-2);
	justify-content: space-between;
	margin-top: var(--space-1);
}

.trusted-casino-card__actions .button {
	font-size: .85rem;
	padding: .5rem 1rem;
	min-width: 0;
}

.trusted-casino-card__review {
	color: var(--sl-color-text-muted);
	font-size: .82rem;
	font-weight: 600;
	transition: color 160ms ease;
}

.trusted-casino-card__review:hover,
.trusted-casino-card__review:focus {
	color: var(--sl-color-primary);
}

@media (max-width: 1080px) {
	.trusted-casinos__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.trusted-casinos__grid {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
	.trusted-casino-card__actions {
		flex-direction: column;
		align-items: stretch;
	}
	.trusted-casino-card__actions .button {
		width: 100%;
		justify-content: center;
	}
	.trusted-casino-card__review {
		text-align: center;
	}
}

/* Mobile nav */
@media (max-width: 960px) {
	.site-nav {
		position: fixed;
		inset: 0;
		width: 100vw;
		height: 100vh;
		min-height: 100vh;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		padding: clamp(4.5rem, 16vw, 6.5rem) clamp(1.8rem, 8vw, 3rem) clamp(5rem, 14vw, 7rem);
		gap: clamp(2.4rem, 8vw, 3.2rem);
		background: radial-gradient(120% 120% at 50% -10%, rgba(255, 255, 255, 0.12), rgba(17, 26, 52, 0.92) 36%) , linear-gradient(180deg, rgba(15, 20, 38, 0.96), rgba(30, 37, 62, 0.98));
		backdrop-filter: blur(18px);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: scale(0.98) translateY(-12px);
		transition: opacity 220ms ease, transform 240ms ease, visibility 0s linear 240ms;
		z-index: 80;
		overflow-y: auto;
	}
	.site-nav::before {
		content: "";
		position: absolute;
		inset: 0;
		background: radial-gradient(circle at 18% 14%, rgba(18, 21, 31, 0.18), transparent 50%),
			radial-gradient(circle at 82% 70%, rgba(255, 201, 140, 0.18), transparent 65%);
		opacity: .85;
		z-index: 0;
	}
	.site-nav > * {
		position: relative;
		z-index: 1;
	}
		.site-nav ul {
			flex-direction: column;
			align-items: center;
			gap: clamp(1.6rem, 6vw, 2.4rem);
			width: min(520px, 100%);
			text-align: center;
			padding-bottom: clamp(2rem, 8vw, 3.5rem);
	}
	.site-nav li { width: 100%; }
		.site-nav a {
			color: #fff;
			font-size: clamp(1.15rem, 4.4vw, 1.8rem);
			font-weight: 700;
			letter-spacing: .12em;
		text-transform: uppercase;
		display: inline-flex;
		justify-content: center;
		padding: .4rem .2rem;
		position: relative;
	}
	.site-nav a::after { content: none; }
	.site-nav.is-open {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: scale(1) translateY(0);
		transition-delay: 0s;
	}
	.site-nav__toggle {
		display: inline-flex;
	}
	.site-header__inner {
		padding: .75rem .35rem;
	}
}

/* Phone tweaks */
@media (max-width: 720px) {
	.hero { padding: 2.2rem 0 1.7rem; }
	.review-card__frame { gap: .75rem; }
	.review-card__header { flex-direction: column; align-items: flex-start; gap: .6rem; }
	.review-card__actions { flex-wrap: wrap; justify-content: flex-start; }
	.slotslaunch-affiliate-offer { padding: 1rem; }
	.slotslaunch-affiliate-offer__header { flex-direction: column; align-items: flex-start; }
	.slotslaunch-affiliate-offer__score { width: 52px; height: 52px; }
	.slotslaunch-affiliate-offer__thumbnail img { width: 100%; }
	.slotslaunch-affiliate-offer__cta { flex-direction: column; align-items: stretch; }
	.slotslaunch-affiliate-offer__button { width: 100%; justify-content: center; }
}
.slotsl-card--banner .slotsl-card__link {
	display: none;
}
