/**
 * SoccerNews – How We Rate and Review Casinos
 * Page-scoped stylesheet
 */

.page-how-we-rate-casinos {
	--sn-teal: #149688;
	--sn-teal-dark: #0D7A70;
	--sn-teal-light: #E8F5F3;
	--sn-teal-tint: #F3FAF9;
	--sn-teal-line: #C5E3DF;

	--sn-white: #FFFFFF;
	--sn-ink: #14181C;
	--sn-ink-soft: #2C333A;
	--sn-text: #1F242A;
	--sn-muted: #5A6470;
	--sn-faint: #8A939E;
	--sn-line: #E6E8EC;

	--sn-font-display: 'League Spartan', 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
	--sn-font-body: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;

	--hwrc-content-max: 760px;
	--hwrc-section-gap: 56px;
	--hwrc-section-gap-mobile: 40px;
}

.page-how-we-rate-casinos {
	margin-top: 4.3rem;
}

.page-how-we-rate-casinos .hwrc {
	font-family: var(--sn-font-body);
	font-size: 16px;
	line-height: 1.65;
	color: var(--sn-text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.page-how-we-rate-casinos .hwrc p {
	margin: 0 0 1.1em;
	color: var(--sn-text);
}

.page-how-we-rate-casinos .hwrc p:last-child {
	margin-bottom: 0;
}

.page-how-we-rate-casinos .hwrc a {
	color: var(--sn-teal);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color 120ms ease;
}

.page-how-we-rate-casinos .hwrc a:hover,
.page-how-we-rate-casinos .hwrc a:focus-visible {
	color: var(--sn-teal-dark);
}

.page-how-we-rate-casinos .hwrc strong {
	font-weight: 600;
	color: var(--sn-ink-soft);
}

/* H1 — Article template: 38px desktop, 28px mobile, sentence case */
.page-how-we-rate-casinos .hwrc-h1 {
	font-family: var(--sn-font-display);
	font-weight: 700;
	font-size: var(--sn-h1-article, 38px);
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--sn-ink);
	margin: 0 0 16px;
}

@media (max-width: 768px) {
	.page-how-we-rate-casinos .hwrc-h1 {
		font-size: var(--sn-h1-article-mobile, 28px);
	}
}

/* H2 — Article template: 28px desktop, 22px mobile, sentence case */
.page-how-we-rate-casinos .hwrc-h2 {
	font-family: var(--sn-font-display);
	font-weight: 600;
	font-size: var(--sn-h2-article, 28px);
	line-height: 1.2;
	letter-spacing: 0;
	color: var(--sn-ink);
	margin: 0 0 20px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--sn-teal);
}

@media (max-width: 768px) {
	.page-how-we-rate-casinos .hwrc-h2 {
		font-size: var(--sn-h2-article-mobile, 22px);
	}
}

/* H3 — 22px desktop, 18px mobile, sentence case */
.page-how-we-rate-casinos .hwrc-h3 {
	font-family: var(--sn-font-display);
	font-weight: 600;
	font-size: var(--sn-h3, 22px);
	line-height: 1.2;
	color: var(--sn-ink-soft);
	margin: 0 0 10px;
}

@media (max-width: 768px) {
	.page-how-we-rate-casinos .hwrc-h3 {
		font-size: var(--sn-h3-mobile, 18px);
	}
}

.page-how-we-rate-casinos .hwrc-header {
	margin: 0 0 var(--hwrc-section-gap-mobile);
	padding-bottom: 48px;
	border-bottom: 1px solid var(--sn-line);
}

@media (min-width: 768px) {
	.page-how-we-rate-casinos .hwrc-header {
		margin-bottom: var(--hwrc-section-gap);
		padding-bottom: 56px;
	}
}

.page-how-we-rate-casinos .hwrc-breadcrumb {
	font-size: 13px;
	color: var(--sn-muted);
	margin-bottom: 24px;
	font-weight: 500;
}

.page-how-we-rate-casinos .hwrc-breadcrumb a {
	color: var(--sn-muted);
	text-decoration: none;
}

.page-how-we-rate-casinos .hwrc-breadcrumb a:hover {
	color: var(--sn-teal);
}

.page-how-we-rate-casinos .hwrc-breadcrumb-sep {
	color: var(--sn-faint);
	margin: 0 8px;
}

.page-how-we-rate-casinos .hwrc-dek {
	font-size: 17px;
	line-height: 1.55;
	color: var(--sn-ink-soft);
	font-weight: 400;
	margin: 0 0 24px;
}

@media (min-width: 768px) {
	.page-how-we-rate-casinos .hwrc-dek {
		font-size: 19px;
	}
}

.page-how-we-rate-casinos .hwrc-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: var(--sn-muted);
	margin-bottom: 24px;
}

.page-how-we-rate-casinos .hwrc-meta strong {
	color: var(--sn-ink-soft);
	font-weight: 600;
}

.page-how-we-rate-casinos .hwrc-meta-sep {
	color: var(--sn-faint);
}

.page-how-we-rate-casinos .hwrc-disclosure {
	background: var(--sn-teal-tint);
	border: 1px solid var(--sn-teal-line);
	border-left: 3px solid var(--sn-teal);
	border-radius: 4px;
	padding: 16px 18px;
	margin: 0;
}

.page-how-we-rate-casinos .hwrc-disclosure-label {
	display: block;
	font-family: var(--sn-font-display);
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--sn-teal-dark);
	margin-bottom: 6px;
}

.page-how-we-rate-casinos .hwrc-disclosure p {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: var(--sn-ink-soft);
}

.page-how-we-rate-casinos p.hwrc-sibling-link {
	margin: 32px 0 8px;
	padding: 0;
	font-size: 14px;
	line-height: 1.55;
	color: var(--sn-muted);
}

@media (min-width: 768px) {
	.page-how-we-rate-casinos p.hwrc-sibling-link {
		margin-top: 40px;
		font-size: 15px;
	}
}

.page-how-we-rate-casinos .hwrc-sibling-link a {
	color: var(--sn-teal);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	font-weight: 500;
}

.page-how-we-rate-casinos .hwrc-sibling-link a:hover,
.page-how-we-rate-casinos .hwrc-sibling-link a:focus-visible {
	color: var(--sn-teal-dark);
}

.page-how-we-rate-casinos .hwrc-sibling-link-label {
	color: var(--sn-teal);
	font-weight: 600;
	margin-right: 6px;
}

.page-how-we-rate-casinos .hwrc-section {
	margin-bottom: var(--hwrc-section-gap-mobile);
}

@media (min-width: 768px) {
	.page-how-we-rate-casinos .hwrc-section {
		margin-bottom: var(--hwrc-section-gap);
	}
}

.page-how-we-rate-casinos .hwrc-section:last-child {
	margin-bottom: 4rem;
}

.page-how-we-rate-casinos .hwrc-section-lede {
	font-size: 16px;
	color: var(--sn-muted);
	margin-bottom: 28px;
}

@media (min-width: 768px) {
	.page-how-we-rate-casinos .hwrc-section-lede {
		font-size: 17px;
	}
}

.page-how-we-rate-casinos .hwrc-criteria-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	margin-bottom: 24px;
}

@media (min-width: 768px) {
	.page-how-we-rate-casinos .hwrc-criteria-grid {
		gap: 20px;
	}
}

.page-how-we-rate-casinos .hwrc-criterion {
	background: var(--sn-white);
	border: 1px solid var(--sn-line);
	border-radius: 6px;
	padding: 20px 18px;
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

@media (min-width: 768px) {
	.page-how-we-rate-casinos .hwrc-criterion {
		padding: 24px 26px;
	}
}

.page-how-we-rate-casinos .hwrc-criterion:hover {
	border-color: var(--sn-teal-line);
}

.page-how-we-rate-casinos .hwrc-criterion-head {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--sn-line);
}

.page-how-we-rate-casinos .hwrc-criterion-num {
	font-family: var(--sn-font-display);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.04em;
	color: var(--sn-teal);
	font-variant-numeric: tabular-nums;
	flex: 0 0 auto;
}

.page-how-we-rate-casinos .hwrc-criterion-head .hwrc-h3 {
	margin: 0;
	font-size: 17px;
	line-height: 1.3;
	flex: 1 1 auto;
	min-width: 0;
}

@media (min-width: 768px) {
	.page-how-we-rate-casinos .hwrc-criterion-head .hwrc-h3 {
		font-size: 19px;
	}
}

.page-how-we-rate-casinos .hwrc-criterion-weight {
	display: inline-flex;
	align-items: baseline;
	font-family: var(--sn-font-display);
	font-weight: 700;
	color: var(--sn-ink);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	flex: 0 0 auto;
}

.page-how-we-rate-casinos .hwrc-criterion-weight-num {
	font-size: 22px;
	line-height: 1;
}

@media (min-width: 768px) {
	.page-how-we-rate-casinos .hwrc-criterion-weight-num {
		font-size: 26px;
	}
}

.page-how-we-rate-casinos .hwrc-criterion-weight-unit {
	font-size: 13px;
	color: var(--sn-muted);
	font-weight: 600;
	margin-left: 1px;
}

.page-how-we-rate-casinos .hwrc-criterion-body {
	margin: 0;
	font-size: 15px;
	line-height: 1.65;
	color: var(--sn-text);
}

@media (min-width: 768px) {
	.page-how-we-rate-casinos .hwrc-criterion-body {
		font-size: 16px;
	}
}

.page-how-we-rate-casinos .hwrc-weightings-note {
	font-size: 13px;
	color: var(--sn-muted);
	font-style: italic;
	margin: 16px 0 0;
}

.page-how-we-rate-casinos .hwrc-process-list {
	list-style: none;
	padding: 0;
	margin: 0;
	counter-reset: hwrc-step;
}

.page-how-we-rate-casinos .hwrc-process-list > li {
	position: relative;
	padding: 0 0 24px 52px;
	margin: 0;
	counter-increment: hwrc-step;
	border-left: 1px solid var(--sn-line);
	margin-left: 18px;
}

@media (min-width: 768px) {
	.page-how-we-rate-casinos .hwrc-process-list > li {
		padding-left: 64px;
		padding-bottom: 28px;
		margin-left: 22px;
	}
}

.page-how-we-rate-casinos .hwrc-process-list > li:last-child {
	padding-bottom: 0;
	border-left-color: transparent;
}

.page-how-we-rate-casinos .hwrc-process-list > li::before {
	content: counter(hwrc-step, decimal-leading-zero);
	position: absolute;
	left: -19px;
	top: -2px;
	width: 36px;
	height: 36px;
	background: var(--sn-white);
	border: 1.5px solid var(--sn-teal);
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-family: var(--sn-font-display);
	font-weight: 700;
	font-size: 12px;
	color: var(--sn-teal);
	font-variant-numeric: tabular-nums;
}

@media (min-width: 768px) {
	.page-how-we-rate-casinos .hwrc-process-list > li::before {
		left: -23px;
		width: 44px;
		height: 44px;
		font-size: 13px;
	}
}

.page-how-we-rate-casinos .hwrc-process-list .hwrc-h3 {
	margin-top: 4px;
	margin-bottom: 8px;
}

.page-how-we-rate-casinos .hwrc-process-list p {
	margin: 0;
	font-size: 15px;
	color: var(--sn-text);
}

@media (min-width: 768px) {
	.page-how-we-rate-casinos .hwrc-process-list p {
		font-size: 16px;
	}
}

.page-how-we-rate-casinos .hwrc-maintenance-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}

@media (min-width: 1040px) {
	.page-how-we-rate-casinos .hwrc-maintenance-grid {
		gap: 24px;
	}
}

.page-how-we-rate-casinos .hwrc-maintenance-block {
	background: var(--sn-teal-tint);
	border-radius: 6px;
	padding: 20px 22px;
	border-left: 3px solid var(--sn-teal);
}

@media (min-width: 768px) {
	.page-how-we-rate-casinos .hwrc-maintenance-block {
		padding: 24px 28px;
	}
}

.page-how-we-rate-casinos .hwrc-maintenance-block .hwrc-h3 {
	margin-bottom: 12px;
}

.page-how-we-rate-casinos .hwrc-maintenance-block p:last-child {
	margin-bottom: 0;
}

.page-how-we-rate-casinos .hwrc-maintenance-list {
	margin: 0;
	padding: 0 0 0 18px;
	list-style: disc;
}

.page-how-we-rate-casinos .hwrc-maintenance-list li {
	margin-bottom: 6px;
	font-size: 15px;
	line-height: 1.55;
	color: var(--sn-text);
	padding-left: 4px;
}

.page-how-we-rate-casinos .hwrc-maintenance-list li::marker {
	color: var(--sn-teal);
}

.page-how-we-rate-casinos .hwrc-maintenance-list li:last-child {
	margin-bottom: 0;
}

@media (min-width: 768px) {
	.page-how-we-rate-casinos .hwrc-maintenance-list li {
		font-size: 16px;
	}
}

.page-how-we-rate-casinos .hwrc-disclosure-block {
	background: var(--sn-white);
	border: 1px solid var(--sn-line);
	border-left: 3px solid var(--sn-teal);
	border-radius: 4px;
	padding: 18px 22px;
	margin: 24px 0;
}

@media (min-width: 768px) {
	.page-how-we-rate-casinos .hwrc-disclosure-block {
		padding: 22px 26px;
	}
}

.page-how-we-rate-casinos .hwrc-disclosure-block .hwrc-h3 {
	font-size: 15px;
	margin-bottom: 8px;
	color: var(--sn-ink);
}

@media (min-width: 768px) {
	.page-how-we-rate-casinos .hwrc-disclosure-block .hwrc-h3 {
		font-size: 16px;
	}
}

.page-how-we-rate-casinos .hwrc-disclosure-block p {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: var(--sn-ink-soft);
}

@media (min-width: 768px) {
	.page-how-we-rate-casinos .hwrc-disclosure-block p {
		font-size: 15px;
	}
}

.page-how-we-rate-casinos .hwrc-cross-link {
	font-size: 15px;
	color: var(--sn-muted);
	padding-top: 8px;
	border-top: 1px solid var(--sn-line);
	margin-top: 20px;
}

.page-how-we-rate-casinos .hwrc-exclusions-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 14px;
}

.page-how-we-rate-casinos .hwrc-exclusions-list li {
	display: grid;
	grid-template-columns: 28px 1fr;
	gap: 14px;
	align-items: start;
	padding: 14px 16px;
	background: var(--sn-white);
	border: 1px solid var(--sn-line);
	border-radius: 6px;
	font-size: 15px;
	line-height: 1.6;
	color: var(--sn-text);
}

@media (min-width: 768px) {
	.page-how-we-rate-casinos .hwrc-exclusions-list li {
		padding: 16px 20px;
		font-size: 16px;
		gap: 16px;
	}
}

.page-how-we-rate-casinos .hwrc-exclusion-marker {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--sn-teal);
	color: var(--sn-white);
	font-family: var(--sn-font-display);
	font-weight: 700;
	font-size: 16px;
	line-height: 28px;
	text-align: center;
	flex-shrink: 0;
	display: inline-block;
}

.page-how-we-rate-casinos .hwrc-rg-list {
	list-style: none;
	padding: 0;
	margin: 0 0 16px;
	display: grid;
	gap: 8px;
}

.page-how-we-rate-casinos .hwrc-rg-list li {
	font-size: 15px;
	padding: 10px 14px;
	background: var(--sn-teal-tint);
	border-radius: 4px;
	border-left: 2px solid var(--sn-teal);
}

@media (min-width: 768px) {
	.page-how-we-rate-casinos .hwrc-rg-list li {
		font-size: 16px;
		padding: 12px 16px;
	}
}

.page-how-we-rate-casinos .hwrc-rg-age {
	font-size: 13px;
	color: var(--sn-muted);
	font-style: italic;
}

.page-how-we-rate-casinos .hwrc-related-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
}

@media (min-width: 560px) {
	.page-how-we-rate-casinos .hwrc-related-grid {
		grid-template-columns: 1fr 1fr;
		gap: 14px;
	}
}

.page-how-we-rate-casinos .hwrc-related-card {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-rows: auto auto;
	column-gap: 16px;
	row-gap: 4px;
	align-items: center;
	padding: 18px 20px;
	background: var(--sn-white);
	border: 1px solid var(--sn-line);
	border-radius: 6px;
	color: var(--sn-ink);
	min-height: 72px;
	transition: border-color 160ms ease, transform 160ms ease;
}

.page-how-we-rate-casinos a.hwrc-related-card,
.page-how-we-rate-casinos a.hwrc-related-card:hover,
.page-how-we-rate-casinos a.hwrc-related-card:focus-visible,
.page-how-we-rate-casinos a.hwrc-related-card span {
	text-decoration: none;
}

.page-how-we-rate-casinos .hwrc-related-card:hover,
.page-how-we-rate-casinos .hwrc-related-card:focus-visible {
	border-color: var(--sn-teal);
	transform: translateY(-1px);
	color: var(--sn-ink);
}

.page-how-we-rate-casinos .hwrc-related-card:hover .hwrc-related-arrow,
.page-how-we-rate-casinos .hwrc-related-card:focus-visible .hwrc-related-arrow {
	transform: translateX(2px);
	color: var(--sn-teal-dark);
}

.page-how-we-rate-casinos .hwrc-related-label {
	grid-column: 1;
	grid-row: 1;
	font-family: var(--sn-font-display);
	font-weight: 600;
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sn-teal);
}

.page-how-we-rate-casinos .hwrc-related-title {
	grid-column: 1;
	grid-row: 2;
	font-family: var(--sn-font-display);
	font-weight: 600;
	font-size: 16px;
	line-height: 1.3;
	color: var(--sn-ink);
}

@media (min-width: 768px) {
	.page-how-we-rate-casinos .hwrc-related-title {
		font-size: 17px;
	}
}

.page-how-we-rate-casinos .hwrc-related-arrow {
	grid-column: 2;
	grid-row: 1 / span 2;
	font-size: 22px;
	color: var(--sn-teal);
	transition: transform 160ms ease, color 160ms ease;
	font-weight: 400;
	line-height: 1;
}

.page-how-we-rate-casinos .hwrc a:focus-visible,
.page-how-we-rate-casinos .hwrc-related-card:focus-visible {
	outline: 2px solid var(--sn-teal);
	outline-offset: 2px;
	border-radius: 4px;
}

@media (prefers-reduced-motion: reduce) {
	.page-how-we-rate-casinos .hwrc-related-card,
	.page-how-we-rate-casinos .hwrc-related-arrow,
	.page-how-we-rate-casinos .hwrc-criterion,
	.page-how-we-rate-casinos .hwrc a {
		transition: none;
	}
}

@media print {
	.page-how-we-rate-casinos .hwrc {
		max-width: 100%;
		padding: 0;
		font-size: 11pt;
		color: #000;
	}

	.page-how-we-rate-casinos .hwrc-h1 { font-size: 22pt; }
	.page-how-we-rate-casinos .hwrc-h2 { font-size: 16pt; border-bottom-color: #000; page-break-after: avoid; }
	.page-how-we-rate-casinos .hwrc-h3 { page-break-after: avoid; }

	.page-how-we-rate-casinos .hwrc-criterion,
	.page-how-we-rate-casinos .hwrc-maintenance-block,
	.page-how-we-rate-casinos .hwrc-exclusions-list li,
	.page-how-we-rate-casinos .hwrc-disclosure,
	.page-how-we-rate-casinos .hwrc-disclosure-block {
		page-break-inside: avoid;
	}

	.page-how-we-rate-casinos .hwrc-related-grid { display: none; }

	.page-how-we-rate-casinos .hwrc a {
		color: #000;
		text-decoration: underline;
	}

	.page-how-we-rate-casinos .hwrc a[href]::after {
		content: " (" attr(href) ")";
		font-size: 9pt;
		color: #444;
	}
}