/*
 * Linden Catalogue: base, top bar, home, catalogue grids, product sheet, journal, footer.
 * Cart, checkout, account and notices are in commerce.css.
 *
 * The world: a 1970s Nordic mail-order catalogue printed on coated white paper. Flat colour
 * fields own whole regions, 2px ink rules make the grid, corners are square, nothing casts a
 * shadow and nothing is a gradient.
 */

:root {
	--lc-paper: var(--wp--preset--color--paper, #f7f7f4);
	--lc-ink: var(--wp--preset--color--ink, #1c1c1a);
	--lc-ink-soft: var(--wp--preset--color--ink-soft, #4a4a46);
	--lc-tomato: var(--wp--preset--color--tomato, #c2441c);
	--lc-teal: var(--wp--preset--color--teal, #2f6f73);
	--lc-mustard: var(--wp--preset--color--mustard, #e7b33b);
	--lc-stone: var(--wp--preset--color--stone, #c8c6bf);
	--lc-rule: 2px solid var(--lc-ink);
	--lc-gutter: clamp(1rem, 4vw, 3rem);
	/*
	 * The colour-field column every spread shares (hero, bands, archive heads, 404, explainer,
	 * order-form strip, journal column). It grows with the viewport so the hero's display-step
	 * "numbered." always fits its content box: 340px up to about 945px, 36vw, 488px from 1356px.
	 */
	--lc-field-width: clamp(340px, 36vw, 488px);
	--lc-display: "wdth" 112;
	--lc-ease: cubic-bezier(0.16, 1, 0.3, 1);

	/*
	 * The type scale: eight steps, defined once as theme.json font sizes and named here. Every
	 * font-size in the theme CSS is one of these; line heights and weights belong to the step.
	 *   display   40-68px  0.95  800 wide  the home hero and 404 titles, form and archive titles,
	 *                                      the product sheet's number
	 *   headline  32-48px  1.02  800 wide  section bands, the journal's lead story, explainer, related,
	 *                                      empty cart, product title
	 *   number    26px     1     800 wide  catalogue numbers, second-level heads ("From the journal",
	 *                                      "Featured in the shop"), the order total
	 *   title     20px     1.15  800 wide  box heads, summary head, total label, Place Order, line numbers
	 *   lead      20px     1.45  400       hero and explainer copy, article text, the form's step line
	 *   body      17px     1.55  400       running text, inputs, buttons, notices
	 *   small     15px     1.35  600       navigation, labels, dates, prices in grids, field errors
	 *   micro     13px     1.4   400       legal lines, item metadata, specimen labels
	 */
	--lh-step-display: var(--wp--preset--font-size--display);
	--lh-step-headline: var(--wp--preset--font-size--headline);
	--lh-step-number: var(--wp--preset--font-size--number);
	--lh-step-title: var(--wp--preset--font-size--title);
	--lh-step-lead: var(--wp--preset--font-size--lead);
	--lh-step-body: var(--wp--preset--font-size--body);
	--lh-step-small: var(--wp--preset--font-size--small);
	--lh-step-micro: var(--wp--preset--font-size--micro);
	--lh-leading-display: 0.95;
	--lh-leading-headline: 1.02;
	--lh-leading-number: 1;
	--lh-leading-title: 1.15;
	--lh-leading-lead: 1.45;
	--lh-leading-body: 1.55;
	--lh-leading-small: 1.35;
	--lh-leading-micro: 1.4;
}

/* ---- Browser surfaces ------------------------------------------------------ */

html {
	scrollbar-color: var(--lc-ink) var(--lc-paper);
	-webkit-text-size-adjust: 100%;
}

body {
	font-variation-settings: "wdth" 100;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	caret-color: var(--lc-tomato);
	overflow-x: clip;
}

::selection {
	background: var(--lc-mustard);
	color: var(--lc-ink);
}

a {
	text-underline-offset: 0.2em;
	text-decoration-thickness: 0.08em;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid currentColor;
	outline-offset: 3px;
}

:where(input, select, textarea):focus-visible {
	outline-color: var(--lc-ink);
}

h1,
h2,
h3,
.lc-no,
.lc-plate__no {
	font-variation-settings: var(--lc-display);
	text-wrap: balance;
}

p {
	text-wrap: pretty;
}

/* Korean breaks between words, not inside them. */
:lang(ko) body {
	word-break: keep-all;
	overflow-wrap: break-word;
}

/*
 * Hangul is drawn to the full em, so the Latin display leading (0.95-1.02) makes stacked Korean
 * lines touch. Korean headings in the display and headline steps get 1.12.
 */
:lang(ko) {
	--lh-leading-display: 1.12;
	--lh-leading-headline: 1.12;
}

:lang(ko) :is(h1, h2, .lc-hero__title, .lc-band__title, .lc-form-head__title, .lc-archive-head__title, .lc-notfound__title, .lc-sheet__title) {
	line-height: 1.12;
}

.price,
.amount,
.wc-block-components-product-price,
.wc-block-formatted-money-amount,
.lc-plate__price {
	font-variant-numeric: tabular-nums lining-nums;
}

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

/* Every template sets its own rhythm; the block gap between the header, main and footer is zero. */
.wp-site-blocks > * + * {
	margin-block-start: 0;
}

.wp-site-blocks {
	padding-left: 0;
	padding-right: 0;
}

main {
	display: block;
}

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

/* ---- Colour fields --------------------------------------------------------- */

.lc-field-tomato { background: var(--lc-tomato); color: var(--lc-paper); }
.lc-field-teal { background: var(--lc-teal); color: var(--lc-paper); }
.lc-field-mustard { background: var(--lc-mustard); color: var(--lc-ink); }
.lc-field-ink { background: var(--lc-ink); color: var(--lc-paper); }

.lc-field-tomato :where(h1, h2, h3, a),
.lc-field-teal :where(h1, h2, h3, a),
.lc-field-ink :where(h1, h2, h3, a) {
	color: var(--lc-paper);
}

.lc-field-mustard :where(h1, h2, h3, a) {
	color: var(--lc-ink);
}

/* Ink buttons sit on any field; on ink they turn to paper. */
.lc-field-tomato .wp-element-button,
.lc-field-teal .wp-element-button,
.lc-field-mustard .wp-element-button {
	background: var(--lc-ink);
	color: var(--lc-paper);
}

.lc-field-tomato .wp-element-button:hover,
.lc-field-teal .wp-element-button:hover,
.lc-field-mustard .wp-element-button:hover {
	background: var(--lc-paper);
	color: var(--lc-ink);
}

.lc-field-ink .wp-element-button {
	background: var(--lc-paper);
	color: var(--lc-ink);
	border-color: var(--lc-paper);
}

.wp-element-button,
.wp-block-button__link {
	transition: background-color 160ms var(--lc-ease), color 160ms var(--lc-ease);
}

.lc-field-tomato .wp-element-button:hover,
.lc-field-teal .wp-element-button:hover,
.lc-field-mustard .wp-element-button:hover {
	border-color: var(--lc-ink);
}

/* ---- Top bar --------------------------------------------------------------- */

.lc-header {
	position: relative;
	z-index: 20;
}

.lc-topbar {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 1rem 2rem;
	min-height: 64px;
	padding: 0.75rem var(--lc-gutter);
	background: var(--lc-ink);
	color: var(--lc-paper);
}

.lc-topbar > * {
	margin: 0 !important;
}

.lc-wordmark {
	font-size: var(--lh-step-number);
	font-weight: 800;
	font-variation-settings: var(--lc-display);
	letter-spacing: -0.02em;
	white-space: nowrap;
	margin: 0;
}

.lc-wordmark a {
	color: inherit;
	text-decoration: none;
}

.lc-sections-nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lc-sections-nav a {
	color: var(--lc-paper);
	font-size: var(--lh-step-small);
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	padding-block: 0.35rem;
}

.lc-sections-nav a:hover,
.lc-sections-nav a[aria-current="page"] {
	text-decoration: underline;
	text-decoration-color: var(--lc-mustard);
	text-decoration-thickness: 3px;
	text-underline-offset: 0.35em;
}

.lc-topbar__tools {
	display: flex;
	align-items: center;
	gap: 1.25rem;
}

.lc-topbar__tools > * {
	margin: 0 !important;
}

/* EN / 한국어, from the linden-site mu-plugin. */
.linden-lang-switch {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0;
	font-size: var(--lh-step-small);
	font-weight: 600;
	white-space: nowrap;
}

/*
 * On English pages the only Hangul is the word "한국어" in this switch. A system Korean face
 * draws it, so English pages never download the 1.7 MB Pretendard file.
 */
html:not(:lang(ko)) .linden-lang-switch [lang="ko"] {
	font-family: "Malgun Gothic", "Apple SD Gothic Neo", "Noto Sans KR", system-ui, sans-serif;
}

.linden-lang-switch a {
	color: var(--lc-paper);
	text-decoration: none;
	padding: 0.35rem 0.2rem;
}

.linden-lang-switch a:hover {
	text-decoration: underline;
}

.linden-lang-switch strong {
	padding: 0.2rem 0.45rem;
	border: 2px solid var(--lc-paper);
	font-weight: 700;
}

.linden-lang-switch [aria-hidden="true"] {
	opacity: 0.6;
}

.lc-topbar .wc-block-customer-account a,
.lc-topbar .wp-block-woocommerce-customer-account a {
	color: var(--lc-paper);
	font-size: var(--lh-step-small);
	font-weight: 600;
	text-decoration: none;
	padding: 0;
}

.lc-topbar .wp-block-woocommerce-customer-account a:hover {
	text-decoration: underline;
}

/* The mini-cart reads "Order form · 2", a mustard tab on the ink bar. */
.lc-order-form-link .wc-block-mini-cart__button {
	display: inline-flex;
	align-items: center;
	gap: 0;
	min-height: 40px;
	padding: 0.45rem 0.9rem;
	background: var(--lc-mustard);
	color: var(--lc-ink);
	border: 2px solid var(--lc-mustard);
	border-radius: 0;
	font: inherit;
	font-size: var(--lh-step-small);
	font-weight: 700;
	cursor: pointer;
	opacity: 1 !important;
}

.lc-order-form-link .wc-block-mini-cart__button:hover {
	background: var(--lc-paper);
	border-color: var(--lc-paper);
}

.lc-order-form-link .wc-block-mini-cart__button:focus-visible {
	outline-color: var(--lc-paper);
}

.lc-order-form-link .wc-block-mini-cart__quantity-badge {
	display: inline-flex;
	align-items: center;
}

.lc-order-form-link .wc-block-mini-cart__quantity-badge::before {
	content: var(--lc-order-form-label, "Order form") "\00a0·\00a0";
	white-space: nowrap;
}

.lc-order-form-link .wc-block-mini-cart__icon {
	display: none;
}

.lc-order-form-link .wc-block-mini-cart__badge {
	position: static;
	transform: none;
	display: inline;
	min-width: 0;
	height: auto;
	margin: 0;
	padding: 0;
	background: transparent !important;
	color: inherit !important;
	border: 0;
	border-radius: 0;
	font-size: inherit;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	box-shadow: none;
}

.lc-order-form-link .wc-block-mini-cart__badge[hidden] {
	display: inline !important;
}

@media (max-width: 1360px) {
	.lc-topbar {
		grid-template-columns: 1fr auto;
		padding-bottom: 0;
	}

	.lc-sections-nav {
		grid-column: 1 / -1;
		grid-row: 2;
		min-width: 0;
		margin-inline: calc(var(--lc-gutter) * -1) !important;
		border-top: 2px solid #3a3a37;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.lc-sections-nav ul {
		flex-wrap: nowrap;
		padding: 0.65rem var(--lc-gutter);
	}
}

@media (max-width: 600px) {
	.lc-topbar {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 0.6rem 0.5rem;
		padding-top: 0.6rem;
	}

	/* The title step at normal width, so the wordmark fits beside the language switch and the order-form tab. */
	.lc-wordmark {
		font-size: var(--lh-step-title);
		font-variation-settings: "wdth" 100;
	}

	.lc-topbar__tools {
		gap: 0.35rem;
	}

	.linden-lang-switch {
		font-size: var(--lh-step-micro);
		gap: 0.2rem;
	}

	.linden-lang-switch strong {
		padding: 0.15rem 0.35rem;
	}

	.lc-topbar .wp-block-woocommerce-customer-account {
		display: none;
	}

	.lc-order-form-link .wc-block-mini-cart__button {
		padding: 0.4rem 0.6rem;
		font-size: var(--lh-step-small);
	}
}

/* ---- Catalogue numbers ----------------------------------------------------- */

.lc-no {
	margin: 0;
	font-weight: 800;
	font-size: var(--lh-step-number);
	line-height: var(--lh-leading-number);
	letter-spacing: -0.02em;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

/* ---- Plates: picture, number, price, name ---------------------------------- */

.lc-plates {
	display: grid;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lc-plate {
	display: flex;
	min-width: 0;
	border-left: var(--lc-rule);
	border-bottom: var(--lc-rule);
	background: var(--lc-paper);
}

.lc-plate__link {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	width: 100%;
	min-width: 0;
	padding: 1.25rem;
	color: var(--lc-ink);
	text-decoration: none;
}

.lc-plate__picture {
	display: block;
	aspect-ratio: 1;
	margin-bottom: 0.6rem;
	overflow: hidden;
	background: var(--lc-stone);
}

.lc-plate__picture img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lc-plate__row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.25rem 0.75rem;
}

.lc-plate__no {
	font-size: var(--lh-step-number);
	font-weight: 800;
	line-height: var(--lh-leading-number);
	letter-spacing: -0.02em;
	white-space: nowrap;
}

.lc-plate__price {
	font-weight: 600;
	white-space: nowrap;
}

.lc-plate__price del {
	opacity: 0.7;
}

.lc-plate__name {
	margin: 0;
	font-size: var(--lh-step-small);
	font-weight: 500;
	font-variation-settings: "wdth" 100;
	letter-spacing: 0;
	line-height: var(--lh-leading-small);
}

.lc-plate__link:hover .lc-plate__name,
.lc-plate__link:focus-visible .lc-plate__name {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.lc-plate__link:focus-visible {
	outline-offset: -5px;
}

/* ---- Home: first viewport --------------------------------------------------- */

.lc-hero {
	display: grid;
	grid-template-columns: var(--lc-field-width) minmax(0, 1fr);
	border-bottom: var(--lc-rule);
	margin: 0;
}

.lc-hero__field {
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: clamp(2rem, 3.4vw, 3rem);
	margin: 0;
}

.lc-hero__field > * {
	margin: 0;
}

/* The issue's cover line: the display step. The field width is tuned so "numbered." fits whole. */
.lc-hero__title {
	font-size: var(--lh-step-display);
	line-height: var(--lh-leading-display);
	letter-spacing: -0.03em;
	margin: 0 0 1.5rem;
}

.lc-hero__text {
	max-width: 30ch;
	font-size: var(--lh-step-lead);
	line-height: var(--lh-leading-lead);
}

.lc-hero__actions {
	margin-top: 2rem !important;
}

.lc-hero .wp-element-button {
	font-size: var(--lh-step-body);
	padding: 1rem 1.6rem;
}

.lc-issue {
	margin: auto 0 0 !important;
	padding-top: 1rem;
	border-top: 2px solid currentColor;
	font-size: var(--lh-step-small);
	font-weight: 600;
	transform: translateY(0.5rem);
}

.lc-hero__actions + .lc-issue {
	margin-top: auto;
}

.lc-hero .lc-plates {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-content: stretch;
}

.lc-hero .lc-plate:nth-child(n + 4) {
	border-bottom: 0;
}

.lc-hero .lc-plate__picture {
	aspect-ratio: 1.08;
}

@media (min-width: 901px) {
	.lc-hero__field {
		min-height: min(820px, calc(100svh - 64px));
	}
}

@media (max-width: 900px) {
	.lc-hero {
		grid-template-columns: 1fr;
	}

	.lc-hero__field {
		padding: 2rem var(--lc-gutter) 1.5rem;
	}

	.lc-issue {
		margin-top: 2rem !important;
		transform: none;
	}

	.lc-hero .lc-plates {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lc-hero .lc-plate:nth-child(odd) {
		border-left: 0;
	}

	.lc-hero .lc-plate:nth-child(n + 4) {
		border-bottom: var(--lc-rule);
	}

	.lc-hero .lc-plate:nth-child(n + 5) {
		border-bottom: 0;
	}
}

@media (max-width: 600px) {
	.lc-plate__link {
		padding: 0.85rem;
	}

	.lc-plate__no {
		font-size: var(--lh-step-title);
	}

	.lc-plate__price {
		font-size: var(--lh-step-small);
	}

	.lc-plate__name {
		font-size: var(--lh-step-small);
	}
}

/* ---- Home: section bands ---------------------------------------------------- */

.lc-band {
	display: grid;
	grid-template-columns: var(--lc-field-width) repeat(4, minmax(0, 1fr));
	border-bottom: var(--lc-rule);
}

.lc-band__field {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: clamp(1.75rem, 3vw, 2.75rem);
}

.lc-band[data-count="3"] .lc-band__field { grid-column: span 2; }
.lc-band[data-count="2"] .lc-band__field { grid-column: span 3; }
.lc-band[data-count="1"] .lc-band__field { grid-column: span 4; }

.lc-band__title {
	margin: 0;
	font-size: var(--lh-step-headline);
	line-height: 0.98;
	letter-spacing: -0.03em;
}

.lc-band__range {
	margin: 0;
	font-size: var(--lh-step-title);
	font-weight: 800;
	font-variation-settings: var(--lc-display);
}

.lc-band__text {
	margin: 0;
	max-width: 34ch;
}

.lc-band__more {
	margin-top: auto;
	padding-top: 1.5rem;
	font-weight: 700;
}

.lc-band__plates {
	display: contents;
}

.lc-band .lc-plate {
	border-bottom: 0;
}

@media (max-width: 900px) {
	.lc-band {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lc-band__field,
	.lc-band[data-count] .lc-band__field {
		grid-column: 1 / -1;
		padding: 1.75rem var(--lc-gutter);
	}

	.lc-band .lc-plate {
		border-bottom: var(--lc-rule);
	}

	.lc-band .lc-plate:nth-of-type(odd) {
		border-left: 0;
	}

	.lc-band .lc-plate:nth-last-of-type(-n + 2):nth-of-type(odd),
	.lc-band .lc-plate:last-of-type {
		border-bottom: 0;
	}

	.lc-band[data-count="3"] .lc-plate:last-of-type {
		grid-column: span 2;
	}

	.lc-band[data-count="3"] .lc-plate:last-of-type .lc-plate__link {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		column-gap: 0.85rem;
		align-content: start;
	}

	.lc-band[data-count="3"] .lc-plate:last-of-type .lc-plate__picture {
		grid-row: span 3;
		margin: 0;
	}
}

/* ---- Home: journal pages ---------------------------------------------------- */

.lc-journal {
	border-bottom: var(--lc-rule);
	margin: 0;
}

.lc-journal .linden-journal {
	display: grid;
	grid-template-columns: minmax(0, 1fr) var(--lc-field-width);
	gap: 0;
}

/*
 * Both column heads ("From the journal", "Featured in the shop") sit on the number step, so the
 * lead story's headline-step title is what leads the spread.
 */
.linden-journal h2 {
	margin: 0 0 1.5rem;
	font-size: var(--lh-step-number);
	line-height: var(--lh-leading-number);
	letter-spacing: -0.02em;
}

.linden-journal__posts {
	padding: clamp(2rem, 4vw, 3.5rem) var(--lc-gutter);
}

.linden-journal__posts ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: var(--lc-rule);
}

.linden-journal__post {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-content: start;
	gap: 0.5rem;
	padding: 1.5rem 1.5rem 1.75rem 0;
	border-bottom: var(--lc-rule);
}

.linden-journal__post:nth-child(3) {
	padding-left: 1.5rem;
	padding-right: 0;
	border-left: var(--lc-rule);
}

/* The newest story opens the spread: picture left, headline right. */
.linden-journal__post:first-child {
	grid-column: 1 / -1;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: 2rem;
	padding-right: 0;
}

.linden-journal__post:first-child > a:first-child {
	grid-row: span 4;
}

.linden-journal__post img {
	display: block;
	width: 100%;
	aspect-ratio: 1.25;
	object-fit: cover;
}

.linden-journal__post > a:first-child {
	display: block;
	margin-bottom: 0.75rem;
}

.linden-journal__post h3 {
	margin: 0;
	font-size: var(--lh-step-number);
	line-height: 1.08;
	letter-spacing: -0.02em;
}

.linden-journal__post:first-child h3 {
	font-size: var(--lh-step-headline);
	align-self: start;
}

.linden-journal__post h3 a {
	color: var(--lc-ink);
	text-decoration: none;
}

.linden-journal__post h3 a:hover {
	text-decoration: underline;
}

.linden-journal__post time {
	order: -1;
	font-size: var(--lh-step-small);
	font-weight: 600;
	color: var(--lc-ink-soft);
}

.linden-journal__post:first-child time {
	order: 0;
}

.linden-journal__post p {
	margin: 0;
	max-width: 52ch;
}

/* "Featured in the shop" is the mustard column of the spread. */
.linden-journal__products {
	padding: clamp(2rem, 4vw, 3.5rem) var(--lc-gutter);
	background: var(--lc-mustard);
	color: var(--lc-ink);
	border-left: var(--lc-rule);
}

.lc-journal .linden-journal__products ul {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: var(--lc-rule);
}

.linden-journal__product {
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr);
	grid-template-rows: auto auto auto;
	column-gap: 1rem;
	align-items: center;
	padding: 0.85rem 0;
	border-bottom: var(--lc-rule);
}

.linden-journal__product > a:first-child {
	grid-row: span 3;
}

.linden-journal__no {
	align-self: end;
	font-size: var(--lh-step-title);
	font-weight: 800;
	font-variation-settings: var(--lc-display);
	line-height: 1;
}

.linden-journal__no + h3 {
	align-self: start;
}

.linden-journal__product img {
	display: block;
	width: 76px;
	height: 76px;
	object-fit: cover;
	border: var(--lc-rule);
}

.linden-journal__product h3 {
	margin: 0;
	align-self: end;
	font-size: var(--lh-step-body);
	font-weight: 700;
	font-variation-settings: "wdth" 100;
	letter-spacing: 0;
	line-height: 1.25;
}

.linden-journal__product h3 a {
	color: var(--lc-ink);
	text-decoration: none;
}

.linden-journal__product h3 a:hover {
	text-decoration: underline;
}

.linden-journal__product .price {
	align-self: start;
	font-weight: 600;
}

@media (max-width: 900px) {
	.lc-journal .linden-journal {
		grid-template-columns: 1fr;
	}

	.linden-journal__products {
		border-left: 0;
		border-top: var(--lc-rule);
	}

	.linden-journal__posts ul {
		grid-template-columns: 1fr;
	}

	.linden-journal__post,
	.linden-journal__post:first-child,
	.linden-journal__post:nth-child(3) {
		grid-template-columns: 1fr;
		padding: 1.25rem 0 1.5rem;
		border-left: 0;
	}

	.linden-journal__post:first-child > a:first-child {
		grid-row: auto;
	}

	.linden-journal__post:first-child time {
		order: -1;
	}
}

/* ---- Home: how the order form works (a filled specimen) ---------------------- */

.lc-explainer {
	margin: 0;
	padding-bottom: clamp(2.5rem, 5vw, 4rem);
	border-bottom: var(--lc-rule);
}

.lc-explainer__head {
	display: grid;
	grid-template-columns: var(--lc-field-width) minmax(0, 1fr);
	align-items: end;
	gap: 1.5rem 3rem;
	padding: clamp(2rem, 4vw, 3.5rem) var(--lc-gutter);
	background: var(--lc-teal);
	color: var(--lc-paper);
}

.lc-explainer__head h2 {
	margin: 0;
	color: var(--lc-paper);
	font-size: var(--lh-step-headline);
	letter-spacing: -0.03em;
}

.lc-explainer__head p {
	margin: 0;
	max-width: 58ch;
	font-size: var(--lh-step-lead);
}

.lc-tear {
	height: 0;
	margin: 0;
	border-top: 2px dashed var(--lc-ink);
}

.lc-explainer .lc-tear {
	margin-top: 1.25rem;
}

/* The specimen: box 5 of the checkout on the left, the order summary on the right. */
.lc-specimen {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	gap: 0 clamp(1.5rem, 3vw, 3rem);
	align-items: start;
	margin: 1.75rem var(--lc-gutter) 0;
}

.lc-specimen p {
	margin: 0;
}

.lc-specimen__box,
.lc-specimen__summary {
	border: var(--lc-rule);
	background: #fff;
}

.lc-specimen__boxhead,
.lc-specimen__summaryhead {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding: 0.85rem 1.25rem;
	border-bottom: var(--lc-rule);
	font-size: var(--lh-step-title);
	font-weight: 800;
	font-variation-settings: var(--lc-display);
	line-height: var(--lh-leading-title);
}

.lc-specimen__boxhead {
	background: var(--lc-mustard);
}

.lc-specimen__summaryhead {
	background: var(--lc-ink);
	color: var(--lc-paper);
}

.lc-specimen__num {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	width: 2.25rem;
	height: 2.25rem;
	background: var(--lc-ink);
	color: var(--lc-paper);
	font-size: var(--lh-step-title);
}

.lc-specimen__body {
	display: grid;
	gap: 1rem;
	padding: 1.25rem;
}

.lc-specimen__tick {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-weight: 700;
}

.lc-specimen__check {
	position: relative;
	flex: 0 0 auto;
	width: 1.375rem;
	height: 1.375rem;
	background: var(--lc-ink);
}

.lc-specimen__check::after {
	content: "";
	position: absolute;
	left: 0.42rem;
	top: 0.16rem;
	width: 0.35rem;
	height: 0.7rem;
	border: solid var(--lc-paper);
	border-width: 0 3px 3px 0;
	transform: rotate(45deg);
}

.lc-specimen__field {
	display: grid;
	gap: 0.15rem;
	padding: 0.6rem 0.85rem;
	border: var(--lc-rule);
}

.lc-specimen__label {
	font-size: var(--lh-step-micro);
	color: var(--lc-ink-soft);
}

.lc-specimen__value {
	font-size: var(--lh-step-body);
}

.lc-specimen__field--date {
	max-width: 22rem;
}

.lc-specimen__note {
	font-size: var(--lh-step-small);
	color: var(--lc-ink-soft);
}

.lc-specimen__lines {
	margin: 0;
	padding: 0 1.25rem;
	list-style: none;
}

.lc-specimen__line {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.7rem 0;
	border-bottom: 2px dashed var(--lc-ink);
}

.lc-specimen__item {
	min-width: 0;
}

.lc-specimen__qty {
	color: var(--lc-ink-soft);
	font-weight: 600;
	white-space: nowrap;
}

.lc-specimen__amount {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.lc-specimen__line--offer .lc-specimen__item,
.lc-specimen__line--fee .lc-specimen__item {
	font-weight: 700;
}

.lc-specimen__line--offer .lc-specimen__amount {
	color: var(--lc-teal);
}

.lc-specimen__line--total {
	border-bottom: 0;
	border-top: var(--lc-rule);
	margin-top: -2px;
	font-size: var(--lh-step-title);
	font-weight: 800;
	font-variation-settings: var(--lc-display);
}

.lc-specimen__line--total .lc-specimen__amount {
	font-weight: 800;
}

.lc-specimen__free {
	display: grid;
	gap: 0.6rem;
	padding: 1rem 1.25rem;
	border-top: var(--lc-rule);
	font-weight: 700;
}

.lc-specimen__bar {
	display: block;
	height: 1.125rem;
	border: var(--lc-rule);
	background: #fff;
}

.lc-specimen__bar > span {
	display: block;
	height: 100%;
	background: var(--lc-teal);
}

.lc-specimen__addon {
	display: grid;
	gap: 0.6rem;
	padding-bottom: 1.1rem;
	border-top: var(--lc-rule);
}

.lc-specimen__addonhead {
	padding: 0.7rem 1.25rem;
	background: var(--lc-mustard);
	border-bottom: var(--lc-rule);
	font-weight: 800;
	font-variation-settings: var(--lc-display);
}

.lc-specimen__addonline {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.25rem 0.75rem;
	padding: 0 1.25rem;
	font-weight: 700;
}

/* Fill, size and type come from the shared "Add" button rule in commerce.css, as in the live cart. */
.lc-specimen__addbtn {
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	justify-self: start;
	align-self: start;
	margin: 0 1.25rem;
}

/* As on the live rows: number and name, then the price on its own line. */
.lc-specimen__addonline .lc-specimen__amount {
	flex-basis: 100%;
}

.lc-explainer__cta {
	margin: 2rem var(--lc-gutter) 0;
}

@media (max-width: 900px) {
	.lc-explainer__head,
	.lc-specimen {
		grid-template-columns: 1fr;
	}

	.lc-specimen {
		gap: 1.25rem;
	}
}

/* The number that leads an order line or a suggested add-on, in the display face. */
.lc-line-no,
.linden-cp-bump__no {
	display: inline-block;
	min-width: 4.6em;
	margin-right: 0.35rem;
	font-weight: 800;
	font-variation-settings: var(--lc-display);
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.01em;
	white-space: nowrap;
	color: var(--lc-ink);
}

/* ---- Archive heads: shop, sections, journal, account ------------------------ */

.lc-archive-head {
	display: grid;
	grid-template-columns: var(--lc-field-width) minmax(0, 1fr);
	align-items: end;
	gap: 1.5rem 3rem;
	margin: 0;
	padding: clamp(2rem, 4vw, 3.5rem) var(--lc-gutter);
	border-bottom: var(--lc-rule);
}

.lc-archive-head__title {
	margin: 0;
	font-size: var(--lh-step-display);
	line-height: var(--lh-leading-display);
	letter-spacing: -0.03em;
	overflow-wrap: anywhere;
}

.lc-archive-head__meta {
	display: grid;
	gap: 0.75rem;
	max-width: 62ch;
}

.lc-archive-head__meta p {
	margin: 0;
	font-size: var(--lh-step-body);
}

.lc-archive-head__meta .lc-archive-head__range {
	font-size: var(--lh-step-title);
	font-weight: 800;
	font-variation-settings: var(--lc-display);
}

.lc-archive-head__index {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0.5rem 0 0;
	padding: 0;
	list-style: none;
}

.lc-archive-head__index a {
	display: inline-flex;
	gap: 0.5rem;
	align-items: baseline;
	padding: 0.45rem 0.75rem;
	border: 2px solid currentColor;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.lc-archive-head__index a:hover {
	background: var(--lc-paper);
	color: var(--lc-ink);
	border-color: var(--lc-paper);
}

.lc-archive-head__digit {
	font-weight: 800;
	font-variation-settings: var(--lc-display);
}

@media (max-width: 900px) {
	.lc-archive-head {
		grid-template-columns: 1fr;
	}
}

/* ---- Product grids (shop, sections, search, related) ------------------------ */

.lc-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 2rem;
	margin: 0;
	padding: 0.9rem var(--lc-gutter);
	border-bottom: var(--lc-rule);
}

.lc-toolbar > * {
	margin: 0 !important;
}

.lc-toolbar .woocommerce-result-count {
	margin: 0;
	font-weight: 600;
}

.lc-toolbar .woocommerce-ordering {
	margin: 0;
}

.lc-toolbar select,
.wc-block-catalog-sorting select {
	min-height: 44px;
	padding: 0.5rem 2.25rem 0.5rem 0.75rem;
	border: var(--lc-rule);
	border-radius: 0;
	background: var(--lc-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231c1c1a' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
	color: var(--lc-ink);
	font: inherit;
	font-weight: 600;
	appearance: none;
}

.lc-collection {
	display: flow-root;
	margin: 0 !important;
}

.lc-collection > .wc-block-components-notices:empty {
	display: none;
}

.lc-collection .wc-block-product-template,
.lc-collection .wp-block-woocommerce-product-template {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

.lc-collection .wc-block-product {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 1.25rem;
	border-right: var(--lc-rule);
	border-bottom: var(--lc-rule);
	text-align: left;
}

.lc-collection .wc-block-product:nth-child(4n) {
	border-right: 0;
}

.lc-collection .wc-block-product > * {
	margin: 0 !important;
}

.lc-collection .wc-block-components-product-image {
	margin-bottom: 0.6rem !important;
	aspect-ratio: 1;
	overflow: hidden;
}

.lc-collection .wc-block-components-product-image img {
	width: 100%;
	height: 100% !important;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 0 !important;
}

.lc-card-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem;
	margin: 0 !important;
}

.lc-card-row > * {
	margin: 0 !important;
}

.lc-card-row .wc-block-components-product-price {
	font-size: var(--lh-step-body);
	font-weight: 600;
	text-align: right !important;
}

.lc-collection .wp-block-post-title {
	font-size: var(--lh-step-small);
	font-weight: 500;
	font-variation-settings: "wdth" 100;
	letter-spacing: 0;
	line-height: var(--lh-leading-small);
	text-align: left !important;
}

.lc-collection .wp-block-post-title a {
	color: var(--lc-ink);
	text-decoration: none;
}

.lc-collection .wp-block-post-title a:hover {
	text-decoration: underline;
}

.lc-collection .wp-block-woocommerce-product-button,
.lc-collection .wc-block-components-product-button {
	margin-top: auto !important;
	padding-top: 0.75rem;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	text-align: left;
}

.lc-collection .wc-block-components-product-button__button,
.lc-collection .wp-block-button__link {
	min-height: 44px;
	margin: 0 !important;
	padding: 0.6rem 1rem !important;
	border: var(--lc-rule) !important;
	border-radius: 0 !important;
	background: var(--lc-paper) !important;
	color: var(--lc-ink) !important;
	font-size: var(--lh-step-small);
	font-weight: 700;
	white-space: normal;
}

.lc-collection .wc-block-components-product-button__button:hover,
.lc-collection .wp-block-button__link:hover {
	background: var(--lc-ink) !important;
	color: var(--lc-paper) !important;
}

.lc-collection .wc-block-components-product-button__button.loading {
	opacity: 0.7;
}

.lc-collection .wc-block-components-product-button .added_to_cart,
.lc-collection .wc-block-components-product-button__button + a {
	margin-top: 0.5rem;
	font-weight: 600;
	color: var(--lc-ink);
}

.lc-collection .wp-block-query-pagination {
	padding: 1.5rem var(--lc-gutter);
	gap: 1rem;
	font-weight: 700;
}

.lc-related {
	margin: 0 !important;
	border-top: var(--lc-rule);
}

.lc-related__title {
	margin: 0 !important;
	padding: 2rem var(--lc-gutter) 1.5rem;
	border-bottom: var(--lc-rule);
	font-size: var(--lh-step-headline);
}

@media (max-width: 1100px) {
	.lc-collection .wc-block-product-template,
	.lc-collection .wp-block-woocommerce-product-template {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.lc-collection .wc-block-product:nth-child(4n) {
		border-right: var(--lc-rule);
	}

	.lc-collection .wc-block-product:nth-child(3n) {
		border-right: 0;
	}
}

@media (max-width: 700px) {
	.lc-collection .wc-block-product-template,
	.lc-collection .wp-block-woocommerce-product-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lc-collection .wc-block-product {
		padding: 0.85rem;
	}

	.lc-collection .wc-block-product:nth-child(n) {
		border-right: var(--lc-rule);
	}

	.lc-collection .wc-block-product:nth-child(2n) {
		border-right: 0;
	}

	.lc-collection .lc-no {
		font-size: var(--lh-step-title);
	}

	.lc-card-row {
		flex-wrap: wrap;
		gap: 0.25rem 0.75rem;
	}

	.lc-card-row .wc-block-components-product-price {
		font-size: var(--lh-step-small);
	}
}

/* ---- Breadcrumbs ----------------------------------------------------------- */

.lc-crumbs {
	margin: 0 !important;
	padding: 0.85rem var(--lc-gutter);
	border-bottom: var(--lc-rule);
	font-size: var(--lh-step-small);
	font-weight: 600;
}

.lc-crumbs .woocommerce-breadcrumb {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	font-size: inherit;
}

.lc-crumbs a,
.woocommerce-breadcrumb a {
	color: var(--lc-ink);
}

/* ---- Product sheet ---------------------------------------------------------- */

.lc-sheet {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	margin: 0;
	border-bottom: var(--lc-rule);
}

.lc-sheet__picture {
	margin: 0;
	padding: 0;
	border-right: var(--lc-rule);
	background: var(--lc-stone);
}

.lc-section-teal .lc-sheet__picture { background: var(--lc-teal); }
.lc-section-tomato .lc-sheet__picture { background: var(--lc-tomato); }
.lc-section-mustard .lc-sheet__picture { background: var(--lc-mustard); }
.lc-section-ink .lc-sheet__picture { background: var(--lc-ink); }

.lc-sheet__picture .wp-block-woocommerce-product-image-gallery {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

.lc-sheet__picture .woocommerce-product-gallery {
	position: relative;
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	opacity: 1 !important;
}

.lc-sheet__picture .woocommerce-product-gallery__wrapper {
	margin: 0;
}

.lc-sheet__picture .woocommerce-product-gallery__image img,
.lc-sheet__picture .wp-post-image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
}

.lc-sheet__picture .flex-control-thumbs {
	display: flex;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: var(--lc-rule);
}

.lc-sheet__picture .flex-control-thumbs li {
	width: 96px;
	border-right: var(--lc-rule);
}

.lc-sheet__picture .woocommerce-product-gallery__trigger {
	display: none;
}

.lc-sheet__details {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: clamp(1.75rem, 4vw, 3.5rem) var(--lc-gutter);
	margin: 0;
}

.lc-sheet__details > * {
	margin: 0 !important;
}

.lc-sheet__details .lc-no {
	font-size: var(--lh-step-display);
	line-height: 0.9;
	letter-spacing: -0.04em;
}

.lc-sheet__title {
	font-size: var(--lh-step-headline);
	line-height: var(--lh-leading-headline);
	letter-spacing: -0.025em;
}

.lc-sheet__price,
.lc-sheet__details .wc-block-components-product-price {
	font-size: var(--lh-step-number);
	font-weight: 700;
}

.lc-sheet__summary {
	max-width: 52ch;
	font-size: var(--lh-step-body);
}

.lc-sheet__summary p {
	margin: 0;
}

.lc-sheet__buy {
	padding-top: 1.25rem;
	border-top: var(--lc-rule);
}

/* Variation chips ("swatches"): squared boxes, the chosen one filled with ink. */
.lc-sheet__buy .wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute-name,
.lc-sheet__buy .wc-block-add-to-cart-with-options-variation-selector-attribute-name {
	font-weight: 700;
	font-size: var(--lh-step-body);
}

.lc-sheet__buy .wc-block-product-filter-chips__items {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.lc-sheet__buy .wc-block-product-filter-chips__item {
	min-height: 44px;
	padding: 0.5rem 1rem;
	border: var(--lc-rule) !important;
	border-radius: 0 !important;
	background: var(--lc-paper) !important;
	color: var(--lc-ink) !important;
	font: inherit;
	/* !important: WooCommerce's filter-chip styles set 0.8em with a more specific rule. */
	font-size: var(--lh-step-small) !important;
	font-weight: 600;
	cursor: pointer;
}

.lc-sheet__buy .wc-block-product-filter-chips__item:hover {
	background: var(--lc-stone) !important;
}

.lc-sheet__buy .wc-block-product-filter-chips__item[aria-checked="true"],
.lc-sheet__buy .wc-block-product-filter-chips__item.is-selected {
	background: var(--lc-ink) !important;
	color: var(--lc-paper) !important;
}

.lc-sheet__buy .wc-block-product-filter-chips__item[aria-disabled="true"],
.lc-sheet__buy .wc-block-product-filter-chips__item:disabled {
	opacity: 0.45;
	text-decoration: line-through;
	cursor: not-allowed;
}

.lc-sheet__buy .wc-block-product-filter-chips__label {
	display: inline-flex;
	gap: 0.5rem;
	align-items: center;
}

.lc-sheet__buy .wc-block-product-filter-chips__label-swatch,
.lc-sheet__buy .wc-block-product-filter-chips__swatch {
	border-radius: 0 !important;
}

.lc-sheet__buy .quantity {
	display: inline-flex;
	border: var(--lc-rule);
	border-radius: 0;
}

.lc-sheet__buy .quantity input,
.lc-sheet__buy input.qty {
	width: 3.5rem;
	min-height: 48px;
	border: 0 !important;
	border-radius: 0;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--lc-ink);
	font: inherit;
	font-weight: 700;
	text-align: center;
}

.lc-sheet__buy .quantity button,
.lc-sheet__buy .wc-block-components-quantity-selector__button {
	min-width: 44px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--lc-ink);
	font-size: var(--lh-step-title);
	font-weight: 700;
	cursor: pointer;
}

.lc-sheet__buy .wc-block-components-product-button__button,
.lc-sheet__buy .single_add_to_cart_button,
.lc-sheet__buy .wp-block-button__link {
	min-height: 52px;
	padding: 0.85rem 1.75rem !important;
	border: var(--lc-rule) !important;
	border-radius: 0 !important;
	background: var(--lc-ink) !important;
	color: var(--lc-paper) !important;
	font-size: var(--lh-step-body);
	font-weight: 700;
	opacity: 1 !important;
}

.lc-sheet__buy .wc-block-components-product-button__button:hover,
.lc-sheet__buy .single_add_to_cart_button:hover {
	background: var(--lc-paper) !important;
	color: var(--lc-ink) !important;
}

.lc-sheet__buy .wc-block-components-product-button__button:disabled,
.lc-sheet__buy .wc-block-components-product-button__button[aria-disabled="true"],
.lc-sheet__buy .single_add_to_cart_button.disabled {
	background: var(--lc-stone) !important;
	border-color: var(--lc-stone) !important;
	color: var(--lc-ink) !important;
	cursor: not-allowed;
}

.lc-sheet__buy .added_to_cart,
.lc-sheet__buy .wc-block-components-product-button a {
	font-weight: 700;
	color: var(--lc-ink);
}

.lc-sheet__buy .wp-block-woocommerce-product-stock-indicator,
.lc-sheet__buy .wc-block-components-product-stock-indicator {
	font-weight: 600;
	color: var(--lc-ink);
}

.lc-sheet__meta {
	padding-top: 1rem;
	border-top: var(--lc-rule);
	font-size: var(--lh-step-small);
}

.lc-sheet__meta > * {
	margin: 0 0 0.25rem !important;
}

.lc-sheet__meta a {
	color: var(--lc-ink);
	font-weight: 600;
}

.lc-sheet__buy .wc-block-product-filter-chips__item[value="Oat"],
.lc-sheet__buy .wc-block-product-filter-chips__item[value="Sage"],
.lc-sheet__buy .wc-block-product-filter-chips__item[value="Charcoal"],
.lc-sheet__buy .wc-block-product-filter-chips__item[value="Cream"],
.lc-sheet__buy .wc-block-product-filter-chips__item[value="Rust"] {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding-left: 0.6rem;
}

.lc-sheet__buy .wc-block-product-filter-chips__item[value]::before {
	content: none;
}

.lc-sheet__buy .wc-block-product-filter-chips__item[value="Oat"]::before,
.lc-sheet__buy .wc-block-product-filter-chips__item[value="Sage"]::before,
.lc-sheet__buy .wc-block-product-filter-chips__item[value="Charcoal"]::before,
.lc-sheet__buy .wc-block-product-filter-chips__item[value="Cream"]::before,
.lc-sheet__buy .wc-block-product-filter-chips__item[value="Rust"]::before {
	content: "";
	flex: 0 0 auto;
	width: 1.375rem;
	height: 1.375rem;
	border: var(--lc-rule);
}

.lc-sheet__buy .wc-block-product-filter-chips__item[aria-checked="true"]::before {
	border-color: var(--lc-paper);
}

.lc-sheet__buy .wc-block-product-filter-chips__item[value="Oat"]::before { background: #e6d3a8; }
.lc-sheet__buy .wc-block-product-filter-chips__item[value="Sage"]::before { background: #a9bd9f; }
.lc-sheet__buy .wc-block-product-filter-chips__item[value="Charcoal"]::before { background: #3a3a38; }
.lc-sheet__buy .wc-block-product-filter-chips__item[value="Cream"]::before { background: #f7f7f4; }
.lc-sheet__buy .wc-block-product-filter-chips__item[value="Rust"]::before { background: #a9472a; }

/* Description tabs. */
.lc-details {
	margin: 0 !important;
	padding: 0 var(--lc-gutter) 2.5rem;
}

.lc-details .wc-tabs,
.lc-details ul.tabs {
	display: flex;
	gap: 0;
	margin: 0 calc(var(--lc-gutter) * -1) 1.5rem !important;
	padding: 0 var(--lc-gutter) !important;
	list-style: none;
	border-bottom: var(--lc-rule);
}

.lc-details .wc-tabs li,
.lc-details ul.tabs li {
	opacity: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
}

.lc-details .wc-tabs li::before,
.lc-details .wc-tabs li::after,
.lc-details ul.tabs::before {
	display: none !important;
}

.lc-details .wc-tabs li a {
	display: block;
	padding: 1rem 1.25rem 0.9rem !important;
	color: var(--lc-ink) !important;
	font-weight: 700;
	text-decoration: none;
	border-right: var(--lc-rule);
}

.lc-details .wc-tabs li:first-child a {
	border-left: 0;
	padding-left: 0 !important;
}

.lc-details .wc-tabs li.active a {
	text-decoration: underline;
	text-decoration-thickness: 3px;
	text-underline-offset: 0.4em;
	text-decoration-color: var(--lc-tomato);
}

.lc-details .woocommerce-Tabs-panel {
	max-width: 68ch;
	margin: 0 !important;
}

.lc-details .woocommerce-Tabs-panel h2 {
	font-size: var(--lh-step-number);
	margin: 0 0 0.75rem;
}

.lc-details table.shop_attributes {
	border-collapse: collapse;
	border-top: var(--lc-rule);
}

.lc-details table.shop_attributes th,
.lc-details table.shop_attributes td {
	padding: 0.6rem 1rem 0.6rem 0;
	border-bottom: var(--lc-rule);
	text-align: left;
	font-style: normal;
}

.lc-details table.shop_attributes td p {
	margin: 0;
	padding: 0;
}

@media (max-width: 900px) {
	.lc-sheet {
		grid-template-columns: 1fr;
	}

	.lc-sheet__picture {
		border-right: 0;
		border-bottom: var(--lc-rule);
	}
}

/* ---- Journal: index and articles -------------------------------------------- */

.lc-pages {
	margin: 0 !important;
}

.lc-pages .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lc-pages .wp-block-post {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin: 0 !important;
	padding: 1.5rem var(--lc-gutter) 2rem;
	border-right: var(--lc-rule);
	border-bottom: var(--lc-rule);
}

.lc-pages .wp-block-post:nth-child(3n) {
	border-right: 0;
}

.lc-pages .wp-block-post > * {
	margin: 0 !important;
}

.lc-pages .wp-block-post-featured-image img {
	aspect-ratio: 1.25 !important;
	object-fit: cover;
}

.lc-pages .wp-block-post-date {
	font-size: var(--lh-step-small);
	font-weight: 600;
	color: var(--lc-ink-soft);
}

.lc-pages .wp-block-post-title {
	font-size: var(--lh-step-number);
	line-height: 1.05;
}

.lc-pages .wp-block-post-title a {
	text-decoration: none;
}

.lc-pages .wp-block-post-title a:hover {
	text-decoration: underline;
}

.lc-pages .wp-block-post-excerpt__more-text {
	display: none;
}

.lc-empty {
	padding: 2rem var(--lc-gutter);
	font-weight: 600;
}

@media (max-width: 900px) {
	.lc-pages .wp-block-post-template {
		grid-template-columns: 1fr;
	}

	.lc-pages .wp-block-post {
		border-right: 0;
	}
}

.lc-article {
	margin: 0;
	border-bottom: var(--lc-rule);
}

.lc-article__head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	border-bottom: var(--lc-rule);
}

.lc-article__image {
	margin: 0 !important;
	border-right: var(--lc-rule);
}

.lc-article__image img {
	display: block;
	width: 100%;
}

.lc-article__title {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 1rem;
	padding: clamp(2rem, 4vw, 3.5rem) var(--lc-gutter);
	margin: 0 !important;
}

.lc-article__title > * {
	margin: 0 !important;
}

.lc-article__title .wp-block-post-date {
	font-weight: 600;
}

.lc-article__body {
	padding: 2.5rem var(--lc-gutter) 3.5rem;
	font-size: var(--lh-step-lead);
	line-height: 1.6;
}

.lc-article__body > * {
	max-width: 62ch;
}

.lc-article + .lc-journal {
	border-top: 0;
}

@media (max-width: 900px) {
	.lc-article__head {
		grid-template-columns: 1fr;
	}

	.lc-article__image {
		border-right: 0;
		border-bottom: var(--lc-rule);
	}
}

/* ---- Plain pages ------------------------------------------------------------ */

.lc-page {
	padding: clamp(2rem, 4vw, 3.5rem) var(--lc-gutter) 4rem;
}

.lc-page__title {
	margin-bottom: 2rem !important;
}

/* ---- 404 -------------------------------------------------------------------- */

.lc-notfound {
	display: grid;
	grid-template-columns: var(--lc-field-width) minmax(0, 1fr);
	margin: 0;
	border-bottom: var(--lc-rule);
}

.lc-notfound__field {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	margin: 0;
	padding: clamp(2rem, 4vw, 3.5rem) var(--lc-gutter);
}

.lc-notfound__field > * {
	margin: 0 !important;
}

/* The display step, like the home hero's cover line in the same field. */
.lc-notfound__title {
	font-size: var(--lh-step-display);
	line-height: var(--lh-leading-display);
	letter-spacing: -0.03em;
}

.lc-notfound .lc-plates {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lc-notfound .lc-plate:nth-child(n + 3) {
	border-bottom: 0;
}

@media (max-width: 900px) {
	.lc-notfound {
		grid-template-columns: 1fr;
	}

	.lc-notfound .lc-plate:nth-child(odd) {
		border-left: 0;
	}
}

.lc-empty-state {
	display: grid;
	gap: 1rem;
	justify-items: start;
	padding: 3rem var(--lc-gutter);
}

.lc-empty-state > * {
	margin: 0 !important;
}

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

.lc-site-footer {
	margin: 0;
}

.lc-footer {
	padding: 2.5rem var(--lc-gutter) 2rem;
	background: var(--lc-ink);
	color: var(--lc-paper);
}

.lc-footer > * {
	margin: 0 !important;
}

.lc-footer__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 2rem;
	padding-bottom: 2rem;
	border-bottom: 2px solid #3a3a37;
}

.lc-footer__brand {
	display: grid;
	gap: 0.75rem;
	align-content: start;
}

.lc-footer__brand > * {
	margin: 0 !important;
}

.lc-footer__brand .lc-wordmark {
	font-size: var(--lh-step-headline);
}

.lc-footer__brand p {
	max-width: 36ch;
}

.lc-footer__links ul {
	display: grid;
	grid-template-columns: repeat(2, max-content);
	gap: 0.6rem 2.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
	justify-content: end;
}

.lc-footer a {
	color: var(--lc-paper);
	font-weight: 600;
}

.lc-footer a:hover {
	text-decoration: none;
}

.linden-demo-notice {
	margin: 1.75rem 0 0 !important;
	padding: 1rem 1.25rem;
	border: 2px solid var(--lc-mustard);
	color: var(--lc-paper);
	font-size: var(--lh-step-small);
	line-height: 1.5;
	text-align: left;
	max-width: 80ch;
}

@media (max-width: 700px) {
	.lc-footer__grid {
		grid-template-columns: 1fr;
	}

	.lc-footer__links ul {
		justify-content: start;
		grid-template-columns: 1fr 1fr;
		gap: 0.75rem 1rem;
	}
}

/* ---- Reduced motion --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
	}
}
