/* Shared product cards and grouped catalog: the same stage lacquer on both paths. */
.dsrt-discovery,
.dsrt-catalog {
	--dsrt-discovery-ink: var(--plp-ink, #fff3ea);
	--dsrt-discovery-copy: var(--plp-ink-2, #e8d6ca);
	--dsrt-discovery-link: var(--plp-link, #eaa98f);
	--dsrt-discovery-focus: #e6b98f;
	--dsrt-discovery-tile: var(--plp-tile, rgba(255,232,210,.05));
	--dsrt-discovery-tile-hover: var(--plp-tile-hover, rgba(255,232,210,.085));
	--dsrt-discovery-lacquer-top: var(--plp-lacquer-top, rgba(66,35,60,.94));
	--dsrt-discovery-lacquer-base: var(--plp-lacquer-base, rgba(27,20,44,.97));
	--dsrt-discovery-shadow: var(--plp-shadow, 0 40px 90px -44px rgba(18,8,26,.72), 0 12px 32px -20px rgba(18,8,26,.45));
	--dsrt-discovery-display: var(--plp-display, "Manrope", "Segoe UI", "Helvetica Neue", Arial, sans-serif);
	--dsrt-discovery-font: var(--plp-font, "Barlow", "Segoe UI", "Helvetica Neue", Arial, sans-serif);
	--dsrt-catalog-header: 92px;
	color: var(--dsrt-discovery-ink);
	font-family: var(--dsrt-discovery-font);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-kerning: normal;
	font-variant-ligatures: common-ligatures;
	text-rendering: optimizeLegibility;
}
#primary .dsrt-discovery ::selection,
#primary .dsrt-catalog ::selection { background: rgba(200,110,80,.35); color: #fff; }

#primary .dsrt-discovery,
#primary .dsrt-catalog__plate {
	position: relative;
	isolation: isolate;
	border: 0;
	border-radius: 28px;
	background: linear-gradient(180deg, var(--dsrt-discovery-lacquer-top) 0%, var(--dsrt-discovery-lacquer-base) 62%);
	box-shadow: inset 0 1px 0 rgba(255,204,192,.11), var(--dsrt-discovery-shadow);
	padding: clamp(22px,3.2vw,44px);
}

#primary .dsrt-discovery {
	width: min(1200px, calc(100% - 2 * clamp(16px,4vw,48px)));
	margin: clamp(56px,7vw,96px) auto 0;
	padding-bottom: clamp(34px,5vw,56px);
}

#primary .dsrt-catalog {
	width: min(1360px, calc(100% - 2 * clamp(16px,4vw,48px)));
	margin: 0 auto;
	padding: clamp(12px,2vw,24px) 0 clamp(64px,8vw,112px);
}

#primary .dsrt-catalog__intro { margin-bottom: clamp(28px,4vw,52px); }
#primary .dsrt-catalog__group { margin-top: clamp(28px,4vw,52px); }
#primary .dsrt-catalog__heading { scroll-margin-top: calc(var(--plp-header-h, var(--dsrt-catalog-header)) + 18px); }
#primary .dsrt-catalog__heading,
#primary .dsrt-discovery__title,
#primary .dsrt-catalog__title {
	margin: 0 0 20px !important;
	padding: 0 !important;
	background: none !important;
	font-family: var(--dsrt-discovery-display) !important;
	font-weight: 800;
	letter-spacing: -.025em;
	line-height: 1.08;
	text-wrap: balance;
	color: var(--dsrt-discovery-ink) !important;
}
#primary .dsrt-catalog__title {
	margin-bottom: 12px !important;
	font-size: clamp(2.75rem,2.2rem + 2.8vw,4.5rem);
	letter-spacing: -.035em;
}
#primary .dsrt-discovery__title,
#primary .dsrt-catalog__heading { font-size: clamp(1.875rem,1.45rem + 1.5vw,2.625rem); }
#primary .dsrt-catalog__lede {
	max-width: 65ch;
	margin: 0 0 clamp(22px,3vw,34px) !important;
	font-size: clamp(1.0625rem,1rem + .2vw,1.125rem);
	line-height: 1.6;
	color: var(--dsrt-discovery-copy);
}

.dsrt-catalog__nav,
.dsrt-discovery__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px clamp(16px,2.4vw,30px);
}
#primary .dsrt-catalog__nav a,
#primary .dsrt-discovery__links a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	max-width: 100%;
	color: var(--dsrt-discovery-link) !important;
	font-family: var(--dsrt-discovery-font);
	font-size: .98rem;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .22em;
	overflow-wrap: anywhere;
}
#primary .dsrt-catalog__nav a:hover,
#primary .dsrt-discovery__links a:hover { text-decoration-thickness: 2px; }
#primary .dsrt-catalog__nav a:focus-visible,
#primary .dsrt-discovery__links a:focus-visible {
	outline: 2px solid var(--dsrt-discovery-focus) !important;
	outline-offset: 4px;
	border-radius: 2px;
}

#primary .dsrt-product-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(10px,1.5vw,18px);
	min-width: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}
#primary .dsrt-catalog__featured { margin-bottom: clamp(14px,2vw,22px); }
#primary .dsrt-product-card { min-width: 0; margin: 0; padding: 0; background: none !important; border: 0 !important; }
#primary .dsrt-product-card__link {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	min-width: 0;
	height: 100%;
	padding: clamp(10px,1.4vw,16px);
	border: 0;
	border-radius: 16px;
	background: var(--dsrt-discovery-tile);
	box-shadow: none;
	color: var(--dsrt-discovery-ink) !important;
	text-decoration: none !important;
	transition: background-color 180ms ease;
}
#primary .dsrt-product-card__link:hover { background: var(--dsrt-discovery-tile-hover); }
#primary .dsrt-product-card__link:focus:not(:focus-visible) { outline: none; }
#primary .dsrt-product-card__link:focus-visible {
	outline: 2px solid var(--dsrt-discovery-focus) !important;
	outline-offset: 3px;
	border-radius: 16px;
}
#primary .dsrt-product-card__media {
	position: relative;
	display: grid;
	place-items: center;
	width: 100%;
	min-width: 0;
	aspect-ratio: 16 / 10.5;
	margin-bottom: 15px;
	overflow: hidden;
	border-radius: 14px;
	background: rgba(0,0,0,.18);
}
#primary .dsrt-product-card__image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; }
#primary .dsrt-product-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; min-width: 0; }
#primary .dsrt-product-card__status {
	margin: 0 0 7px;
	color: var(--dsrt-discovery-link);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.35;
	text-transform: uppercase;
}
#primary .dsrt-product-card__title {
	width: 100%;
	margin: 0 0 8px !important;
	padding: 0 !important;
	background: none !important;
	font-family: var(--dsrt-discovery-display) !important;
	font-size: clamp(1.12rem,1rem + .55vw,1.42rem);
	font-weight: 700;
	letter-spacing: -.015em;
	line-height: 1.2;
	text-wrap: balance;
	color: var(--dsrt-discovery-ink) !important;
	overflow-wrap: anywhere;
}
#primary .dsrt-product-card__descriptor {
	width: 100%;
	margin: 0 0 12px;
	color: var(--dsrt-discovery-copy);
	font-size: .96rem;
	line-height: 1.5;
	overflow-wrap: anywhere;
}
#primary .dsrt-product-card__price {
	margin: auto 0 12px;
	color: var(--dsrt-discovery-ink);
	font-size: 1.04rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}
#primary .dsrt-product-card__price del { margin-right: .35em; color: #b9a5a6; font-size: .8em; }
/* The status slot always holds its line, so titles line up across a row. */
#primary .dsrt-product-card__status { min-height: 1.35em; }
#primary .dsrt-product-card__formats { margin: auto 0 6px; color: #b9a5a6; font-size: .84rem; font-weight: 500; letter-spacing: .01em; }
#primary .dsrt-product-card__formats + .dsrt-product-card__price { margin-top: 0; }
#primary .dsrt-product-card__explore {
	margin-top: auto;
	color: var(--dsrt-discovery-link);
	font-size: .88rem;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .22em;
}
#primary .dsrt-product-card__arrow { display: inline-block; margin-left: .2em; }

#primary .dsrt-product-card--featured { grid-column: 1 / -1; }
#primary .dsrt-product-card--featured .dsrt-product-card__link {
	display: grid;
	grid-template-columns: minmax(0,1.35fr) minmax(0,1fr);
	align-items: stretch;
	gap: clamp(18px,3vw,38px);
	padding: clamp(12px,1.6vw,19px);
}
#primary .dsrt-product-card--featured .dsrt-product-card__media { height: 100%; min-height: 260px; margin: 0; }
#primary .dsrt-product-card--featured .dsrt-product-card__body { justify-content: center; padding: clamp(8px,2vw,22px) 8px; }
#primary .dsrt-product-card--featured .dsrt-product-card__title { font-size: clamp(1.8rem,1.35rem + 1.65vw,2.7rem); }
#primary .dsrt-product-card--featured .dsrt-product-card__descriptor { font-size: clamp(1rem,.94rem + .2vw,1.1rem); line-height: 1.6; }
#primary .dsrt-product-card--featured .dsrt-product-card__price { font-size: clamp(1.25rem,1.1rem + .5vw,1.65rem); }
#primary .dsrt-product-card--featured.dsrt-product-card--no-media .dsrt-product-card__link { grid-template-columns: minmax(0,1fr); }

#primary .dsrt-catalog__empty { margin: 0; color: var(--dsrt-discovery-copy); font-size: 1rem; line-height: 1.6; }

@media (max-width: 900px) {
	#primary .dsrt-product-cards { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 699px) {
	#primary .dsrt-catalog { --dsrt-catalog-header: 108px; }
	#primary .dsrt-discovery,
	#primary .dsrt-catalog__plate { border-radius: 22px; }
	#primary .dsrt-product-card--featured .dsrt-product-card__link { grid-template-columns: minmax(0,1fr); gap: 14px; }
	#primary .dsrt-product-card--featured .dsrt-product-card__media { min-height: 0; aspect-ratio: 16 / 10.5; }
	#primary .dsrt-product-card--featured .dsrt-product-card__body { padding: 8px 4px 4px; }
}
@media (max-width: 620px) {
	#primary .dsrt-product-cards { grid-template-columns: minmax(0,1fr); }
	#primary .dsrt-catalog__nav,
	#primary .dsrt-discovery__links { align-items: flex-start; flex-direction: column; gap: 12px; }
	#primary .dsrt-discovery { margin-top: 56px; }
}
@media (prefers-reduced-motion: reduce) {
	#primary .dsrt-product-card__link { transition: none; }
}

/* The archive intro is a console masthead: copy, signal path and jump keys. */
#primary .dsrt-catalog__intro {
	display: grid;
	grid-template-columns: minmax(0,1.35fr) minmax(0,1fr);
	align-items: center;
	column-gap: clamp(24px,4vw,60px);
	row-gap: 18px;
}
#primary .dsrt-catalog__intro .dsrt-catalog__title {
	margin-bottom: 12px !important;
	font-size: clamp(3.5rem,3rem + 2.3vw,5.5rem);
	letter-spacing: -.035em;
}
#primary .dsrt-catalog__intro .dsrt-catalog__lede {
	max-width: 48ch;
	margin: 0 !important;
	font-size: clamp(1.1rem,1rem + .25vw,1.2rem);
	line-height: 1.5;
}
#primary .dsrt-catalog__intro .dsrt-catalog__art {
	width: min(100%,440px);
	min-width: 0;
	justify-self: end;
}
#primary .dsrt-catalog__intro .dsrt-catalog__signal {
	display: block;
	width: 100%;
	height: auto;
}
#primary .dsrt-catalog__intro .dsrt-catalog__nav {
	display: flex;
	grid-column: 1 / -1;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px 10px;
	margin-top: 0;
}
#primary .dsrt-catalog__intro .dsrt-catalog__nav a {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 9px;
	min-width: 0;
	min-height: 56px;
	max-width: none;
	padding: 10px 14px;
	border: 0;
	border-radius: 6px;
	background: var(--dsrt-discovery-lacquer-top);
	box-shadow: inset 0 1px 0 rgba(255,204,192,.11), 0 3px 0 rgba(10,6,15,.42);
	color: var(--dsrt-discovery-ink) !important;
	font-family: var(--dsrt-discovery-font);
	font-size: .98rem;
	font-weight: 600;
	line-height: 1.25;
	text-decoration: none !important;
	text-underline-offset: .22em;
	text-wrap: balance;
	word-break: normal;
	overflow-wrap: normal;
	transition: background-color 150ms cubic-bezier(.22,1,.36,1), color 150ms cubic-bezier(.22,1,.36,1);
}
#primary .dsrt-catalog__intro .dsrt-catalog__nav a:hover {
	background: #9b3a2e;
	color: #fff3ea !important;
}
#primary .dsrt-catalog__intro .dsrt-catalog__nav a:hover .dsrt-catalog__nav-icon { color: #fff3ea; }
#primary .dsrt-catalog__intro .dsrt-catalog__nav a:active {
	background: #86302a;
	box-shadow: inset 0 2px 0 rgba(10,6,15,.28);
	transform: translateY(1px);
}
#primary .dsrt-catalog__intro .dsrt-catalog__nav a:focus-visible {
	position: relative;
	z-index: 1;
	outline: 2px solid #e6b98f !important;
	outline-offset: 4px;
	border-radius: 6px;
}
#primary .dsrt-catalog__intro .dsrt-catalog__nav a span { min-width: 0; text-transform: capitalize; }
#primary .dsrt-catalog__intro .dsrt-catalog__nav-icon {
	display: block;
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	color: var(--dsrt-discovery-link);
}

@media (max-width: 900px) {
	#primary .dsrt-catalog__intro { grid-template-columns: minmax(0,1fr); }
	#primary .dsrt-catalog__intro .dsrt-catalog__art {
		grid-column: 1;
		justify-self: center;
	}
}
@media (max-width: 699px) {
	#primary .dsrt-catalog__intro { row-gap: 14px; }
	#primary .dsrt-catalog__intro .dsrt-catalog__art {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 120px;
	}
	#primary .dsrt-catalog__intro .dsrt-catalog__nav { align-items: stretch; }
}
@media (max-width: 620px) {
	#primary .dsrt-catalog__intro .dsrt-catalog__nav {
		display: grid;
		grid-template-columns: minmax(0,1fr);
		align-items: stretch;
		gap: 6px;
	}
	#primary .dsrt-catalog__intro .dsrt-catalog__nav a {
		width: 100%;
		min-height: 56px;
		padding: 8px 10px;
		gap: 8px;
		font-size: .92rem;
	}
	#primary .dsrt-catalog__intro {
		padding: 16px;
		row-gap: 10px;
	}
	#primary .dsrt-catalog__intro .dsrt-catalog__title {
		margin-bottom: 10px !important;
		font-size: 2.5rem;
	}
	#primary .dsrt-catalog__intro .dsrt-catalog__lede {
		font-size: 1rem;
		line-height: 1.45;
	}
	#primary .dsrt-catalog__intro .dsrt-catalog__art {
		min-height: 0;
		width: 100%;
	}
}
@media (prefers-reduced-motion: reduce) {
	#primary .dsrt-catalog__intro .dsrt-catalog__nav a { transition: none; }
}
