/**
 * SQF Production — archive pages.
 *
 * Loaded on the project archives and the services archive. Mobile first.
 */

.sqf-archive {
	padding-block: clamp(28px, 6vw, 64px) clamp(48px, 9vw, 96px);
}

/* =========================================================================
   Head
   ====================================================================== */

.sqf-archive__head {
	margin-bottom: clamp(22px, 4vw, 40px);
	text-align: center;
}

.sqf-archive__title {
	margin: 0;
	font-size: clamp(2rem, 8vw, 3.25rem);
}

.sqf-archive__intro {
	max-width: 60ch;
	margin: 12px auto 0;
	color: var(--sqf-muted);
}

/* Breadcrumb ------------------------------------------------------------- */

.sqf-crumbs {
	margin-bottom: 12px;
}

.sqf-crumbs__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.sqf-crumbs__item + .sqf-crumbs__item::before {
	content: "/";
	margin-inline-end: 6px;
	color: var(--sqf-border);
}

.sqf-crumbs__item a {
	color: var(--sqf-muted);
	transition: color var(--sqf-ease);
}

.sqf-crumbs__item span {
	color: var(--sqf-gold);
}

@media (hover: hover) {

	.sqf-crumbs__item a:hover {
		color: var(--sqf-gold);
	}
}

/* =========================================================================
   Filter tabs
   ====================================================================== */

.sqf-filter {
	margin-bottom: clamp(20px, 4vw, 36px);
	/* Bleed to the screen edge so the strip can scroll fully on a phone. */
	margin-inline: calc(var(--sqf-gutter) * -1);
}

.sqf-filter__scroll {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	padding-inline: var(--sqf-gutter);
	padding-block: 2px;
}

.sqf-filter__scroll::-webkit-scrollbar {
	display: none;
}

.sqf-filter__tab {
	flex: 0 0 auto;
	min-height: 44px;
	padding: 10px 20px;
	background: transparent;
	border: 1px solid var(--sqf-border);
	border-radius: 999px;
	font-family: var(--sqf-font-display);
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--sqf-muted);
	white-space: nowrap;
	cursor: pointer;
	transition: background var(--sqf-ease), color var(--sqf-ease), border-color var(--sqf-ease);
}

.sqf-filter__tab.is-active {
	background: var(--sqf-gold);
	border-color: var(--sqf-gold);
	color: var(--sqf-black);
}

@media (hover: hover) {

	.sqf-filter__tab:not(.is-active):hover {
		border-color: var(--sqf-gold);
		color: var(--sqf-gold);
	}
}

/* =========================================================================
   Grid
   ====================================================================== */

.sqf-archive__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}

.sqf-archive__grid > [hidden] {
	display: none;
}

.sqf-archive__none {
	margin: 32px 0 0;
	text-align: center;
	color: var(--sqf-muted);
}

/* =========================================================================
   Breakpoints
   ====================================================================== */

@media (min-width: 600px) {

	.sqf-archive__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 18px;
	}
}

@media (min-width: 1024px) {

	.sqf-filter {
		margin-inline: 0;
	}

	.sqf-filter__scroll {
		flex-wrap: wrap;
		justify-content: center;
		overflow: visible;
		padding-inline: 0;
	}

	.sqf-archive__grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 22px;
	}
}

@media (min-width: 1440px) {

	.sqf-archive__grid {
		gap: 26px;
	}
}
