/* Wynn Crest — self-hosted typefaces.
   Cormorant Garamond and DM Sans are served from this site, so the
   storefront makes no third-party font request. */

@font-face {
	font-family: 'Cormorant Garamond';
	font-style: italic;
	font-weight: 300;
	font-display: swap;
	src: url('https://www.wynncrestaroma.com/wp-content/uploads/2026/10/cormorant-garamond-italic-300.woff2') format('woff2');
}

@font-face {
	font-family: 'Cormorant Garamond';
	font-style: italic;
	font-weight: 300;
	font-display: swap;
	src: url('https://www.wynncrestaroma.com/wp-content/uploads/2026/10/cormorant-garamond-italic-300.woff2') format('woff2');
}

@font-face {
	font-family: 'Cormorant Garamond';
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url('https://www.wynncrestaroma.com/wp-content/uploads/2026/10/cormorant-garamond-italic-400.woff2') format('woff2');
}

@font-face {
	font-family: 'Cormorant Garamond';
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url('https://www.wynncrestaroma.com/wp-content/uploads/2026/10/cormorant-garamond-italic-400.woff2') format('woff2');
}

@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url('https://www.wynncrestaroma.com/wp-content/uploads/2026/10/cormorant-garamond-normal-300.woff2') format('woff2');
}

@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url('https://www.wynncrestaroma.com/wp-content/uploads/2026/10/cormorant-garamond-normal-300.woff2') format('woff2');
}

@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('https://www.wynncrestaroma.com/wp-content/uploads/2026/10/cormorant-garamond-normal-400.woff2') format('woff2');
}

@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('https://www.wynncrestaroma.com/wp-content/uploads/2026/10/cormorant-garamond-normal-400.woff2') format('woff2');
}

@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('https://www.wynncrestaroma.com/wp-content/uploads/2026/10/cormorant-garamond-normal-500.woff2') format('woff2');
}

@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('https://www.wynncrestaroma.com/wp-content/uploads/2026/10/cormorant-garamond-normal-500.woff2') format('woff2');
}

@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('https://www.wynncrestaroma.com/wp-content/uploads/2026/10/cormorant-garamond-normal-600.woff2') format('woff2');
}

@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('https://www.wynncrestaroma.com/wp-content/uploads/2026/10/cormorant-garamond-normal-600.woff2') format('woff2');
}

@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('https://www.wynncrestaroma.com/wp-content/uploads/2026/10/cormorant-garamond-normal-700.woff2') format('woff2');
}

@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('https://www.wynncrestaroma.com/wp-content/uploads/2026/10/cormorant-garamond-normal-700.woff2') format('woff2');
}

@font-face {
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url('https://www.wynncrestaroma.com/wp-content/uploads/2026/10/dm-sans-normal-300.woff2') format('woff2');
}

@font-face {
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url('https://www.wynncrestaroma.com/wp-content/uploads/2026/10/dm-sans-normal-300.woff2') format('woff2');
}

@font-face {
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('https://www.wynncrestaroma.com/wp-content/uploads/2026/10/dm-sans-normal-400.woff2') format('woff2');
}

@font-face {
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('https://www.wynncrestaroma.com/wp-content/uploads/2026/10/dm-sans-normal-400.woff2') format('woff2');
}

@font-face {
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('https://www.wynncrestaroma.com/wp-content/uploads/2026/10/dm-sans-normal-500.woff2') format('woff2');
}

@font-face {
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('https://www.wynncrestaroma.com/wp-content/uploads/2026/10/dm-sans-normal-500.woff2') format('woff2');
}

@font-face {
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('https://www.wynncrestaroma.com/wp-content/uploads/2026/10/dm-sans-normal-600-1.woff2') format('woff2');
}

@font-face {
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('https://www.wynncrestaroma.com/wp-content/uploads/2026/10/dm-sans-normal-600-2.woff2') format('woff2');
}

/* ==========================================================================
   Wynn Crest — Chinese-inspired (国风) design system
   Rice-paper surfaces · gold-leaf hairlines · ruyi-cloud ornament
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Tokens — 猪肝红 ground, 金丝 gold thread
   -------------------------------------------------------------------------- */

:root {
	/* Surfaces */
	--wc-paper: #f5efe6;
	--wc-paper-soft: #fbf7f0;
	--wc-paper-warm: #ece0cd;
	--wc-paper-edge: #ded0b6;

	/* 猪肝红 — the liver-red ground */
	--wc-liver: #4a3436;
	--wc-liver-deep: #362426;
	--wc-liver-dark: #241719;
	--wc-liver-soft: #6d4f51;
	--wc-liver-tint: rgba(74, 52, 54, 0.08);

	/* Ink */
	--wc-ink: #1c1009;
	--wc-ink-soft: #55483c;
	--wc-ink-faint: #8b7d6c;

	/* 金丝 — the gold thread */
	--wc-gold: #d9ae62;
	--wc-gold-bright: #f0dcae;
	--wc-gold-deep: #a3762f;
	--wc-gold-line: rgba(217, 174, 98, 0.42);
	--wc-gold-line-soft: rgba(217, 174, 98, 0.17);

	/* Accents */
	--wc-cinnabar: #8f2f28;
	--wc-jade: #5f7d6d;

	/* Lines & shadows */
	--wc-line: rgba(217, 174, 98, 0.34);
	--wc-line-soft: rgba(217, 174, 98, 0.15);
	--wc-shadow-sm: 0 2px 10px rgba(36, 23, 25, 0.08);
	--wc-shadow: 0 14px 40px rgba(36, 23, 25, 0.12);
	--wc-shadow-lg: 0 30px 80px rgba(36, 23, 25, 0.18);

	/* Gradients */
	--wc-gold-grad: linear-gradient(135deg, #f0dcae 0%, #d9ae62 46%, #a3762f 100%);
	--wc-liver-grad: linear-gradient(158deg, #57403f 0%, #4a3436 42%, #2c1c1e 100%);

	/* Type */
	--wc-display: "Cormorant Garamond", "Songti SC", Georgia, "Times New Roman", serif;
	--wc-body: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;

	/* Metrics */
	--wc-container: 1280px;
	--wc-gutter: clamp(20px, 5vw, 56px);
	--wc-radius: 2px;
	--wc-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}
/* --------------------------------------------------------------------------
   2. Base
   -------------------------------------------------------------------------- */

*,
*::before,
*::after { box-sizing: border-box; }

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background-color: var(--wc-paper);
	background-image: linear-gradient(180deg, #f8f2e9 0%, var(--wc-paper) 42%, var(--wc-paper-warm) 100%);
	background-attachment: fixed;
	color: var(--wc-ink);
	font-family: var(--wc-body);
	font-size: 16px;
	font-weight: 300;
	line-height: 1.75;
	letter-spacing: 0.01em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

/* Fibrous paper tooth, kept faint so it reads as texture not noise. */
body::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	opacity: 0.35;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='0.28'/%3E%3C/svg%3E");
}

.wc-page {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.wc-main { flex: 1 0 auto; }

img,
svg { max-width: 100%; }

a {
	color: var(--wc-gold-deep);
	text-decoration: none;
	transition: color 0.25s var(--wc-ease);
}

a:hover { color: var(--wc-cinnabar); }

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 0.6em;
	font-family: var(--wc-display);
	font-weight: 400;
	line-height: 1.18;
	letter-spacing: 0.005em;
	color: var(--wc-ink);
}

p { margin: 0 0 1.1em; }

p:last-child { margin-bottom: 0; }

::selection {
	background: rgba(200, 154, 78, 0.28);
	color: var(--wc-ink);
}

.wc-container {
	width: 100%;
	max-width: var(--wc-container);
	margin-inline: auto;
	padding-inline: var(--wc-gutter);
}

.wc-section { padding-block: clamp(64px, 9vw, 128px); }

.wc-empty {
	grid-column: 1 / -1;
	padding: 48px;
	text-align: center;
	color: var(--wc-ink-faint);
	font-family: var(--wc-display);
	font-size: 22px;
}

.wc-skip-link:focus {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 9999;
	width: auto;
	height: auto;
	clip-path: none;
	padding: 12px 20px;
	background: var(--wc-ink);
	color: var(--wc-paper);
}

/* --------------------------------------------------------------------------
   3. Ornaments — gold on the liver ground, and the 金丝 filigree system
   -------------------------------------------------------------------------- */

/* A gold lozenge mark. */
.wc-seal {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 40px;
	height: 40px;
	margin-inline: auto;
	border: 1px solid var(--wc-gold-line);
	transform: rotate(45deg);
	background: linear-gradient(150deg, rgba(217, 174, 98, 0.16), rgba(217, 174, 98, 0.02));
}

.wc-seal::before {
	content: "";
	position: absolute;
	inset: 4px;
	border: 1px solid var(--wc-gold-line-soft);
}

.wc-seal__glyph {
	transform: rotate(-45deg);
	color: var(--wc-gold);
	font-family: var(--wc-display);
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.08em;
}

.wc-seal:empty,
.wc-seal__glyph:empty { display: none; }

.wc-lozenge {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 32px;
	height: 32px;
	flex: 0 0 auto;
	border: 1px solid var(--wc-gold-line);
	transform: rotate(45deg);
}

.wc-lozenge::after {
	content: "";
	width: 7px;
	height: 7px;
	border: 1px solid var(--wc-gold);
}

.wc-lozenge--single {
	display: grid;
	margin: 18px 0 0;
	width: 30px;
	height: 30px;
}

.wc-seal--alert {
	border-color: rgba(184, 78, 66, 0.5);
	background: linear-gradient(150deg, rgba(143, 47, 40, 0.22), rgba(143, 47, 40, 0.04));
}

.wc-seal--alert .wc-seal__glyph { color: #e8b9b2; }

/* A hairline that opens into a single diamond. */
.wc-cloud-rule {
	position: relative;
	width: 92px;
	height: 1px;
	margin: 22px auto;
	background: linear-gradient(90deg, transparent, var(--wc-gold), transparent);
}

.wc-cloud-rule::before,
.wc-cloud-rule::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 4px;
	height: 4px;
	border: 1px solid var(--wc-gold);
	transform: translateY(-50%) rotate(45deg);
}

.wc-cloud-rule::before { left: 12px; }
.wc-cloud-rule::after  { right: 12px; }

.wc-cloud-rule--left { margin-inline: 0; }

/* Two rules meeting a gold diamond. */
.wc-cloud-band {
	display: flex;
	justify-content: center;
	padding-block: 18px;
}

.wc-cloud-band__inner {
	display: flex;
	align-items: center;
	gap: 14px;
	width: min(460px, 78vw);
}

.wc-cloud-band__wing {
	flex: 1 1 auto;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--wc-gold));
}

.wc-cloud-band__wing--flip {
	background: linear-gradient(90deg, var(--wc-gold), transparent);
}

.wc-cloud-band__seal {
	flex: 0 0 auto;
	width: 9px;
	height: 9px;
	background: var(--wc-gold);
	transform: rotate(45deg);
}

.wc-cloud-band__inner::before,
.wc-cloud-band__inner::after {
	content: "";
	flex: 0 0 auto;
	width: 5px;
	height: 5px;
	border: 1px solid var(--wc-gold);
	transform: rotate(45deg);
}

.wc-cloud-band--hero { padding-bottom: 0; }
.wc-cloud-band--foot { padding-top: 0; }

/* Repeating ruyi-cloud frieze. */
.wc-cloud-frieze {
	height: 28px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='28' viewBox='0 0 64 28'%3E%3Cg fill='none' stroke='%23D9AE62' stroke-width='1'%3E%3Cpath d='M0 25.5h64'/%3E%3Ccircle cx='20' cy='17' r='8'/%3E%3Ccircle cx='32' cy='12.5' r='12'/%3E%3Ccircle cx='44' cy='17' r='8'/%3E%3C/g%3E%3C/svg%3E");
	background-repeat: repeat-x;
	background-position: center;
	opacity: 0.42;
}

/* --------------------------------------------------------------------------
   3.1 金丝镶边 — the gold thread filigree
   -------------------------------------------------------------------------- */

/* A double gold rule with a curl set into each corner. */
.wc-filigree {
	position: relative;
	padding: clamp(26px, 3.4vw, 48px);
	border: 1px solid var(--wc-gold-line);
	background: var(--wc-liver-grad);
	color: var(--wc-paper);
}

.wc-filigree::before {
	content: "";
	position: absolute;
	inset: 5px;
	border: 1px solid var(--wc-gold-line-soft);
	pointer-events: none;
}

.wc-filigree__corner {
	position: absolute;
	width: 22px;
	height: 22px;
	border-color: var(--wc-gold);
	border-style: solid;
	border-width: 0;
	pointer-events: none;
}

.wc-filigree__corner--tl { top: 10px; left: 10px; border-top-width: 1px; border-left-width: 1px; }
.wc-filigree__corner--tr { top: 10px; right: 10px; border-top-width: 1px; border-right-width: 1px; }
.wc-filigree__corner--bl { bottom: 10px; left: 10px; border-bottom-width: 1px; border-left-width: 1px; }
.wc-filigree__corner--br { bottom: 10px; right: 10px; border-bottom-width: 1px; border-right-width: 1px; }

.wc-filigree__curl {
	position: absolute;
	width: 13px;
	height: 13px;
	border: 1px solid var(--wc-gold);
	border-radius: 50%;
	pointer-events: none;
}

.wc-filigree__curl::after {
	content: "";
	position: absolute;
	inset: 3px;
	border: 1px solid var(--wc-gold-line-soft);
	border-radius: 50%;
}

.wc-filigree__curl--tl { top: 14px; left: 14px; }
.wc-filigree__curl--tr { top: 14px; right: 14px; }
.wc-filigree__curl--bl { bottom: 14px; left: 14px; }
.wc-filigree__curl--br { bottom: 14px; right: 14px; }

/* A horizontal braid of gold thread. */
.wc-thread-rule {
	height: 14px;
	margin: 26px auto;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='14' viewBox='0 0 32 14'%3E%3Cg fill='none' stroke='%23D9AE62' stroke-width='1' stroke-linecap='round'%3E%3Cpath d='M0 4q4-4 8 0t8 0 8 0 8 0'/%3E%3Cpath d='M0 10q4-4 8 0t8 0 8 0 8 0'/%3E%3C/g%3E%3C/svg%3E");
	background-repeat: repeat-x;
	background-position: center;
	opacity: 0.75;
}

.wc-thread-rule--left { margin-inline: 0; }

/* A continuous gold thread along a section edge. */
.wc-thread-edge {
	height: 10px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='10' viewBox='0 0 24 10'%3E%3Cg fill='none' stroke='%23D9AE62' stroke-width='1'%3E%3Cpath d='M0 5h24'/%3E%3Cpath d='M4 1v8M12 1v8M20 1v8'/%3E%3C/g%3E%3C/svg%3E");
	background-repeat: repeat-x;
	opacity: 0.45;
}

/* A single gold curl used as a separator mark. */
.wc-thread-mark {
	position: relative;
	width: 34px;
	height: 34px;
	margin: 30px auto;
	border: 1px solid var(--wc-gold);
	transform: rotate(45deg);
}

.wc-thread-mark::after {
	content: "";
	position: absolute;
	inset: 8px;
	border: 1px solid var(--wc-gold-line-soft);
}


/* --------------------------------------------------------------------------
   4. Section headings
   -------------------------------------------------------------------------- */

.wc-section-head {
	max-width: 720px;
	margin: 0 auto clamp(40px, 6vw, 72px);
	text-align: center;
}

.wc-section-head__eyebrow,
.wc-split__eyebrow,
.wc-pagehead__eyebrow,
.wc-hero__eyebrow {
	margin: 0 0 18px;
	color: var(--wc-gold-deep);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.34em;
	text-transform: uppercase;
}

.wc-section-head__title {
	margin: 20px 0 0;
	font-size: clamp(32px, 5vw, 54px);
	letter-spacing: 0.01em;
}

.wc-section-head__lede {
	margin: 0 auto;
	max-width: 58ch;
	color: var(--wc-ink-soft);
	font-size: 17px;
}

.wc-pagehead {
	padding-block: clamp(52px, 7vw, 96px) clamp(28px, 4vw, 48px);
	text-align: center;
	background: linear-gradient(180deg, var(--wc-paper-warm), transparent);
	border-bottom: 1px solid var(--wc-gold-line-soft);
}

.wc-pagehead__title {
	margin: 0;
	font-size: clamp(34px, 5.5vw, 58px);
}

.wc-pagehead__eyebrow { color: var(--wc-gold-deep); }


/* --------------------------------------------------------------------------
   5. Buttons
   -------------------------------------------------------------------------- */

.wc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 15px 34px;
	border: 1px solid transparent;
	border-radius: var(--wc-radius);
	font-family: var(--wc-body);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	cursor: pointer;
	transition: transform 0.3s var(--wc-ease), box-shadow 0.3s var(--wc-ease),
		background-color 0.3s var(--wc-ease), color 0.3s var(--wc-ease),
		border-color 0.3s var(--wc-ease);
}

.wc-btn--gold {
	background: var(--wc-gold-grad);
	color: #2b1a1c;
	box-shadow: 0 8px 24px rgba(36, 23, 25, 0.26);
}

.wc-btn--gold:hover {
	color: #2b1a1c;
	transform: translateY(-2px);
	box-shadow: 0 14px 34px rgba(36, 23, 25, 0.34);
}

.wc-btn--ghost {
	border-color: var(--wc-gold-line);
	color: var(--wc-ink);
	background: transparent;
}

.wc-btn--ghost:hover {
	border-color: var(--wc-gold);
	color: var(--wc-gold-deep);
	transform: translateY(-2px);
}

.wc-btn--outline {
	border-color: var(--wc-gold-line);
	color: var(--wc-ink);
	background: transparent;
}

.wc-btn--outline:hover {
	background: var(--wc-liver);
	border-color: var(--wc-liver);
	color: var(--wc-paper);
	transform: translateY(-2px);
}


/* --------------------------------------------------------------------------
   6. Ribbon + masthead — the liver ground
   -------------------------------------------------------------------------- */

.wc-ribbon {
	background: var(--wc-liver-dark);
	color: rgba(240, 220, 174, 0.78);
	font-size: 11px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	border-bottom: 1px solid var(--wc-gold-line-soft);
}

.wc-ribbon__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	max-width: var(--wc-container);
	margin-inline: auto;
	padding: 9px var(--wc-gutter);
	text-align: center;
}

.wc-ribbon__dot { color: var(--wc-gold); }

.wc-masthead {
	position: sticky;
	top: 0;
	z-index: 90;
	background: rgba(36, 23, 25, 0.94);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--wc-gold-line-soft);
}

.wc-masthead__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 86px;
}

.wc-brandmark {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--wc-paper);
}

/* The designed lockup: ornate monogram beside the wordmark. */
.wc-brandmark__lockup {
	display: block;
	width: clamp(180px, 17vw, 238px);
	height: auto;
}

.wc-brandmark__mark {
	width: 46px;
	height: auto;
	filter: brightness(1.08) saturate(1.05);
}

.wc-brandmark__word { display: grid; }

.wc-brandmark__name {
	font-family: var(--wc-display);
	font-size: 25px;
	line-height: 1.1;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wc-gold-bright);
}

.wc-brandmark__tag {
	color: rgba(240, 220, 174, 0.6);
	font-size: 9.5px;
	letter-spacing: 0.28em;
	text-transform: uppercase;
}

.custom-logo-link img { max-height: 76px; width: auto; }

.wc-masthead__nav .wc-nav__list {
	display: flex;
	align-items: center;
	gap: clamp(20px, 2.6vw, 38px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.wc-masthead__nav a {
	position: relative;
	padding: 6px 0;
	color: rgba(245, 239, 230, 0.84);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.wc-masthead__nav a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: var(--wc-gold);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.35s var(--wc-ease);
}

.wc-masthead__nav a:hover { color: var(--wc-gold-bright); }

.wc-masthead__nav a:hover::after,
.wc-masthead__nav .current-menu-item > a::after,
.wc-masthead__nav .current_page_item > a::after {
	transform: scaleX(1);
	transform-origin: left;
}

.wc-masthead__nav .menu-item-has-children { position: relative; }

.wc-masthead__nav .sub-menu {
	position: absolute;
	top: calc(100% + 14px);
	left: -18px;
	z-index: 20;
	display: none;
	min-width: 190px;
	margin: 0;
	padding: 10px 0;
	list-style: none;
	background: var(--wc-liver-deep);
	border: 1px solid var(--wc-gold-line-soft);
	box-shadow: var(--wc-shadow);
}

.wc-masthead__nav .menu-item-has-children:hover > .sub-menu,
.wc-masthead__nav .menu-item-has-children:focus-within > .sub-menu { display: block; }

.wc-masthead__nav .sub-menu a {
	display: block;
	padding: 9px 18px;
	font-size: 11px;
}

.wc-masthead__nav .sub-menu a::after { display: none; }

.wc-masthead__actions {
	display: flex;
	align-items: center;
	gap: 18px;
}

.wc-icon-link {
	position: relative;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	color: rgba(245, 239, 230, 0.85);
	border: 1px solid transparent;
	border-radius: 50%;
	transition: border-color 0.3s var(--wc-ease), color 0.3s var(--wc-ease);
}

.wc-icon-link:hover {
	border-color: var(--wc-gold-line);
	color: var(--wc-gold);
}

.wc-icon-link svg { width: 20px; height: 20px; fill: currentColor; }

.wc-cart-count {
	position: absolute;
	top: 1px;
	right: 0;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border-radius: 9px;
	background: var(--wc-gold);
	color: #2b1a1c;
	font-size: 10px;
	font-weight: 600;
	line-height: 17px;
	text-align: center;
}

.wc-burger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 34px;
	height: 34px;
	padding: 0;
	background: none;
	border: 0;
	cursor: pointer;
}

.wc-burger span {
	display: block;
	width: 22px;
	height: 1px;
	margin-inline: auto;
	background: var(--wc-gold);
	transition: transform 0.3s var(--wc-ease), opacity 0.3s var(--wc-ease);
}

.wc-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.wc-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.wc-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.wc-mobile-nav {
	border-bottom: 1px solid var(--wc-gold-line-soft);
	background: var(--wc-liver-deep);
}

.wc-mobile-nav .wc-nav__list {
	margin: 0;
	padding: 12px var(--wc-gutter) 24px;
	list-style: none;
}

.wc-mobile-nav a {
	display: block;
	padding: 13px 0;
	border-bottom: 1px solid var(--wc-gold-line-soft);
	color: rgba(245, 239, 230, 0.85);
	font-size: 12px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}


/* --------------------------------------------------------------------------
   7. Hero — the liver ground with a gold-framed portrait
   -------------------------------------------------------------------------- */

.wc-hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(70px, 9vw, 130px) 0;
	background: var(--wc-liver-grad);
	color: var(--wc-paper);
}

.wc-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(48% 42% at 12% 6%, rgba(217, 174, 98, 0.13), transparent 68%),
		radial-gradient(44% 40% at 88% 14%, rgba(143, 47, 40, 0.34), transparent 70%);
	pointer-events: none;
}

/* An ink-wash range along the base of the hero. */
.wc-hero__mountains {
	position: absolute;
	inset: auto 0 0;
	height: 52%;
	pointer-events: none;
	background:
		radial-gradient(54% 96% at 16% 100%, rgba(0, 0, 0, 0.46), transparent 64%),
		radial-gradient(44% 88% at 44% 100%, rgba(0, 0, 0, 0.34), transparent 62%),
		radial-gradient(50% 100% at 82% 100%, rgba(0, 0, 0, 0.42), transparent 64%),
		radial-gradient(92% 70% at 52% 106%, rgba(0, 0, 0, 0.5), transparent 68%);
	-webkit-mask-image: linear-gradient(180deg, transparent, #000 42%);
	mask-image: linear-gradient(180deg, transparent, #000 42%);
	opacity: 0.9;
}

.wc-hero__inner {
	position: relative;
	display: grid;
	grid-template-columns: 1.18fr 0.82fr;
	align-items: center;
	gap: clamp(36px, 5vw, 76px);
}

.wc-hero__copy,
.wc-hero__art { min-width: 0; }

.wc-hero__copy { max-width: 620px; }

.wc-hero__eyebrow { color: var(--wc-gold); }

.wc-hero__title {
	margin: 24px 0 0;
	font-size: clamp(40px, 6.3vw, 82px);
	font-weight: 300;
	line-height: 1.04;
	letter-spacing: -0.005em;
	color: var(--wc-paper);
	white-space: nowrap;
}

.wc-hero__line { display: block; }

.wc-hero__line--accent {
	background: var(--wc-gold-grad);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

.wc-hero__lede {
	max-width: 52ch;
	color: rgba(245, 239, 230, 0.84);
	font-size: 17.5px;
}

.wc-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 34px;
}

.wc-hero__actions .wc-btn--ghost {
	border-color: var(--wc-gold-line);
	color: var(--wc-paper);
}

.wc-hero__actions .wc-btn--ghost:hover {
	border-color: var(--wc-gold);
	color: var(--wc-gold-bright);
}

.wc-hero__marks {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 26px;
	margin: 40px 0 0;
	padding: 22px 0 0;
	list-style: none;
	border-top: 1px solid var(--wc-gold-line-soft);
	color: rgba(240, 220, 174, 0.66);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.wc-hero__marks li { position: relative; padding-left: 16px; }

.wc-hero__marks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 5px;
	height: 5px;
	border: 1px solid var(--wc-gold);
	transform: translateY(-50%) rotate(45deg);
}

.wc-hero__art { display: grid; place-items: center; }

/* The portrait panel: a gold-framed plate that carries the model shot,
   or the house medallion when no image has been supplied. */
.wc-portrait {
	position: relative;
	width: min(380px, 30vw);
	aspect-ratio: 1 / 1;
	padding: 12px;
	border: 1px solid var(--wc-gold-line);
	background: var(--wc-liver-deep);
	box-shadow: var(--wc-shadow-lg);
}

.wc-portrait::before {
	content: "";
	position: absolute;
	inset: 5px;
	border: 1px solid var(--wc-gold-line-soft);
	pointer-events: none;
}

.wc-portrait__media {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background: var(--wc-liver-dark);
}

.wc-portrait__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 1.2s var(--wc-ease);
}

.wc-portrait:hover .wc-portrait__media img { transform: scale(1.03); }

/* Without a model shot the frame holds the house medallion, which is a circle,
   so the plate becomes square and keeps the mark undistorted. */
.wc-portrait--square { aspect-ratio: 1 / 1; }

.wc-hero__medallion {
	position: relative;
	display: grid;
	place-items: center;
	width: min(76%, 300px);
	aspect-ratio: 1;
	margin: auto;
	padding: 34px;
	border: 1px solid var(--wc-gold-line);
	border-radius: 50%;
	background: radial-gradient(circle at 50% 34%, #5a4042 0%, #241719 74%);
}

.wc-portrait__caption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 46px 22px 16px;
	background: linear-gradient(180deg, transparent, rgba(20, 12, 13, 0.9));
	color: rgba(240, 220, 174, 0.92);
	font-size: 9.5px;
	letter-spacing: 0.26em;
	text-transform: uppercase;
	text-align: center;
}

/* The medallion used until a model image is supplied. */
.wc-hero__medallion-ring {
	position: absolute;
	inset: 16px;
	border: 1px solid var(--wc-gold-line-soft);
	border-radius: 50%;
}

.wc-hero__medallion-ring::before {
	content: "";
	position: absolute;
	inset: 10px;
	border: 1px dashed var(--wc-gold-line-soft);
	border-radius: 50%;
}

.wc-hero__mark { width: 100%; height: auto; }

.wc-hero__medallion-caption {
	position: absolute;
	bottom: -30px;
	left: 50%;
	transform: translateX(-50%);
	color: var(--wc-gold);
	font-size: 9.5px;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	white-space: nowrap;
}


/* --------------------------------------------------------------------------
   8. Product cards (front page)
   -------------------------------------------------------------------------- */

.wc-grid { display: grid; gap: clamp(24px, 3vw, 44px); }

.wc-grid--cards { grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); }

.wc-card { position: relative; }

.wc-card__link { display: block; color: inherit; }

.wc-card__frame {
	position: relative;
	padding: 13px;
	background: var(--wc-paper-soft);
	border: 1px solid var(--wc-gold-line-soft);
	transition: transform 0.45s var(--wc-ease), box-shadow 0.45s var(--wc-ease),
		border-color 0.45s var(--wc-ease);
}

.wc-card__link:hover .wc-card__frame {
	transform: translateY(-6px);
	border-color: var(--wc-gold-line);
	box-shadow: var(--wc-shadow);
}

/* L-shaped corner brackets. */
.wc-card__corner {
	position: absolute;
	width: 16px;
	height: 16px;
	border-color: var(--wc-gold);
	border-style: solid;
	border-width: 0;
	opacity: 0;
	transition: opacity 0.4s var(--wc-ease);
}

.wc-card__link:hover .wc-card__corner { opacity: 1; }

.wc-card__corner--tl { top: 6px; left: 6px; border-top-width: 1px; border-left-width: 1px; }
.wc-card__corner--tr { top: 6px; right: 6px; border-top-width: 1px; border-right-width: 1px; }
.wc-card__corner--bl { bottom: 6px; left: 6px; border-bottom-width: 1px; border-left-width: 1px; }
.wc-card__corner--br { bottom: 6px; right: 6px; border-bottom-width: 1px; border-right-width: 1px; }

.wc-card__media {
	overflow: hidden;
	aspect-ratio: 1;
	background: var(--wc-paper-warm);
}

.wc-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.8s var(--wc-ease);
}

.wc-card__link:hover .wc-card__media img { transform: scale(1.05); }

.wc-card__flag {
	position: absolute;
	top: 24px;
	left: 24px;
	padding: 5px 11px;
	background: rgba(36, 23, 25, 0.86);
	color: var(--wc-gold-bright);
	font-size: 9.5px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
}

.wc-card__body { padding: 22px 6px 4px; text-align: center; }

.wc-card__title {
	margin: 0 0 6px;
	font-size: 25px;
	letter-spacing: 0.03em;
}

.wc-card__notes {
	margin: 0 0 12px;
	color: var(--wc-gold-deep);
	font-size: 10.5px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.wc-card__price {
	display: block;
	font-family: var(--wc-display);
	font-size: 21px;
	color: var(--wc-liver);
	letter-spacing: 0.04em;
}

.wc-card__price del { color: var(--wc-ink-faint); font-size: 0.72em; }
.wc-card__price ins { text-decoration: none; }

.wc-card__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 6px 0;
}

.wc-card__select {
	flex: 1 1 auto;
	padding: 11px 18px;
	border: 1px solid var(--wc-gold-line);
	font-size: 10.5px;
	letter-spacing: 0.22em;
	text-align: center;
	text-transform: uppercase;
	color: var(--wc-ink);
	transition: background-color 0.3s var(--wc-ease), color 0.3s var(--wc-ease);
}

.wc-card__select:hover {
	background: var(--wc-liver);
	border-color: var(--wc-liver);
	color: var(--wc-paper);
}

.wc-section__more { margin-top: 56px; text-align: center; }


/* --------------------------------------------------------------------------
   9. Split feature sections
   -------------------------------------------------------------------------- */

.wc-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: clamp(40px, 6vw, 90px);
}

.wc-split--reverse .wc-split__art { order: -1; }

.wc-split__art { position: relative; }

/* A framed plate with gold corner brackets. The ratio is fixed so the space
   is reserved before the photograph arrives and the page never jumps. */
.wc-figure {
	position: relative;
	margin: 0;
	padding: 12px;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: var(--wc-paper-warm);
	border: 1px solid var(--wc-gold-line-soft);
	box-shadow: var(--wc-shadow);
}

.wc-figure .wc-frame__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: 0;
	box-shadow: none;
}

.wc-figure .wc-filigree__corner { z-index: 2; }

.wc-frame__img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--wc-gold-line);
	box-shadow: var(--wc-shadow);
}

.wc-split__art::before {
	content: "";
	position: absolute;
	inset: -16px 16px 16px -16px;
	border: 1px solid var(--wc-gold-line-soft);
	pointer-events: none;
}

.wc-split__art:has(.wc-figure)::before { display: none; }

.wc-split__copy .wc-seal { margin-inline: 0; }

.wc-split__title {
	margin: 18px 0 0;
	font-size: clamp(30px, 4.2vw, 46px);
}

.wc-split__copy p { color: var(--wc-ink-soft); }

.wc-section--craft {
	background: linear-gradient(180deg, transparent, var(--wc-paper-warm) 40%, transparent);
}

.wc-steps {
	margin: 38px 0 0;
	padding: 0;
	list-style: none;
	counter-reset: step;
}

.wc-steps li {
	display: flex;
	gap: 20px;
	padding: 20px 0;
	border-top: 1px solid var(--wc-gold-line-soft);
}

.wc-steps li:last-child { border-bottom: 1px solid var(--wc-gold-line-soft); }

.wc-steps__num {
	flex: 0 0 auto;
	color: var(--wc-gold-deep);
	font-family: var(--wc-display);
	font-size: 22px;
	letter-spacing: 0.06em;
}

.wc-steps h4 {
	margin: 0 0 4px;
	font-size: 20px;
	letter-spacing: 0.04em;
}

.wc-steps p { margin: 0; font-size: 14.5px; }

.wc-care-list {
	margin: 34px 0 0;
	padding: 0;
	list-style: none;
}

.wc-care-list li {
	position: relative;
	padding: 11px 0 11px 26px;
	border-bottom: 1px solid var(--wc-gold-line-soft);
	color: var(--wc-ink-soft);
	font-size: 14.5px;
}

.wc-care-list li::before {
	content: "";
	position: absolute;
	left: 4px;
	top: 21px;
	width: 6px;
	height: 6px;
	border: 1px solid var(--wc-gold);
	transform: rotate(45deg);
}


/* --------------------------------------------------------------------------
   10. Comparison block
   -------------------------------------------------------------------------- */

.wc-compare {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(20px, 3vw, 40px);
	max-width: 900px;
	margin-inline: auto;
}

.wc-compare__col {
	padding: clamp(26px, 4vw, 44px);
	background: var(--wc-paper-soft);
	border: 1px solid var(--wc-gold-line-soft);
}

.wc-compare__col--good { border-top: 2px solid var(--wc-jade); }
.wc-compare__col--bad  { border-top: 2px solid rgba(143, 47, 40, 0.5); }

.wc-compare__head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 20px;
	font-size: 23px;
	letter-spacing: 0.03em;
}

.wc-compare__mark {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	flex: 0 0 auto;
	border-radius: 50%;
	font-size: 15px;
	color: #fff;
}

.wc-compare__col--good .wc-compare__mark { background: var(--wc-jade); }
.wc-compare__col--bad  .wc-compare__mark { background: var(--wc-cinnabar); }

.wc-compare__col ul { margin: 0; padding: 0; list-style: none; }

.wc-compare__col li {
	position: relative;
	padding: 10px 0 10px 22px;
	border-bottom: 1px solid var(--wc-gold-line-soft);
	color: var(--wc-ink-soft);
	font-size: 14.5px;
}

.wc-compare__col li:last-child { border-bottom: 0; }

.wc-compare__col li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 20px;
	width: 7px;
	height: 1px;
	background: var(--wc-gold);
}


/* --------------------------------------------------------------------------
   11. Closing block
   -------------------------------------------------------------------------- */

.wc-section--closing {
	padding-bottom: 0;
	background: var(--wc-liver-grad);
	color: var(--wc-paper);
}

.wc-section--closing .wc-section-head__lede { color: rgba(245, 239, 230, 0.72); }
.wc-section--closing .wc-section-head__title { color: var(--wc-paper); }
.wc-section--closing .wc-section-head__eyebrow { color: var(--wc-gold); }

.wc-closing { padding-bottom: clamp(70px, 9vw, 120px); text-align: center; }

.wc-closing__logo {
	width: min(280px, 56vw);
	height: auto;
	margin-bottom: 34px;
	filter: brightness(1.1) saturate(1.05);
}

.wc-closing__title {
	margin: 0;
	font-size: clamp(30px, 4.6vw, 50px);
	color: var(--wc-paper);
}

.wc-closing__lede {
	max-width: 56ch;
	margin: 0 auto 34px;
	color: rgba(245, 239, 230, 0.72);
	font-size: 16px;
}


/* --------------------------------------------------------------------------
   12. Footer
   -------------------------------------------------------------------------- */

.wc-colophon {
	position: relative;
	background: var(--wc-liver-dark);
	color: rgba(245, 239, 230, 0.7);
	padding-block: 0 34px;
}

.wc-colophon__top {
	display: grid;
	grid-template-columns: 1.1fr 1.6fr;
	gap: clamp(36px, 6vw, 80px);
	padding-block: clamp(46px, 7vw, 84px) 40px;
}

.wc-colophon__logo {
	width: min(190px, 46vw);
	height: auto;
	margin-bottom: 4px;
	opacity: 0.96;
}

.wc-colophon__blurb {
	max-width: 44ch;
	margin-top: 22px;
	font-size: 14px;
	line-height: 1.85;
}

.wc-colophon__cols {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}

.wc-colophon__title {
	margin: 0 0 18px;
	color: var(--wc-gold);
	font-family: var(--wc-body);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.26em;
	text-transform: uppercase;
}

.wc-colophon__menu,
.wc-colophon__list {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
}

.wc-colophon__menu li,
.wc-colophon__list li { padding: 6px 0; }

.wc-colophon__menu a,
.wc-colophon__list a { color: rgba(245, 239, 230, 0.7); }

.wc-colophon__menu a:hover,
.wc-colophon__list a:hover { color: var(--wc-gold); }

.wc-colophon__notice {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	max-width: 980px;
	margin: 0 auto 34px;
	padding: 22px 26px;
	border: 1px solid var(--wc-gold-line-soft);
	background: rgba(217, 174, 98, 0.06);
	font-size: 13px;
	line-height: 1.8;
}

.wc-colophon__notice .wc-seal {
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	margin: 0;
	font-size: 16px;
}

.wc-colophon__notice p { margin: 0; }

.wc-colophon__base {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-top: 26px;
	border-top: 1px solid var(--wc-gold-line-soft);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(245, 239, 230, 0.45);
}

.wc-colophon__base p { margin: 0; }


/* --------------------------------------------------------------------------
   13. Prose
   -------------------------------------------------------------------------- */

.wc-prose { max-width: 720px; }

.wc-prose > * + * { margin-top: 1.2em; }

.wc-prose h2 { margin-top: 1.6em; font-size: clamp(26px, 3.6vw, 36px); }
.wc-prose h3 { margin-top: 1.4em; font-size: 24px; }

.wc-prose a {
	border-bottom: 1px solid var(--wc-line);
	color: var(--wc-gold-deep);
}

.wc-prose a:hover { border-color: var(--wc-cinnabar); }

.wc-prose ul,
.wc-prose ol { padding-left: 22px; }

.wc-prose li { margin-bottom: 0.5em; }

.wc-prose blockquote {
	margin: 2em 0;
	padding: 6px 0 6px 26px;
	border-left: 2px solid var(--wc-gold);
	color: var(--wc-ink-soft);
	font-family: var(--wc-display);
	font-size: 22px;
	font-style: italic;
}

.wc-prose img { border: 1px solid var(--wc-gold-line); }

.wc-hero-image { margin-bottom: 20px; }

.wc-linkpages { margin-top: 32px; font-size: 13px; }

/* Post cards */

.wc-grid--posts { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }

.wc-postcard__link { display: block; color: inherit; }

.wc-postcard {
	background: var(--wc-paper-soft);
	border: 1px solid var(--wc-line-soft);
	transition: transform 0.4s var(--wc-ease), box-shadow 0.4s var(--wc-ease);
}

.wc-postcard:hover { transform: translateY(-5px); box-shadow: var(--wc-shadow); }

.wc-postcard__media { overflow: hidden; aspect-ratio: 4 / 3; }

.wc-postcard__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.7s var(--wc-ease);
}

.wc-postcard:hover .wc-postcard__media img { transform: scale(1.04); }

.wc-postcard__body { padding: 26px; }

.wc-postcard__date {
	margin: 0 0 8px;
	color: var(--wc-gold-deep);
	font-size: 10.5px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.wc-postcard__title { margin: 0 0 10px; font-size: 24px; }

.wc-postcard__excerpt { margin: 0 0 16px; color: var(--wc-ink-soft); font-size: 14.5px; }

.wc-postcard__more {
	color: var(--wc-gold-deep);
	font-size: 10.5px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

/* Search */

.wc-searchform { max-width: 460px; margin: 34px auto 0; }

.wc-search { display: flex; border: 1px solid var(--wc-line); background: var(--wc-paper-soft); }

.wc-search__field {
	flex: 1 1 auto;
	min-width: 0;
	padding: 14px 18px;
	background: transparent;
	border: 0;
	color: var(--wc-ink);
	font-family: var(--wc-body);
	font-size: 14px;
	letter-spacing: 0.04em;
}

.wc-search__field:focus { outline: none; }

.wc-search__submit {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 52px;
	background: var(--wc-gold-grad);
	border: 0;
	cursor: pointer;
}

.wc-search__submit svg { width: 18px; height: 18px; fill: #fff; }

/* Pagination */

.woocommerce-pagination,
.navigation.pagination {
	margin-top: 56px;
}

.woocommerce-pagination ul,
.navigation.pagination .nav-links {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
}

.woocommerce-pagination li,
.navigation.pagination .page-numbers {
	min-width: 40px;
	height: 40px;
}

.woocommerce-pagination a,
.woocommerce-pagination span,
.navigation.pagination .page-numbers {
	display: grid;
	place-items: center;
	min-width: 40px;
	height: 40px;
	padding-inline: 12px;
	border: 1px solid var(--wc-line-soft);
	color: var(--wc-ink-soft);
	font-size: 13px;
	transition: background-color 0.3s var(--wc-ease), color 0.3s var(--wc-ease);
}

.woocommerce-pagination a:hover,
.navigation.pagination a:hover,
.navigation.pagination .page-numbers.current {
	background: var(--wc-ink);
	border-color: var(--wc-ink);
	color: var(--wc-paper);
}

/* 404 */

.wc-notfound { text-align: center; }

.wc-notfound__title { margin: 24px 0 0; font-size: clamp(34px, 5vw, 54px); }

.wc-notfound__lede { max-width: 50ch; margin: 0 auto 34px; color: var(--wc-ink-soft); }

.wc-notfound .wc-hero__actions { justify-content: center; }

/* ==========================================================================
   14. WooCommerce
   ========================================================================== */

.woocommerce .wc-inner-page .wc-main { padding-bottom: 40px; }

.woocommerce-page .wc-pagehead + * { margin-top: 0; }

/* --- Shop header & grid --------------------------------------------------- */

.woocommerce .woocommerce-products-header__title.page-title {
	display: none;
}

.wc-collection { margin-top: 12px; }

.wc-collection > ul.products {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(24px, 3vw, 40px);
	margin: 0;
	padding: 0;
	list-style: none;
	float: none;
	width: 100%;
	clear: both;
}

.wc-collection > ul.products li.product {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 18px;
	background: var(--wc-paper-soft);
	border: 1px solid var(--wc-gold-line-soft);
	transition: transform 0.4s var(--wc-ease), box-shadow 0.4s var(--wc-ease),
		border-color 0.4s var(--wc-ease);
}

.wc-collection > ul.products li.product:hover {
	transform: translateY(-5px);
	border-color: var(--wc-gold-line);
	box-shadow: var(--wc-shadow);
}

.wc-collection > ul.products li.product a.woocommerce-loop-product__link {
	display: block;
	color: inherit;
	text-align: center;
}

.wc-collection > ul.products li.product .woocommerce-post-image,
.wc-collection > ul.products li.product img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	margin-bottom: 20px;
}

.wc-collection > ul.products li.product .woocommerce-loop-product__title {
	margin: 0 0 6px;
	padding: 0;
	font-family: var(--wc-display);
	font-size: 25px;
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1.2;
	color: var(--wc-ink);
}

.wc-collection > ul.products li.product a:hover .woocommerce-loop-product__title {
	color: var(--wc-gold-deep);
}

.wc-ornament__notes {
	margin: 0 0 14px;
	color: var(--wc-gold-deep);
	font-size: 10.5px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.wc-collection > ul.products li.product .price {
	display: block;
	margin: 4px 0 0;
	color: var(--wc-liver);
	font-family: var(--wc-display);
	font-size: 21px;
	letter-spacing: 0.04em;
}

.wc-collection > ul.products li.product .price del { color: var(--wc-ink-faint); font-size: 0.7em; }
.wc-collection > ul.products li.product .price ins { text-decoration: none; }

.wc-collection > ul.products li.product .button,
.wc-collection > ul.products li.product .added_to_cart {
	display: block;
	width: 100%;
	margin-top: 18px;
	padding: 12px 16px;
	background: transparent;
	border: 1px solid var(--wc-line);
	color: var(--wc-ink);
	font-family: var(--wc-body);
	font-size: 10.5px;
	font-weight: 400;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	transition: background-color 0.3s var(--wc-ease), color 0.3s var(--wc-ease);
}

.wc-collection > ul.products li.product .button:hover,
.wc-collection > ul.products li.product .added_to_cart:hover {
	background: var(--wc-liver);
	border-color: var(--wc-liver);
	color: var(--wc-paper);
}

/* Sale flag */

.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
	display: inline-block;
	min-width: auto;
	min-height: 0;
	margin: 0;
	padding: 5px 11px;
	background: rgba(36, 31, 26, 0.84);
	color: var(--wc-paper);
	font-size: 9.5px;
	letter-spacing: 0.22em;
	line-height: 1.6;
	text-transform: uppercase;
}

/* Ordering select */

/* WooCommerce hangs two empty table boxes off the product list as float
   clear-fixes. In a grid they become real cells — one before the first
   product and one after the last — so they are removed here. */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
	content: none !important;
	display: none !important;
}

.woocommerce ul.products li.product {
	float: none !important;
	clear: none !important;
}

/* WooCommerce renders the shop through its own archive-product.php, so the
   content area never picks up the house container. Give it the same measure
   as the rest of the site, otherwise the grid drifts out of alignment. */
.woocommerce #primary.content-area,
.woocommerce #main.site-main {
	width: 100%;
	max-width: var(--wc-container);
	margin-inline: auto;
	padding-inline: var(--wc-gutter);
}

.woocommerce .content-area,
.woocommerce div#primary {
	padding-block: 0;
}

.woocommerce ul.products {
	margin-left: 0;
	margin-right: 0;
}

/* WooCommerce floats the ordering control to the right; in a grid layout that
   drags the collection off-centre, so it is put back into the flow. */
.woocommerce .woocommerce-ordering {
	float: none;
	clear: both;
	width: 100%;
	margin: 0 0 28px;
	text-align: right;
}

.woocommerce .woocommerce-ordering select {
	width: auto;
	min-width: 210px;
	padding: 11px 16px;
	background: var(--wc-paper-soft);
	border: 1px solid var(--wc-gold-line);
	border-radius: 0;
	color: var(--wc-ink);
	font-family: var(--wc-body);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.woocommerce .woocommerce-ordering select:focus { outline: none; border-color: var(--wc-gold); }

/* --- Breadcrumb ----------------------------------------------------------- */

.woocommerce-breadcrumb {
	margin: 0 0 10px;
	color: var(--wc-ink-faint);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.woocommerce-breadcrumb a { color: var(--wc-ink-faint); border: 0; }
.woocommerce-breadcrumb a:hover { color: var(--wc-gold-deep); }

/* --- Single product -------------------------------------------------------
   The gallery is driven by WooCommerce's flexslider, which builds the
   thumbnail rail in the browser. Its wrapper and rail must keep the layout
   flexslider expects, so only colour and spacing are touched here.
   -------------------------------------------------------------------------- */

.woocommerce div.product {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: 0 clamp(36px, 5vw, 76px);
	align-items: start;
	padding-block: clamp(40px, 6vw, 80px);
}

.woocommerce div.product > .woocommerce-product-gallery {
	grid-column: 1;
	grid-row: 1;
	float: none;
	width: 100%;
	margin: 0;
}

.woocommerce div.product > .summary.entry-summary {
	grid-column: 2;
	grid-row: 1;
	float: none;
	width: 100%;
}

.woocommerce div.product > .woocommerce-tabs {
	grid-column: 1 / -1;
}

.woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
	margin: 0;
}

.woocommerce-product-gallery .woocommerce-product-gallery__image {
	margin: 0;
	overflow: hidden;
	background: var(--wc-paper-deep);
}

.woocommerce-product-gallery .woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: auto;
}

.woocommerce-product-gallery .flex-control-thumbs {
	clear: both;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.woocommerce-product-gallery .flex-control-thumbs li {
	margin: 0 8px 8px 0;
	overflow: hidden;
	border: 1px solid transparent;
	cursor: pointer;
}

.woocommerce-product-gallery .flex-control-thumbs img {
	display: block;
	width: 100%;
	height: auto;
	opacity: 0.42;
	transition: opacity 0.3s var(--wc-ease), border-color 0.3s var(--wc-ease);
}

.woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.woocommerce-product-gallery .flex-control-thumbs li:hover img {
	opacity: 1;
	border-color: var(--wc-gold);
}

.woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	top: 22px;
	right: 22px;
	padding: 8px;
	background: rgba(246, 240, 228, 0.9);
	border: 0;
	border-radius: 50%;
	cursor: zoom-in;
}

.woocommerce-product-gallery .woocommerce-product-gallery__trigger::before {
	font-family: "Times New Roman", serif;
	font-size: 16px;
	color: var(--wc-ink);
}

.summary.entry-summary { width: 100%; }

.woocommerce .summary .product_title,
.woocommerce-page .summary .product_title {
	margin: 8px 0 4px;
	font-family: var(--wc-display);
	font-size: clamp(32px, 4.4vw, 46px);
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.12;
}

.woocommerce .wc-single__notes {
	margin: 0 0 22px;
	color: var(--wc-gold-deep);
	font-size: 11px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.woocommerce .wc-single .wc-lozenge--single { margin-bottom: 18px; }

.woocommerce .summary .woocommerce-product-details__short-description,
.woocommerce .wc-summary__excerpt {
	margin: 0 0 22px;
	color: var(--wc-ink-soft);
	font-size: 16px;
	line-height: 1.8;
}

.woocommerce .wc-summary__excerpt {
	padding-bottom: 22px;
	border-bottom: 1px solid var(--wc-line-soft);
}

.woocommerce .summary .woocommerce-product-price {
	margin: 0 0 24px;
	color: var(--wc-liver);
	font-family: var(--wc-display);
	font-size: 34px;
	letter-spacing: 0.02em;
}

.woocommerce .summary .woocommerce-product-price .amount { color: inherit; }

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	margin: 0 0 24px;
	color: var(--wc-liver);
	font-family: var(--wc-display);
	font-size: 34px;
}

.woocommerce div.product p.price del { color: var(--wc-ink-faint); font-size: 0.62em; }
.woocommerce div.product p.price ins { text-decoration: none; }

.woocommerce div.product .product_meta {
	margin: 24px 0 0;
	padding-top: 20px;
	border-top: 1px solid var(--wc-gold-line-soft);
	color: var(--wc-ink-faint);
	font-size: 12px;
	letter-spacing: 0.08em;
}

.woocommerce div.product .product_meta a { color: var(--wc-ink-soft); }

/* Quantity + cart row */

.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	margin: 26px 0 0;
	padding: 0;
}

.woocommerce div.product form.cart .quantity {
	display: flex;
}

.woocommerce .qty,
.woocommerce input[type="number"] {
	width: 62px;
	padding: 13px 10px;
	background: var(--wc-paper-soft);
	border: 1px solid var(--wc-line);
	border-radius: 0;
	color: var(--wc-ink);
	font-family: var(--wc-body);
	font-size: 14px;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}

.woocommerce .qty::-webkit-outer-spin-button,
.woocommerce .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.woocommerce .qty:focus { outline: none; border-color: var(--wc-gold); }

.woocommerce div.product form.cart .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 15px 34px;
	background: var(--wc-gold-grad);
	border: 0;
	border-radius: var(--wc-radius);
	box-shadow: 0 8px 24px rgba(36, 23, 25, 0.24);
	color: #2b1a1c;
	font-family: var(--wc-body);
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	cursor: pointer;
	transition: transform 0.3s var(--wc-ease), box-shadow 0.3s var(--wc-ease);
}

.woocommerce div.product form.cart .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 34px rgba(36, 23, 25, 0.32);
	color: #2b1a1c;
}

/* Secondary buttons stay quiet */

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	background: var(--wc-liver);
	box-shadow: none;
	color: var(--wc-paper);
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
	background: var(--wc-liver-deep);
	box-shadow: none;
	color: var(--wc-paper);
}

.woocommerce .button.disabled,
.woocommerce .button:disabled,
.woocommerce button.button:disabled {
	opacity: 0.45;
	cursor: not-allowed;
	transform: none;
}

/* Product notice block */

.woocommerce .wc-single__notice {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	margin: 30px 0 0;
	padding: 20px 22px;
	background: var(--wc-liver-tint);
	border: 1px solid var(--wc-gold-line-soft);
}

.woocommerce .wc-single__notice .wc-seal {
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	margin: 0;
	font-size: 16px;
}

.woocommerce .wc-single__notice-title {
	margin: 0 0 5px;
	font-family: var(--wc-display);
	font-size: 17px;
	letter-spacing: 0.04em;
}

.woocommerce .wc-single__notice-body {
	margin: 0;
	color: var(--wc-ink-soft);
	font-size: 13px;
	line-height: 1.75;
}

/* Tabs */

.woocommerce div.product .woocommerce-tabs {
	grid-column: 1 / -1;
	margin-top: clamp(50px, 7vw, 90px);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 30px;
	margin: 0 0 34px;
	padding: 0 0 16px;
	list-style: none;
	border-bottom: 1px solid var(--wc-gold-line-soft);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none; }

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	color: var(--wc-ink-faint);
	font-family: var(--wc-body);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--wc-gold-deep); }

.woocommerce div.product .woocommerce-tabs .panel {
	max-width: 860px;
	color: var(--wc-ink-soft);
	font-size: 15.5px;
	line-height: 1.85;
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
	font-size: 26px;
	color: var(--wc-ink);
}

.woocommerce div.product .woocommerce-tabs .panel img {
	margin-block: 18px;
	border: 1px solid var(--wc-line-soft);
}

.woocommerce div.product .woocommerce-tabs .panel table.shop_attributes {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce div.product .woocommerce-tabs .panel table.shop_attributes th,
.woocommerce div.product .woocommerce-tabs .panel table.shop_attributes td {
	padding: 12px 0;
	border-bottom: 1px solid var(--wc-line-soft);
	font-size: 13px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-align: left;
	font-weight: 400;
	color: var(--wc-ink-soft);
}

.woocommerce div.product .woocommerce-tabs .panel table.shop_attributes th {
	width: 30%;
	color: var(--wc-gold-deep);
}

/* Related products */

.related.products,
.up-sells.products {
	grid-column: 1 / -1;
	margin-top: clamp(50px, 7vw, 90px);
	padding-top: clamp(40px, 5vw, 64px);
	border-top: 1px solid var(--wc-line-soft);
}

.related.products > h2,
.up-sells.products > h2 {
	margin: 0 0 34px;
	font-size: clamp(26px, 3.4vw, 34px);
	text-align: center;
}

.related.products ul.products,
.up-sells.products ul.products {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* WooCommerce sizes loop items with a percentage width for its own flex
   layout. Inside these grids that would squeeze the card to half its column,
   so the width is reset here. */
.related.products ul.products > li.product,
.up-sells.products ul.products > li.product,
.wc-collection ul.products > li.product {
	width: auto !important;
	float: none !important;
	margin: 0;
}

.woocommerce .related.products li.product,
.woocommerce .up-sells.products li.product {
	padding: 16px;
	margin: 0;
	background: var(--wc-paper-soft);
	border: 1px solid var(--wc-gold-line-soft);
}

/* --- Notices -------------------------------------------------------------- */

.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-notice {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0 0 34px;
	padding: 16px 22px;
	background: var(--wc-paper-warm);
	border: 1px solid var(--wc-gold-line-soft);
	border-left: 2px solid var(--wc-gold);
	border-radius: 0;
	color: var(--wc-ink-soft);
	font-size: 14px;
	list-style: none;
}

.woocommerce .woocommerce-error {
	border-left-color: var(--wc-cinnabar);
}

.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button {
	margin-left: auto;
	padding: 10px 22px;
	background: transparent;
	border: 1px solid var(--wc-line);
	box-shadow: none;
	color: var(--wc-ink);
	font-size: 10.5px;
}

.woocommerce .woocommerce-message .button:hover,
.woocommerce .woocommerce-info .button:hover {
	background: var(--wc-liver);
	border-color: var(--wc-liver);
	color: var(--wc-paper);
}

.woocommerce .woocommerce-message::after,
.woocommerce .woocommerce-info::after,
.woocommerce .woocommerce-error::after { display: none; }

/* --- Cart ----------------------------------------------------------------- */

.woocommerce-cart-form,
.woocommerce-checkout-review-order,
.woocommerce-checkout .woocommerce-checkout-review-order,
.woocommerce-account {
	background: var(--wc-paper-soft);
	border: 1px solid var(--wc-gold-line-soft);
	padding: clamp(22px, 4vw, 40px);
}

.woocommerce table.shop_table {
	width: 100%;
	border: 0;
	border-collapse: collapse;
	margin: 0;
	color: var(--wc-ink);
	font-size: 14.5px;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: 18px 14px;
	border-bottom: 1px solid var(--wc-line-soft);
	text-align: left;
	vertical-align: middle;
}

.woocommerce table.shop_table thead th {
	border-bottom: 1px solid var(--wc-line);
	color: var(--wc-gold-deep);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.woocommerce table.shop_table td.product-name a,
.woocommerce table.shop_table th.product-name a { color: var(--wc-ink); }

.woocommerce table.shop_table td.product-name a:hover { color: var(--wc-gold-deep); }

.woocommerce table.shop_table td.product-thumbnail img {
	width: 86px;
	height: auto;
	border: 1px solid var(--wc-line-soft);
}

.woocommerce table.shop_table .product-remove a {
	color: var(--wc-ink-faint);
	font-size: 20px;
	line-height: 1;
}

.woocommerce table.shop_table .product-remove a:hover { color: var(--wc-cinnabar); }

.woocommerce .quantity .qty { width: 58px; padding: 10px 8px; }

.woocommerce table.cart td.actions,
.woocommerce table.cart tfoot td.actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding-top: 22px;
	border-bottom: 0;
}

.woocommerce .coupon input[type="text"],
.woocommerce .coupon input[type="email"],
.woocommerce .coupon input[type="tel"] {
	width: 100%;
	min-width: 210px;
	padding: 12px 16px;
	background: var(--wc-paper);
	border: 1px solid var(--wc-line);
	border-radius: 0;
	color: var(--wc-ink);
	font-family: var(--wc-body);
	font-size: 14px;
}

.woocommerce .coupon input:focus { outline: none; border-color: var(--wc-gold); }

.woocommerce .button.alt,
.woocommerce a.button.alt {
	padding: 13px 30px;
	font-size: 11px;
}

.cart_totals,
.woocommerce-checkout-review-order {
	width: 100%;
}

.woocommerce-cart .cart_totals h2,
.woocommerce-checkout-review-order h3 {
	margin: 0 0 20px;
	font-size: 22px;
	letter-spacing: 0.04em;
}

.cart_totals table.shop_table th,
.cart_totals table.shop_table td {
	padding: 12px 0;
	border-bottom: 1px solid var(--wc-line-soft);
	font-size: 14px;
	font-weight: 400;
	text-align: left;
}

.cart_totals table.shop_table tr.order-total th,
.cart_totals table.shop_table tr.order-total td {
	border-bottom: 0;
	color: var(--wc-liver);
	font-family: var(--wc-display);
	font-size: 22px;
}

.wc-proceed-to-checkout { padding: 22px 0 0; }

.wc-proceed-to-checkout a,
.woocommerce .checkout-button {
	display: flex;
	width: 100%;
	justify-content: center;
}

/* --- Checkout ------------------------------------------------------------- */

.woocommerce-checkout .col2-set { width: 100%; }

.woocommerce-checkout #customer_details {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 22px 34px;
	width: 100%;
}

.woocommerce-checkout #customer_details > .col-1,
.woocommerce-checkout #customer_details > .col-2 { width: 100%; }

.woocommerce-checkout #customer_details h3,
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
#order_review_heading {
	margin: 0 0 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--wc-line-soft);
	font-size: 18px;
	letter-spacing: 0.06em;
}

.woocommerce form .form-row { display: flex; flex-direction: column; margin: 0 0 16px; padding: 0; }

.woocommerce form .form-row label {
	margin-bottom: 6px;
	color: var(--wc-ink-soft);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.woocommerce form .form-row .required { color: var(--wc-cinnabar); }

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single,
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select {
	width: 100%;
	padding: 13px 16px;
	background: var(--wc-paper);
	border: 1px solid var(--wc-line);
	border-radius: 0;
	box-shadow: none;
	color: var(--wc-ink);
	font-family: var(--wc-body);
	font-size: 14px;
	line-height: 1.6;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce input.input-text:focus,
.woocommerce textarea:focus,
.woocommerce select:focus {
	outline: none;
	border-color: var(--wc-gold);
}

.woocommerce form .form-row textarea { min-height: 118px; }

.woocommerce .select2-container .select2-selection--single {
	height: auto;
	padding: 6px 12px;
	border-color: var(--wc-gold-line);
}

.woocommerce .select2-container .select2-selection__rendered {
	color: var(--wc-ink);
	font-size: 14px;
	line-height: 1.6;
	padding: 0 !important;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100%;
}

.woocommerce-checkout #payment {
	background: var(--wc-paper);
	border: 1px solid var(--wc-line-soft);
	border-radius: 0;
	padding: 24px;
}

.woocommerce-checkout #payment ul.payment_methods {
	margin: 0 0 20px;
	padding: 0;
	border-bottom: 1px solid var(--wc-line-soft);
	list-style: none;
}

.woocommerce-checkout #payment ul.payment_methods li {
	padding: 14px 0;
	border-bottom: 1px solid var(--wc-line-soft);
}

.woocommerce-checkout #payment ul.payment_methods li label {
	display: inline-block;
	margin: 0 0 0 10px;
	font-size: 14px;
	font-weight: 400;
}

.woocommerce-checkout #payment div.payment_box {
	margin: 12px 0 0;
	padding: 14px 16px;
	background: var(--wc-paper-deep);
	color: var(--wc-ink-soft);
	font-size: 13px;
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--wc-paper-deep) !important;
}

.woocommerce-checkout #payment div.form-row.place-order { padding: 0; margin: 0; }

.woocommerce #payment #place_order { width: 100%; }

/* --- My account ----------------------------------------------------------- */

.woocommerce-account .woocommerce-MyAccount-navigation {
	width: 26%;
}

.woocommerce-account .woocommerce-MyAccount-content {
	width: 70%;
}

@media (max-width: 860px) {
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content { width: 100%; }
}

.woocommerce-MyAccount-navigation ul {
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
	border: 1px solid var(--wc-gold-line-soft);
	background: var(--wc-paper-soft);
}

.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--wc-line-soft); }

.woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }

.woocommerce-MyAccount-navigation a {
	display: block;
	padding: 13px 18px;
	color: var(--wc-ink-soft);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.woocommerce-MyAccount-navigation a:hover,
.woocommerce-MyAccount-navigation .is-active a {
	background: var(--wc-paper-warm);
	color: var(--wc-gold-deep);
}

.woocommerce-Addresses,
.woocommerce-form-login,
.woocommerce-form-register {
	background: var(--wc-paper-soft);
	border: 1px solid var(--wc-gold-line-soft);
	padding: clamp(20px, 3.5vw, 34px);
}

/* Stars */

.woocommerce .star-rating,
.woocommerce .woocommerce-result-count { color: var(--wc-gold); }

.woocommerce .woocommerce-product-rating { margin-bottom: 10px; }

/* Order received */

.woocommerce-order {
	max-width: 860px;
	margin-inline: auto;
	background: var(--wc-paper-soft);
	border: 1px solid var(--wc-gold-line-soft);
	padding: clamp(24px, 4vw, 48px);
}

.woocommerce-order h1,
.woocommerce-order h2 {
	font-size: clamp(26px, 3.6vw, 36px);
}

.woocommerce-order .woocommerce-thankyou-order-received {
	color: var(--wc-gold-deep);
	font-family: var(--wc-display);
	font-size: 22px;
}

/* WooCommerce blocks fallback */

.wc-block-components-button,
.wp-block-button__link {
	background: var(--wc-gold-grad) !important;
	border-radius: var(--wc-radius) !important;
	color: #fff !important;
	font-family: var(--wc-body);
	font-size: 11.5px !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase;
}

/* --------------------------------------------------------------------------
   15. Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 1100px) {
	.wc-collection > ul.products { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 980px) {
	.wc-hero__inner { grid-template-columns: 1fr; }
	.wc-hero__art { order: -1; }
	.wc-portrait { width: min(320px, 64vw); }
	.wc-split { grid-template-columns: 1fr; }
	.wc-split--reverse .wc-split__art { order: 0; }
	.wc-split__art::before { inset: -12px 12px 12px -12px; }
	.wc-colophon__top { grid-template-columns: 1fr; }
	.woocommerce div.product { grid-template-columns: 1fr; }
	.woocommerce div.product > .woocommerce-product-gallery,
	.woocommerce div.product > .summary.entry-summary {
		grid-column: 1;
		grid-row: auto;
	}
	.woocommerce div.product > .woocommerce-product-gallery { margin-bottom: 30px; }
	.related.products ul.products,
	.up-sells.products ul.products { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 860px) {
	.wc-masthead__nav { display: none; }
	.wc-burger { display: flex; }
	.wc-icon-link--account { display: none; }
	.wc-ribbon__inner { flex-wrap: wrap; gap: 6px 10px; font-size: 10px; }
	.wc-ribbon__dot { display: none; }
	.wc-compare { grid-template-columns: 1fr; }
	.wc-colophon__cols { grid-template-columns: repeat(2, 1fr); }
	.wc-single__notice { flex-direction: column; }
	.woocommerce-cart .cart-collaterals,
	.woocommerce-checkout #customer_details { grid-template-columns: 1fr !important; }
	.wc-cart-layout { display: block !important; }
	.wc-cart-layout > * { width: 100% !important; }
}

@media (max-width: 620px) {
	.wc-collection > ul.products { grid-template-columns: 1fr; }
	.related.products ul.products,
	.up-sells.products ul.products { grid-template-columns: 1fr; }
	.wc-masthead__inner { min-height: 74px; }
	.wc-portrait { width: min(280px, 72vw); }
	.woocommerce-product-gallery .flex-control-thumbs { grid-template-columns: repeat(4, 1fr); }
	.wc-colophon__cols { grid-template-columns: 1fr; }
	.wc-colophon__base { justify-content: flex-start; }
	.wc-hero__actions .wc-btn { width: 100%; }
}

/* --------------------------------------------------------------------------
   16. Motion
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

@keyframes wc-rise {
	from { opacity: 0; transform: translateY(22px); }
	to   { opacity: 1; transform: none; }
}

.wc-rise { animation: wc-rise 0.9s var(--wc-ease) both; }
.wc-rise--1 { animation-delay: 0.1s; }
.wc-rise--2 { animation-delay: 0.2s; }
.wc-rise--3 { animation-delay: 0.3s; }

@media print {
	.wc-masthead,
	.wc-ribbon,
	.wc-colophon { display: none; }
}
