/**
 * Retail Core Starter — reference stylesheet.
 *
 * Purpose: make the semantic HTML readable. Not a final visual design.
 * Stable class prefix: rcs-
 */

:root {
	--rcs-color-base: #f7f7f5;
	--rcs-color-contrast: #1a1a1a;
	--rcs-color-accent: #245b4a;
	--rcs-color-muted: #5c5c5c;
	--rcs-color-border: #d6d6d0;
	--rcs-space-1: 0.5rem;
	--rcs-space-2: 1rem;
	--rcs-space-3: 1.5rem;
	--rcs-space-4: 2.5rem;
	--rcs-measure: 40rem;
	--rcs-wide: 72rem;
	--rcs-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	font-family: var(--rcs-font);
	color: var(--rcs-color-contrast);
	background:
		linear-gradient(180deg, #eef2ef 0%, var(--rcs-color-base) 18rem),
		var(--rcs-color-base);
	line-height: 1.6;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: var(--rcs-color-accent);
}

.rcs-skip-link {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.rcs-skip-link:focus {
	position: fixed;
	left: var(--rcs-space-2);
	top: var(--rcs-space-2);
	width: auto;
	height: auto;
	padding: var(--rcs-space-1) var(--rcs-space-2);
	background: #fff;
	border: 2px solid var(--rcs-color-accent);
	z-index: 1000;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.rcs-site-header,
.rcs-site-footer,
.rcs-main {
	width: min(100%, var(--rcs-wide));
	margin-inline: auto;
	padding-inline: var(--rcs-space-2);
}

.rcs-site-header {
	padding-block: var(--rcs-space-3);
	border-bottom: 1px solid var(--rcs-color-border);
}

.rcs-site-header__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--rcs-space-2);
}

.rcs-site-brand {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 700;
}

.rcs-site-brand__link {
	color: inherit;
	text-decoration: none;
}

.rcs-site-nav__list,
.rcs-footer-nav__list,
.rcs-card-list,
.rcs-term-list,
.rcs-page-link-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.rcs-site-nav__list,
.rcs-footer-nav__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--rcs-space-2);
}

.rcs-main {
	padding-block: var(--rcs-space-4);
	min-height: 50vh;
}

.rcs-site-footer {
	padding-block: var(--rcs-space-3);
	border-top: 1px solid var(--rcs-color-border);
	color: var(--rcs-color-muted);
}

.rcs-section-title {
	margin: 0 0 var(--rcs-space-2);
	font-size: 1.25rem;
}

.rcs-retailer,
.rcs-publication,
.rcs-hub,
.rcs-entry,
.rcs-archive {
	display: grid;
	gap: var(--rcs-space-3);
	max-width: var(--rcs-measure);
}

.rcs-hub--global-campaign,
.rcs-hub--global-vertical,
.rcs-retailer {
	max-width: var(--rcs-wide);
}

.rcs-card-list {
	display: grid;
	gap: var(--rcs-space-2);
}

.rcs-card {
	padding: var(--rcs-space-2);
	border-top: 1px solid var(--rcs-color-border);
}

.rcs-card__title {
	font-weight: 650;
}

.rcs-card__meta,
.rcs-card__excerpt,
.rcs-retailer__slug,
.rcs-hub__classification,
.rcs-publication__retailer {
	color: var(--rcs-color-muted);
}

.rcs-term-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--rcs-space-1);
	margin-block: var(--rcs-space-1);
}

.rcs-term-list__item {
	padding: 0.15rem 0.5rem;
	border: 1px solid var(--rcs-color-border);
	font-size: 0.875rem;
}

.rcs-meta-list {
	margin: 0;
}

.rcs-meta-list__row {
	display: grid;
	grid-template-columns: 8rem 1fr;
	gap: var(--rcs-space-1);
	padding-block: 0.35rem;
	border-bottom: 1px solid var(--rcs-color-border);
}

.rcs-meta-list__row dt {
	margin: 0;
	font-weight: 600;
}

.rcs-meta-list__row dd {
	margin: 0;
}

.rcs-page-link-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--rcs-space-1) var(--rcs-space-2);
}

.rcs-publication__first-page {
	margin: 0;
	max-width: 28rem;
}

.rcs-publication__first-page-image {
	display: block;
	border: 1px solid var(--rcs-color-border);
	background: #fff;
}

.rcs-publication__first-page-caption {
	margin-top: var(--rcs-space-1);
	color: var(--rcs-color-muted);
	font-size: 0.875rem;
}

.rcs-empty-state {
	max-width: var(--rcs-measure);
}

.rcs-empty-state__title {
	margin-top: 0;
}

.rcs-empty-state__text {
	color: var(--rcs-color-muted);
}

.rcs-button {
	display: inline-block;
	padding: 0.5rem 0.9rem;
	border: 1px solid var(--rcs-color-accent);
	color: var(--rcs-color-accent);
	text-decoration: none;
}

.rcs-featured-image {
	display: block;
}

@media (max-width: 40rem) {
	.rcs-meta-list__row {
		grid-template-columns: 1fr;
	}
}
