/**
 * Unified visual system for newonline-slots.com
 * Pages: Home, Slot, Bonus, Review, Legal.
 * Palette: violet + coral over dusk gradient canvas.
 */

:root {
	--sfs-bg-1: #140f2a;
	--sfs-bg-2: #1e1640;
	--sfs-bg-3: #2a1d58;
	--sfs-ink: #f8f6ff;
	--sfs-ink-dim: #ddd7f4;
	--sfs-muted: #a79ec8;
	--sfs-primary: #ff6b6b;
	--sfs-primary-soft: rgba(255, 107, 107, 0.14);
	--sfs-primary-border: rgba(255, 107, 107, 0.42);
	--sfs-accent: #8b7bff;
	--sfs-accent-soft: rgba(139, 123, 255, 0.18);
	--sfs-gold: #ffc27a;
	--sfs-border: rgba(255, 255, 255, 0.08);
	--sfs-border-strong: rgba(255, 255, 255, 0.14);
	--sfs-card: rgba(255, 255, 255, 0.03);
	--sfs-card-strong: rgba(255, 255, 255, 0.05);
	--sfs-radius: 1rem;
	--sfs-radius-sm: 0.65rem;
	--sfs-shadow-lg: 0 18px 40px rgba(0, 0, 0, 0.35);
	--sfs-shadow-glow: 0 10px 28px rgba(0, 0, 0, 0.4);
	--sfs-shadow-glow-magenta: 0 10px 28px rgba(0, 0, 0, 0.4);
	--sfs-max: 72rem;
}

/* --- Shell: single calm dark canvas --- */
body.lv-slots-front.sfs-shell {
	background-color: var(--sfs-bg-1) !important;
	background-image:
		radial-gradient(ellipse 70% 45% at 10% 0%, rgba(255, 107, 107, 0.18) 0%, transparent 58%),
		radial-gradient(ellipse 70% 45% at 100% 10%, rgba(139, 123, 255, 0.2) 0%, transparent 62%),
		linear-gradient(180deg, #140f2a 0%, #1b1339 45%, #221748 100%) !important;
	background-attachment: scroll;
	color: var(--sfs-ink) !important;
}

@media (min-width: 768px) {
	body.lv-slots-front.sfs-shell {
		background-attachment: fixed;
	}
}

body.lv-slots-front.sfs-shell main {
	color: var(--sfs-ink);
}

.sfs-main {
	position: relative;
	z-index: 1;
	color: var(--sfs-ink);
}

.sfs-container {
	width: 100%;
	max-width: var(--sfs-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: 1rem;
	padding-right: 1rem;
	box-sizing: border-box;
}

@media (min-width: 640px) {
	.sfs-container {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
}

/* --- Typography (hardened against global Tailwind / luxury-layout rules) --- */
body.lv-slots-front.sfs-shell .sfs-main,
body.lv-slots-front.sfs-shell .sfs-main p,
body.lv-slots-front.sfs-shell .sfs-main li,
body.lv-slots-front.sfs-shell .sfs-main dd,
body.lv-slots-front.sfs-shell .sfs-main td,
body.lv-slots-front.sfs-shell .sfs-main th,
body.lv-slots-front.sfs-shell .sfs-main summary,
body.lv-slots-front.sfs-shell .sfs-main span {
	color: var(--sfs-ink-dim);
}

body.lv-slots-front.sfs-shell .sfs-main h1,
body.lv-slots-front.sfs-shell .sfs-main h2,
body.lv-slots-front.sfs-shell .sfs-main h3,
body.lv-slots-front.sfs-shell .sfs-main h4,
body.lv-slots-front.sfs-shell .sfs-main h5,
body.lv-slots-front.sfs-shell .sfs-main h6,
body.lv-slots-front.sfs-shell .sfs-main strong,
body.lv-slots-front.sfs-shell .sfs-main b {
	color: var(--sfs-ink) !important;
}

body.lv-slots-front.sfs-shell .sfs-main p strong,
body.lv-slots-front.sfs-shell .sfs-main li strong,
body.lv-slots-front.sfs-shell .sfs-main dd strong,
body.lv-slots-front.sfs-shell .sfs-main td strong,
body.lv-slots-front.sfs-shell .sfs-main span strong {
	color: var(--sfs-ink) !important;
	font-weight: 700;
}

body.lv-slots-front.sfs-shell .sfs-main a {
	color: var(--sfs-primary);
	text-decoration: none;
}

body.lv-slots-front.sfs-shell .sfs-main a:hover {
	color: #2de0b1;
	text-decoration: underline;
}

body.lv-slots-front.sfs-shell .sfs-main .sfs-btn,
body.lv-slots-front.sfs-shell .sfs-main .sfs-btn:hover,
body.lv-slots-front.sfs-shell .sfs-main .sfs-btn:visited {
	text-decoration: none;
}

body.lv-slots-front.sfs-shell .sfs-main .sfs-btn--primary,
body.lv-slots-front.sfs-shell .sfs-main .sfs-btn--primary:hover,
body.lv-slots-front.sfs-shell .sfs-main .sfs-btn--primary:visited {
	color: #06231a;
}

body.lv-slots-front.sfs-shell .sfs-main .sfs-btn--magenta:hover,
body.lv-slots-front.sfs-shell .sfs-main .sfs-btn--ghost:hover {
	color: var(--sfs-primary);
}

body.lv-slots-front.sfs-shell .sfs-main h1 em,
body.lv-slots-front.sfs-shell .sfs-main h2 em,
body.lv-slots-front.sfs-shell .sfs-main h3 em,
body.lv-slots-front.sfs-shell .sfs-main .sfs-gradient-text {
	color: var(--sfs-primary);
}

body.lv-slots-front.sfs-shell .sfs-main .sfs-card__eyebrow,
body.lv-slots-front.sfs-shell .sfs-main .sfs-pill,
body.lv-slots-front.sfs-shell .sfs-main .sfs-verdict h3,
body.lv-slots-front.sfs-shell .sfs-main .sfs-pros h3,
body.lv-slots-front.sfs-shell .sfs-main .sfs-slot-card__tag {
	color: var(--sfs-primary);
}

body.lv-slots-front.sfs-shell .sfs-main .sfs-pill--magenta,
body.lv-slots-front.sfs-shell .sfs-main .sfs-pill--gold,
body.lv-slots-front.sfs-shell .sfs-main .sfs-cons h3 {
	color: var(--sfs-ink-dim);
}

body.lv-slots-front.sfs-shell .sfs-main .sfs-rating__label,
body.lv-slots-front.sfs-shell .sfs-main .sfs-stat__label,
body.lv-slots-front.sfs-shell .sfs-main .sfs-field label,
body.lv-slots-front.sfs-shell .sfs-main .sfs-breadcrumbs,
body.lv-slots-front.sfs-shell .sfs-main .sfs-breadcrumbs a {
	color: var(--sfs-muted);
}

body.lv-slots-front.sfs-shell .sfs-main .sfs-note,
body.lv-slots-front.sfs-shell .sfs-main .sfs-note strong {
	color: var(--sfs-ink-dim);
}

body.lv-slots-front.sfs-shell .sfs-main .sfs-note strong {
	color: var(--sfs-ink);
}

body.lv-slots-front.sfs-shell .sfs-main .sfs-table thead th {
	color: var(--sfs-ink-dim);
}

body.lv-slots-front.sfs-shell .sfs-main .sfs-table tbody th,
body.lv-slots-front.sfs-shell .sfs-main .sfs-table tbody th strong,
body.lv-slots-front.sfs-shell .sfs-main .sfs-table tbody th b {
	color: var(--sfs-ink) !important;
	background: transparent !important;
	font-weight: 700;
}

body.lv-slots-front.sfs-shell .sfs-main .sfs-code {
	color: var(--sfs-ink);
}

body.lv-slots-front.sfs-shell .sfs-main .sfs-card__meta li span:first-child {
	color: var(--sfs-muted);
}

/* --- Eyebrow / pills (unified single accent, no glow) --- */
.sfs-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.38rem 0.9rem;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sfs-primary);
	background: var(--sfs-primary-soft);
	border: 1px solid var(--sfs-primary-border);
}

.sfs-pill--magenta,
.sfs-pill--gold {
	color: var(--sfs-ink-dim);
	background: rgba(255, 255, 255, 0.04);
	border-color: var(--sfs-border-strong);
}

.sfs-pill::before {
	content: "";
	display: inline-block;
	width: 0.35rem;
	height: 0.35rem;
	border-radius: 999px;
	background: currentColor;
}

/* --- Hero (flat, unified max-width with container) --- */
.sfs-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(3.5rem, 7vw, 5.5rem) 0 clamp(2.5rem, 5vw, 4rem);
	isolation: isolate;
	border-bottom: 1px solid var(--sfs-border);
}

.sfs-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(ellipse 60% 55% at 50% 0%, rgba(34, 211, 164, 0.08) 0%, transparent 60%);
}

.sfs-hero__inner {
	display: grid;
	gap: clamp(1.5rem, 2.5vw, 2rem);
	text-align: center;
	width: 100%;
	max-width: none;
	margin: 0;
}

.sfs-hero__title {
	margin: 0 auto;
	max-width: 48rem;
	font-size: clamp(1.9rem, 4.5vw, 3rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.02em;
	color: var(--sfs-ink);
}

.sfs-hero__title em {
	font-style: normal;
	color: var(--sfs-primary);
}

.sfs-hero__lead {
	margin: 0 auto;
	max-width: 44rem;
	font-size: clamp(0.98rem, 1.4vw, 1.05rem);
	line-height: 1.7;
	color: var(--sfs-ink-dim);
}

.sfs-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	justify-content: center;
}

/* --- Buttons --- */
.sfs-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.95rem 1.7rem;
	border-radius: 999px;
	font-weight: 800;
	font-size: 0.95rem;
	letter-spacing: 0.01em;
	line-height: 1;
	border: 1px solid transparent;
	cursor: pointer;
	transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
	text-decoration: none;
}

.sfs-btn--primary {
	color: #06231a;
	background: var(--sfs-primary);
	border-color: var(--sfs-primary);
}

.sfs-btn--primary:hover {
	transform: translateY(-1px);
	background: #2de0b1;
	border-color: #2de0b1;
	color: #06231a;
	text-decoration: none;
}

.sfs-btn--magenta {
	color: var(--sfs-ink);
	background: rgba(255, 255, 255, 0.04);
	border-color: var(--sfs-border-strong);
}

.sfs-btn--magenta:hover {
	transform: translateY(-1px);
	border-color: var(--sfs-primary);
	color: var(--sfs-primary);
	background: var(--sfs-primary-soft);
	text-decoration: none;
}

.sfs-btn--ghost {
	color: var(--sfs-ink);
	background: rgba(255, 255, 255, 0.03);
	border-color: var(--sfs-border-strong);
}

.sfs-btn--ghost:hover {
	transform: translateY(-1px);
	border-color: var(--sfs-primary);
	color: var(--sfs-primary);
	text-decoration: none;
}

.sfs-btn--sm {
	padding: 0.55rem 1rem;
	font-size: 0.8125rem;
}

/* --- Sections --- */
.sfs-section {
	position: relative;
	padding: clamp(3.5rem, 7vw, 5.5rem) 0;
}

.sfs-section--tight {
	padding: clamp(2.5rem, 5vw, 3.5rem) 0;
}

.sfs-section--alt {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0.012));
	border-top: 1px solid var(--sfs-border);
	border-bottom: 1px solid var(--sfs-border);
}

.sfs-section__head {
	text-align: center;
	margin: 0 auto clamp(2rem, 4vw, 3rem);
	max-width: 46rem;
	display: grid;
	gap: 0.85rem;
	justify-items: center;
}

.sfs-section__head--left {
	text-align: left;
	margin-left: 0;
	justify-items: start;
}

.sfs-section__title {
	margin: 0;
	font-size: clamp(1.4rem, 3vw, 2rem);
	font-weight: 800;
	line-height: 1.18;
	letter-spacing: -0.02em;
	color: var(--sfs-ink);
}

.sfs-section__title em {
	font-style: normal;
	color: var(--sfs-primary);
}

.sfs-section__lead {
	margin: 0;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--sfs-ink-dim);
}

/* --- Grids --- */
.sfs-grid {
	display: grid;
	gap: clamp(1rem, 2vw, 1.4rem);
	grid-template-columns: 1fr;
}

@media (min-width: 640px) {
	.sfs-grid.--cols-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 768px) {
	.sfs-grid.--cols-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.sfs-grid.--cols-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.sfs-grid.--cols-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* --- Card (unified accent, no glow) --- */
.sfs-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
	padding: 1.3rem 1.25rem 1.35rem;
	border-radius: var(--sfs-radius);
	background: var(--sfs-card);
	border: 1px solid var(--sfs-border);
	overflow: hidden;
	transition: transform 0.18s ease, border-color 0.18s ease;
}

.sfs-card::before {
	content: none;
}

.sfs-card--magenta,
.sfs-card--gold {
	background: var(--sfs-card);
	border-color: var(--sfs-border);
}

@media (hover: hover) and (pointer: fine) {
	.sfs-card:hover {
		transform: translateY(-2px);
		border-color: var(--sfs-primary-border);
	}
}

.sfs-card__eyebrow {
	display: inline-flex;
	align-self: flex-start;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sfs-primary);
}

.sfs-card__title {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 800;
	letter-spacing: -0.015em;
	color: var(--sfs-ink);
}

.sfs-card__body,
.sfs-card p {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.65;
	color: var(--sfs-ink-dim);
}

.sfs-card__meta {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.3rem;
}

.sfs-card__meta li {
	display: flex;
	justify-content: space-between;
	gap: 0.75rem;
	font-size: 0.85rem;
	padding: 0.45rem 0.75rem;
	border-radius: 0.55rem;
	background: rgba(255, 255, 255, 0.04);
	color: var(--sfs-ink);
}

.sfs-card__meta li span:first-child {
	color: var(--sfs-muted);
	font-weight: 600;
}

.sfs-card__meta li span:last-child {
	font-weight: 800;
}

.sfs-card__actions {
	margin-top: auto;
	padding-top: 0.4rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

/* Feature icon blocks */
.sfs-feature {
	padding: 1.35rem 1.3rem 1.4rem;
	display: grid;
	gap: 0.5rem;
}

.sfs-feature__icon {
	width: 2.6rem;
	height: 2.6rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 0.6rem;
	font-size: 1.2rem;
	font-weight: 800;
	color: var(--sfs-primary);
	background: var(--sfs-primary-soft);
	border: 1px solid var(--sfs-primary-border);
}

.sfs-feature:nth-child(2n) .sfs-feature__icon,
.sfs-feature:nth-child(3n) .sfs-feature__icon {
	color: var(--sfs-primary);
	background: var(--sfs-primary-soft);
	border-color: var(--sfs-primary-border);
}

/* --- Tables --- */
.sfs-tablewrap {
	overflow-x: auto;
	border-radius: var(--sfs-radius);
	border: 1px solid var(--sfs-border);
	background: var(--sfs-card);
}

.sfs-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9rem;
	color: var(--sfs-ink);
	background: transparent;
}

.sfs-table thead,
.sfs-table tbody,
.sfs-table tfoot {
	background: transparent;
}

.sfs-table thead tr,
.sfs-table tbody tr {
	background: transparent !important;
}

.sfs-table thead th {
	padding: 0.95rem 1.1rem;
	text-align: left;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sfs-ink-dim) !important;
	background: rgba(255, 255, 255, 0.04) !important;
	border-bottom: 1px solid var(--sfs-border);
	white-space: nowrap;
}

.sfs-table tbody td,
.sfs-table tbody th {
	padding: 0.95rem 1.1rem;
	border-bottom: 1px solid var(--sfs-border);
	vertical-align: middle;
	color: var(--sfs-ink-dim) !important;
	background: transparent !important;
}

.sfs-table tbody th {
	text-align: left;
	color: var(--sfs-ink) !important;
	font-weight: 700;
	font-size: 0.95rem;
	white-space: nowrap;
}

.sfs-table tbody th strong,
.sfs-table tbody th b {
	color: var(--sfs-ink) !important;
	font-weight: 700;
}

.sfs-table tbody tr:last-child td,
.sfs-table tbody tr:last-child th {
	border-bottom: none;
}

.sfs-table tbody tr:hover td,
.sfs-table tbody tr:hover th {
	background: rgba(255, 255, 255, 0.03) !important;
}

.sfs-table tbody td strong,
.sfs-table tbody td b {
	color: var(--sfs-ink) !important;
	font-weight: 700;
}

.sfs-table tbody td a {
	color: var(--sfs-primary);
}

.sfs-table tbody td a.sfs-btn,
.sfs-table tbody td a.sfs-btn:hover,
.sfs-table tbody td a.sfs-btn:visited {
	color: #06231a !important;
}

.sfs-table tbody td a.sfs-btn--magenta,
.sfs-table tbody td a.sfs-btn--magenta:visited {
	color: var(--sfs-ink) !important;
}

.sfs-table tbody td a.sfs-btn--magenta:hover {
	color: var(--sfs-primary) !important;
}

.sfs-table code,
.sfs-table .sfs-code {
	display: inline-block;
	padding: 0.22rem 0.6rem;
	border-radius: 0.4rem;
	font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 0.8125rem;
	font-weight: 700;
	color: var(--sfs-ink) !important;
	background: rgba(255, 255, 255, 0.08) !important;
	border: 1px solid var(--sfs-border-strong);
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.sfs-table .sfs-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.2rem 0.6rem;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sfs-primary) !important;
	background: var(--sfs-primary-soft);
	border: 1px solid var(--sfs-primary-border);
}

/* --- FAQ --- */
.sfs-faq {
	display: grid;
	gap: 0.75rem;
}

.sfs-faq__item {
	border-radius: var(--sfs-radius-sm);
	border: 1px solid var(--sfs-border);
	background: var(--sfs-card);
	overflow: hidden;
	transition: border-color 0.2s ease;
}

.sfs-faq__item[open],
.sfs-faq__item:hover {
	border-color: var(--sfs-primary-border);
}

.sfs-faq__summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1.2rem;
	font-weight: 700;
	color: var(--sfs-ink);
}

.sfs-faq__summary::-webkit-details-marker {
	display: none;
}

.sfs-faq__summary::after {
	content: "+";
	flex-shrink: 0;
	width: 1.5rem;
	height: 1.5rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	font-size: 1rem;
	font-weight: 700;
	color: var(--sfs-primary);
	background: var(--sfs-primary-soft);
	border: 1px solid var(--sfs-primary-border);
	transition: transform 0.2s ease;
}

.sfs-faq__item[open] .sfs-faq__summary::after {
	content: "−";
	transform: rotate(180deg);
}

.sfs-faq__body {
	padding: 0 1.2rem 1.15rem;
	font-size: 0.95rem;
	line-height: 1.7;
	color: var(--sfs-ink-dim);
}

.sfs-faq__body p {
	margin: 0;
}

.sfs-faq__body p + p {
	margin-top: 0.5rem;
}

/* --- Prose (long-form blocks) --- */
.sfs-prose {
	max-width: 48rem;
	margin: 0 auto;
	font-size: 1rem;
	line-height: 1.75;
	color: var(--sfs-ink-dim);
}

.sfs-prose h2,
.sfs-prose h3,
.sfs-prose h4 {
	color: var(--sfs-ink);
	font-weight: 800;
	letter-spacing: -0.015em;
}

.sfs-prose h2 {
	margin: 2rem 0 0.9rem;
	font-size: clamp(1.35rem, 2.5vw, 1.6rem);
}

.sfs-prose h3 {
	margin: 1.75rem 0 0.65rem;
	font-size: 1.15rem;
}

.sfs-prose h4 {
	margin: 1.5rem 0 0.5rem;
	font-size: 1rem;
}

.sfs-prose p {
	margin: 0 0 1rem;
}

.sfs-prose ul,
.sfs-prose ol {
	margin: 0 0 1.1rem;
	padding-left: 1.25rem;
}

.sfs-prose li + li {
	margin-top: 0.45rem;
}

.sfs-prose a {
	color: var(--sfs-primary);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.sfs-prose table {
	margin: 1.5rem 0;
}

/* --- Pros/Cons --- */
.sfs-pros-cons {
	display: grid;
	gap: 1rem;
}

@media (min-width: 768px) {
	.sfs-pros-cons {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.sfs-pros,
.sfs-cons {
	padding: 1.35rem 1.35rem 1.5rem;
	border-radius: var(--sfs-radius);
	border: 1px solid var(--sfs-border);
	background: var(--sfs-card);
}

.sfs-pros {
	border-color: var(--sfs-primary-border);
	background: var(--sfs-primary-soft);
}

.sfs-cons {
	border-color: var(--sfs-border-strong);
	background: rgba(255, 255, 255, 0.03);
}

.sfs-pros h3,
.sfs-cons h3 {
	margin: 0 0 0.75rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 1rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.12em;
}

.sfs-pros h3 {
	color: var(--sfs-primary);
}

.sfs-cons h3 {
	color: var(--sfs-ink-dim);
}

.sfs-pros h3::before {
	content: "✓";
}

.sfs-cons h3::before {
	content: "✕";
}

.sfs-pros ul,
.sfs-cons ul {
	margin: 0;
	padding-left: 1rem;
	color: var(--sfs-ink-dim);
	font-size: 0.95rem;
	line-height: 1.65;
}

/* --- Rating grid (Review) --- */
.sfs-rating {
	display: grid;
	gap: 0.85rem;
}

@media (min-width: 640px) {
	.sfs-rating {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 900px) {
	.sfs-rating {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

.sfs-rating__item {
	padding: 1rem 1.05rem;
	border-radius: var(--sfs-radius-sm);
	background: var(--sfs-card);
	border: 1px solid var(--sfs-border);
	text-align: center;
}

.sfs-rating__label {
	display: block;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sfs-muted);
	margin-bottom: 0.45rem;
}

.sfs-rating__score {
	font-size: 1.5rem;
	font-weight: 900;
	color: var(--sfs-ink);
	letter-spacing: -0.02em;
}

.sfs-rating__score small {
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--sfs-muted);
	margin-left: 0.1rem;
}

.sfs-rating__bar {
	margin-top: 0.55rem;
	height: 6px;
	width: 100%;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	overflow: hidden;
}

.sfs-rating__bar span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--sfs-primary);
}

/* --- Verdict --- */
.sfs-verdict {
	margin-top: 1.75rem;
	padding: 1.5rem 1.5rem 1.6rem;
	border-radius: var(--sfs-radius);
	background: var(--sfs-primary-soft);
	border: 1px solid var(--sfs-primary-border);
}

.sfs-verdict h3 {
	margin: 0 0 0.45rem;
	color: var(--sfs-primary);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.sfs-verdict p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--sfs-ink);
}

/* --- Filters --- */
.sfs-filters {
	padding: 1.25rem 1.25rem 1.35rem;
	border-radius: var(--sfs-radius);
	border: 1px solid var(--sfs-border);
	background: var(--sfs-card);
}

.sfs-filters__head {
	margin: 0 0 1rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sfs-ink-dim);
}

.sfs-filters__grid {
	display: grid;
	gap: 0.9rem;
}

@media (min-width: 768px) {
	.sfs-filters__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) auto auto;
		align-items: end;
	}
}

.sfs-field {
	display: grid;
	gap: 0.35rem;
}

.sfs-field label {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--sfs-muted);
}

.sfs-field select,
.sfs-field input {
	padding: 0.7rem 0.9rem;
	border-radius: 0.6rem;
	background: rgba(0, 0, 0, 0.35);
	border: 1px solid var(--sfs-border-strong);
	color: var(--sfs-ink);
	font-size: 0.9rem;
	font-weight: 600;
}

.sfs-field select:focus,
.sfs-field input:focus {
	outline: none;
	border-color: var(--sfs-primary);
	box-shadow: 0 0 0 2px var(--sfs-primary-soft);
}

/* --- Call-to-action band --- */
.sfs-cta {
	position: relative;
	overflow: hidden;
	border-radius: var(--sfs-radius);
	padding: clamp(2rem, 4vw, 2.75rem) clamp(1.25rem, 3vw, 2.25rem);
	text-align: center;
	background:
		radial-gradient(ellipse 70% 60% at 50% 0%, rgba(34, 211, 164, 0.12) 0%, transparent 65%),
		linear-gradient(180deg, var(--sfs-bg-2) 0%, var(--sfs-bg-3) 100%);
	border: 1px solid var(--sfs-border-strong);
}

.sfs-cta h2 {
	margin: 0 0 0.7rem;
	font-size: clamp(1.4rem, 2.8vw, 1.9rem);
	font-weight: 800;
	color: var(--sfs-ink);
	letter-spacing: -0.02em;
}

.sfs-cta p {
	margin: 0 auto 1.5rem;
	max-width: 42rem;
	color: var(--sfs-ink-dim);
	font-size: 1rem;
	line-height: 1.65;
}

.sfs-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: center;
}

/* --- Responsible-gambling note --- */
.sfs-note {
	padding: 1.05rem 1.2rem;
	border-radius: var(--sfs-radius-sm);
	border: 1px solid var(--sfs-border-strong);
	background: rgba(255, 255, 255, 0.03);
	color: var(--sfs-ink-dim);
	font-size: 0.9rem;
	line-height: 1.6;
}

.sfs-note strong {
	color: var(--sfs-ink);
}

/* --- Breadcrumb / page meta --- */
.sfs-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	font-size: 0.8rem;
	color: var(--sfs-muted);
	margin-bottom: 1rem;
}

.sfs-breadcrumbs a {
	color: var(--sfs-muted);
}

.sfs-breadcrumbs a:hover {
	color: var(--sfs-primary);
}

/* --- Slot game card specifics --- */
.sfs-slot-card {
	min-height: 100%;
}

.sfs-slot-card__header {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.4rem;
}

.sfs-slot-card__tag {
	margin-left: auto;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--sfs-primary);
}

/* --- Stat strip (home trust signals) --- */
.sfs-stats {
	display: grid;
	gap: 0.9rem;
}

@media (min-width: 640px) {
	.sfs-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 900px) {
	.sfs-stats {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.sfs-stat {
	padding: 1.2rem 1.1rem;
	border-radius: var(--sfs-radius);
	border: 1px solid var(--sfs-border);
	background: var(--sfs-card);
	text-align: center;
	position: relative;
	overflow: hidden;
}

.sfs-stat::after {
	content: none;
}

.sfs-stat__num {
	font-size: clamp(1.7rem, 2.6vw, 2rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--sfs-primary);
	line-height: 1;
}

.sfs-stat__label {
	margin-top: 0.45rem;
	font-size: 0.72rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 800;
	color: var(--sfs-muted);
}

/* --- Troubleshoot list --- */
.sfs-checklist {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.7rem;
}

.sfs-checklist li {
	padding: 0.85rem 1rem 0.9rem 2.75rem;
	border-radius: var(--sfs-radius-sm);
	border: 1px solid var(--sfs-border);
	background: var(--sfs-card);
	position: relative;
	line-height: 1.6;
	color: var(--sfs-ink-dim);
}

.sfs-checklist li::before {
	content: "";
	position: absolute;
	left: 0.9rem;
	top: 1.05rem;
	width: 1.1rem;
	height: 1.1rem;
	border-radius: 999px;
	background: var(--sfs-primary);
}

.sfs-checklist li::after {
	content: "";
	position: absolute;
	left: 1.22rem;
	top: 1.3rem;
	width: 0.45rem;
	height: 0.24rem;
	border-left: 2px solid #06231a;
	border-bottom: 2px solid #06231a;
	transform: rotate(-45deg);
}

.sfs-checklist strong {
	color: var(--sfs-ink);
	display: block;
	margin-bottom: 0.15rem;
}

/* --- Ordered steps --- */
.sfs-steps {
	counter-reset: sfs-step;
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.8rem;
}

.sfs-steps li {
	counter-increment: sfs-step;
	padding: 1rem 1.1rem 1.05rem 3.25rem;
	border-radius: var(--sfs-radius-sm);
	border: 1px solid var(--sfs-border);
	background: var(--sfs-card);
	position: relative;
	line-height: 1.65;
	color: var(--sfs-ink-dim);
}

.sfs-steps li::before {
	content: counter(sfs-step, decimal-leading-zero);
	position: absolute;
	left: 1rem;
	top: 1rem;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 0.5rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	color: #06231a;
	background: var(--sfs-primary);
}

.sfs-steps li strong {
	color: var(--sfs-ink);
}

/* =========================================================
   Media components: hero split, split sections, card media.
   ========================================================= */

/* Hero with a side visual */
.sfs-hero--split .sfs-hero__inner {
	display: grid;
	gap: clamp(1.75rem, 4vw, 3rem);
	text-align: left;
	max-width: none;
	justify-items: start;
	grid-template-columns: minmax(0, 1fr);
	align-items: center;
}

@media (min-width: 960px) {
	.sfs-hero--split .sfs-hero__inner {
		grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	}
}

.sfs-hero--split .sfs-hero__title,
.sfs-hero--split .sfs-hero__lead {
	text-align: left;
	margin-left: 0;
}

.sfs-hero--split .sfs-hero__actions {
	justify-content: flex-start;
}

.sfs-hero__media {
	position: relative;
	border-radius: var(--sfs-radius);
	overflow: hidden;
	aspect-ratio: 4 / 3;
	border: 1px solid var(--sfs-border-strong);
	background: var(--sfs-bg-2);
	width: 100%;
}

.sfs-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.sfs-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(10, 17, 40, 0) 55%, rgba(10, 17, 40, 0.55) 100%);
}

.sfs-hero__media-tag {
	position: absolute;
	left: 1rem;
	bottom: 1rem;
	z-index: 2;
	padding: 0.4rem 0.8rem;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #06231a;
	background: var(--sfs-primary);
}

/* Two-column split (image + text content) */
.sfs-split {
	display: grid;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	grid-template-columns: minmax(0, 1fr);
	align-items: center;
}

@media (min-width: 900px) {
	.sfs-split {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.sfs-split--reverse .sfs-split__media {
		order: 2;
	}
}

.sfs-split__media {
	position: relative;
	border-radius: var(--sfs-radius);
	overflow: hidden;
	aspect-ratio: 4 / 3;
	border: 1px solid var(--sfs-border-strong);
	background: var(--sfs-bg-2);
}

.sfs-split__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.sfs-split__media:hover img {
	transform: scale(1.03);
}

.sfs-split__media::after {
	content: none;
}

.sfs-split__body {
	display: grid;
	gap: 0.85rem;
}

.sfs-split__body .sfs-pill {
	justify-self: start;
}

.sfs-split__title {
	margin: 0;
	font-size: clamp(1.3rem, 2.5vw, 1.75rem);
	font-weight: 800;
	line-height: 1.22;
	letter-spacing: -0.02em;
	color: var(--sfs-ink);
}

.sfs-split__title em {
	font-style: normal;
	color: var(--sfs-primary);
}

.sfs-split__body p {
	margin: 0;
	color: var(--sfs-ink-dim);
	line-height: 1.7;
}

/* Slot/feature card with image header */
.sfs-card__media {
	position: relative;
	margin: -1.3rem -1.25rem 0.2rem;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--sfs-bg-2);
	border-bottom: 1px solid var(--sfs-border);
}

.sfs-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.45s ease;
}

.sfs-card:hover .sfs-card__media img {
	transform: scale(1.04);
}

.sfs-card__media::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(180deg, transparent 60%, rgba(10, 17, 40, 0.65) 100%);
}

/* Inline prose figure */
.sfs-figure {
	margin: 2rem 0;
	border-radius: var(--sfs-radius);
	overflow: hidden;
	border: 1px solid var(--sfs-border-strong);
	position: relative;
	aspect-ratio: 16 / 9;
}

.sfs-figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.sfs-figure figcaption {
	position: absolute;
	left: 1rem;
	right: 1rem;
	bottom: 0.75rem;
	padding: 0.5rem 0.85rem;
	border-radius: 0.55rem;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--sfs-ink);
	background: rgba(10, 17, 40, 0.78);
	border: 1px solid var(--sfs-border-strong);
}

/* Masthead image band used for CTA / feature sections */
.sfs-band {
	position: relative;
	overflow: hidden;
	border-radius: var(--sfs-radius);
	isolation: isolate;
	padding: clamp(2rem, 4vw, 2.75rem) clamp(1.5rem, 3vw, 2.25rem);
	border: 1px solid var(--sfs-border-strong);
	color: var(--sfs-ink);
}

.sfs-band__media {
	position: absolute;
	inset: 0;
	z-index: -1;
}

.sfs-band__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	opacity: 0.28;
}

.sfs-band::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(110deg, rgba(10, 17, 40, 0.92) 0%, rgba(15, 28, 63, 0.85) 100%);
}

.sfs-band h2 {
	margin: 0 0 0.6rem;
	font-size: clamp(1.4rem, 2.8vw, 1.9rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--sfs-ink);
}

.sfs-band p {
	margin: 0 0 1.2rem;
	color: var(--sfs-ink-dim);
	max-width: 42rem;
	line-height: 1.65;
}

.sfs-band__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
}

/* =========================================================
   Editorial: news list, single article, author, 404, search.
   ========================================================= */

/* Post card (blog/archive/author grid) */
.sfs-post-grid {
	display: grid;
	gap: clamp(1rem, 2vw, 1.4rem);
	grid-template-columns: 1fr;
}

@media (min-width: 640px) {
	.sfs-post-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 960px) {
	.sfs-post-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.sfs-post-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: var(--sfs-radius);
	border: 1px solid var(--sfs-border);
	background: var(--sfs-card);
	transition: transform 0.18s ease, border-color 0.18s ease;
	color: inherit;
}

@media (hover: hover) and (pointer: fine) {
	.sfs-post-card:hover {
		transform: translateY(-2px);
		border-color: var(--sfs-primary-border);
	}
}

.sfs-post-card__thumb {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--sfs-bg-2);
	border-bottom: 1px solid var(--sfs-border);
}

.sfs-post-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.45s ease;
}

.sfs-post-card:hover .sfs-post-card__thumb img {
	transform: scale(1.04);
}

.sfs-post-card__thumb--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 3rem;
	font-weight: 800;
	color: var(--sfs-primary);
	background:
		radial-gradient(ellipse 60% 60% at 50% 40%, rgba(34, 211, 164, 0.12) 0%, transparent 60%),
		var(--sfs-bg-2);
	letter-spacing: -0.02em;
	text-transform: uppercase;
}

.sfs-post-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	padding: 1.15rem 1.2rem 1.3rem;
	flex: 1;
}

.sfs-post-card__cat {
	margin: 0;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sfs-primary);
}

.sfs-post-card__cat a {
	color: inherit !important;
	text-decoration: none;
}

.sfs-post-card__cat--muted {
	color: var(--sfs-muted) !important;
}

.sfs-post-card__title {
	margin: 0;
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -0.01em;
}

.sfs-post-card__title a {
	color: var(--sfs-ink) !important;
	text-decoration: none;
}

.sfs-post-card__title a:hover {
	color: var(--sfs-primary) !important;
}

.sfs-post-card__excerpt {
	margin: 0;
	font-size: 0.93rem;
	line-height: 1.6;
	color: var(--sfs-ink-dim);
	flex: 1;
}

.sfs-post-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-top: 0.3rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--sfs-border);
	font-size: 0.78rem;
	color: var(--sfs-muted);
	letter-spacing: 0.04em;
}

.sfs-post-card__meta-sep {
	color: var(--sfs-border-strong);
}

/* Pagination */
.sfs-pagination {
	margin-top: clamp(2rem, 4vw, 3rem);
	display: flex;
	justify-content: center;
	background: transparent !important;
}

/* Reset the inner <nav class="navigation pagination"> that the_posts_pagination injects */
.sfs-pagination .navigation,
.sfs-pagination nav.navigation,
.sfs-pagination nav.pagination {
	width: 100%;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex;
	justify-content: center;
}

.sfs-pagination .nav-links,
.sfs-pagination .pagination {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.55rem;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid var(--sfs-border);
	border-radius: 999px;
	align-items: center;
	justify-content: center;
}

.sfs-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	min-width: 2.4rem;
	height: 2.4rem;
	padding: 0 0.9rem;
	border-radius: 999px;
	border: 1px solid transparent;
	background: transparent;
	color: var(--sfs-ink-dim) !important;
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
	letter-spacing: 0.01em;
	transition: border-color 0.18s ease, color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

.sfs-pagination .page-numbers:hover {
	border-color: var(--sfs-primary);
	color: var(--sfs-primary) !important;
	background: rgba(34, 211, 164, 0.08);
	text-decoration: none;
}

.sfs-pagination .page-numbers.current {
	background: var(--sfs-primary) !important;
	border-color: var(--sfs-primary) !important;
	color: #06231a !important;
	font-weight: 800;
	box-shadow: 0 0 0 3px rgba(34, 211, 164, 0.18);
}

.sfs-pagination .page-numbers.dots {
	background: transparent;
	border-color: transparent;
	color: var(--sfs-muted) !important;
}

.sfs-pagination .lv-pag-arrow {
	font-size: 1rem;
	line-height: 1;
}

.sfs-pagination .lv-pag-btn-label {
	padding: 0 0.1rem;
}

/* Single article */
.sfs-article {
	margin: 0 auto;
	max-width: 52rem;
	display: grid;
	gap: 1.5rem;
}

.sfs-article__featured {
	margin: 0;
	border-radius: var(--sfs-radius);
	overflow: hidden;
	border: 1px solid var(--sfs-border-strong);
	aspect-ratio: 16 / 9;
	background: var(--sfs-bg-2);
}

.sfs-article__featured img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.sfs-article__content {
	font-size: 1.02rem;
	line-height: 1.78;
	color: var(--sfs-ink-dim);
}

.sfs-article__content > * + * {
	margin-top: 1rem;
}

.sfs-article__content h2,
.sfs-article__content h3,
.sfs-article__content h4 {
	color: var(--sfs-ink) !important;
	font-weight: 800;
	letter-spacing: -0.015em;
	margin-top: 1.9rem;
}

.sfs-article__content h2 {
	font-size: clamp(1.35rem, 2.4vw, 1.65rem);
}

.sfs-article__content h3 {
	font-size: 1.2rem;
}

.sfs-article__content h4 {
	font-size: 1.05rem;
}

.sfs-article__content a {
	color: var(--sfs-primary);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.sfs-article__content a:hover {
	color: #2de0b1;
}

.sfs-article__content ul,
.sfs-article__content ol {
	padding-left: 1.25rem;
}

.sfs-article__content li + li {
	margin-top: 0.4rem;
}

.sfs-article__content blockquote {
	margin: 1.5rem 0;
	padding: 1.1rem 1.3rem;
	border-left: 3px solid var(--sfs-primary);
	border-radius: 0 var(--sfs-radius-sm) var(--sfs-radius-sm) 0;
	background: var(--sfs-primary-soft);
	color: var(--sfs-ink);
	font-style: italic;
}

.sfs-article__content blockquote p:last-child {
	margin: 0;
}

.sfs-article__content img,
.sfs-article__content figure img {
	border-radius: var(--sfs-radius-sm);
	border: 1px solid var(--sfs-border);
	max-width: 100%;
	height: auto;
}

.sfs-article__content figcaption {
	margin-top: 0.5rem;
	font-size: 0.85rem;
	color: var(--sfs-muted);
	text-align: center;
}

.sfs-article__content pre {
	padding: 1rem 1.1rem;
	border-radius: var(--sfs-radius-sm);
	border: 1px solid var(--sfs-border-strong);
	background: rgba(0, 0, 0, 0.35);
	color: var(--sfs-ink);
	overflow-x: auto;
	font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 0.88rem;
}

.sfs-article__content :not(pre) > code {
	padding: 0.1rem 0.45rem;
	border-radius: 0.35rem;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid var(--sfs-border);
	font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 0.9em;
	color: var(--sfs-ink);
}

/* ---------- Article body tables (post content <table>) ---------- */
.sfs-article__content .table-wrap,
.sfs-article__content figure.wp-block-table {
	margin: 1.6rem 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.sfs-article__content table {
	width: 100%;
	margin: 1.6rem 0;
	border-collapse: collapse;
	font-size: 0.95rem;
	color: var(--sfs-ink) !important;
	background: rgba(255, 255, 255, 0.02) !important;
	border: 1px solid var(--sfs-border);
	border-radius: var(--sfs-radius);
	overflow: hidden;
}

.sfs-article__content table thead {
	background: rgba(255, 255, 255, 0.05) !important;
}

.sfs-article__content table thead th,
.sfs-article__content table thead td {
	padding: 0.85rem 1rem;
	text-align: left;
	font-weight: 700;
	font-size: 0.82rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--sfs-primary) !important;
	background: rgba(255, 255, 255, 0.05) !important;
	border-bottom: 1px solid var(--sfs-border-strong);
}

.sfs-article__content table tbody th,
.sfs-article__content table tbody td {
	padding: 0.85rem 1rem;
	vertical-align: middle;
	color: var(--sfs-ink) !important;
	background: transparent !important;
	border-bottom: 1px solid var(--sfs-border);
}

.sfs-article__content table tbody th {
	text-align: left;
	font-weight: 700;
	color: var(--sfs-ink) !important;
}

.sfs-article__content table tbody tr:last-child th,
.sfs-article__content table tbody tr:last-child td {
	border-bottom: none;
}

.sfs-article__content table tbody tr:nth-child(even) th,
.sfs-article__content table tbody tr:nth-child(even) td {
	background: rgba(255, 255, 255, 0.025) !important;
}

.sfs-article__content table tbody tr:hover th,
.sfs-article__content table tbody tr:hover td {
	background: rgba(34, 211, 164, 0.06) !important;
}

.sfs-article__content table tbody td strong,
.sfs-article__content table tbody td b,
.sfs-article__content table tbody th strong,
.sfs-article__content table tbody th b {
	color: var(--sfs-ink) !important;
	font-weight: 700;
}

.sfs-article__content table tbody td a,
.sfs-article__content table tbody th a {
	color: var(--sfs-primary) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Override body-level luxury rules that fade out post-body tables */
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content table,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content th,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content td {
	color: var(--sfs-ink) !important;
	background-color: transparent !important;
}

body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content thead th,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content thead td {
	color: var(--sfs-primary) !important;
	background-color: rgba(255, 255, 255, 0.05) !important;
}

.sfs-article__pages {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
	margin-top: 1.5rem;
	padding-top: 1rem;
	border-top: 1px solid var(--sfs-border);
}

.sfs-article__pages-label {
	font-size: 0.8rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--sfs-muted);
	margin-right: 0.3rem;
}

/* Tag bar */
.sfs-tagbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
	padding: 1rem 0;
	border-top: 1px solid var(--sfs-border);
}

.sfs-tagbar__label {
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sfs-muted);
	margin-right: 0.3rem;
}

.sfs-tagbar__tag {
	display: inline-flex;
	align-items: center;
	padding: 0.28rem 0.7rem;
	border-radius: 999px;
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--sfs-ink-dim) !important;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--sfs-border-strong);
	text-decoration: none;
	transition: border-color 0.18s ease, color 0.18s ease;
}

.sfs-tagbar__tag:hover {
	color: var(--sfs-primary) !important;
	border-color: var(--sfs-primary);
	text-decoration: none;
}

/* Author box (bottom of single article) */
.sfs-authorbox {
	margin-top: 1.75rem;
	padding: 1.4rem;
	border-radius: var(--sfs-radius);
	border: 1px solid var(--sfs-border);
	background: var(--sfs-card);
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 1.1rem;
	align-items: flex-start;
}

@media (max-width: 540px) {
	.sfs-authorbox {
		grid-template-columns: 1fr;
		text-align: center;
	}
}

.sfs-authorbox__avatar {
	width: 4.5rem;
	height: 4.5rem;
	border-radius: 999px;
	overflow: hidden;
	border: 1px solid var(--sfs-primary-border);
	background: var(--sfs-bg-2);
	flex-shrink: 0;
}

@media (max-width: 540px) {
	.sfs-authorbox__avatar {
		margin: 0 auto;
	}
}

.sfs-authorbox__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.sfs-authorbox__label {
	margin: 0 0 0.35rem;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sfs-primary);
}

.sfs-authorbox__name {
	margin: 0 0 0.5rem;
	font-size: 1.1rem;
	font-weight: 800;
	color: var(--sfs-ink);
}

.sfs-authorbox__name a {
	color: inherit !important;
	text-decoration: none;
}

.sfs-authorbox__name a:hover {
	color: var(--sfs-primary) !important;
}

.sfs-authorbox__bio {
	margin: 0 0 0.65rem;
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--sfs-ink-dim);
}

.sfs-authorbox__more {
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--sfs-primary) !important;
	text-decoration: none;
	letter-spacing: 0.02em;
}

.sfs-authorbox__more:hover {
	text-decoration: underline;
}

/* Post navigation (prev/next at bottom of single) */
.sfs-postnav {
	margin-top: 2rem;
	display: grid;
	gap: 0.9rem;
}

@media (min-width: 720px) {
	.sfs-postnav .nav-links {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0.9rem;
	}
}

.sfs-postnav .nav-previous,
.sfs-postnav .nav-next {
	display: block;
}

.sfs-postnav .nav-previous a,
.sfs-postnav .nav-next a {
	display: block;
	padding: 1rem 1.2rem;
	border-radius: var(--sfs-radius-sm);
	border: 1px solid var(--sfs-border-strong);
	background: var(--sfs-card);
	color: var(--sfs-ink) !important;
	text-decoration: none;
	transition: border-color 0.18s ease, transform 0.18s ease;
}

.sfs-postnav .nav-previous a:hover,
.sfs-postnav .nav-next a:hover {
	border-color: var(--sfs-primary);
	transform: translateY(-1px);
	text-decoration: none;
}

.sfs-postnav .nav-next {
	text-align: right;
}

.sfs-postnav .lv-single__nav-label {
	display: block;
	font-size: 0.72rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sfs-primary);
	margin-bottom: 0.3rem;
}

.sfs-postnav .lv-single__nav-title {
	display: block;
	font-size: 0.98rem;
	font-weight: 700;
	line-height: 1.4;
	color: var(--sfs-ink);
}

/* Author masthead (author.php) */
.sfs-author-hero__inner {
	display: grid;
	gap: 1.25rem;
	text-align: left;
	grid-template-columns: minmax(0, 1fr);
	align-items: center;
	justify-items: start;
}

@media (min-width: 640px) {
	.sfs-author-hero__inner {
		grid-template-columns: auto minmax(0, 1fr);
	}
}

.sfs-author-hero__avatar {
	width: 6rem;
	height: 6rem;
	border-radius: 999px;
	overflow: hidden;
	border: 1px solid var(--sfs-primary-border);
	background: var(--sfs-bg-2);
	flex-shrink: 0;
}

.sfs-author-hero__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.sfs-author-hero__meta {
	font-size: 0.85rem;
	color: var(--sfs-muted);
	letter-spacing: 0.04em;
}

/* 404 */
.sfs-404 {
	padding: clamp(4rem, 10vw, 7rem) 0;
	text-align: center;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.sfs-404::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(ellipse 50% 50% at 50% 0%, rgba(34, 211, 164, 0.08) 0%, transparent 60%);
}

.sfs-404__code {
	font-size: clamp(5rem, 16vw, 10rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.04em;
	color: var(--sfs-primary);
	margin: 0 0 0.5rem;
	font-variant-numeric: tabular-nums;
}

.sfs-404__title {
	margin: 0 0 0.6rem;
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 800;
	color: var(--sfs-ink);
	letter-spacing: -0.02em;
}

.sfs-404__lead {
	margin: 0 auto 1.75rem;
	max-width: 38rem;
	color: var(--sfs-ink-dim);
	line-height: 1.65;
}

.sfs-404__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	justify-content: center;
}

/* Search form (search.php) */
.sfs-searchform {
	display: flex;
	gap: 0.5rem;
	margin: 0 auto;
	max-width: 36rem;
	width: 100%;
}

.sfs-searchform__input {
	flex: 1;
	padding: 0.75rem 1rem;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.3);
	border: 1px solid var(--sfs-border-strong);
	color: var(--sfs-ink);
	font-size: 0.95rem;
}

.sfs-searchform__input:focus {
	outline: none;
	border-color: var(--sfs-primary);
	box-shadow: 0 0 0 2px var(--sfs-primary-soft);
}

.sfs-searchform__submit {
	flex-shrink: 0;
}

/* Empty state */
.sfs-empty {
	padding: 2.5rem 1.5rem;
	text-align: center;
	border-radius: var(--sfs-radius);
	border: 1px dashed var(--sfs-border-strong);
	background: rgba(255, 255, 255, 0.02);
}

.sfs-empty p {
	margin: 0 0 1rem;
	color: var(--sfs-ink-dim);
}

/* Breadcrumb separator */
.sfs-breadcrumbs__sep {
	opacity: 0.5;
}

.sfs-breadcrumbs__current {
	color: var(--sfs-ink-dim);
}

/* Hero kicker (small label above hero title) */
.sfs-hero__kicker {
	margin: 0;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--sfs-primary);
}

/* -------------------------------------------------------------------
   Info pages (About / Contact / Privacy / Cookies) utilities
   ------------------------------------------------------------------- */

/* Inline link used inside cards, prose blocks and CTA copy */
body.lv-slots-front.sfs-shell .sfs-main a.sfs-link,
.sfs-main a.sfs-link {
	color: var(--sfs-primary) !important;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	font-weight: 600;
	word-break: break-word;
	transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

body.lv-slots-front.sfs-shell .sfs-main a.sfs-link:hover,
.sfs-main a.sfs-link:hover,
body.lv-slots-front.sfs-shell .sfs-main a.sfs-link:focus-visible,
.sfs-main a.sfs-link:focus-visible {
	color: #ffffff !important;
	text-decoration-color: var(--sfs-primary);
}

/* Muted / helper text (timestamps, SLA notes, update dates) */
.sfs-muted {
	margin: 0.35rem 0 0;
	font-size: 0.82rem;
	color: var(--sfs-ink-dim);
	letter-spacing: 0.02em;
}

/* Info card contact block tweaks (email rows) */
.sfs-card p + p {
	margin-top: 0.6rem;
}

.sfs-card .sfs-muted {
	margin-top: 0.5rem;
	font-style: italic;
	opacity: 0.85;
}

/* Table code cell fallback inside cookie table */
.sfs-table .sfs-code {
	word-break: break-word;
	white-space: normal;
}

/* Generic table wrapper (used by cookie / bonus tables) */
.sfs-table-wrap {
	width: 100%;
	overflow-x: auto;
	border: 1px solid var(--sfs-border);
	border-radius: var(--sfs-radius);
	background: rgba(255, 255, 255, 0.02);
	-webkit-overflow-scrolling: touch;
}

.sfs-table-wrap .sfs-table {
	min-width: 640px;
}

/* Narrow screens: let the row-header text wrap instead of forcing overflow */
@media (max-width: 720px) {
	.sfs-table tbody th {
		white-space: normal;
		font-size: 0.88rem;
	}
}

/* -------------------------------------------------------------------
   Footer link color (replaces legacy luxury-gold)
   ------------------------------------------------------------------- */

body.lv-slots-front.sfs-shell .lv-footer-nav a,
body.lv-slots-front.sfs-shell .lv-footer-nav a:link,
body.lv-slots-front.sfs-shell .lv-footer-nav a:visited,
body.lv-slots-front.sfs-shell .lv-footer-menu a,
body.lv-slots-front.sfs-shell .lv-footer-menu .sfs-footer-link {
	color: var(--sfs-ink-dim) !important;
	transition: color 0.2s ease;
}

body.lv-slots-front.sfs-shell .lv-footer-nav a:hover,
body.lv-slots-front.sfs-shell .lv-footer-nav a:focus-visible,
body.lv-slots-front.sfs-shell .lv-footer-menu a:hover,
body.lv-slots-front.sfs-shell .lv-footer-menu a:focus-visible,
body.lv-slots-front.sfs-shell .lv-footer-menu .sfs-footer-link:hover {
	color: var(--sfs-primary) !important;
}

body.lv-slots-front.sfs-shell footer .sfs-brand-link {
	color: var(--sfs-primary) !important;
	text-decoration: none;
	transition: color 0.2s ease;
}

body.lv-slots-front.sfs-shell footer .sfs-brand-link:hover {
	color: #ffffff !important;
	text-decoration: underline;
}

/* Kill leftover gold from legacy luxury stylesheet when SFS is active */
body.lv-slots-front.sfs-shell a.text-luxury-gold,
body.lv-slots-front.sfs-shell a[class*="text-luxury-gold"],
body.lv-slots-front.sfs-shell .hover\:text-luxury-gold,
body.lv-slots-front.sfs-shell [class*="hover:text-luxury-gold"] {
	color: var(--sfs-ink-dim) !important;
}

body.lv-slots-front.sfs-shell a.text-luxury-gold:hover,
body.lv-slots-front.sfs-shell a[class*="text-luxury-gold"]:hover,
body.lv-slots-front.sfs-shell .hover\:text-luxury-gold:hover,
body.lv-slots-front.sfs-shell [class*="hover:text-luxury-gold"]:hover {
	color: var(--sfs-primary) !important;
}

/* -------------------------------------------------------------------
   Article-body Table of Contents (Easy TOC / TOC+ / Rank Math / native)
   ------------------------------------------------------------------- */

body.lv-slots-front.sfs-shell .sfs-article__content #toc_container,
body.lv-slots-front.sfs-shell .sfs-article__content .toc_container,
body.lv-slots-front.sfs-shell .sfs-article__content #ez-toc-container,
body.lv-slots-front.sfs-shell .sfs-article__content .ez-toc-v2_0_72,
body.lv-slots-front.sfs-shell .sfs-article__content .ez-toc-container,
body.lv-slots-front.sfs-shell .sfs-article__content .ez-toc-widget-container,
body.lv-slots-front.sfs-shell .sfs-article__content nav.toc,
body.lv-slots-front.sfs-shell .sfs-article__content .wp-block-table-of-contents,
body.lv-slots-front.sfs-shell .sfs-article__content .rank-math-toc {
	margin: 1.75rem 0 !important;
	padding: 1.2rem 1.4rem !important;
	background: linear-gradient(180deg, rgba(34, 211, 164, 0.06), rgba(255, 255, 255, 0.02)) !important;
	border: 1px solid var(--sfs-border-strong) !important;
	border-radius: var(--sfs-radius) !important;
	color: var(--sfs-ink) !important;
	box-shadow: none !important;
}

/* TOC header ("Contents" + [hide] toggle) */
body.lv-slots-front.sfs-shell .sfs-article__content .ez-toc-title-container,
body.lv-slots-front.sfs-shell .sfs-article__content #toc_container .toc_title,
body.lv-slots-front.sfs-shell .sfs-article__content .toc-title,
body.lv-slots-front.sfs-shell .sfs-article__content .ez-toc-title-container + .ez-toc-list,
body.lv-slots-front.sfs-shell .sfs-article__content #ez-toc-container .ez-toc-title,
body.lv-slots-front.sfs-shell .sfs-article__content #ez-toc-container p.ez-toc-title {
	color: var(--sfs-primary) !important;
	font-weight: 800 !important;
	font-size: 1.1rem !important;
	letter-spacing: 0.02em !important;
	margin: 0 0 0.8rem !important;
	padding: 0 0 0.6rem !important;
	border-bottom: 1px solid var(--sfs-border) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
	gap: 0.5rem !important;
}

/* Toggle / [hide] button */
body.lv-slots-front.sfs-shell .sfs-article__content .ez-toc-title-toggle,
body.lv-slots-front.sfs-shell .sfs-article__content #toc_container .toc_toggle,
body.lv-slots-front.sfs-shell .sfs-article__content #toc_container .toc_toggle a,
body.lv-slots-front.sfs-shell .sfs-article__content .ez-toc-btn,
body.lv-slots-front.sfs-shell .sfs-article__content .ez-toc-toggle,
body.lv-slots-front.sfs-shell .sfs-article__content #ez-toc-container a.ez-toc-toggle,
body.lv-slots-front.sfs-shell .sfs-article__content #ez-toc-container .ez-toc-title-toggle a {
	color: var(--sfs-ink-dim) !important;
	font-size: 0.78rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	padding: 0.15rem 0.55rem !important;
	border-radius: 999px !important;
	border: 1px solid var(--sfs-border-strong) !important;
	background: rgba(255, 255, 255, 0.04) !important;
	transition: color 0.18s ease, border-color 0.18s ease, background 0.18s ease !important;
}

body.lv-slots-front.sfs-shell .sfs-article__content .ez-toc-title-toggle:hover,
body.lv-slots-front.sfs-shell .sfs-article__content #toc_container .toc_toggle a:hover,
body.lv-slots-front.sfs-shell .sfs-article__content .ez-toc-btn:hover,
body.lv-slots-front.sfs-shell .sfs-article__content #ez-toc-container a.ez-toc-toggle:hover {
	color: var(--sfs-primary) !important;
	border-color: var(--sfs-primary) !important;
	background: var(--sfs-primary-soft) !important;
}

/* TOC list */
body.lv-slots-front.sfs-shell .sfs-article__content #toc_container ul,
body.lv-slots-front.sfs-shell .sfs-article__content #toc_container ol,
body.lv-slots-front.sfs-shell .sfs-article__content #ez-toc-container ul,
body.lv-slots-front.sfs-shell .sfs-article__content #ez-toc-container ol,
body.lv-slots-front.sfs-shell .sfs-article__content .ez-toc-list,
body.lv-slots-front.sfs-shell .sfs-article__content .wp-block-table-of-contents ul,
body.lv-slots-front.sfs-shell .sfs-article__content .wp-block-table-of-contents ol {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.lv-slots-front.sfs-shell .sfs-article__content #toc_container li,
body.lv-slots-front.sfs-shell .sfs-article__content #ez-toc-container li,
body.lv-slots-front.sfs-shell .sfs-article__content .ez-toc-list li,
body.lv-slots-front.sfs-shell .sfs-article__content .wp-block-table-of-contents li {
	margin: 0 !important;
	padding: 0.35rem 0 !important;
	border-bottom: 1px dashed rgba(255, 255, 255, 0.06);
}

body.lv-slots-front.sfs-shell .sfs-article__content #toc_container li:last-child,
body.lv-slots-front.sfs-shell .sfs-article__content #ez-toc-container li:last-child,
body.lv-slots-front.sfs-shell .sfs-article__content .ez-toc-list li:last-child,
body.lv-slots-front.sfs-shell .sfs-article__content .wp-block-table-of-contents li:last-child {
	border-bottom: none;
}

/* Nested list indentation */
body.lv-slots-front.sfs-shell .sfs-article__content #toc_container li ul,
body.lv-slots-front.sfs-shell .sfs-article__content #toc_container li ol,
body.lv-slots-front.sfs-shell .sfs-article__content #ez-toc-container li ul,
body.lv-slots-front.sfs-shell .sfs-article__content .ez-toc-list li ul,
body.lv-slots-front.sfs-shell .sfs-article__content .wp-block-table-of-contents li ul {
	margin-top: 0.3rem !important;
	margin-left: 1.1rem !important;
	padding-left: 0.8rem !important;
	border-left: 1px solid var(--sfs-border);
}

/* TOC links */
body.lv-slots-front.sfs-shell .sfs-article__content #toc_container a,
body.lv-slots-front.sfs-shell .sfs-article__content #ez-toc-container a,
body.lv-slots-front.sfs-shell .sfs-article__content .ez-toc-list a,
body.lv-slots-front.sfs-shell .sfs-article__content .wp-block-table-of-contents a,
body.lv-slots-front.sfs-shell .sfs-article__content nav.toc a {
	color: var(--sfs-ink-dim) !important;
	text-decoration: none !important;
	font-size: 0.92rem;
	font-weight: 500;
	border-bottom: none !important;
	transition: color 0.18s ease, padding-left 0.18s ease;
}

body.lv-slots-front.sfs-shell .sfs-article__content #toc_container a:hover,
body.lv-slots-front.sfs-shell .sfs-article__content #ez-toc-container a:hover,
body.lv-slots-front.sfs-shell .sfs-article__content .ez-toc-list a:hover,
body.lv-slots-front.sfs-shell .sfs-article__content .wp-block-table-of-contents a:hover,
body.lv-slots-front.sfs-shell .sfs-article__content nav.toc a:hover {
	color: var(--sfs-primary) !important;
	padding-left: 0.25rem;
}

/* TOC numbering prefix */
body.lv-slots-front.sfs-shell .sfs-article__content .ez-toc-list-level-1 > li::marker,
body.lv-slots-front.sfs-shell .sfs-article__content #ez-toc-container ol > li::marker {
	color: var(--sfs-primary);
}

/* -------------------------------------------------------------------
   In-article page pagination (wp_link_pages) refinement
   ------------------------------------------------------------------- */

.sfs-article__pages {
	flex-wrap: wrap;
	row-gap: 0.5rem;
}

.sfs-article__pages a,
.sfs-article__pages > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.2rem;
	height: 2.2rem;
	padding: 0 0.75rem;
	border-radius: 999px;
	border: 1px solid var(--sfs-border-strong);
	background: rgba(255, 255, 255, 0.03);
	color: var(--sfs-ink-dim) !important;
	font-size: 0.85rem;
	font-weight: 600;
	text-decoration: none;
	transition: border-color 0.18s ease, color 0.18s ease, background 0.18s ease;
}

.sfs-article__pages a:hover {
	border-color: var(--sfs-primary);
	color: var(--sfs-primary) !important;
	background: var(--sfs-primary-soft);
}

.sfs-article__pages > span:not(.sfs-article__pages-label) {
	background: var(--sfs-primary) !important;
	border-color: var(--sfs-primary) !important;
	color: #06231a !important;
}

.sfs-article__pages-label {
	border: none !important;
	background: transparent !important;
	padding: 0 !important;
	min-width: 0 !important;
	height: auto !important;
}

/* -------------------------------------------------------------------
   Archive / list pagination refinement
   ------------------------------------------------------------------- */

.sfs-pagination {
	flex-wrap: wrap;
	gap: 0.4rem;
}

.sfs-pagination .nav-links,
.sfs-pagination .pagination,
.sfs-pagination ul {
	list-style: none;
	margin: 0;
	padding: 0;
	align-items: center;
}

.sfs-pagination ul li {
	margin: 0;
	padding: 0;
}

.sfs-pagination .page-numbers.prev,
.sfs-pagination .page-numbers.next {
	padding: 0 1.2rem;
	gap: 0.4rem;
	font-size: 0.85rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	border-color: var(--sfs-border-strong);
	background: rgba(255, 255, 255, 0.03);
}

.sfs-pagination .page-numbers.prev:hover,
.sfs-pagination .page-numbers.next:hover {
	border-color: var(--sfs-primary);
	color: var(--sfs-primary) !important;
	background: rgba(34, 211, 164, 0.1);
}

.sfs-pagination .page-numbers.prev:hover .lv-pag-arrow {
	transform: translateX(-2px);
}

.sfs-pagination .page-numbers.next:hover .lv-pag-arrow {
	transform: translateX(2px);
}

.sfs-pagination .lv-pag-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.05rem;
	line-height: 1;
	transition: transform 0.18s ease;
}

.sfs-pagination .page-numbers:focus-visible {
	outline: 2px solid var(--sfs-primary);
	outline-offset: 2px;
}

@media (max-width: 560px) {
	.sfs-pagination .nav-links,
	.sfs-pagination .pagination {
		gap: 0.3rem;
		padding: 0.4rem;
		border-radius: var(--sfs-radius);
	}
	.sfs-pagination .page-numbers {
		min-width: 2.1rem;
		height: 2.1rem;
		padding: 0 0.7rem;
		font-size: 0.82rem;
	}
	.sfs-pagination .page-numbers.prev,
	.sfs-pagination .page-numbers.next {
		padding: 0 0.9rem;
		font-size: 0.78rem;
	}
	.sfs-pagination .page-numbers.prev .lv-pag-btn-label,
	.sfs-pagination .page-numbers.next .lv-pag-btn-label {
		display: none;
	}
}

/* Hide the built-in "Page navigation" screen-reader heading neatly */
.sfs-pagination .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* -------------------------------------------------------------------
   Mobile-safety fixes for the single article page
   (addresses: horizontal overflow, long title/breadcrumb wrapping,
   article media (img / iframe / table) spilling past the viewport)
   ------------------------------------------------------------------- */

/* 1. Root-level horizontal overflow trap.
   Uses both overflow-x: hidden AND overflow-x: clip (clip is the nuclear
   option — creates no scroll container, cannot be subverted by descendants).
   Also explicitly constrains width to viewport-width so nothing can push
   past. */
html,
body,
#main-content,
.sfs-main {
	overflow-x: hidden !important;
	overflow-x: clip !important;
	max-width: 100vw !important;
	width: auto !important;
	box-sizing: border-box !important;
}

/* 1b. THE REAL FIX for single-article mobile overflow:
   `.sfs-article` uses `display: grid`, so its children inherit
   `min-width: auto` — which means an unusually wide descendant (a big
   image, a long <pre>, a wide table) can force the grid column to expand
   past the viewport, even though our outer overflow-x: hidden simply
   CLIPS that (hence the earlier "content gets cut off" symptom).
   Explicitly setting `min-width: 0` on all grid items and their children
   lets max-width: 100% actually take effect. */
.sfs-article,
.sfs-article > *,
.sfs-article__content,
.sfs-article__content > *,
.sfs-container,
.sfs-container > *,
.sfs-hero__inner,
.sfs-hero__inner > *,
.sfs-section,
.sfs-section > *,
.sfs-main,
.sfs-main > * {
	min-width: 0 !important;
}

/* 1c. Unconditionally cap every descendant media / embed / pre / table
   inside .sfs-main (not just body.sfs-shell scope) at 100% of its parent
   on all screen sizes. */
.sfs-main img,
.sfs-main video,
.sfs-main iframe,
.sfs-main embed,
.sfs-main object,
.sfs-main svg,
.sfs-main canvas,
.sfs-main picture,
.sfs-main picture img,
.sfs-main figure,
.sfs-main pre,
.sfs-main table,
.sfs-main .wp-caption,
.sfs-main [class*="wp-block-"] {
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* Images additionally get height: auto so aspect ratio is preserved */
.sfs-main img,
.sfs-main video,
.sfs-main iframe,
.sfs-main embed,
.sfs-main object,
.sfs-main svg,
.sfs-main canvas,
.sfs-main picture img {
	height: auto !important;
}

/* Kill WordPress alignfull / alignwide negative-margin full-bleed
   unconditionally (they push content past the viewport on mobile). */
.sfs-main .alignfull,
.sfs-main .alignwide,
.sfs-main .wp-block-image.alignfull,
.sfs-main .wp-block-image.alignwide,
.sfs-main [class*="wp-block-"].alignfull,
.sfs-main [class*="wp-block-"].alignwide {
	max-width: 100% !important;
	width: auto !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Article-body descendants that are prone to overflow
   (inline images, embeds, tables, WP blocks). The structural wrappers
   (.sfs-article, .sfs-article__content, .sfs-container) keep their
   original max-widths so desktop reading width stays designed-to-spec. */
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content img,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content video,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content iframe,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content embed,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content object,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content svg,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content pre,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content figure,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content .wp-caption,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content [class*="wp-block-"] {
	max-width: 100%;
	box-sizing: border-box;
}

/* Neutralise WP full/wide alignments that break out with negative margin */
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content .alignfull,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content .alignwide {
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: auto !important;
}

/* 2. Long unbroken strings (URLs, SEO phrases, tags) wrap instead of overflow */
body.lv-slots-front.sfs-shell .sfs-main .sfs-hero__title,
body.lv-slots-front.sfs-shell .sfs-main .sfs-hero__lead,
body.lv-slots-front.sfs-shell .sfs-main .sfs-breadcrumbs,
body.lv-slots-front.sfs-shell .sfs-main .sfs-breadcrumbs__current,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content h2,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content h3,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content h4,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content p,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content li,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content a {
	overflow-wrap: anywhere;
	word-break: break-word;
}

/* 3. All media inside article body stay within the container */
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content img,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content video,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content iframe,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content embed,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content object,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content svg {
	max-width: 100%;
	height: auto;
	display: block;
}

/* 4. Video / iframe embeds get a responsive 16:9 box */
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content iframe[src*="youtube"],
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content iframe[src*="youtu.be"],
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content iframe[src*="vimeo"],
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content .wp-block-embed__wrapper iframe,
body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content .wp-block-embed iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
}

/* 5. Bare <table> tags inside post content get horizontal scroll on mobile */
@media (max-width: 720px) {
	body.lv-slots-front.sfs-shell .sfs-main .sfs-article__content table {
		display: block;
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

/* 6. Small-screen polish: tighter hero title + padding so nothing overflows.
   Uses .sfs-main scope (no body-class dependency) so rules apply even if
   body class hook differs. */
@media (max-width: 720px) {
	.sfs-main .sfs-hero__title {
		font-size: clamp(1.1rem, 5vw, 1.45rem) !important;
		line-height: 1.25;
	}

	.sfs-main .sfs-hero__lead {
		font-size: 0.82rem !important;
		line-height: 1.55;
	}

	.sfs-main .sfs-breadcrumbs,
	.sfs-main .sfs-breadcrumbs a,
	.sfs-main .sfs-breadcrumbs__current {
		font-size: 0.68rem !important;
		gap: 0.25rem;
	}

	.sfs-main .sfs-article {
		gap: 1rem;
	}

	.sfs-main .sfs-article__content {
		font-size: 0.86rem !important;
		line-height: 1.72;
	}

	.sfs-main .sfs-article__content h2 {
		font-size: 1.12rem !important;
		line-height: 1.35;
		margin-top: 1.5rem;
	}

	.sfs-main .sfs-article__content h3 {
		font-size: 1rem !important;
		line-height: 1.4;
		margin-top: 1.3rem;
	}

	.sfs-main .sfs-article__content h4 {
		font-size: 0.92rem !important;
		line-height: 1.4;
	}

	.sfs-main .sfs-article__content p,
	.sfs-main .sfs-article__content li {
		font-size: 0.86rem !important;
		line-height: 1.72;
	}

	.sfs-main .sfs-article__content blockquote {
		padding: 0.8rem 0.95rem;
		font-size: 0.85rem;
	}

	.sfs-main .sfs-article__content pre {
		padding: 0.7rem 0.85rem;
		font-size: 0.76rem;
	}

	.sfs-main .sfs-article__content :not(pre) > code {
		font-size: 0.78rem;
	}

	.sfs-main .sfs-article__content table {
		font-size: 0.78rem;
	}

	/* Table of contents panel (ez-toc / native) */
	.sfs-main .sfs-article__content #ez-toc-container,
	.sfs-main .sfs-article__content #toc_container,
	.sfs-main .sfs-article__content .ez-toc-list,
	.sfs-main .sfs-article__content .ez-toc-list a,
	.sfs-main .sfs-article__content #toc_container a,
	.sfs-main .sfs-article__content .wp-block-table-of-contents {
		font-size: 0.82rem !important;
	}

	.sfs-main .sfs-article__content .ez-toc-title,
	.sfs-main .sfs-article__content #toc_container .toc_title {
		font-size: 0.95rem !important;
	}

	/* Tags / meta chips */
	.sfs-main .sfs-article__meta,
	.sfs-main .sfs-article__meta a,
	.sfs-main .sfs-article__tags,
	.sfs-main .sfs-article__tags a,
	.sfs-main .sfs-article__byline,
	.sfs-main .sfs-article__date {
		font-size: 0.72rem !important;
	}

	.sfs-main .sfs-authorbox {
		padding: 1rem;
		font-size: 0.82rem;
	}

	.sfs-main .sfs-authorbox__name {
		font-size: 0.95rem !important;
	}

	.sfs-main .sfs-postnav,
	.sfs-main .sfs-postnav a {
		font-size: 0.8rem !important;
	}

	.sfs-main .sfs-postnav .nav-next {
		text-align: left;
	}

	.sfs-main .sfs-related__title {
		font-size: 1.05rem !important;
	}

	.sfs-main .sfs-related__card-title {
		font-size: 0.9rem !important;
		line-height: 1.4;
	}

	.sfs-main .sfs-related__card-excerpt {
		font-size: 0.78rem !important;
	}
}

/* 6b. Extra-small phones (<= 400px) — squeeze a bit more */
@media (max-width: 400px) {
	.sfs-main .sfs-hero__title {
		font-size: clamp(1rem, 4.8vw, 1.3rem) !important;
	}

	.sfs-main .sfs-article__content {
		font-size: 0.82rem !important;
	}

	.sfs-main .sfs-article__content p,
	.sfs-main .sfs-article__content li {
		font-size: 0.82rem !important;
	}

	.sfs-main .sfs-article__content h2 {
		font-size: 1.05rem !important;
	}

	.sfs-main .sfs-article__content h3 {
		font-size: 0.95rem !important;
	}
}

/* -------------------------------------------------------------------
   Home page layout refresh
   ------------------------------------------------------------------- */
.sfs-home-hero {
	border-bottom: 1px solid var(--sfs-border-strong);
}

.sfs-home-hero-list {
	margin: 1.1rem 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.55rem;
	max-width: 36rem;
}

.sfs-home-hero-list li {
	padding: 0.6rem 0.9rem;
	border: 1px solid var(--sfs-border);
	border-radius: 0.7rem;
	background: rgba(255, 255, 255, 0.03);
	font-size: 0.92rem;
	color: var(--sfs-ink-dim);
}

.sfs-home-kpis {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.85rem;
	margin-top: 2.4rem;
}

.sfs-home-grid-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.sfs-home-surface {
	padding: 1.25rem;
	border: 1px solid var(--sfs-border);
	border-radius: var(--sfs-radius);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.015));
}

.sfs-home-feature-card .sfs-card__title {
	font-size: 1rem;
}

.sfs-home-feature-grid {
	grid-template-columns: 1fr;
	gap: 0.9rem;
}

@media (min-width: 640px) {
	.sfs-home-feature-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 960px) {
	.sfs-home-kpis {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

@media (max-width: 720px) {
	.sfs-home-hero-list li {
		font-size: 0.86rem;
		padding: 0.55rem 0.75rem;
	}

	.sfs-home-kpis {
		gap: 0.65rem;
	}

	.sfs-home-surface {
		padding: 1rem;
	}

	.sfs-home-feature-grid {
		gap: 0.75rem;
	}
}
