/*
 * Smoky Cotte Content Manager — front-end.
 * Uses the theme tokens (--wp--preset--*) and section variables (--sc-*),
 * so every element follows the section it sits in (dark, black, light).
 */

/* ---------- Palmarès: numbers ---------- */

@media (min-width: 1080px) {
	.scm-highlights .sc-stats--5,
	.scm-highlights .sc-stats--6 {
		grid-template-columns: repeat(3, 1fr);
	}

	.scm-highlights .sc-stats--5 .sc-stat:nth-child(3n + 1),
	.scm-highlights .sc-stats--6 .sc-stat:nth-child(3n + 1) {
		padding-left: 0;
	}
}

.scm-perfect {
	margin-top: var(--wp--preset--spacing--l);
}

.scm-perfect__title,
.scm-perfect__subtitle {
	margin: 0 0 var(--wp--preset--spacing--xs);
	font-size: var(--wp--preset--font-size--heading-m);
}

.scm-perfect__subtitle {
	margin-top: var(--wp--preset--spacing--m);
	font-size: var(--wp--preset--font-size--heading-m);
}

.scm-perfect__note {
	margin: 0 0 var(--wp--preset--spacing--s);
	color: var(--sc-muted);
	font-size: var(--wp--preset--font-size--small);
}

.scm-perfect__list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--sc-line);
}

.scm-perfect__list li {
	display: grid;
	grid-template-columns: 9rem minmax(0, 1fr) auto;
	align-items: baseline;
	gap: 0.25rem 1rem;
	padding: 0.85rem 0;
	border-bottom: 1px solid var(--sc-line);
}

.scm-perfect__cat {
	min-width: 8rem;
	font-family: var(--wp--preset--font-family--condensed);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--sc-accent-text);
}

.scm-perfect__comp {
	font-weight: 600;
}

.scm-perfect__year {
	color: var(--sc-muted);
	font-size: var(--wp--preset--font-size--small);
}

/* ---------- Palmarès: honours text ---------- */

.scm-honours {
	margin-bottom: var(--wp--preset--spacing--l);
	max-width: 60rem;
}

.scm-honours h2 {
	font-size: clamp(2rem, 1.4rem + 2.4vw, 3.5rem);
}

.scm-honours h3 {
	margin-top: var(--wp--preset--spacing--m);
	font-size: var(--wp--preset--font-size--heading-m);
}

/* ---------- Palmarès: archive ---------- */

.scm-filters__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--s);
	margin: 0;
}

.scm-filters__reset {
	color: var(--sc-link);
	text-underline-offset: 0.2em;
}

.scm-filters select:focus-visible,
.scm-filters__reset:focus-visible,
.scm-table a:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

.scm-table-wrap {
	overflow-x: auto;
	border-top: 1px solid var(--sc-line);
}

.scm-table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--wp--preset--font-size--body);
	font-variant-numeric: tabular-nums;
}

.scm-table th,
.scm-table td {
	padding: 0.8rem 0.75rem 0.8rem 0;
	border-bottom: 1px solid var(--sc-line);
	text-align: left;
	vertical-align: top;
}

.scm-table thead th {
	font-family: var(--wp--preset--font-family--condensed);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--sc-muted);
}

.scm-table tbody th {
	font-weight: 600;
}

.scm-table a {
	color: var(--sc-fg);
	text-decoration-color: var(--sc-line);
	text-underline-offset: 0.2em;
}

.scm-table a:hover {
	color: var(--sc-link);
}

.scm-table__city,
.scm-table__teams {
	display: block;
	color: var(--sc-muted);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
}

.scm-table tr.is-win td:nth-child(5) {
	color: var(--sc-accent-text);
	font-weight: 700;
}

.scm-badge {
	display: inline-block;
	margin-left: 0.4rem;
	padding: 0.05rem 0.4rem;
	border: 1px solid var(--sc-accent-text);
	color: var(--sc-accent-text);
	font-family: var(--wp--preset--font-family--condensed);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.3;
}

.scm-archive__note {
	margin-top: var(--wp--preset--spacing--s);
	color: var(--sc-muted);
	font-size: var(--wp--preset--font-size--small);
}

/* Phones: each result becomes a block with labelled values. */
@media (max-width: 781px) {
	.scm-table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	.scm-table,
	.scm-table tbody,
	.scm-table tr,
	.scm-table th,
	.scm-table td {
		display: block;
	}

	.scm-table tr {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.25rem 1rem;
		padding: 0.9rem 0;
		border-bottom: 1px solid var(--sc-line);
	}

	.scm-table th,
	.scm-table td {
		padding: 0;
		border: 0;
	}

	.scm-table tbody th {
		grid-column: 1 / -1;
		font-size: var(--wp--preset--font-size--body-l);
	}

	.scm-table td::before {
		content: attr(data-label);
		display: block;
		font-family: var(--wp--preset--font-family--condensed);
		font-size: var(--wp--preset--font-size--small);
		font-weight: 700;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: var(--sc-muted);
	}
}

/* ---------- Partners: level label on cards ---------- */

.scm-tier {
	margin: 0 0 var(--wp--preset--spacing--xs);
}

/* ---------- Footer additions ---------- */

.scm-footer-extras {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--m) var(--wp--preset--spacing--l);
	align-items: flex-start;
}

.scm-footer-extras__item p {
	margin: 0 0 0.5rem;
}

.scm-footer-extras__item a {
	color: var(--sc-fg);
}

.scm-footer-extras__logo {
	display: block;
	width: auto;
	max-width: 160px;
	height: 56px;
	object-fit: contain;
	object-position: left center;
}

/* ---------- Competition / event pages ---------- */

.scm-program ul,
.scm-related ul {
	margin: 0.5rem 0 var(--wp--preset--spacing--s);
	padding-left: 1.2rem;
}

.scm-program,
.scm-related {
	margin-top: var(--wp--preset--spacing--s);
}

.scm-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
	gap: var(--wp--preset--spacing--xs);
	list-style: none;
	margin: var(--wp--preset--spacing--s) 0 0;
	padding: 0;
}

.scm-gallery img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

@media (max-width: 781px) {
	.scm-perfect__list li {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.15rem;
	}
}

.scm-pagination {
	margin-top: var(--wp--preset--spacing--m);
}

.scm-pagination .page-numbers {
	display: inline-block;
	min-width: 44px;
	min-height: 44px;
	padding: 0.6rem 0.5rem;
	text-align: center;
	color: var(--sc-fg);
}

.scm-pagination .current {
	color: var(--sc-accent-text);
	font-weight: 700;
}

/* ---------- Palmarès: overall above 700 ---------- */

.scm-700 {
	margin-top: var(--wp--preset--spacing--l);
}

.scm-700__title {
	margin: var(--wp--preset--spacing--xs) 0 var(--wp--preset--spacing--s);
	font-size: clamp(2.5rem, 1.5rem + 4vw, 5rem);
}

.scm-700__text,
.scm-perfect__text {
	max-width: 44rem;
	margin: 0 0 var(--wp--preset--spacing--s);
	font-size: var(--wp--preset--font-size--body-l);
	line-height: 1.5;
}

.scm-700__list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
	gap: var(--wp--preset--spacing--s);
	list-style: none;
	margin: var(--wp--preset--spacing--m) 0 0;
	padding: 0;
}

.scm-700__card {
	padding: var(--wp--preset--spacing--m);
	border: 2px solid var(--wp--preset--color--accent);
	box-shadow: 8px 8px 0 var(--wp--preset--color--accent);
	background: var(--sc-bg);
}

.scm-700__card p {
	margin: 0;
}

.scm-700__score {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(3.5rem, 2rem + 6vw, 7rem);
	line-height: 0.9;
	color: var(--sc-fg);
	font-variant-numeric: tabular-nums;
}

.scm-700__max {
	color: var(--sc-accent-text);
	font-size: 0.45em;
}

.scm-700__place {
	margin-top: var(--wp--preset--spacing--s) !important;
	font-family: var(--wp--preset--font-family--condensed);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sc-accent-text);
}

.scm-700__comp {
	font-size: var(--wp--preset--font-size--body-l);
	font-weight: 600;
}

.scm-700__comp a {
	color: var(--sc-fg);
	text-underline-offset: 0.2em;
}

.scm-700__meta {
	color: var(--sc-muted);
	font-size: var(--wp--preset--font-size--small);
}

.scm-highlights--all .scm-perfect,
.scm-highlights--all .scm-700 {
	margin-top: var(--wp--preset--spacing--l);
}

.scm-perfect__title {
	font-size: clamp(2.5rem, 1.5rem + 4vw, 5rem);
}
