/*
Theme Name: Checkmate // Emotions
Description: A custom editorial storefront for Checkmate and Emotions, built on GeneratePress.
Author: Checkmate // Emotions
Version: 1.6.38
Requires at least: 6.4
Requires PHP: 8.1
Template: generatepress
Text Domain: checkmate-emotions
*/

@font-face { font-family: Anton; font-style: normal; font-weight: 400; font-display: swap; src: url("./assets/fonts/anton-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: Anton; font-style: normal; font-weight: 400; font-display: swap; src: url("./assets/fonts/anton-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Space Grotesk"; font-style: normal; font-weight: 300 700; font-display: swap; src: url("./assets/fonts/space-grotesk-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Space Grotesk"; font-style: normal; font-weight: 300 700; font-display: swap; src: url("./assets/fonts/space-grotesk-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 100 800; font-display: swap; src: url("./assets/fonts/jetbrains-mono-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 100 800; font-display: swap; src: url("./assets/fonts/jetbrains-mono-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: Inter; font-style: normal; font-weight: 100 900; font-display: swap; src: url("./assets/fonts/inter-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: Inter; font-style: normal; font-weight: 100 900; font-display: swap; src: url("./assets/fonts/inter-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
	color-scheme: dark;
	--cmx-void: #060606;
	--cmx-surface: #101010;
	--cmx-surface-raised: #171717;
	--cmx-paper: #f4f2ed;
	--cmx-muted: #99958d;
	--cmx-line: #292824;
	--cmx-gold: #d4af37;
	--cmx-red: #e50914;
	--cmx-acid: #ccff00;
	--cmx-display: Impact, "Arial Narrow", sans-serif;
	--cmx-heading: "Space Grotesk", "Arial", sans-serif;
	--cmx-mono: "JetBrains Mono", "Courier New", monospace;
	--cmx-body: "Inter", Arial, sans-serif;
}

html { background: var(--cmx-void); scroll-behavior: smooth; }
body { margin: 0; background: var(--cmx-void); color: var(--cmx-paper); font-family: var(--cmx-body); font-size: 15px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
body, button, input, select, textarea { font-family: var(--cmx-body); }
body, #page, .site, .site-content, .content-area, .site-main { background: var(--cmx-void); color: var(--cmx-paper); }
#page { max-width: none; }
.site-content { display: block; padding: 0; }
.grid-container { max-width: 1440px; }
.inside-article, .comments-area, .page-header, .site-main > * { background: transparent; color: inherit; }
.site-main { margin: 0; }
a { color: inherit; text-decoration-color: var(--cmx-line); text-underline-offset: .22em; }
a:hover { color: var(--cmx-gold); }
button, input, select, textarea { color: inherit; }
button, .button, input[type="submit"], .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .wp-block-woocommerce-cart .wp-block-button__link { border: 1px solid var(--cmx-paper); border-radius: 0; background: var(--cmx-paper); color: var(--cmx-void); padding: .9rem 1.2rem; font: 600 .7rem/1 var(--cmx-mono); letter-spacing: .08em; text-transform: uppercase; }
button:hover, .button:hover, input[type="submit"]:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .wp-block-woocommerce-cart .wp-block-button__link:hover { background: transparent; color: var(--cmx-paper); }
:focus-visible { outline: 2px solid var(--cmx-gold); outline-offset: 4px; }
img { display: block; max-width: 100%; height: auto; }
.cmx-wrap { width: min(1280px, calc(100% - 64px)); margin-inline: auto; }
.cmx-mono, .cmx-eyebrow, .cmx-label, .cmx-nav, .cmx-button-link, .cmx-product-meta, .cmx-price, .cmx-kicker { font-family: var(--cmx-mono); font-size: .65rem; letter-spacing: .12em; line-height: 1.4; text-transform: uppercase; }
.cmx-eyebrow, .cmx-label, .cmx-kicker { display: block; color: var(--cmx-muted); }
.cmx-header { position: relative; z-index: 20; border-bottom: 1px solid var(--cmx-line); background: var(--cmx-void); }
.cmx-header__inner { min-height: 76px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 2rem; }
.cmx-wordmark { display: inline-flex; align-items: center; gap: .65rem; width: fit-content; text-decoration: none; color: var(--cmx-paper); font: 700 .75rem/1 var(--cmx-mono); letter-spacing: .1em; }
.cmx-wordmark img { width: 40px; height: 40px; object-fit: contain; }
.cmx-wordmark__text span { display: block; }
.cmx-wordmark__sub { margin-top: .35rem; color: var(--cmx-muted); font-size: .56rem; font-weight: 400; }
.cmx-menu, .cmx-header__tools { display: flex; align-items: center; gap: 1.5rem; }
.cmx-menu { justify-content: center; margin: 0; padding: 0; list-style: none; }
.cmx-menu a, .cmx-header__tools button { padding: .5rem 0; border: 0; background: none; color: var(--cmx-paper); text-decoration: none; font: 500 .62rem/1.3 var(--cmx-mono); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.cmx-header__tools { justify-content: flex-end; }
.cmx-cart-count { color: var(--cmx-gold); }
.cmx-menu-toggle { display: none; }
.cmx-mobile-menu { display: none; }
.cmx-section { padding-block: clamp(5rem, 10vw, 9rem); border-bottom: 1px solid var(--cmx-line); }
.cmx-section--tight { padding-block: clamp(3.5rem, 6vw, 6rem); }
.cmx-section__head { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2.5rem; }
.cmx-section h2, .cmx-display { margin: .5rem 0 0; color: var(--cmx-paper); font-family: var(--cmx-display); font-size: clamp(3rem, 8vw, 7.7rem); font-weight: 400; letter-spacing: -.035em; line-height: .84; text-transform: uppercase; }
.cmx-section h3 { font-family: var(--cmx-heading); }
.cmx-body-copy { max-width: 33rem; color: var(--cmx-muted); }
.cmx-link { display: inline-flex; gap: .8rem; align-items: center; color: var(--cmx-paper); text-decoration: none; font: 600 .65rem/1.4 var(--cmx-mono); letter-spacing: .1em; text-transform: uppercase; }
.cmx-link::after { content: "↗"; color: var(--cmx-gold); font-size: 1rem; }
.cmx-button-link { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 1.2rem; border: 1px solid var(--cmx-paper); color: var(--cmx-paper); text-decoration: none; }
.cmx-button-link:hover { background: var(--cmx-paper); color: var(--cmx-void); }
.cmx-hero { min-height: min(760px, calc(100svh - 76px)); display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--cmx-line); }
.cmx-hero__state { position: relative; display: flex; min-height: 540px; align-items: end; overflow: hidden; padding: clamp(2rem, 5vw, 5rem); isolation: isolate; text-decoration: none; }
.cmx-hero__state::before { position: absolute; z-index: -2; inset: 0; content: ""; background: linear-gradient(0deg, rgba(0,0,0,.92), rgba(0,0,0,.08) 65%), var(--cmx-hero-image, linear-gradient(135deg,#181713,#090909)); background-size: cover; background-position: center; transition: transform .7s cubic-bezier(.2,.75,.25,1); }
.cmx-hero__state:hover::before { transform: scale(1.035); }
.cmx-hero__state::after { position: absolute; z-index: -1; inset: 0; content: ""; border-right: 1px solid var(--cmx-line); }
.cmx-hero__state--emotions::after { border-right: 0; border-left: 1px solid var(--cmx-line); }
.cmx-hero__state--checkmate { --cmx-accent: var(--cmx-gold); }
.cmx-hero__state--emotions { --cmx-accent: var(--cmx-red); }
.cmx-hero__state--checkmate .cmx-hero__arrow { color: var(--cmx-red); }

.cmx-hero__content { width: 100%; }
.cmx-hero__index { display: flex; justify-content: space-between; margin-bottom: 1.2rem; color: var(--cmx-accent); }
.cmx-hero h1, .cmx-hero h2 { margin: 0; color: var(--cmx-paper); font: 400 clamp(4rem, 10vw, 9rem)/.8 var(--cmx-display); letter-spacing: -.045em; text-transform: uppercase; }
.cmx-hero__tagline { margin: 1.4rem 0 1.7rem; color: #d5d1c8; font: .7rem/1.5 var(--cmx-mono); letter-spacing: .08em; text-transform: uppercase; }
.cmx-state-rail { display: flex; justify-content: space-between; gap: 2rem; align-items: center; border-bottom: 1px solid var(--cmx-line); padding-block: 1.15rem; }
.cmx-state-links { display: flex; gap: .6rem; flex-wrap: wrap; }
.cmx-state-links a { min-width: 150px; padding: .85rem 1rem; border: 1px solid var(--cmx-line); text-align: center; text-decoration: none; font: .65rem/1 var(--cmx-mono); letter-spacing: .12em; text-transform: uppercase; }
.cmx-state-links a[data-state="checkmate"]:hover { border-color: var(--cmx-gold); color: var(--cmx-gold); }
.cmx-state-links a[data-state="emotions"]:hover { border-color: var(--cmx-red); color: var(--cmx-red); }
.cmx-drop { display: grid; grid-template-columns: minmax(0, .9fr) minmax(280px, 1.1fr); min-height: 440px; border: 1px solid var(--cmx-line); }
.cmx-drop__copy { display: flex; flex-direction: column; justify-content: space-between; gap: 2rem; padding: clamp(2rem, 5vw, 4.5rem); }
.cmx-drop__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; }
.cmx-drop__film { display: inline-flex; min-height: 44px; align-items: center; gap: .65rem; padding: .5rem; border: 0; background: transparent; color: #d0cec9; font: 600 .65rem/1.4 var(--cmx-mono); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.cmx-drop__film:hover { color: var(--cmx-paper); }
.cmx-drop__film--status { cursor: default; }
.cmx-drop__film--status:hover { color: #d0cec9; }
.cmx-drop__film--status:hover .cmx-drop__film-icon { border-color: #5a5547; color: #d0cec9; }
.cmx-drop__film-icon { display: grid; width: 26px; height: 26px; place-items: center; border: 1px solid #5a5547; border-radius: 50%; font-size: .55rem; transition: border-color .2s, color .2s; }
.cmx-drop__film:hover .cmx-drop__film-icon { border-color: var(--cmx-paper); color: var(--cmx-paper); }
.cmx-drop__film--status .cmx-drop__film-icon { border-color: #5a5547; color: #d0cec9; }
.cmx-drop__image { min-height: 340px; background: linear-gradient(135deg,#1c1b19,#090909); background-size: cover; background-position: center; }
.cmx-gallery { display: grid; grid-template-columns: 1.3fr .7fr 1fr; gap: 1px; background: var(--cmx-line); border: 1px solid var(--cmx-line); }
.cmx-gallery__item { position: relative; min-height: 270px; overflow: hidden; background: #111; }
.cmx-gallery__item:nth-child(2) { min-height: 390px; }
.cmx-gallery__item img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; transition: transform .6s; }
.cmx-gallery__item:hover img { transform: scale(1.025); }
.cmx-gallery__caption { position: absolute; inset: auto 1rem 1rem; color: white; font: .6rem var(--cmx-mono); letter-spacing: .12em; text-transform: uppercase; }
.cmx-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.3rem; }
.cmx-product { min-width: 0; }
.cmx-product__media { position: relative; display: block; overflow: hidden; aspect-ratio: 4/5; background: #121212; }
.cmx-product__media > a { display: block; width: 100%; height: 100%; }
.cmx-product__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s; }
.cmx-product__media:hover img { transform: scale(1.03); }
.cmx-product__quick { position: absolute; inset: auto .65rem .65rem; width: calc(100% - 1.3rem); opacity: 0; transition: opacity .2s; }
.cmx-product__media:hover .cmx-product__quick, .cmx-product__quick:focus-visible { opacity: 1; }
.cmx-product__line { display: flex; justify-content: space-between; align-items: start; gap: .8rem; margin-top: 1rem; }
.cmx-product__title { margin: 0; font: 600 .95rem/1.25 var(--cmx-heading); }
.cmx-product__title a { text-decoration: none; }
.cmx-product-meta { margin-top: .4rem; color: var(--cmx-muted); font-size: .56rem; }
.cmx-product__state { margin-top: .55rem; color: var(--cmx-gold); }
.cmx-price { white-space: nowrap; color: var(--cmx-paper); }
.cmx-development-note { margin-top: .7rem; color: var(--cmx-muted); font-size: .72rem; }
.cmx-manifesto { position: relative; overflow: hidden; padding-block: clamp(6rem, 14vw, 13rem); border-block: 1px solid var(--cmx-line); }
.cmx-manifesto__text { max-width: 1100px; margin: 0; font: 400 clamp(3.5rem, 10vw, 10rem)/.82 var(--cmx-display); letter-spacing: -.04em; text-transform: uppercase; }
.cmx-manifesto__text span { color: var(--cmx-red); }
.cmx-duality { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--cmx-line); }
.cmx-duality article { min-height: 360px; display: flex; flex-direction: column; justify-content: end; padding: clamp(2rem, 5vw, 4rem); }
.cmx-duality article + article { border-left: 1px solid var(--cmx-line); }
.cmx-duality__checkmate { color: var(--cmx-gold); }
.cmx-duality__emotions { color: var(--cmx-red); }
.cmx-spec-story { display: grid; grid-template-columns: .7fr 1.3fr; align-items: center; gap: 4rem; }
.cmx-spec-story__mark { color: var(--cmx-gold); font: 400 clamp(7rem, 16vw, 15rem)/.7 var(--cmx-display); }
.cmx-spec-list { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid var(--cmx-line); }
.cmx-spec-list div { padding: 1.2rem 0; border-bottom: 1px solid var(--cmx-line); }
.cmx-archive { display: flex; flex-direction: column; border-block: 1px solid var(--cmx-line); }
.cmx-archive__row { display: grid; grid-template-columns: minmax(0,3fr) minmax(0,6fr) minmax(180px,3fr); align-items: center; gap: clamp(1.25rem,3vw,3rem); min-height: 180px; padding: 1.8rem 1rem; border-bottom: 1px solid var(--cmx-line); transition: background-color .2s ease; }
.cmx-archive__row:last-child { border-bottom: 0; }
.cmx-archive__row:hover { background: rgba(245,245,245,.025); }
.cmx-archive__identity { min-width: 0; }
.cmx-archive__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .8rem; margin-bottom: .8rem; }
.cmx-archive__status { padding: .28rem .42rem; border: 1px solid var(--cmx-line); color: var(--cmx-muted); font: .5rem/1.3 var(--cmx-mono); letter-spacing: .07em; text-transform: uppercase; }
.cmx-archive__row--active .cmx-archive__status { border-color: rgba(212,175,55,.45); color: var(--cmx-gold); }
.cmx-archive__row--concept .cmx-archive__status { border-color: rgba(229,9,20,.45); color: var(--cmx-red); }
.cmx-archive__date { color: var(--cmx-muted); font: .5rem/1.3 var(--cmx-mono); letter-spacing: .07em; text-transform: uppercase; }
.cmx-archive__number { display: block; color: var(--cmx-paper); font: clamp(2.5rem,5vw,5rem)/.88 var(--cmx-display); letter-spacing: -.035em; text-transform: uppercase; }
.cmx-archive__story h3 { margin: 0 0 .55rem; color: var(--cmx-paper); font: 700 clamp(1rem,1.5vw,1.35rem)/1.15 var(--cmx-heading); text-transform: uppercase; }
.cmx-archive__story p { max-width: 62ch; margin: 0; color: #b5b1a9; font-size: .82rem; line-height: 1.65; }
.cmx-archive__availability { display: inline-block; margin-top: .6rem; color: var(--cmx-muted); font: .5rem/1.4 var(--cmx-mono); letter-spacing: .08em; text-transform: uppercase; }
.cmx-archive__action { display: flex; align-items: center; justify-content: flex-end; gap: 1rem; }
.cmx-archive__action img { flex: 0 0 auto; width: 64px; height: 80px; border: 1px solid var(--cmx-line); background: var(--cmx-surface); object-fit: cover; }
.cmx-archive__action .cmx-link { font-size: .55rem; text-align: right; }
.cmx-archive__quiet { color: #77736b; font: .52rem/1.4 var(--cmx-mono); letter-spacing: .08em; text-align: right; text-transform: uppercase; }
.cmx-footer { padding-block: 4rem 2rem; }
.cmx-footer__top { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; padding-bottom: 3rem; border-bottom: 1px solid var(--cmx-line); }
.cmx-footer__links { display: flex; gap: 1.5rem; flex-wrap: wrap; align-content: start; }
.cmx-footer__links a { font: .65rem var(--cmx-mono); letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.cmx-footer__bottom { display: flex; justify-content: space-between; gap: 1rem; padding-top: 1.3rem; color: var(--cmx-muted); font: .58rem var(--cmx-mono); letter-spacing: .07em; text-transform: uppercase; }
.cmx-unavailable { margin-top: .8rem; color: var(--cmx-muted); font-size: .75rem; }
.cmx-dialog { width: min(780px, calc(100% - 28px)); max-height: min(85svh, 900px); padding: 0; border: 1px solid var(--cmx-line); background: #0c0c0c; color: var(--cmx-paper); }
.cmx-dialog[id^="cmx-quick-"] { width: min(896px, calc(100% - 32px)); overflow: auto; border-radius: 2px; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .75); }
#cmx-cart { position: fixed; inset: 0 0 0 auto; width: min(440px, 100vw); height: 100vh; height: 100dvh; max-height: none; margin: 0; border-block: 0; border-right: 0; transform: translateX(calc(100% + 1rem)); transition: transform .26s cubic-bezier(.2,.75,.25,1), visibility 0s linear .26s; visibility: hidden; }
#cmx-cart[open] { transform: translateX(0); transition-delay: 0s; visibility: visible; }
#cmx-cart { display: flex; flex-direction: column; overflow: hidden; }
.cmx-dialog::backdrop { background: rgba(0,0,0,.78); backdrop-filter: blur(5px); }
.cmx-dialog__head { position: sticky; top: 0; z-index: 1; display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.2rem; border-bottom: 1px solid var(--cmx-line); background: #0c0c0c; }
.cmx-dialog__close { min-width: 40px; min-height: 40px; padding: .5rem; }
.cmx-dialog__body { padding: 1.4rem; }
#cmx-cart .cmx-dialog__body { display: flex; flex: 1; min-height: 0; flex-direction: column; overflow: auto; padding: 0 1.25rem; }
.cmx-dialog form.search-form { display: flex; gap: .6rem; }
.cmx-dialog input[type="search"] { width: 100%; min-width: 0; padding: 1rem; border: 1px solid var(--cmx-line); border-radius: 0; background: #131313; }
.cmx-quick { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem; }
.cmx-quick__close { position: absolute; top: 1rem; right: 1rem; z-index: 2; }
.cmx-quick__visual { min-width: 0; }
.cmx-quick__identity { min-height: 1.25rem; margin: 0 3rem .65rem 0; }
.cmx-quick__identity .cmx-product__badge { display: inline-block; }
.cmx-quick__stage { overflow: hidden; border: 1px solid var(--cmx-line); background: #111; }
.cmx-quick__image { display: block; width: 100%; aspect-ratio: 3/4; object-fit: contain; }
.cmx-quick__image[data-quick-image="lifestyle"] { object-fit: cover; }
.cmx-quick__image[hidden] { display: none; }
.cmx-quick__views { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; margin-top: .55rem; }
.cmx-quick__views button { min-height: 40px; padding: .5rem .35rem; border-color: var(--cmx-line); background: #111; color: var(--cmx-muted); font: .52rem/1.4 var(--cmx-mono); letter-spacing: .08em; text-transform: uppercase; }
.cmx-quick__views button[aria-pressed="true"] { border-color: var(--cmx-paper); background: var(--cmx-paper); color: var(--cmx-void); }
.cmx-quick__content h2 { font: 600 1.6rem/1.1 var(--cmx-heading); }
.cmx-quick .woocommerce-product-details__short-description { color: var(--cmx-muted); }
.cmx-quick__feedback { margin: .75rem 0; color: var(--cmx-paper); font-size: .75rem; line-height: 1.5; }
.cmx-quick__feedback.is-error { color: var(--cmx-red); }
.cmx-quick .cmx-quick__purchase { min-height: 0; flex: 0 0 auto; margin-top: 1rem; padding-top: 1rem; }
.cmx-quick .cmx-quick__purchase .cmx-product__sizes { margin-bottom: .8rem; }
.cmx-quick .cmx-quick__purchase .variations_form { margin: 0; }
.cmx-quick .cmx-quick__purchase .variations { font: .72rem var(--cmx-mono); }
.cmx-quick .cmx-quick__purchase select { padding: .8rem; background: #111; border: 1px solid var(--cmx-line); }
.cmx-quick .cmx-quick__purchase .single_add_to_cart_button { min-height: 48px; }
.cmx-cart-feedback { margin: 0; padding: .8rem 1.25rem; border-bottom: 1px solid var(--cmx-line); color: var(--cmx-paper); font-size: .78rem; line-height: 1.5; }
.cmx-cart-feedback.is-error { border-left: 2px solid var(--cmx-red); color: #f0c8c4; }
.cmx-cart-lines { list-style: none; margin: 0; padding: .2rem 0 1rem; }
.cmx-cart-line { display: grid; grid-template-columns: 72px minmax(0,1fr); gap: .9rem; padding: 1rem 0; border-bottom: 1px solid var(--cmx-line); }
.cmx-cart-line__image { display: block; align-self: start; border: 1px solid var(--cmx-line); background: #111; }
.cmx-cart-line__image img { display: block; width: 72px; aspect-ratio: 4/5; object-fit: contain; }
.cmx-cart-line__details { min-width: 0; }
.cmx-cart-line__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: .6rem; font: .65rem/1.45 var(--cmx-mono); letter-spacing: .04em; text-transform: uppercase; }
.cmx-cart-line__heading > a { color: var(--cmx-paper); text-decoration: none; }
.cmx-cart-line__remove { flex: 0 0 auto; padding: .15rem 0; border: 0; background: none; color: var(--cmx-muted); font: .56rem var(--cmx-mono); text-decoration: underline; text-underline-offset: .2em; }
.cmx-cart-line__meta { margin-top: .3rem; color: var(--cmx-muted); font: .57rem/1.5 var(--cmx-mono); }
.cmx-cart-line__purchase { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin-top: .8rem; }
.cmx-cart-quantity { display: inline-flex; align-items: center; border: 1px solid var(--cmx-line); }
.cmx-cart-quantity button { width: 32px; min-height: 32px; border: 0; background: transparent; color: var(--cmx-paper); font-size: 1rem; }
.cmx-cart-quantity button:disabled { opacity: .38; cursor: not-allowed; }
.cmx-cart-quantity [data-cart-quantity-value], .cmx-cart-quantity__fixed { min-width: 28px; color: var(--cmx-paper); font: .62rem var(--cmx-mono); text-align: center; }
.cmx-cart-line__total { color: var(--cmx-paper); font: .64rem var(--cmx-mono); }
.cmx-cart-summary { position: sticky; bottom: 0; margin: auto -1.25rem 0; padding: 1.1rem 1.25rem max(1.2rem, env(safe-area-inset-bottom)); border-top: 1px solid var(--cmx-line); background: #0c0c0c; }
.cmx-cart-total { display: flex; justify-content: space-between; gap: 1rem; font: .68rem var(--cmx-mono); letter-spacing: .14em; text-transform: uppercase; }
.cmx-cart-total > :last-child { color: var(--cmx-paper); font-size: .86rem; }
.cmx-cart-summary__note { margin: .55rem 0 1rem; color: var(--cmx-muted); font: .55rem/1.5 var(--cmx-mono); letter-spacing: .04em; text-transform: uppercase; }
.cmx-cart-actions { display: grid; gap: .55rem; }
.cmx-cart-actions a { display: flex; min-height: 48px; align-items: center; justify-content: center; gap: .6rem; text-align: center; text-decoration: none; }
.cmx-cart-actions__view { border: 1px solid var(--cmx-line); color: var(--cmx-paper); font: .62rem var(--cmx-mono); letter-spacing: .13em; text-transform: uppercase; }
.cmx-cart-empty { display: flex; min-height: 100%; flex-direction: column; align-items: flex-start; justify-content: center; padding-block: 2rem; }
.cmx-cart-empty .cmx-label { color: var(--cmx-gold); }
.cmx-cart-empty h3 { max-width: 11ch; margin: .9rem 0 .45rem; font: 400 clamp(2.1rem,9vw,3.5rem)/.9 var(--cmx-display); text-transform: uppercase; }
.cmx-cart-empty p { max-width: 28ch; color: var(--cmx-muted); font-size: .8rem; line-height: 1.6; }
.cmx-cart-empty__action { margin-top: .8rem; color: var(--cmx-paper); font: .62rem var(--cmx-mono); letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.cmx-cart-empty__action span { color: var(--cmx-gold); }
.cmx-page { padding-block: clamp(3rem, 7vw, 6rem); }
.cmx-page__title { margin: 0 0 2.5rem; font: 400 clamp(3rem, 8vw, 7rem)/.85 var(--cmx-display); text-transform: uppercase; }
.cmx-page .wp-block-woocommerce-cart { max-width: 100%; margin-inline: 0; }
.woocommerce .woocommerce-breadcrumb, .woocommerce-result-count, .woocommerce-ordering { color: var(--cmx-muted); font: .65rem var(--cmx-mono); }
.woocommerce ul.products li.product { color: var(--cmx-paper); }
.woocommerce ul.products li.product a img { margin-bottom: .8rem; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--cmx-paper); font: 600 .95rem var(--cmx-heading); }
.woocommerce ul.products li.product .price { color: var(--cmx-paper); font: .68rem var(--cmx-mono); }
.woocommerce span.onsale { min-height: auto; min-width: auto; padding: .5rem; border-radius: 0; background: var(--cmx-red); color: white; font: .58rem var(--cmx-mono); line-height: 1; }
.woocommerce div.product div.images img { background: #111; }
.woocommerce div.product .product_title { font: 400 clamp(2.5rem, 6vw, 5rem)/.9 var(--cmx-display); text-transform: uppercase; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--cmx-paper); font: .8rem var(--cmx-mono); }
.woocommerce div.product form.cart .variations select, .woocommerce input.input-text, .woocommerce textarea, .woocommerce select { border: 1px solid var(--cmx-line); border-radius: 0; background: #111; color: var(--cmx-paper); padding: .75rem; }
.woocommerce table.shop_table, .woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color: var(--cmx-line); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--cmx-gold); background: #111; color: var(--cmx-paper); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--cmx-gold); }
.woocommerce .col2-set, .woocommerce-page .col2-set { gap: 2rem; }
.woocommerce-account .woocommerce-MyAccount-navigation a { text-decoration: none; }
.woocommerce-checkout #payment { background: #111; border-radius: 0; }
.woocommerce-checkout #payment div.payment_box { background: #1a1a1a; color: var(--cmx-paper); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #1a1a1a; }
.screen-reader-text { color: var(--cmx-paper); }

@media (max-width: 900px) {
	.cmx-header__inner { grid-template-columns: 1fr auto; }
	.cmx-header__nav { display: none; }
	.cmx-menu-toggle { display: inline-flex; }
	.cmx-mobile-menu:not([hidden]) { position: absolute; inset: 100% 0 auto; display: grid; gap: 0; padding: .5rem 32px 1.2rem; border-bottom: 1px solid var(--cmx-line); background: var(--cmx-void); }
	.cmx-mobile-menu a { padding: 1rem 0; border-bottom: 1px solid var(--cmx-line); text-decoration: none; font: .72rem var(--cmx-mono); letter-spacing: .12em; text-transform: uppercase; }
	.cmx-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem 1rem; }
	.cmx-gallery { grid-template-columns: 1fr 1fr; }
	.cmx-gallery__item:nth-child(2) { min-height: 270px; }
	.cmx-spec-story { grid-template-columns: 1fr; gap: 2rem; }
}
@media (max-width: 620px) {
	.cmx-wrap { width: min(100% - 36px, 1280px); }
	.cmx-header__inner { min-height: 64px; gap: 1rem; }
	.cmx-wordmark img { width: 34px; height: 34px; }
	.cmx-header__tools { gap: 1rem; }
	.cmx-header__tools button { font-size: .57rem; }
	.cmx-hero { display: flex; flex-direction: column; }
	.cmx-hero__state { min-height: 52svh; padding: 2rem 1.1rem; }
	.cmx-hero__state--emotions { min-height: 45svh; }
	.cmx-hero__state::after { border: 0; border-bottom: 1px solid var(--cmx-line); }
	.cmx-hero__state--emotions::after { border: 0; }
	.cmx-hero h1, .cmx-hero h2 { font-size: clamp(4.1rem, 21vw, 7rem); }
	.cmx-state-rail, .cmx-section__head { align-items: flex-start; flex-direction: column; }
	.cmx-state-links { width: 100%; }
	.cmx-state-links a { flex: 1; min-width: 0; }
	.cmx-drop { grid-template-columns: 1fr; }
	.cmx-drop__image { min-height: 60vw; grid-row: 1; }
	.cmx-gallery { grid-template-columns: 1fr 1fr; }
	.cmx-gallery__item { min-height: 200px; }
	.cmx-gallery__item:nth-child(2) { min-height: 250px; }
	.cmx-gallery__item:last-child { grid-column: 1/-1; min-height: 55vw; }
	.cmx-product-grid { gap: 1.8rem .65rem; }
	.cmx-product__line { flex-direction: column; }
	.cmx-product__quick { opacity: 1; font-size: .56rem; }
	.cmx-duality { grid-template-columns: 1fr; }
	.cmx-duality article { min-height: 290px; }
	.cmx-duality article + article { border-top: 1px solid var(--cmx-line); border-left: 0; }
	.cmx-spec-list { grid-template-columns: 1fr 1fr; gap: 0 1rem; }
	.cmx-archive__row { grid-template-columns: minmax(0,1fr); gap: .8rem; padding: 1.4rem .75rem; }
	.cmx-archive__meta { margin-bottom: .5rem; }
	.cmx-archive__action { justify-content: space-between; }
	.cmx-archive__action .cmx-link,
	.cmx-archive__quiet { text-align: left; }
	.cmx-footer__top { grid-template-columns: 1fr; gap: 2rem; }
	.cmx-footer__bottom { flex-direction: column; }
	.cmx-quick { grid-template-columns: 1fr; }
	.cmx-quick__image { max-height: 45vh; }
}
@media (min-width: 621px) and (max-width: 767px) {
	.cmx-quick { grid-template-columns: 1fr; }
	.cmx-quick__image { max-height: 45vh; }
}
@media (min-width: 640px) {
	.cmx-dialog[id^="cmx-quick-"] { width: min(896px, calc(100% - 48px)); }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Match the source prototype's centered mark, split hero, and editorial scale. */
:root { --cmx-display: Anton, Impact, "Arial Narrow", sans-serif; }
.cmx-header { position: fixed; inset: 0 0 auto; border-color: transparent; background: linear-gradient(180deg,rgba(6,6,6,.92),rgba(6,6,6,.36) 68%,transparent); transition: background .3s,border-color .3s; }
.cmx-header.is-scrolled { border-color: var(--cmx-line); background: rgba(6,6,6,.96); }
.admin-bar .cmx-header { top: 32px; }
.cmx-header__inner { position: relative; grid-template-columns: 1fr 1fr; min-height: 68px; }
.cmx-header__nav { justify-self: start; }
.cmx-menu { justify-content: flex-start; gap: clamp(1rem,2vw,2rem); }
.cmx-menu a,.cmx-header__tools button { font-size: .62rem; letter-spacing: .13em; }
.cmx-wordmark { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); }
.cmx-wordmark img { width: 54px; height: 54px; }
.cmx-header__tools { gap: clamp(.85rem,1.5vw,1.5rem); }
.cmx-menu-toggle { display: inline-flex; align-items: center; padding-inline: .15rem !important; font-size: 1rem !important; }
.cmx-hero { position: relative; display: grid; grid-template-columns: 1fr 1fr; min-height: calc(100svh - 32px); height: calc(100svh - 32px); max-height: 1040px; border-bottom: 1px solid var(--cmx-line); transition: grid-template-columns .7s cubic-bezier(.2,.75,.25,1); }
.cmx-hero__state { position: relative; min-height: 0; align-items: stretch; padding: clamp(7rem,10vh,9rem) clamp(1.5rem,3vw,3.5rem) 2.7rem; }
.cmx-hero__state::before { content: none; }
.cmx-hero__photo,.cmx-hero__shade,.cmx-hero__tech-grid { position: absolute; inset: 0; pointer-events: none; }
.cmx-hero__photo { z-index: 0; background-image: var(--cmx-hero-image); background-size: cover; background-position: center; filter: contrast(1.25) brightness(.75); transform: scale(1); transition: transform 1s cubic-bezier(.2,.75,.25,1); }
.cmx-hero__state--checkmate .cmx-hero__photo { background-position: center top; }
.cmx-hero__state--emotions .cmx-hero__photo { background-position: center; }
.cmx-hero__state:hover .cmx-hero__photo { transform: scale(1.05); }
.cmx-hero__shade { z-index: 1; background: linear-gradient(0deg,#060606 0%,rgba(6,6,6,.5) 36%,transparent 100%),linear-gradient(90deg,rgba(6,6,6,.55),transparent 48%,rgba(6,6,6,.15)); }
.cmx-hero__state--emotions .cmx-hero__shade { background: linear-gradient(0deg,#060606 0%,rgba(6,6,6,.48) 36%,transparent 100%),linear-gradient(270deg,rgba(6,6,6,.55),transparent 48%,rgba(6,6,6,.15)); }
.cmx-hero__tech-grid { z-index: 2; opacity: .15; background-image: linear-gradient(to right,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.035) 1px,transparent 1px); background-size: 40px 40px; }
.cmx-hero__state::after { z-index: 4; border-right-color: rgba(245,245,245,.12); }
.cmx-hero__state--emotions::after { border-left-color: rgba(245,245,245,.12); }
.cmx-hero__content { display: flex; flex-direction: column; justify-content: space-between; position: relative; z-index: 3; }
.cmx-hero__top { display: flex; align-items: flex-start; gap: .7rem; color: #d5d5d5; font: .62rem/1.5 var(--cmx-mono); letter-spacing: .1em; text-transform: uppercase; }
.cmx-hero__marker { display: inline-grid; width: 28px; height: 28px; place-items: center; flex: 0 0 28px; border: 1px solid #5a5547; background: rgba(6,6,6,.68); color: var(--cmx-gold); font-size: .9rem; }
.cmx-hero__marker--acid { color: var(--cmx-acid); }
.cmx-hero__top-copy { display: grid; gap: .12rem; }
.cmx-hero__top-copy > span,.cmx-hero__side-note { color: #96948e; font-size: .55rem; letter-spacing: .17em; }
.cmx-hero__top-copy strong { font-weight: 600; letter-spacing: .08em; }
.cmx-hero__side-note { margin-left: auto; }
.cmx-hero__top-copy--right { margin-left: auto; text-align: right; }
.cmx-hero__bottom { margin-top: auto; }
.cmx-hero__state-label { display: flex; align-items: center; gap: .6rem; margin-bottom: .3rem; color: #d6d4ce; font: .62rem/1.3 var(--cmx-mono); letter-spacing: .13em; text-transform: uppercase; }
.cmx-hero__state-label span { width: 7px; height: 7px; border-radius: 50%; background: var(--cmx-accent); }
.cmx-hero__title-row { display: flex; align-items: baseline; gap: .8rem; }
.cmx-hero h1,.cmx-hero h2 { font-size: clamp(4.4rem,8vw,8.8rem); line-height: .9; letter-spacing: -.035em; }
.cmx-hero__arrow { color: var(--cmx-accent); font: 700 clamp(1.8rem,3vw,3rem)/1 var(--cmx-heading); transition: transform .25s; }
.cmx-hero__state:hover .cmx-hero__arrow { transform: translate(5px,-5px); }
.cmx-hero__tagline { margin: .55rem 0 0; color: #aaa8a1; font-size: .65rem; letter-spacing: .18em; }
.cmx-hero__state--emotions { --cmx-accent: var(--cmx-acid); }
@media (hover: hover) and (min-width: 768px) {
	.cmx-hero:has(.cmx-hero__state--checkmate:hover, .cmx-hero__state--checkmate:focus-visible) { grid-template-columns: 1.25fr .8fr; }
	.cmx-hero:has(.cmx-hero__state--emotions:hover, .cmx-hero__state--emotions:focus-visible) { grid-template-columns: .8fr 1.25fr; }
	.cmx-hero:has(.cmx-hero__state--checkmate:hover, .cmx-hero__state--checkmate:focus-visible) .cmx-hero__state--emotions,
	.cmx-hero:has(.cmx-hero__state--emotions:hover, .cmx-hero__state--emotions:focus-visible) .cmx-hero__state--checkmate { opacity: .6; filter: grayscale(.4); }
}
.cmx-hero__spine { position: absolute; z-index: 3; top: 50%; left: 50%; display: flex; flex-direction: column; align-items: center; gap: .55rem; padding: .8rem 1rem; transform: translate(-50%,-50%); border: 1px solid rgba(245,245,245,.16); background: rgba(6,6,6,.9); text-align: center; text-transform: uppercase; }
.cmx-hero__spine strong,.cmx-hero__spine small { font: 600 .57rem/1.3 var(--cmx-mono); letter-spacing: .15em; }
.cmx-hero__spine small { color: #99958d; font-size: .48rem; font-weight: 400; }
.cmx-hero__spine > span { width: 30px; height: 1px; background: var(--cmx-line); }
.cmx-marquee { display: flex; align-items: center; gap: clamp(.8rem,2vw,2rem); width: min(100% - 64px,1720px); min-height: 42px; overflow: hidden; border-bottom: 1px solid var(--cmx-line); color: #aaa8a1; white-space: nowrap; font: .57rem/1.2 var(--cmx-mono); letter-spacing: .1em; text-transform: uppercase; }
.cmx-marquee > span:first-child { color: var(--cmx-paper); font-weight: 700; }
.cmx-marquee i { color: #55534e; font-style: normal; }
.cmx-marquee__end { margin-left: auto; }
@media (max-width: 900px) {
	.admin-bar .cmx-header { top: 46px; }
	.cmx-header__inner { grid-template-columns: 1fr auto; }
	.cmx-header__nav { display: none; }
	.cmx-wordmark { left: 50%; }
	.cmx-menu-toggle { display: inline-flex; }
	.cmx-hero { min-height: 100svh; height: 100svh; max-height: none; grid-template-columns: 1fr; grid-template-rows: minmax(0,1fr) auto minmax(0,1fr); }
	.cmx-hero__state--checkmate { grid-row: 1; }
	.cmx-hero__state--emotions { grid-row: 3; }
	.cmx-hero__state { padding: 5rem 1.5rem 1.5rem; }
	.cmx-hero__spine { position: relative; top: auto; left: auto; grid-column: 1; grid-row: 2; width: 100%; justify-self: stretch; transform: none; flex-direction: row; justify-content: center; padding: .8rem 1rem; border-inline: 0; }
	.cmx-hero__spine > span,.cmx-hero__spine small:last-child { display: none; }
	.cmx-hero__spine strong,.cmx-hero__spine small { font-size: .5rem; }
	.cmx-hero h1,.cmx-hero h2 { font-size: clamp(3rem,12.5vw,4rem); }
	.cmx-marquee { width: min(100% - 36px,1720px); }
}
@media (max-width: 620px) {
	.cmx-header__inner { min-height: 64px; }
	.cmx-wordmark img { width: 42px; height: 42px; }
	.cmx-header__tools { gap: .8rem; }
	.cmx-header__tools button { font-size: .55rem; }
	.cmx-hero__state { padding: 4.8rem 1.1rem 1.1rem; }
	.cmx-hero__side-note { display: none; }
	.cmx-hero__spine { gap: .6rem; }
	.cmx-hero h1,.cmx-hero h2 { font-size: clamp(2.8rem,12.5vw,3.2rem); }
	.cmx-header__tools button[data-dialog-open="cmx-search"] { font-size: 0; }
	.cmx-header__tools button[data-dialog-open="cmx-search"]::before { content: "⌕"; font: 1rem/1 var(--cmx-mono); }
	.cmx-marquee__end { display: none; }
}

/* Prototype parity: drop carousel, live browsing and asymmetric campaign grid. */
.cmx-state-rail { width: min(1720px,calc(100% - 96px)); }
.cmx-state-links button { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; min-width: 150px; padding: .85rem 1rem; border: 1px solid var(--cmx-line); background: transparent; color: var(--cmx-muted); font: .62rem/1 var(--cmx-mono); letter-spacing: .1em; text-transform: uppercase; }
.cmx-state-links button[aria-pressed="true"] { border-color: var(--cmx-paper); background: var(--cmx-paper); color: var(--cmx-void); }
.cmx-state-links button[data-state-filter="checkmate"][aria-pressed="true"] { border-color: var(--cmx-gold); background: var(--cmx-gold); }
.cmx-state-links button[data-state-filter="emotions"][aria-pressed="true"] { border-color: var(--cmx-red); background: var(--cmx-red); color: #fff; }
.cmx-state-links button span { opacity: .65; font-size: .55rem; }
.cmx-drop-section { overflow: hidden; }
.cmx-drop { grid-template-columns: repeat(12,minmax(0,1fr)); min-height: 0; gap: clamp(1.5rem,3vw,3rem); align-items: center; border: 0; }
.cmx-drop__copy { grid-column: span 4; padding: 0; }
.cmx-drop__copy h2 { margin: .4rem 0 1rem; font-size: clamp(3.6rem,7vw,7.5rem); }
.cmx-drop__copy .cmx-body-copy { margin-block: 0 2rem; color: #d0cec9; font: 600 .75rem/1.6 var(--cmx-mono); letter-spacing: .06em; text-transform: uppercase; }
.cmx-drop__visual { position: relative; grid-column: span 5; overflow: hidden; aspect-ratio: 4/3; border: 1px solid var(--cmx-line); background: var(--cmx-surface); }
.cmx-drop__visual::after { position: absolute; inset: 35% 0 0; content: ""; pointer-events: none; background: linear-gradient(0deg,rgba(6,6,6,.9),transparent); }
.cmx-drop__visual > img { width: 100%; height: 100%; object-fit: cover; filter: contrast(1.1) brightness(.9); }
.cmx-drop__overlay { position: absolute; z-index: 1; inset: auto 1rem 1rem; display: flex; justify-content: space-between; gap: 1rem; color: #e1dfd9; font: .55rem var(--cmx-mono); letter-spacing: .12em; text-transform: uppercase; }
.cmx-drop__side { grid-column: span 3; display: flex; height: 100%; flex-direction: column; justify-content: space-between; padding-block: .4rem; }
.cmx-drop__note { padding-left: 1.4rem; border-left: 1px solid var(--cmx-line); }
.cmx-drop__note p { margin: .6rem 0 0; color: var(--cmx-paper); font: 700 clamp(1rem,1.5vw,1.35rem)/1.3 var(--cmx-heading); text-transform: uppercase; }
.cmx-drop__controls { margin-top: 2rem; }
.cmx-drop__thumbs { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .45rem; }
.cmx-drop__thumbs button { overflow: hidden; padding: 0; border: 1px solid var(--cmx-line); background: var(--cmx-surface); opacity: .58; }
.cmx-drop__thumbs button[aria-pressed="true"] { border-color: var(--cmx-paper); opacity: 1; }
.cmx-drop__thumbs button img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.cmx-drop__pagination { display: flex; align-items: center; justify-content: space-between; margin-top: .8rem; padding-top: .75rem; border-top: 1px solid var(--cmx-line); color: var(--cmx-paper); font: .65rem var(--cmx-mono); letter-spacing: .1em; }
.cmx-drop__pagination i { color: var(--cmx-muted); font-style: normal; }
.cmx-drop__pagination > div { display: flex; gap: .45rem; }
.cmx-drop__pagination button { width: 38px; height: 38px; padding: 0; border-color: var(--cmx-line); background: transparent; color: var(--cmx-paper); font-size: 1rem; }
.cmx-gallery-intro { max-width: 32rem; margin: -1rem 0 2rem auto; text-align: right; }
.cmx-gallery { grid-template-columns: repeat(12,minmax(0,1fr)); gap: 2rem 2.5rem; border: 0; background: transparent; }
.cmx-gallery__item { position: relative; display: block; grid-column: span 5; min-width: 0; width: 100%; min-height: 0; aspect-ratio: 4/5; padding: 0; border: 1px solid var(--cmx-line); background: var(--cmx-surface); text-align: left; cursor: zoom-in; }
.cmx-gallery__item:nth-child(1),.cmx-gallery__item:nth-child(4) { grid-column: span 7; aspect-ratio: 16/10; }
.cmx-gallery__item:nth-child(2) { min-height: 0; }
.cmx-gallery__item img { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; object-fit: cover; filter: contrast(1.1) brightness(.95); }
.cmx-gallery__item::after { position: absolute; inset: 35% 0 0; content: ""; pointer-events: none; background: linear-gradient(0deg,rgba(6,6,6,.87),transparent); }
.cmx-gallery__state,.cmx-gallery__expand,.cmx-gallery__caption { position: absolute; z-index: 1; }
.cmx-gallery__state { top: 1rem; left: 1rem; padding: .32rem .5rem; border: 1px solid rgba(244,242,237,.24); background: rgba(6,6,6,.8); color: var(--cmx-paper); font: .52rem var(--cmx-mono); letter-spacing: .1em; }
.cmx-gallery__item:nth-child(2) .cmx-gallery__state,.cmx-gallery__item:nth-child(3) .cmx-gallery__state { color: var(--cmx-gold); }
.cmx-gallery__item:nth-child(4) .cmx-gallery__state { color: var(--cmx-red); }
.cmx-gallery__expand { top: 1rem; right: 1rem; display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid var(--cmx-line); background: rgba(6,6,6,.8); }
.cmx-gallery__caption { inset: auto 1rem 1rem; color: #fff; font: .62rem var(--cmx-mono); letter-spacing: .12em; text-transform: uppercase; }
.cmx-gallery-dialog { width: min(1200px,calc(100% - 32px)); max-width: none; overflow: visible; border: 0; background: transparent; }
.cmx-gallery-dialog > img { width: 100%; max-height: 86svh; object-fit: contain; }
.cmx-gallery-dialog .cmx-dialog__close { position: absolute; top: -48px; right: 0; border-color: #555; background: #111; color: #fff; }
.cmx-catalog-controls { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: -1rem 0 2rem; }
.cmx-category-filters { display: flex; max-width: 100%; gap: .25rem; overflow-x: auto; padding: .25rem; border: 1px solid var(--cmx-line); background: var(--cmx-surface); }
.cmx-category-filters button { flex: 0 0 auto; padding: .7rem .8rem; border: 0; background: transparent; color: var(--cmx-muted); font-size: .56rem; }
.cmx-category-filters button[aria-pressed="true"] { background: var(--cmx-paper); color: var(--cmx-void); }
.cmx-catalog-controls select { min-height: 42px; padding: .6rem .8rem; border: 1px solid var(--cmx-line); background: var(--cmx-surface); color: var(--cmx-paper); font: .58rem var(--cmx-mono); letter-spacing: .06em; text-transform: uppercase; }
.cmx-product[hidden],.cmx-drop__thumbs button[hidden] { display: none !important; }
.cmx-catalog-empty { padding: 3rem 1rem; border: 1px dashed var(--cmx-line); color: var(--cmx-muted); text-align: center; font: .72rem var(--cmx-mono); text-transform: uppercase; }
@media (max-width: 900px) {
	.cmx-state-rail { width: min(100% - 64px,1720px); }
	.cmx-drop { row-gap: 1.7rem; }
	.cmx-drop__copy { grid-column: span 5; }
	.cmx-drop__visual { grid-column: span 7; }
	.cmx-drop__side { grid-column: 1/-1; display: grid; grid-template-columns: 1fr 1.4fr; gap: 2rem; }
	.cmx-gallery { gap: 1.25rem; }
}
@media (max-width: 620px) {
	.cmx-state-rail { width: min(100% - 36px,1280px); }
	.cmx-state-links { gap: .4rem; }
	.cmx-state-links button { min-width: 0; flex: 1; padding: .75rem .45rem; font-size: .52rem; }
	.cmx-drop { display: flex; flex-direction: column; align-items: stretch; gap: 1.2rem; }
	.cmx-drop__copy { gap: 1.4rem; }
	.cmx-drop__copy h2 { font-size: clamp(3.25rem,17vw,5rem); }
	.cmx-drop__visual { width: 100%; aspect-ratio: 4/3; }
	.cmx-drop__side { display: flex; gap: 1rem; }
	.cmx-drop__note { padding-left: .9rem; }
	.cmx-drop__controls { margin-top: .2rem; }
	.cmx-gallery-intro { margin: -1rem 0 1.5rem; text-align: left; }
	.cmx-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
	.cmx-gallery__item,.cmx-gallery__item:nth-child(1),.cmx-gallery__item:nth-child(4) { grid-column: auto; aspect-ratio: 3/4; }
	.cmx-gallery__item:nth-child(1),.cmx-gallery__item:nth-child(4) { aspect-ratio: 4/3; }
	.cmx-gallery__state { top: .55rem; left: .55rem; font-size: .44rem; }
	.cmx-gallery__expand { top: .55rem; right: .55rem; width: 26px; height: 26px; }
	.cmx-gallery__caption { inset: auto .6rem .6rem; font-size: .48rem; }
	.cmx-catalog-controls { align-items: stretch; flex-direction: column; margin-top: -1rem; }
	.cmx-category-filters { width: 100%; }
	.cmx-catalog-controls select { align-self: flex-start; }
}

/* Restore the prototype's manifesto, split-state, lab and architectural footer. */
.cmx-manifesto { min-height: 90vh; display: flex; flex-direction: column; justify-content: space-between; padding-block: clamp(5rem,10vw,8rem) 2rem; background: var(--cmx-surface); }
.cmx-manifesto__layout { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); align-items: center; gap: 2rem; flex: 1; }
.cmx-manifesto__statement { grid-column: span 8; }
.cmx-manifesto__text { margin-top: 1.25rem; font-size: clamp(4.2rem,9.2vw,10.5rem); }
.cmx-manifesto__image { position: relative; grid-column: span 4; aspect-ratio: 4/5; overflow: hidden; border: 1px solid var(--cmx-line); }
.cmx-manifesto__image::after { position: absolute; inset: 45% 0 0; content: ""; background: linear-gradient(0deg,rgba(6,6,6,.9),transparent); }
.cmx-manifesto__image img { width: 100%; height: 100%; object-fit: cover; object-position: top; filter: contrast(1.1) grayscale(.2); }
.cmx-manifesto__image figcaption { position: absolute; z-index: 1; inset: auto 1rem 1rem; display: flex; flex-direction: column; gap: .3rem; color: var(--cmx-muted); font: .55rem var(--cmx-mono); letter-spacing: .1em; text-transform: uppercase; }
.cmx-manifesto__image figcaption span:last-child { color: var(--cmx-paper); }
.cmx-manifesto__notes { grid-column: 1/-1; display: flex; justify-content: flex-end; gap: clamp(2rem,8vw,8rem); color: var(--cmx-muted); font: .62rem/1.7 var(--cmx-mono); letter-spacing: .1em; text-align: right; text-transform: uppercase; }
.cmx-manifesto__notes strong { color: var(--cmx-paper); }
.cmx-manifesto__identity { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: min(1720px,calc(100% - 96px)); margin-top: 3rem; padding-top: 1.4rem; border-top: 1px solid var(--cmx-line); color: var(--cmx-muted); font: .57rem var(--cmx-mono); letter-spacing: .1em; text-transform: uppercase; }
.cmx-manifesto__identity img { width: 62px; height: 62px; object-fit: contain; }
.cmx-duality-heading { max-width: 54rem; margin: 0 auto clamp(2.5rem,5vw,4.5rem); text-align: center; }
.cmx-duality-heading h2 { margin: .7rem 0; font-size: clamp(3rem,6.5vw,6rem); }
.cmx-duality-heading p { color: var(--cmx-muted); font: .68rem var(--cmx-mono); letter-spacing: .1em; text-transform: uppercase; }
.cmx-duality { gap: clamp(1rem,2vw,2rem); border: 0; }
.cmx-duality__card { min-height: 0 !important; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-start !important; padding: 0 !important; border: 1px solid var(--cmx-line); background: var(--cmx-surface-raised); }
.cmx-duality__card--checkmate:hover { border-color: var(--cmx-gold); }
.cmx-duality__card--emotions:hover { border-color: var(--cmx-red); }
.cmx-duality__image { position: relative; aspect-ratio: 16/9; overflow: hidden; background: var(--cmx-surface); }
.cmx-duality__image img { width: 100%; height: 100%; object-fit: cover; object-position: top; filter: contrast(1.1) brightness(.8); transition: transform .7s; }
.cmx-duality__card:hover .cmx-duality__image img { transform: scale(1.04); }
.cmx-duality__image::after { position: absolute; inset: 40% 0 0; content: ""; background: linear-gradient(0deg,var(--cmx-surface-raised),transparent); }
.cmx-duality__image > span { position: absolute; z-index: 1; top: 1rem; left: 1rem; padding: .45rem .65rem; border: 1px solid var(--cmx-line); background: rgba(6,6,6,.86); color: var(--cmx-paper); font: .55rem var(--cmx-mono); letter-spacing: .1em; text-transform: uppercase; }
.cmx-duality__content { display: flex; flex: 1; flex-direction: column; padding: clamp(1.5rem,3vw,2.5rem); }
.cmx-duality__content h3 { margin: .55rem 0 1rem; font: 400 clamp(2.3rem,4.2vw,4.3rem)/.92 var(--cmx-display); letter-spacing: -.03em; text-transform: uppercase; }
.cmx-duality__content .cmx-body-copy { margin: 0 0 1.5rem; }
.cmx-duality__pillars { display: grid; grid-template-columns: repeat(3,1fr); gap: .5rem; padding-top: 1rem; border-top: 1px solid var(--cmx-line); }
.cmx-duality__pillars span { padding: .65rem .25rem; border: 1px solid var(--cmx-line); background: #111; color: var(--cmx-paper); font: .52rem var(--cmx-mono); text-align: center; text-transform: uppercase; }
.cmx-duality__footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 1.3rem; }
.cmx-duality__footer > span { color: var(--cmx-muted); font: .53rem var(--cmx-mono); letter-spacing: .08em; text-transform: uppercase; }
.cmx-duality__footer .cmx-link { padding: .7rem 0; border: 0; background: transparent; color: var(--cmx-paper); cursor: pointer; }
.cmx-duality__footer .cmx-link[data-state-filter="checkmate"]::after { color: var(--cmx-gold); }
.cmx-duality__footer .cmx-link[data-state-filter="emotions"]::after { color: var(--cmx-red); }
.cmx-craft__heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--cmx-line); }
.cmx-craft__heading h2 { max-width: 12ch; }
.cmx-craft__heading .cmx-body-copy { max-width: 30rem; margin: 0; font: .63rem/1.7 var(--cmx-mono); text-transform: uppercase; }
.cmx-craft__tiles { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.cmx-craft__tiles article { display: flex; min-height: 220px; flex-direction: column; justify-content: space-between; padding: clamp(1.2rem,2.5vw,2rem); border: 1px solid var(--cmx-line); background: var(--cmx-surface-raised); }
.cmx-craft__tiles article strong { display: block; margin-top: 1.3rem; color: var(--cmx-paper); font: 400 clamp(2rem,4vw,3.7rem)/1 var(--cmx-display); }
.cmx-craft__tiles article p { max-width: 38ch; margin: .8rem 0 0; color: var(--cmx-muted); font-size: .75rem; }
.cmx-craft__image { position: relative; display: flex; min-height: clamp(220px,30vw,440px); flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: 1rem; margin-top: 1rem; padding: clamp(1.5rem,4vw,3.5rem); overflow: hidden; background: linear-gradient(90deg,rgba(6,6,6,.88),rgba(6,6,6,.22)),var(--cmx-craft-image,#111) center/cover; }
.cmx-craft__image .cmx-label { color: var(--cmx-paper); }
.cmx-archive > a { display: grid; grid-template-columns: 100px 70px 1fr; align-items: center; gap: 1rem; }
.cmx-archive a strong { font: 600 1rem var(--cmx-heading); text-transform: uppercase; }
.cmx-archive-empty { display: grid; grid-template-columns: 120px 1fr auto; align-items: center; gap: 1.5rem; padding: 2rem 0; border-block: 1px solid var(--cmx-line); }
.cmx-archive-empty .cmx-archive__number { color: var(--cmx-line); font: 400 clamp(3rem,6vw,6rem)/.9 var(--cmx-display); }
.cmx-archive-empty p { margin: .45rem 0 0; color: var(--cmx-muted); font: .65rem var(--cmx-mono); letter-spacing: .08em; text-transform: uppercase; }
.cmx-footer { padding-top: clamp(4rem,8vw,7rem); }
.cmx-footer__feature { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; gap: clamp(2rem,5vw,6rem); padding-bottom: clamp(3rem,6vw,5rem); border-bottom: 1px solid var(--cmx-line); }
.cmx-footer__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(1.5rem,3vw,3rem); padding-block: clamp(3rem,6vw,5rem); border-bottom: 1px solid var(--cmx-line); }
.cmx-footer__brand { max-width: 23rem; }
.cmx-footer__mark { display: inline-flex; margin-bottom: 1.5rem; }
.cmx-footer__mark img { width: 64px; height: 64px; object-fit: contain; }
.cmx-footer__mark span { color: var(--cmx-paper); font: 400 3rem/.8 var(--cmx-display); }
.cmx-footer__brand p { max-width: 28ch; margin-top: .7rem; color: var(--cmx-muted); font: .68rem/1.7 var(--cmx-mono); text-transform: uppercase; }
.cmx-footer__priority { padding: clamp(1.4rem,3vw,2.5rem); border: 1px solid var(--cmx-line); background: var(--cmx-surface); }
.cmx-footer__priority-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.cmx-footer__priority-state { color: var(--cmx-gold); font: .55rem/1.4 var(--cmx-mono); letter-spacing: .1em; text-transform: uppercase; }
.cmx-footer__priority h2 { margin: 1.6rem 0 .7rem; color: var(--cmx-paper); font: 400 clamp(1.65rem,3vw,2.5rem)/1.05 var(--cmx-heading); letter-spacing: -.04em; text-transform: uppercase; }
.cmx-footer__priority-copy { max-width: 48ch; margin: 0; color: var(--cmx-muted); font: .75rem/1.7 var(--cmx-body); }
.cmx-footer__priority-status { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; padding: .9rem 1rem; border: 1px solid var(--cmx-line); color: var(--cmx-muted); font: .58rem/1.5 var(--cmx-mono); letter-spacing: .06em; text-transform: uppercase; }
.cmx-footer__priority-status strong { color: var(--cmx-paper); font: inherit; text-align: right; }
.cmx-footer__priority-note { margin: .7rem 0 0; color: var(--cmx-muted); font: .57rem/1.55 var(--cmx-mono); letter-spacing: .04em; text-transform: uppercase; }
.cmx-footer__grid nav h2 { margin: 0 0 1.1rem; color: var(--cmx-paper); font: 600 .67rem var(--cmx-mono); letter-spacing: .1em; text-transform: uppercase; }
.cmx-footer__grid ul { display: grid; gap: .8rem; margin: 0; padding: 0; list-style: none; }
.cmx-footer__grid a,.cmx-footer__grid button { padding: 0; border: 0; background: transparent; color: var(--cmx-muted); font: .62rem var(--cmx-mono); letter-spacing: .05em; text-align: left; text-decoration: none; text-transform: uppercase; cursor: pointer; }
.cmx-footer__grid a:hover,.cmx-footer__grid button:hover { color: var(--cmx-paper); }
.cmx-footer__watermark { overflow: hidden; padding: clamp(2rem,5vw,4rem) 0; border-block: 1px solid var(--cmx-line); color: #242321; font: 400 clamp(3rem,10.4vw,11rem)/.8 var(--cmx-display); letter-spacing: -.035em; text-align: center; white-space: nowrap; }
.cmx-footer__watermark span { color: var(--cmx-gold); }
.cmx-footer__bottom { align-items: center; padding-block: 1.25rem; }
.cmx-footer__bottom a { color: var(--cmx-muted); text-decoration: none; }

/* Match the source catalogue photography: garment first, campaign frame on hover. */
.cmx-product__media { aspect-ratio: 3/4; background: var(--cmx-surface-raised); }
.cmx-product__media > a { position: absolute; inset: 0; overflow: hidden; }
.cmx-product__image { position: absolute; inset: 0; width: 100%; height: 100%; transition: opacity .45s, transform .65s; }
.cmx-product__image--primary { padding: 1rem; object-fit: contain !important; }
.cmx-product__image--lifestyle { object-fit: cover; opacity: 0; }
.cmx-product__badges { position: absolute; z-index: 1; inset: .7rem .7rem auto; display: flex; justify-content: space-between; gap: .5rem; pointer-events: none; }
.cmx-product__badge { padding: .3rem .45rem; border: 1px solid var(--cmx-line); background: rgba(6,6,6,.9); color: var(--cmx-paper); font: .5rem/1.2 var(--cmx-mono); letter-spacing: .08em; text-transform: uppercase; }
.cmx-product__badge--checkmate { border-color: rgba(212,175,55,.4); color: var(--cmx-gold); }
.cmx-product__badge--emotions { border-color: rgba(229,9,20,.4); color: var(--cmx-red); }
@media (hover: hover) {
	.cmx-product__media:hover .cmx-product__image--primary,
	.cmx-product__media:focus-within .cmx-product__image--primary { opacity: 0; transform: scale(.97); }
	.cmx-product__media:hover .cmx-product__image--lifestyle,
	.cmx-product__media:focus-within .cmx-product__image--lifestyle { opacity: 1; transform: scale(1.025); }
}

/* The prototype keeps the split-state hero and desktop navigation at 768px+. */
@media (min-width: 768px) and (max-width: 900px) {
	.admin-bar .cmx-header { top: 32px; }
	.cmx-header__inner { grid-template-columns: 1fr auto 1fr; }
	.cmx-header__nav { display: none; }
	.cmx-menu-toggle { display: inline-flex; }
	.cmx-hero { min-height: calc(100svh - 32px); height: calc(100svh - 32px); grid-template-columns: 1fr 1fr; grid-template-rows: none; }
	.cmx-hero__state--checkmate,
	.cmx-hero__state--emotions { grid-row: auto; }
	.cmx-hero__state { min-height: 0; padding: 7rem clamp(1.25rem,3vw,2rem) 2rem; }
	.cmx-hero__spine { position: absolute; top: 50%; left: 50%; grid-column: auto; grid-row: auto; width: auto; justify-self: auto; transform: translate(-50%,-50%); flex-direction: column; padding: .8rem 1rem; border-inline: 1px solid rgba(245,245,245,.16); }
	.cmx-hero__spine > span,
	.cmx-hero__spine small:last-child { display: block; }
	.cmx-hero h1,
	.cmx-hero h2 { font-size: clamp(3.6rem,8vw,6rem); }
}

/* Keep the catalogue density and navigation breakpoints aligned with the source UI. */
@media (min-width: 1280px) {
	.cmx-wrap { width: min(1720px, calc(100% - 64px)); }
	.cmx-wordmark img { width: 84px; height: 84px; }
}
@media (min-width: 1024px) and (max-width: 1279px) {
	.cmx-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 640px) and (max-width: 1023px) {
	.cmx-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cmx-wordmark img { width: 64px; height: 64px; }
}
@media (max-width: 639px) {
	.cmx-product-grid { grid-template-columns: 1fr; }
	.cmx-wordmark img { width: 56px; height: 56px; }
}

/* A full product story, with WooCommerce remaining authoritative for purchase data. */
.single-product .cmx-page { padding-top: clamp(7rem, 10vw, 9rem); }
.single-product .cmx-wrap { width: min(1720px, calc(100% - 64px)); }
.cmx-product-back { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.8rem; }
.cmx-product-back .cmx-link { font-size: .58rem; }
.cmx-product-breadcrumb { color: var(--cmx-muted); font: .55rem var(--cmx-mono); letter-spacing: .08em; text-transform: uppercase; }
.cmx-product-breadcrumb .woocommerce-breadcrumb { color: inherit; }
.cmx-product-breadcrumb a { text-decoration: none; }
.cmx-product-intro { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.cmx-product-intro .cmx-label { margin: 0; }
.cmx-product-state { padding: .38rem .6rem; border: 1px solid var(--cmx-line); color: var(--cmx-paper); font: .55rem/1 var(--cmx-mono); letter-spacing: .12em; text-transform: uppercase; }
.cmx-product-state--checkmate { border-color: rgba(212,175,55,.55); color: var(--cmx-gold); }
.cmx-product-state--emotions { border-color: rgba(229,9,20,.55); color: var(--cmx-red); }
body.single-product div.product { position: relative; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr); align-items: start; gap: clamp(2.5rem, 6vw, 7rem); margin: 0; }
body.single-product div.product .woocommerce-product-gallery { float: none; width: 100%; margin: 0; grid-column: 1; grid-row: 1; }
body.single-product div.product .summary { float: none; width: 100%; margin: 0; grid-column: 2; grid-row: 1; position: sticky; top: 112px; }
body.admin-bar.single-product div.product .summary { top: 144px; }
body.single-product div.product .woocommerce-tabs,
body.single-product div.product .related { grid-column: 1 / -1; width: 100%; margin: 0; }
body.single-product div.product .related { padding-block: clamp(3rem, 6vw, 6rem); border-top: 1px solid var(--cmx-line); }
body.single-product div.product .related > h2 { margin: 0 0 1.6rem; color: var(--cmx-paper); font: 400 clamp(2.4rem, 5vw, 4.5rem)/.9 var(--cmx-display); text-transform: uppercase; }
.single-product .woocommerce-product-gallery { overflow: hidden; background: var(--cmx-surface); opacity: 1; }
.single-product .woocommerce-product-gallery .flex-viewport { height: auto !important; }
.single-product .woocommerce-product-gallery__wrapper { margin: 0; }
.single-product .woocommerce-product-gallery__image { aspect-ratio: 4 / 5; overflow: hidden; background: var(--cmx-surface-raised); }
.single-product .woocommerce-product-gallery__image a { display: block; width: 100%; height: 100%; }
.single-product .woocommerce-product-gallery__image img { width: 100%; height: 100%; padding: clamp(.75rem, 2vw, 2rem); object-fit: contain; }
.single-product .woocommerce-product-gallery ol.flex-control-thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; margin: .65rem 0 0; padding: 0; }
.single-product .woocommerce-product-gallery ol.flex-control-thumbs li { float: none; width: 100%; margin: 0; overflow: hidden; background: var(--cmx-surface-raised); }
.single-product .woocommerce-product-gallery ol.flex-control-thumbs img { width: 100%; aspect-ratio: 1; padding: .35rem; object-fit: contain; opacity: .62; transition: opacity .2s; }
.single-product .woocommerce-product-gallery ol.flex-control-thumbs img.flex-active,
.single-product .woocommerce-product-gallery ol.flex-control-thumbs img:hover { opacity: 1; }
.single-product .woocommerce-product-gallery__trigger { z-index: 3; top: 1rem; right: 1rem; display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid var(--cmx-line); border-radius: 0; background: rgba(6,6,6,.8); }
.single-product .summary .product_title { max-width: 12ch; margin: 0 0 .75rem; color: var(--cmx-paper); font: 400 clamp(3.2rem, 5vw, 6.2rem)/.82 var(--cmx-display); letter-spacing: -.035em; text-transform: uppercase; }
.single-product .summary .price { display: block; margin: 1.1rem 0 1.4rem; color: var(--cmx-paper); font: 500 1rem/1.4 var(--cmx-mono); letter-spacing: .04em; }
.single-product .summary .price del { color: var(--cmx-muted); opacity: .7; }
.single-product .summary .price ins { text-decoration: none; }
.single-product .summary .woocommerce-product-details__short-description { max-width: 48ch; margin: 0 0 2rem; color: #c6c2b9; font-size: .9rem; line-height: 1.8; }
.single-product .summary .woocommerce-product-details__short-description p { margin: 0; }
.single-product .summary .stock { margin: 0 0 1rem; color: var(--cmx-muted); font: .58rem var(--cmx-mono); letter-spacing: .09em; text-transform: uppercase; }
.single-product .summary form.cart { margin: 1.5rem 0 0; padding-top: 1.4rem; border-top: 1px solid var(--cmx-line); }
.single-product .summary form.cart .variations { width: 100%; margin: 0 0 1rem; }
.single-product .summary form.cart .variations tr { display: block; margin: 0 0 1rem; }
.single-product .summary form.cart .variations th,
.single-product .summary form.cart .variations td { display: block; padding: 0; text-align: left; }
.single-product .summary form.cart .variations label { color: var(--cmx-muted); font: .58rem var(--cmx-mono); letter-spacing: .11em; text-transform: uppercase; }
.single-product .summary form.cart .variations select { width: 100%; min-height: 56px; margin-top: .5rem; padding: .9rem 2.8rem .9rem .95rem; border: 1px solid var(--cmx-line); background-color: var(--cmx-surface-raised); color: var(--cmx-paper); font: .72rem var(--cmx-mono); }
.single-product .summary form.cart .reset_variations { display: inline-block; margin-top: .5rem; color: var(--cmx-muted); font: .55rem var(--cmx-mono); }
.single-product .woocommerce-variation { margin: .8rem 0; color: var(--cmx-paper); font: .68rem var(--cmx-mono); }
.single-product .woocommerce-variation-availability .stock { margin: .25rem 0; }
.single-product .woocommerce-variation-add-to-cart { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: .65rem; }
.single-product .summary form.cart .quantity { width: 100%; margin: 0; }
.single-product .summary form.cart .quantity .qty { width: 100%; min-height: 58px; border: 1px solid var(--cmx-line); background: transparent; color: var(--cmx-paper); font: .8rem var(--cmx-mono); }
.single-product .summary .single_add_to_cart_button { width: 100%; min-height: 58px; border-color: var(--cmx-paper); background: var(--cmx-paper); color: var(--cmx-void); }
.single-product .summary .single_add_to_cart_button:hover { border-color: var(--cmx-gold); background: var(--cmx-gold); color: var(--cmx-void); }
body.single-product div.product .summary .single_add_to_cart_button:disabled { border-color: var(--cmx-line); background: #252422; color: var(--cmx-muted); opacity: 1; cursor: not-allowed; }
.single-product .summary .product_meta { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--cmx-line); color: var(--cmx-muted); font: .55rem/1.7 var(--cmx-mono); text-transform: uppercase; }
.single-product .summary .product_meta > span { display: block; }
.single-product .woocommerce-tabs { padding-top: clamp(2.5rem, 5vw, 5rem); }
.single-product .woocommerce-tabs ul.tabs { display: flex; gap: 1.5rem; margin: 0 0 1.5rem; padding: 0; border-bottom: 1px solid var(--cmx-line); }
.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after { display: none; }
.single-product .woocommerce-tabs ul.tabs li { margin: 0; padding: .8rem 0; border: 0; border-bottom: 1px solid transparent; border-radius: 0; background: transparent; font: .58rem var(--cmx-mono); letter-spacing: .1em; text-transform: uppercase; }
.single-product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--cmx-gold); background: transparent; color: var(--cmx-paper); }
.single-product .woocommerce-tabs ul.tabs li a { color: inherit; }
.single-product .woocommerce-tabs .panel { max-width: 78ch; margin: 0; color: #c6c2b9; font-size: .88rem; line-height: 1.85; }
.single-product .woocommerce-tabs .panel h2 { margin: 0 0 .8rem; color: var(--cmx-paper); font: 400 1.8rem/1 var(--cmx-display); text-transform: uppercase; }
.cmx-product-file { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); gap: clamp(2rem, 6vw, 7rem); padding-block: clamp(4rem, 9vw, 8rem); border-top: 1px solid var(--cmx-line); }
.cmx-product-file__heading h2 { margin: .55rem 0 0; color: var(--cmx-paper); font: 400 clamp(2.8rem, 6vw, 6rem)/.84 var(--cmx-display); text-transform: uppercase; }
.cmx-product-file .cmx-spec-list { margin: 0; border-top-color: var(--cmx-line); }
.cmx-product-file .cmx-spec-list div { padding: 1rem 0; }
.cmx-product-file .cmx-spec-list dt { margin-bottom: .45rem; }
.cmx-product-file .cmx-spec-list dd { margin: 0; color: var(--cmx-paper); font: .82rem/1.55 var(--cmx-body); }
.cmx-product-file__note { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 1.2rem; align-items: start; padding-top: 1.3rem; border-top: 1px solid var(--cmx-line); }
.cmx-product-file__index { color: var(--cmx-gold); font: 400 3rem/.85 var(--cmx-display); }
.cmx-product-file__note p { max-width: 50ch; margin: 0; color: var(--cmx-muted); font-size: .83rem; line-height: 1.8; }
.single-product .related ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin: 0; }
.single-product .related ul.products::before,
.single-product .related ul.products::after { display: none; }
.single-product .related ul.products li.product { float: none; width: auto; margin: 0; }
@media (max-width: 1023px) {
	body.single-product div.product { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
	body.single-product div.product .summary { position: static; grid-column: 1; grid-row: 2; max-width: 720px; }
	body.single-product div.product .woocommerce-product-gallery { grid-column: 1; grid-row: 1; }
	body.single-product div.product .woocommerce-tabs { grid-row: 3; }
	body.single-product div.product .related { grid-row: 4; }
	.cmx-product-file { grid-template-columns: 1fr; gap: 1.6rem; }
	.single-product .related ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
	.single-product .cmx-page { padding-top: 6rem; }
	.single-product .cmx-wrap { width: calc(100% - 32px); }
	.cmx-product-back { align-items: flex-start; flex-direction: column; gap: .5rem; margin-bottom: 1.2rem; }
	body.single-product div.product .summary .product_title { font-size: clamp(3rem, 15vw, 4.8rem); }
	.single-product .woocommerce-tabs ul.tabs { gap: .9rem; overflow-x: auto; white-space: nowrap; }
	.single-product .related ul.products { gap: .8rem; }
	.cmx-product-file__note { grid-template-columns: 44px minmax(0, 1fr); gap: .8rem; }
}
@media (max-width: 900px) {
	.cmx-manifesto__statement { grid-column: span 7; }
	.cmx-manifesto__image { grid-column: span 5; }
	.cmx-footer__feature { grid-template-columns: 1fr; gap: 2rem; }
	.cmx-footer__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
	.cmx-manifesto { min-height: 0; }
	.cmx-manifesto__layout { display: flex; flex-direction: column; align-items: stretch; gap: 1.5rem; }
	.cmx-manifesto__text { font-size: clamp(3.5rem,16vw,5rem); }
	.cmx-manifesto__image { width: min(100%,340px); align-self: flex-end; }
	.cmx-manifesto__notes { justify-content: space-between; gap: 1rem; text-align: left; }
	.cmx-manifesto__identity { width: min(100% - 36px,1280px); margin-top: 2.5rem; font-size: .47rem; }
	.cmx-manifesto__identity img { width: 46px; height: 46px; }
	.cmx-duality-heading { margin-bottom: 2rem; text-align: left; }
	.cmx-duality { gap: .8rem; }
	.cmx-duality__content { padding: 1.25rem; }
	.cmx-duality__footer { align-items: flex-start; flex-direction: column; gap: .2rem; }
	.cmx-craft__heading { align-items: flex-start; flex-direction: column; gap: 1rem; }
	.cmx-craft__tiles { grid-template-columns: 1fr; }
	.cmx-craft__tiles article { min-height: 170px; }
	.cmx-footer__grid { grid-template-columns: 1fr 1fr; gap: 2rem 1.25rem; }
	.cmx-footer__priority { padding: 1.2rem; }
	.cmx-footer__priority-head { align-items: flex-start; flex-direction: column; gap: .55rem; }
	.cmx-footer__priority-status { align-items: flex-start; flex-direction: column; }
	.cmx-footer__priority-status strong { text-align: left; }
	.cmx-footer__watermark { font-size: 12vw; }
	.cmx-archive-empty { grid-template-columns: 64px 1fr; gap: 1rem; }
	.cmx-archive-empty > a { grid-column: 2; }
}

/* WooCommerce core targets #content, so these matching selectors keep the product grid authoritative. */
#content div.product div.images.woocommerce-product-gallery,
#content div.product div.summary { float: none; width: 100%; margin: 0; }
#content div.product div.images.woocommerce-product-gallery { grid-column: 1; grid-row: 1; }
#content div.product div.summary { grid-column: 2; grid-row: 1; }
@media (max-width: 1023px) {
	#content div.product div.summary { position: static; grid-column: 1; grid-row: 2; max-width: 720px; }
	#content div.product div.images.woocommerce-product-gallery { grid-column: 1; grid-row: 1; }
}
/* WooCommerce summary uses one extra class in its #content float rule. */
.woocommerce #content div.product div.summary { float: none; width: 100%; margin: 0; grid-column: 2; grid-row: 1; }
.woocommerce #content div.product div.summary button.button.alt.disabled, .woocommerce #content div.product div.summary button.button.alt:disabled, .woocommerce #content div.product div.summary button.button.alt[disabled] { border-color: var(--cmx-line); background: #252422; color: var(--cmx-muted); opacity: 1; cursor: not-allowed; }
@media (max-width: 1023px) {
	.woocommerce #content div.product div.summary { position: static; grid-column: 1; grid-row: 2; max-width: 720px; }
}.woocommerce #content div.product div.summary button.single_add_to_cart_button:not(.disabled) { border-color: var(--cmx-paper); background: var(--cmx-paper); color: var(--cmx-void); }
.woocommerce #content div.product div.summary button.single_add_to_cart_button:not(.disabled):hover { border-color: var(--cmx-gold); background: var(--cmx-gold); color: var(--cmx-void); }
.woocommerce #content div.product div.summary button.single_add_to_cart_button:focus-visible { outline: 2px solid var(--cmx-gold); outline-offset: 3px; }

/* Keep the purchase action in its own product column; it must not cover details on scroll. */
body.single-product div.product .summary, .woocommerce #content div.product div.summary { position: static; top: auto; }

/* Commerce blocks retain WooCommerce's live cart, pricing, tax, address and order logic. */
.woocommerce-cart .wp-block-woocommerce-cart, .woocommerce-checkout .wp-block-woocommerce-checkout { width: min(1280px, 100%); margin-inline: auto; color: var(--cmx-paper); font-family: var(--cmx-body); }
.woocommerce-cart .wc-block-cart, .woocommerce-checkout .wc-block-checkout { color: var(--cmx-paper); font-size: .9rem; line-height: 1.65; }
.woocommerce-cart .wc-block-cart { gap: clamp(2rem, 5vw, 5rem); }
.woocommerce-cart .wc-block-cart-items { border-collapse: collapse; border-top: 1px solid var(--cmx-line); }
.woocommerce-cart .wc-block-cart-items__header th { padding: .85rem 0; border-bottom: 1px solid var(--cmx-line); color: var(--cmx-muted); font: .58rem/1.4 var(--cmx-mono); letter-spacing: .12em; text-transform: uppercase; }
.woocommerce-cart .wc-block-cart-items__row td { padding: 1.25rem 0; border-bottom: 1px solid var(--cmx-line); vertical-align: top; }
.woocommerce-cart .wc-block-cart-item__image { width: clamp(76px, 9vw, 132px); padding-right: 1rem !important; }
.woocommerce-cart .wc-block-cart-item__image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: var(--cmx-surface); }
.woocommerce-cart .wc-block-cart-item__product { padding-right: 1rem !important; }
.woocommerce-cart .wc-block-components-product-name { color: var(--cmx-paper); font: 400 clamp(1.05rem, 1.7vw, 1.6rem)/1.12 var(--cmx-heading); letter-spacing: .015em; text-decoration: none; text-transform: uppercase; }
.woocommerce-cart .wc-block-components-product-price { margin-top: .45rem; color: var(--cmx-paper); font: .75rem/1.5 var(--cmx-mono); }
.woocommerce-cart .wc-block-components-product-metadata { margin-top: .6rem; color: var(--cmx-muted); font-size: .73rem; line-height: 1.65; }
.woocommerce-cart .wc-block-cart-item__total { color: var(--cmx-paper); font: .72rem/1.5 var(--cmx-mono); text-align: right; white-space: nowrap; }
.woocommerce-cart .wc-block-components-quantity-selector { border: 1px solid var(--cmx-line); border-radius: 0; background: transparent; color: var(--cmx-paper); }
.woocommerce-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input { color: var(--cmx-paper); font: .75rem var(--cmx-mono); }
.woocommerce-cart .wc-block-components-quantity-selector button { color: var(--cmx-paper); }
.woocommerce-cart .wc-block-cart-item__remove-link { color: var(--cmx-muted); font: .56rem/1.4 var(--cmx-mono); letter-spacing: .08em; text-decoration-color: var(--cmx-line); text-transform: uppercase; }
.woocommerce-cart .wc-block-cart__sidebar { align-self: start; padding: 1.25rem; border: 1px solid var(--cmx-line); background: var(--cmx-surface); }
.woocommerce-cart .wc-block-cart__totals-title { margin: 0 0 .6rem; color: var(--cmx-paper); font: 400 1.65rem/1 var(--cmx-display); text-transform: uppercase; }
.woocommerce-cart .wc-block-components-totals-wrapper { border-color: var(--cmx-line); }
.woocommerce-cart .wc-block-components-totals-item { color: var(--cmx-paper); font: .72rem/1.55 var(--cmx-mono); }
.woocommerce-cart .wc-block-components-totals-footer-item { font-size: .8rem; }
.woocommerce-cart .wc-block-components-totals-item__label { color: var(--cmx-muted); }
.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button { color: var(--cmx-paper); font: .65rem/1.5 var(--cmx-mono); letter-spacing: .06em; }
.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button svg { fill: currentColor; }
.woocommerce-cart .wc-block-components-button:not(.is-link) { min-height: 52px; border: 1px solid var(--cmx-paper); border-radius: 0; background: var(--cmx-paper); box-shadow: none; color: var(--cmx-void); font: 600 .63rem/1.2 var(--cmx-mono); letter-spacing: .1em; text-transform: uppercase; transition: background-color .18s, color .18s, border-color .18s; }
.woocommerce-cart .wc-block-components-button:not(.is-link):hover { border-color: var(--cmx-gold); background: var(--cmx-gold); color: var(--cmx-void); }
.woocommerce-cart .wc-block-components-button:focus-visible { outline: 2px solid var(--cmx-gold); outline-offset: 3px; }
.woocommerce-cart .wc-block-components-button[aria-disabled="true"] { border-color: var(--cmx-line); background: #252422; color: var(--cmx-muted); }
.woocommerce-cart .wc-block-components-notice-banner { border: 1px solid var(--cmx-gold); border-radius: 0; background: var(--cmx-surface); color: var(--cmx-paper); }
.woocommerce-cart .wc-block-components-notice-banner svg { fill: var(--cmx-gold); }
.woocommerce-cart .wc-block-cart__empty-cart__title { color: var(--cmx-paper); font: 400 clamp(1.7rem, 3.5vw, 3.1rem)/1.08 var(--cmx-display); text-transform: uppercase; }
.woocommerce-cart .wp-block-woocommerce-empty-cart-block { padding: clamp(2.5rem, 7vw, 6rem) 0; text-align: left; }
.woocommerce-cart .wp-block-separator.is-style-dots { width: 100%; max-width: none; height: 1px !important; margin: clamp(1.25rem, 3vw, 2.5rem) 0; border: 0 !important; background: var(--cmx-line) !important; opacity: 1; }
.woocommerce-cart .wp-block-separator.is-style-dots::before { content: none; display: none; }
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title { color: var(--cmx-paper); font: 600 .82rem/1.35 var(--cmx-heading); text-transform: uppercase; }
.woocommerce-cart .wp-block-woocommerce-empty-cart-block > h2.wp-block-heading { margin: 0 0 1.5rem; color: var(--cmx-paper); font: 400 clamp(1.8rem, 3.5vw, 3rem)/1.08 var(--cmx-display); text-align: left; text-transform: uppercase; }
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link { min-height: 48px; padding-inline: .55rem; border: 1px solid var(--cmx-paper); border-radius: 0; background: var(--cmx-paper); color: var(--cmx-void); font: 600 .58rem/1.2 var(--cmx-mono); letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; transition: background-color .18s, color .18s, border-color .18s; }
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link:hover { border-color: var(--cmx-gold); background: var(--cmx-gold); color: var(--cmx-void); }
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link:focus-visible { outline: 2px solid var(--cmx-gold); outline-offset: 3px; }

.woocommerce-checkout .wc-block-checkout { gap: clamp(2rem, 5vw, 5rem); }
.woocommerce-checkout .wc-block-checkout__form { gap: 0; }
.woocommerce-checkout .wc-block-components-checkout-step { margin: 0; padding: 0 0 1.7rem; border: 0; border-bottom: 1px solid var(--cmx-line); }
.woocommerce-checkout .wc-block-components-checkout-step + .wc-block-components-checkout-step,
.woocommerce-checkout .wc-block-components-checkout-step + .wp-block-woocommerce-checkout-shipping-method-block { margin-top: 1.8rem; }
.woocommerce-checkout .wc-block-components-checkout-step__heading-container { margin: 0 0 1.15rem; }
.woocommerce-checkout .wc-block-components-checkout-step__title { color: var(--cmx-paper); font: 400 1.55rem/1.08 var(--cmx-display); text-transform: uppercase; }
.woocommerce-checkout .wc-block-components-checkout-step__content { color: var(--cmx-muted); }
.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-combobox .components-combobox-control__input,
.woocommerce-checkout .wc-blocks-components-select__select,
.woocommerce-checkout .wc-block-components-textarea { min-height: 54px; border: 1px solid var(--cmx-line) !important; border-radius: 0 !important; background: #111 !important; box-shadow: none !important; color: var(--cmx-paper) !important; font: .78rem/1.45 var(--cmx-body) !important; }
.woocommerce-checkout .wc-block-components-text-input label,
.woocommerce-checkout .wc-blocks-components-select__label { color: var(--cmx-muted) !important; font: .56rem/1.2 var(--cmx-mono) !important; letter-spacing: .07em; text-transform: uppercase; }
.woocommerce-checkout .wc-block-components-text-input input:focus,
.woocommerce-checkout .wc-block-components-combobox .components-combobox-control__input:focus,
.woocommerce-checkout .wc-blocks-components-select__select:focus,
.woocommerce-checkout .wc-block-components-textarea:focus { border-color: var(--cmx-gold) !important; outline: 2px solid var(--cmx-gold); outline-offset: 2px; }
.woocommerce-checkout .wc-block-components-text-input input::placeholder,
.woocommerce-checkout .wc-block-components-textarea::placeholder { color: #85827a; opacity: 1; }
.woocommerce-checkout .wc-blocks-components-select__container::after { border-color: var(--cmx-muted) !important; }
.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input { accent-color: var(--cmx-gold); }
.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__label,
.woocommerce-checkout .wc-block-components-checkbox label { color: var(--cmx-muted); font-size: .75rem; }
.woocommerce-checkout .wc-block-components-order-summary { padding: 1.2rem; border: 1px solid var(--cmx-line); background: var(--cmx-surface); }
.woocommerce-checkout .wc-block-components-order-summary__title { color: var(--cmx-paper); font: 400 1.65rem/1.08 var(--cmx-display); text-transform: uppercase; }
.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text { color: var(--cmx-paper); font: 400 1.65rem/1.08 var(--cmx-display); text-transform: uppercase; }
.woocommerce-checkout .wc-block-components-order-summary-item { color: var(--cmx-paper); }
.woocommerce-checkout .wc-block-components-order-summary-item__description,
.woocommerce-checkout .wc-block-components-product-metadata { color: var(--cmx-muted); font-size: .7rem; line-height: 1.55; }
.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices,
.woocommerce-checkout .wc-block-components-order-summary-item__total-price { color: var(--cmx-paper); font: .68rem/1.5 var(--cmx-mono); }
.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-totals-wrapper { border-color: var(--cmx-line); }
.woocommerce-checkout .wc-block-components-totals-item { color: var(--cmx-paper); font: .7rem/1.6 var(--cmx-mono); }
.woocommerce-checkout .wc-block-components-totals-item__label { color: var(--cmx-muted); }
.woocommerce-checkout .wc-block-components-totals-footer-item { font-size: .78rem; }
.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button { color: var(--cmx-paper); font: .62rem/1.5 var(--cmx-mono); }
.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button svg { fill: currentColor; }
.woocommerce-checkout .wc-block-components-button:not(.is-link) { min-height: 54px; border: 1px solid var(--cmx-paper); border-radius: 0; background: var(--cmx-paper); box-shadow: none; color: var(--cmx-void); font: 600 .63rem/1.2 var(--cmx-mono); letter-spacing: .1em; text-transform: uppercase; transition: background-color .18s, color .18s, border-color .18s; }
.woocommerce-checkout .wc-block-components-button:not(.is-link):hover { border-color: var(--cmx-gold); background: var(--cmx-gold); color: var(--cmx-void); }
.woocommerce-checkout .wc-block-components-button:focus-visible { outline: 2px solid var(--cmx-gold); outline-offset: 3px; }
.woocommerce-checkout .wc-block-components-button[aria-disabled="true"], .woocommerce-checkout .wc-block-components-button:disabled { border-color: var(--cmx-line); background: #252422; color: var(--cmx-muted); cursor: not-allowed; }
.woocommerce-checkout .wc-block-components-notice-banner { border: 1px solid rgba(176, 54, 54, .7); border-radius: 0; background: #1b1111; color: var(--cmx-paper); }
.woocommerce-checkout .wc-block-components-notice-banner svg { fill: var(--cmx-red); }
.woocommerce-checkout .wc-block-checkout__terms { color: var(--cmx-muted); font-size: .72rem; line-height: 1.65; }
.woocommerce-checkout a { color: var(--cmx-paper); text-decoration-color: var(--cmx-line); text-underline-offset: .2em; }
.woocommerce-checkout a:hover { color: var(--cmx-gold); }

@media (max-width: 781px) {
	.woocommerce-cart .wc-block-cart, .woocommerce-checkout .wc-block-checkout { gap: 2rem; }
	.woocommerce-cart .wc-block-cart__sidebar, .woocommerce-checkout .wc-block-components-order-summary { padding: 1rem; }
	.woocommerce-cart .wc-block-cart-item__image { width: 72px; padding-right: .75rem !important; }
	.woocommerce-cart .wc-block-cart-item__total { font-size: .64rem; }
}

/* Reserve room for the Blocks gutter so desktop totals remain beside the form. */
.woocommerce-cart .wc-block-cart.is-large,
.woocommerce-checkout .wc-block-checkout.is-large { gap: clamp(1.25rem, 2.5vw, 2.5rem); }
.woocommerce-cart .wc-block-cart.is-large > .wc-block-cart__main,
.woocommerce-checkout .wc-block-checkout.is-large > .wc-block-checkout__main { flex: 1 1 calc(66.666% - 1.25rem); }
.woocommerce-cart .wc-block-cart.is-large > .wc-block-cart__sidebar,
.woocommerce-checkout .wc-block-checkout.is-large > .wc-block-checkout__sidebar { flex: 0 1 calc(33.334% - 1.25rem); }

/* Woo hides its only checkout link on desktop; place that same native link under totals. */
@media (min-width: 782px) {
	.woocommerce-cart .wc-block-cart.is-large { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(300px, .8fr); align-items: start; column-gap: clamp(1.25rem, 2.5vw, 2.5rem); row-gap: 0; }
	.woocommerce-cart .wc-block-cart.is-large > .wc-block-cart__main { grid-area: 1 / 1 / 3 / 2; width: auto; min-width: 0; }
	.woocommerce-cart .wc-block-cart.is-large > .wc-block-cart__sidebar { grid-area: 1 / 2; width: auto; min-width: 0; }
	.woocommerce-cart .wc-block-cart.is-large > .wc-block-cart__submit { grid-area: 2 / 2; width: auto; margin: 0; }
	.woocommerce-cart .wc-block-cart.is-large .wc-block-cart__submit-container--sticky { position: static; display: block; width: auto; padding: 0; background: transparent !important; }
}
@media (max-width: 900px) {
	.woocommerce-cart .wc-block-cart.is-large { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-cart .wc-block-cart.is-large > .wc-block-cart__main,
	.woocommerce-cart .wc-block-cart.is-large > .wc-block-cart__sidebar,
	.woocommerce-cart .wc-block-cart.is-large > .wc-block-cart__submit { grid-column: 1; grid-row: auto; }
}

/* Keep WooCommerce's sticky commerce layers out from under the fixed brand header. */
.woocommerce-cart .wc-block-cart__submit-container--sticky,
.woocommerce-checkout .wc-block-checkout__sidebar,
.woocommerce-checkout .wc-block-components-order-summary {
	position: static !important;
	top: auto !important;
	z-index: auto !important;
}
.woocommerce-cart .wc-block-cart__submit-container--sticky { width: 100%; padding: 0; background: transparent !important; }

/* Give wrapped display headlines enough leading for Anton's tall caps. */
.cmx-section h2,
.cmx-display,
.cmx-hero h1,
.cmx-hero h2,
.cmx-manifesto__text,
.cmx-duality__content h3,
.cmx-page__title,
.single-product .summary .product_title,
body.single-product div.product .related > h2,
.cmx-product-file__heading h2,
.woocommerce-checkout .wc-block-components-checkout-step__title,
.woocommerce-checkout .wc-block-components-order-summary__title,
.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text {
	line-height: 1.12;
}
.woocommerce.single-product div.product .summary .product_title { line-height: 1.12; }

/* Keep product details and purchase controls in normal flow beneath the fixed header. */
@media (min-width: 1024px) {
    body.single-product div.product .summary,
    .woocommerce #content div.product div.summary { position: static; top: auto; z-index: auto; }
}

/* Keep the cart's primary action reachable on touch layouts without covering page content. */
@media (max-width: 900px) {
	body.woocommerce-cart { padding-bottom: calc(5.5rem + env(safe-area-inset-bottom)); }
	.woocommerce-cart .wc-block-cart__submit {
		position: fixed; inset: auto 0 0; z-index: 40; margin: 0 !important;
		padding: .85rem 1rem calc(.85rem + env(safe-area-inset-bottom));
		border-top: 1px solid var(--cmx-line); background: rgba(7, 7, 7, .97);
	}
	.woocommerce-cart .wc-block-cart__submit-container { width: min(100%, 1280px); margin-inline: auto; }
	.woocommerce-cart .wc-block-cart__submit-button { width: 100%; }
}

/* Replace Woo's oversized empty-cart graphic with a small archive marker. */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title::before {
	content: "BAG / 00";
	display: block;
	width: max-content;
	height: auto;
	margin: 0 0 1.1rem;
	background: none;
	-webkit-mask: none;
	mask: none;
	color: var(--cmx-gold);
	font: 500 .62rem/1.4 var(--cmx-mono);
	letter-spacing: .14em;
}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title { text-align: left; }

@media (max-width: 781px) {
	.woocommerce-cart .wc-block-cart__submit-container--sticky { margin-top: 1rem; }
	.woocommerce-checkout .wc-block-checkout__sidebar { order: -1; }
}

/* Woo archives reuse the editorial cards and filtering language from the prototype. */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1.2rem, 2vw, 2rem);
	margin: 0;
	padding: 0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { display: flex; float: none; width: auto; margin: 0; clear: none; }
.woocommerce ul.products li.product > .cmx-product { width: 100%; flex: 1 1 auto; }
.woocommerce ul.products li.product .cmx-product__media img { margin: 0; }
.cmx-product-grid,
.woocommerce ul.products { align-items: stretch; }
.cmx-product { display: flex; height: 100%; flex-direction: column; overflow: hidden; border: 1px solid var(--cmx-line); border-radius: 2px; background: var(--cmx-surface); }
.cmx-product__media { flex: 0 0 auto; }
.cmx-product__line { min-height: 2.5rem; align-items: flex-start; }
.cmx-product__line > div:first-child { min-width: 0; }
.cmx-product__line > .cmx-price { flex: 0 0 auto; white-space: nowrap; text-align: right; }
.cmx-page > .cmx-wrap > h1.page-title { display: none; }
.cmx-archive-filters { display: grid; gap: .85rem; margin: -1rem 0 2rem; }
.cmx-archive-filters__group { display: flex; flex-wrap: wrap; gap: .3rem; }
.cmx-archive-filters__group a { padding: .65rem .8rem; border: 1px solid var(--cmx-line); color: var(--cmx-muted); font: .56rem var(--cmx-mono); letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.cmx-archive-filters__group a:hover,
.cmx-archive-filters__group a[aria-current="page"] { border-color: var(--cmx-paper); background: var(--cmx-paper); color: var(--cmx-void); }
.woocommerce .woocommerce-result-count { float: none; margin: .2rem 0 1rem; color: var(--cmx-muted); font: .55rem var(--cmx-mono); letter-spacing: .08em; text-transform: uppercase; }
.woocommerce .woocommerce-ordering { float: none; margin: 0 0 1.5rem auto; }
.woocommerce .woocommerce-ordering select { min-height: 40px; padding: .6rem 2rem .6rem .7rem; background: var(--cmx-surface); color: var(--cmx-paper); font: .56rem var(--cmx-mono); letter-spacing: .08em; text-transform: uppercase; }
.cmx-product__badge--sale { border-color: rgba(229,9,20,.5); color: var(--cmx-red); }
.cmx-product__purchase { box-sizing: border-box; display: flex; min-height: 8.25rem; flex: 0 0 8.25rem; flex-direction: column; margin-top: auto; padding-top: .85rem; border-top: 1px solid var(--cmx-line); }
.cmx-product__purchase--simple { justify-content: flex-end; }
.cmx-product__purchase > .cmx-button-link { margin-top: auto; }
.cmx-product__sizes { margin-bottom: .65rem; }
.cmx-product__sizes > .cmx-label { display: block; margin-bottom: .45rem; color: var(--cmx-muted); }
.cmx-product__size-list { display: flex; flex-wrap: wrap; gap: .3rem; }
.cmx-product__size-list button { min-width: 2rem; min-height: 2rem; padding: .35rem; border: 1px solid var(--cmx-line); background: var(--cmx-surface); color: var(--cmx-muted); font: .58rem var(--cmx-mono); }
.cmx-product__size-list button[aria-pressed="true"] { border-color: var(--cmx-paper); background: var(--cmx-paper); color: var(--cmx-void); }
.cmx-product__size-list button:disabled { opacity: .35; text-decoration: line-through; cursor: not-allowed; }
.cmx-product__purchase .variations_form { position: relative; margin: auto 0 0; }
.cmx-product__purchase .variations { width: 100%; margin: 0 0 .55rem; }
.cmx-product__purchase .variations th,
.cmx-product__purchase .variations td { padding: 0; text-align: left; }
.cmx-product__purchase .variations label { color: var(--cmx-muted); font: .56rem var(--cmx-mono); letter-spacing: .1em; text-transform: uppercase; }
.cmx-product__purchase .variations select { width: 100%; min-height: 36px; border: 1px solid var(--cmx-line); background: var(--cmx-surface); color: var(--cmx-paper); font: .6rem var(--cmx-mono); }
.cmx-product__purchase.is-enhanced .variations { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.cmx-product__purchase .reset_variations,
.cmx-product__purchase .woocommerce-variation { display: none !important; }
.cmx-product__purchase .quantity { display: none !important; }
.cmx-product__purchase .single_add_to_cart_button,
.cmx-product__purchase .add_to_cart_button,
.cmx-product__purchase > .button { display: block; width: 100%; min-height: 42px; margin: 0; padding: .7rem .8rem; border: 1px solid var(--cmx-paper); background: var(--cmx-paper); color: var(--cmx-void); font: .55rem var(--cmx-mono); letter-spacing: .12em; text-transform: uppercase; text-align: center; text-decoration: none; }
.cmx-product__purchase .single_add_to_cart_button:hover,
.cmx-product__purchase .add_to_cart_button:hover { border-color: var(--cmx-gold); background: var(--cmx-gold); color: var(--cmx-void); }
.cmx-product__purchase .single_add_to_cart_button:disabled { border-color: var(--cmx-line); background: #252422; color: var(--cmx-muted); opacity: 1; }
.woocommerce .cmx-product__purchase .button { box-sizing: border-box; padding: .7rem .8rem; }
.cmx-product__feedback { margin: .4rem 0; color: var(--cmx-gold); font: .55rem/1.4 var(--cmx-mono); text-align: center; }
.cmx-product__feedback.is-error { color: #f0c8c4; }
.cmx-product__purchase--simple .added_to_cart { display: block; margin-top: .5rem; color: var(--cmx-gold); font: .55rem var(--cmx-mono); text-align: center; text-transform: uppercase; }
/* Override WooCommerce's purple primary button across both product types. */
.woocommerce .cmx-product__purchase .single_add_to_cart_button.button.alt,
.woocommerce .cmx-quick__content .single_add_to_cart_button.button.alt,
.woocommerce ul.products li.product .cmx-product__purchase--simple a.button { border-color: var(--cmx-paper) !important; background: var(--cmx-paper) !important; background-color: var(--cmx-paper) !important; color: var(--cmx-void) !important; box-shadow: none !important; }
.woocommerce .cmx-product__purchase .single_add_to_cart_button.button.alt:hover,
.woocommerce .cmx-quick__content .single_add_to_cart_button.button.alt:hover,
.woocommerce ul.products li.product .cmx-product__purchase--simple a.button:hover { border-color: var(--cmx-gold) !important; background: var(--cmx-gold) !important; background-color: var(--cmx-gold) !important; color: var(--cmx-void) !important; }
.woocommerce .cmx-product__purchase .single_add_to_cart_button.button.alt.disabled,
.woocommerce .cmx-quick__content .single_add_to_cart_button.button.alt.disabled { border-color: var(--cmx-line) !important; background: #252422 !important; background-color: #252422 !important; color: var(--cmx-muted) !important; }
.woocommerce .woocommerce-message { margin: 0 0 1.5rem; padding: 1rem 1.25rem 1rem 3.1rem; border: 1px solid var(--cmx-line); border-left: 2px solid var(--cmx-gold); border-radius: 0; background: linear-gradient(90deg, #15140f, #101010 9rem); color: var(--cmx-paper); font: .8rem/1.55 var(--cmx-body); }
.woocommerce .woocommerce-message::before { top: 50%; left: 1rem; color: var(--cmx-gold); transform: translateY(-50%); }
.woocommerce .woocommerce-message a.restore-item { color: var(--cmx-gold); text-underline-offset: .2em; }
.woocommerce .woocommerce-message a.restore-item:hover { color: var(--cmx-paper); }
@media (max-width: 1023px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
	.woocommerce ul.products { gap: 1.8rem .65rem; }
	.cmx-archive-filters { margin-top: 0; }
	.cmx-archive-filters__group a { padding: .6rem .5rem; font-size: .48rem; }
	.woocommerce .woocommerce-ordering { margin-left: 0; }
}

/* Match the reference's directory overlay at every viewport width. */
.cmx-mobile-menu:not([open]) { display: none !important; }

/* Woo's small-screen 48% product width conflicts with the archive's two-column grid. */
@media (max-width: 1023px) {
	.woocommerce ul.products[class*="columns-"] li.product { width: 100%; margin: 0; }
}
@media (max-width: 639px) {
	.cmx-product__purchase { min-height: 10rem; flex-basis: 10rem; }
}
.woocommerce ul.products li.product .cmx-product__purchase:not(.cmx-product__purchase--simple) .button { margin: 0; }
.cmx-product__purchase--simple > .button { margin-top: auto; }
.cmx-mobile-menu[open] {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex !important;
	width: 100vw;
	max-width: none;
	height: 100vh;
	height: 100svh;
	max-height: 100vh;
	max-height: 100svh;
	flex-direction: column;
	justify-content: space-between;
	gap: 2rem;
	margin: 0;
	padding: clamp(1.25rem, 4vw, 3rem) clamp(1.1rem, 4vw, 4.5rem);
	overflow-x: hidden;
	overflow-y: auto;
	border: 0;
	background: var(--cmx-void);
	color: var(--cmx-paper);
}
.cmx-mobile-menu::backdrop { background: rgba(0, 0, 0, .92); }
.cmx-mobile-menu__top { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--cmx-line); }
.cmx-mobile-menu__brand { display: inline-flex; align-items: center; gap: .8rem; color: var(--cmx-paper); font: 700 .72rem/1.4 var(--cmx-mono); letter-spacing: .12em; text-decoration: none; }
.cmx-mobile-menu__brand img { width: 56px; height: 56px; object-fit: contain; }
.cmx-mobile-menu__close { display: grid; width: 44px; min-width: 44px; height: 44px; min-height: 44px; place-items: center; padding: 0; border: 1px solid var(--cmx-line); background: transparent; color: var(--cmx-muted); font: 300 1.7rem/1 var(--cmx-body); }
.cmx-mobile-menu__links { display: flex; flex: 1 0 auto; flex-direction: column; justify-content: center; gap: clamp(.35rem, 1.5vh, 1rem); padding-block: 1.5rem; }
.cmx-mobile-menu__links > .cmx-eyebrow { margin-bottom: .3rem; }
.cmx-mobile-menu__links > a { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: .8rem; padding: .15em 0; border: 0; border-bottom: 1px solid var(--cmx-line); color: var(--cmx-paper); font: 400 clamp(2rem, 6.2vw, 4.5rem)/.98 var(--cmx-display); letter-spacing: -.025em; text-decoration: none; text-transform: uppercase; }
.cmx-mobile-menu__links > a:hover { color: #c9c6bf; }
.cmx-mobile-menu__links > a > span:last-child { color: var(--cmx-red); font: 600 .45em/1 var(--cmx-heading); transition: transform .2s ease; }
.cmx-mobile-menu__links > a:hover > span:last-child { transform: translate(4px, -4px); }
.cmx-mobile-menu__actions { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1.2rem; border-top: 1px solid var(--cmx-line); font: .62rem/1.4 var(--cmx-mono); letter-spacing: .1em; text-transform: uppercase; }
.cmx-mobile-menu__states { display: flex; flex-wrap: wrap; gap: .5rem; }
.cmx-mobile-menu__state { display: inline-flex; min-height: 42px; align-items: center; padding: .65rem .9rem; border: 1px solid var(--cmx-line); color: var(--cmx-paper); text-decoration: none; }
.cmx-mobile-menu__state--checkmate:hover { border-color: var(--cmx-gold); color: var(--cmx-gold); }
.cmx-mobile-menu__state--emotions:hover { border-color: var(--cmx-red); color: var(--cmx-red); }
.cmx-mobile-menu__cart { min-height: 44px; padding: .8rem 1.2rem; border-color: var(--cmx-paper); background: var(--cmx-paper); color: var(--cmx-void); white-space: nowrap; }
.cmx-mobile-menu__cart span { color: var(--cmx-gold); }
@media (max-width: 639px) {
	.cmx-mobile-menu__brand img { width: 48px; height: 48px; }
	.cmx-mobile-menu__links > a { font-size: clamp(1.9rem, 9.2vw, 3.2rem); }
	.cmx-mobile-menu__actions { align-items: stretch; flex-direction: column; }
	.cmx-mobile-menu__states { display: grid; grid-template-columns: 1fr 1fr; }
	.cmx-mobile-menu__state { justify-content: center; }
	.cmx-mobile-menu__cart { width: 100%; }
}
.cmx-mobile-menu .cmx-mobile-menu__brand,
.cmx-mobile-menu .cmx-mobile-menu__brand:visited { color: var(--cmx-paper); }

/* Match the campaign gallery's single-column tablet/mobile composition. */
.cmx-section--lookbook .cmx-section__head { align-items: end; gap: 2rem; }
.cmx-section--lookbook .cmx-section__head h2 { max-width: 12ch; margin: .7rem 0 0; font-size: clamp(3rem, 9.375vw, 4.5rem); line-height: 1; letter-spacing: -.05em; }
.cmx-section--lookbook .cmx-section__head > p { max-width: 32rem; margin: 0 0 .25rem auto; }
.cmx-gallery__caption { display: grid; gap: .35rem; }
.cmx-gallery__caption strong { font: inherit; }
.cmx-gallery__caption small { color: rgba(244,242,237,.72); font: .52rem/1.5 var(--cmx-mono); letter-spacing: .08em; }
.cmx-gallery__frame { position: absolute; z-index: 1; right: 1rem; bottom: 1rem; color: rgba(244,242,237,.72); font: .5rem var(--cmx-mono); letter-spacing: .1em; }
.cmx-gallery__item { outline-offset: 4px; }
.cmx-gallery__item:focus-visible { outline: 2px solid var(--cmx-gold); }
.cmx-product__line { box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: 0; min-height: 4rem; margin-top: 0; padding: 1rem 1rem 0; }
.cmx-product__title { display: -webkit-box; height: 1.25em; min-height: 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
.cmx-product__line > .cmx-price { margin-top: .25rem; text-align: left; }
.cmx-product__purchase--simple > .button { margin-top: auto !important; }
@media (min-width: 640px) {
	.cmx-product__line { padding: 1.25rem 1.25rem 0; }
	.cmx-product__purchase { padding-right: 1.25rem; padding-bottom: 1.25rem; padding-left: 1.25rem; }
}
@media (min-width: 1024px) {
	.cmx-section--lookbook .cmx-gallery__item:nth-child(1),
	.cmx-section--lookbook .cmx-gallery__item:nth-child(4) { grid-column: span 7; }
	.cmx-section--lookbook .cmx-gallery__item:nth-child(2),
	.cmx-section--lookbook .cmx-gallery__item:nth-child(3) { grid-column: span 5; }
}
@media (max-width: 1023px) {
	.cmx-section--lookbook .cmx-section__head { align-items: flex-start; flex-direction: column; }
	.cmx-section--lookbook .cmx-section__head > p { margin: 0; }
	.cmx-section--lookbook .cmx-gallery { grid-template-columns: minmax(0,1fr); gap: 1.25rem; }
	.cmx-section--lookbook .cmx-gallery__item,
	.cmx-section--lookbook .cmx-gallery__item:nth-child(1),
	.cmx-section--lookbook .cmx-gallery__item:nth-child(2),
	.cmx-section--lookbook .cmx-gallery__item:nth-child(3),
	.cmx-section--lookbook .cmx-gallery__item:nth-child(4) { grid-column: auto; aspect-ratio: 16/10; }
}
@media (min-width: 640px) and (max-width: 1023px) {
	.cmx-section--lookbook .cmx-gallery__item:nth-child(2),
	.cmx-section--lookbook .cmx-gallery__item:nth-child(3) { aspect-ratio: 4/5; }
}
@media (max-width: 639px) {
	.cmx-section--lookbook .cmx-gallery { gap: .75rem; }
	.cmx-section--lookbook .cmx-gallery__item:nth-child(2),
	.cmx-section--lookbook .cmx-gallery__item:nth-child(3) { aspect-ratio: 3/4; }
	.cmx-section--lookbook .cmx-gallery__item:nth-child(1),
	.cmx-section--lookbook .cmx-gallery__item:nth-child(4) { aspect-ratio: 4/3; }
	.cmx-gallery__caption { inset: auto .6rem 2rem; }
	.cmx-gallery__frame { right: .6rem; bottom: .6rem; }
}
