/*
 * /all-categories/ — bold, title-first tile grid for sister-category posts.
 *
 * Each card runs on its own per-palette custom properties (set inline from
 * PHP so every tile keeps the same palette across visits). The decorative
 * monogram and floating shapes sit behind the title; the CTA peeks out of
 * the bottom. Hover lifts the tile and slides the arrow.
 */

:root {
	--sscuk-ct-radius:    16px;
	--sscuk-ct-font:      "Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--sscuk-ct-ring:      rgba(255, 255, 255, 0.10);
}

.sscuk-ct {
	display: block;
	width: 100vw;
	max-width: none;
	margin-left: calc(50% - 50vw);
	padding: 32px max(16px, calc((100vw - 1280px) / 2)) 48px;
	font-family: var(--sscuk-ct-font);
	-webkit-font-smoothing: antialiased;
	box-sizing: border-box;
	overflow-x: clip;
}

.sscuk-ct * { box-sizing: border-box; }

.sscuk-ct__head {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	margin: 0 0 16px;
	min-height: 24px;
}

.sscuk-ct__count {
	margin: 0;
	color: #6b7280;
	font-size: 13px;
	font-weight: 500;
}

/* ----- Grid: dense, auto-fill ----- */
.sscuk-ct__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 16px;
}

/* ----- Tile ----- */
.sscuk-ct__card {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 180px;
	padding: 18px 18px 16px;
	border-radius: var(--sscuk-ct-radius);
	background: linear-gradient(140deg, var(--cc-bg-1, #131F4E) 0%, var(--cc-bg-2, #1d2a63) 100%);
	color: var(--cc-ink, #fff);
	text-decoration: none !important;
	overflow: hidden;
	isolation: isolate;
	box-shadow:
		0 0 0 1px var(--sscuk-ct-ring),
		0 12px 28px -16px rgba(15, 26, 58, .35);
	transition: transform .3s cubic-bezier(.2,.8,.2,1),
		box-shadow .3s ease;
}

.sscuk-ct__card,
.sscuk-ct__card:hover,
.sscuk-ct__card:focus,
.sscuk-ct__card:focus-visible,
.sscuk-ct__card:visited,
.sscuk-ct__card * { text-decoration: none !important; }

.sscuk-ct__card:hover,
.sscuk-ct__card:focus-visible {
	transform: translateY(-4px);
	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.18),
		0 24px 48px -18px rgba(15, 26, 58, .55);
	outline: none;
}

/* ----- Big monogram (background letter) ----- */
.sscuk-ct__mono {
	position: absolute;
	top: -22px;
	right: -8px;
	z-index: 0;
	font-family: var(--sscuk-ct-font);
	font-size: 160px;
	font-weight: 900;
	line-height: 1;
	color: var(--cc-tint, rgba(255, 217, 0, 0.10));
	letter-spacing: -0.04em;
	pointer-events: none;
	transition: transform .4s cubic-bezier(.2,.8,.2,1), color .3s ease;
}

.sscuk-ct__card:hover .sscuk-ct__mono {
	transform: translate(-4px, 4px) rotate(-3deg);
}

/* ----- Floating decorative shapes ----- */
.sscuk-ct__shape {
	position: absolute;
	border-radius: 50%;
	z-index: 0;
	pointer-events: none;
	transition: transform .5s cubic-bezier(.2,.8,.2,1), opacity .3s ease;
	opacity: .55;
}

.sscuk-ct__shape--a {
	width: 90px;
	height: 90px;
	top: -28px;
	left: -28px;
	background: radial-gradient(circle, var(--cc-accent, #FFD900) 0%, transparent 70%);
	opacity: .18;
}

.sscuk-ct__shape--b {
	width: 140px;
	height: 140px;
	bottom: -80px;
	right: -50px;
	background: radial-gradient(circle, var(--cc-tint, rgba(255, 226, 60, 0.12)) 0%, transparent 70%);
	opacity: .9;
}

.sscuk-ct__card:hover .sscuk-ct__shape--a {
	transform: translate(8px, 8px) scale(1.15);
}

.sscuk-ct__card:hover .sscuk-ct__shape--b {
	transform: translate(-8px, -8px) scale(1.2);
}

/* ----- Body (eyebrow + title) ----- */
.sscuk-ct__body {
	position: relative;
	z-index: 1;
	display: block;
	margin-bottom: 14px;
}

.sscuk-ct__eyebrow {
	display: inline-block;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--cc-accent, #FFD900);
	margin-bottom: 8px;
	opacity: 0.85;
}

.sscuk-ct__title {
	display: block;
	margin: 0;
	font-size: 18px !important;
	line-height: 1.25 !important;
	font-weight: 700;
	color: var(--cc-ink, #fff);
	letter-spacing: -0.01em;
	/* clamp to 3 lines, keeps tiles uniform */
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ----- CTA pill at the bottom ----- */
.sscuk-ct__cta {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-self: flex-start;
	align-items: center;
	gap: 6px;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.01em;
	color: var(--cc-ink, #fff);
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.10);
	transition: background-color .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.sscuk-ct__cta-arrow {
	display: inline-block;
	transition: transform .25s ease;
}

.sscuk-ct__card:hover .sscuk-ct__cta {
	background: var(--cc-accent, #FFD900);
	color: var(--cc-bg-1, #131F4E);
	box-shadow: inset 0 0 0 1px var(--cc-accent, #FFD900),
		0 4px 14px rgba(255, 217, 0, 0.25);
}

.sscuk-ct__card:hover .sscuk-ct__cta-arrow {
	transform: translateX(4px);
}

/* On the yellow palette the inset rings/eyebrow need to be a bit darker */
.sscuk-ct__card[style*="--cc-bg-1:#FFD900"] .sscuk-ct__cta,
.sscuk-ct__card[style*="--cc-bg-1:#FFE23C"] .sscuk-ct__cta {
	background: rgba(19, 31, 78, 0.10);
	box-shadow: inset 0 0 0 1px rgba(19, 31, 78, 0.18);
}

/* ----- Pagination (same look as /all-casinos/) ----- */
.sscuk-ct__pagination {
	display: flex;
	justify-content: center;
	margin: 36px 0 0;
}

.sscuk-ct__pagination ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
}

.sscuk-ct__pagination li { margin: 0; }

.sscuk-ct__pagination a,
.sscuk-ct__pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border-radius: 999px;
	background: #fff;
	color: #131F4E;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	box-shadow: 0 0 0 1px #e5e7eb;
	transition: background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.sscuk-ct__pagination a:hover,
.sscuk-ct__pagination a:focus-visible {
	background: #FFD900;
	color: #131F4E;
	box-shadow: 0 0 0 1px #FFD900;
	transform: translateY(-1px);
	outline: none;
}

.sscuk-ct__pagination .current {
	background: #131F4E;
	color: #fff;
	box-shadow: 0 0 0 1px #131F4E;
}

.sscuk-ct__pagination .dots {
	background: transparent;
	box-shadow: none;
	color: #6b7280;
}

.sscuk-ct__empty {
	margin: 24px 0;
	padding: 32px;
	border-radius: var(--sscuk-ct-radius);
	background: #f7f7fb;
	color: #6b7280;
	text-align: center;
}

/* ========================================================================
 *  Mobile
 * ======================================================================== */
@media (max-width: 600px) {
	.sscuk-ct        { padding: 0 12px 28px; }
	.sscuk-ct__head  { justify-content: center; }
	.sscuk-ct__grid  {
		grid-template-columns: 1fr 1fr;
		gap: 12px;
	}

	.sscuk-ct__card  {
		min-height: 150px;
		padding: 14px 14px 12px;
	}

	.sscuk-ct__mono  { font-size: 120px; top: -16px; right: -6px; }
	.sscuk-ct__shape--a { width: 70px; height: 70px; top: -22px; left: -22px; }
	.sscuk-ct__shape--b { width: 110px; height: 110px; bottom: -64px; right: -40px; }

	.sscuk-ct__title { font-size: 15px !important; }
	.sscuk-ct__eyebrow { font-size: 9.5px; }
	.sscuk-ct__cta   { font-size: 11.5px; padding: 5px 10px; }

	.sscuk-ct__pagination ul { gap: 4px; }
	.sscuk-ct__pagination a,
	.sscuk-ct__pagination span {
		min-width: 34px;
		height: 34px;
		padding: 0 9px;
		font-size: 12.5px;
	}
}

@media (max-width: 360px) {
	.sscuk-ct__grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	.sscuk-ct__card,
	.sscuk-ct__mono,
	.sscuk-ct__shape,
	.sscuk-ct__cta,
	.sscuk-ct__cta-arrow {
		transition: none !important;
		transform: none !important;
		animation: none !important;
	}
}

.sscuk-ct__title { font-size: clamp(26px, 4vw, 38px); margin: 0 0 6px; }
