/* OBJYX — "Stacked Light" on top of Uncode.
 * A HALO lamp is a stack (base, shade, light), and so is every page: rows stack, scale,
 * pin and change colour as you scroll. Paper ground, basalt ink, Bank Gothic at poster size;
 * colour arrives in whole fields taken from the 19 filaments, never as scattered accents.
 */

@font-face {
	font-family: 'Bank Gothic';
	src: url('../fonts/bank_gothic_light_regular-webfont.woff2') format('woff2'),
		url('../fonts/bank_gothic_light_regular-webfont.woff') format('woff');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Bank Gothic';
	src: url('../fonts/bank_gothic_medium-webfont.woff2') format('woff2'),
		url('../fonts/bank_gothic_medium-webfont.woff') format('woff');
	font-weight: 400 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Montserrat';
	src: url('../fonts/montserrat-latin-ext.woff2') format('woff2');
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
	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: 'Montserrat';
	src: url('../fonts/montserrat-latin.woff2') format('woff2');
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
	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;
}

:root {
	color-scheme: light;
	/* Semantic tokens: components use these; the dark theme swaps them. */
	--ox-paper: #eef3f5;       /* page ground */
	--ox-panel: #e3edf1;       /* stages, cards, product tiles (Frost) */
	--ox-ink: #0f1319;
	--ox-ink-2: #4c5864;       /* secondary text, 6.3:1 on paper */
	--ox-line: rgba(15, 19, 25, 0.14);
	--ox-line-strong: rgba(15, 19, 25, 0.32);
	--ox-hover: #cadda7;       /* pills and chips turn Lime Green */
	/* Palette (fixed) */
	--ox-basalt: #0f1319;
	--ox-graphite: #1d232c;
	--ox-steel: #808e9b;
	--ox-frost: #e3edf1;
	--ox-lynx: #cadda7;
	--ox-lilac: #9d8bb9;
	--ox-ember: #f37e61;
	--ox-ember-ink: #a94a2c;
	--ox-display: 'Bank Gothic', 'Eurostile Extended', sans-serif;
	--ox-text: 'Montserrat', system-ui, sans-serif;
	--ox-radius: 16px;
	--ox-gutter: clamp(16px, 3vw, 56px);
	--ox-ease: cubic-bezier(0.16, 1, 0.3, 1);
}
:root[data-theme="dark"] {
	color-scheme: dark;
	--ox-paper: #0f1319;
	--ox-panel: #1a2029;
	--ox-ink: #eef3f5;
	--ox-ink-2: #a3b0bc;       /* 8.1:1 on basalt */
	--ox-line: rgba(238, 243, 245, 0.13);
	--ox-line-strong: rgba(238, 243, 245, 0.3);
	--ox-ember-ink: #f58b70;
}

/* ---------- Browser surfaces ---------- */
::selection { background: var(--ox-lynx); color: var(--ox-basalt); }
html { scrollbar-color: var(--ox-steel) var(--ox-paper); }
:focus-visible { outline: 2px solid var(--ox-ink); outline-offset: 3px; border-radius: 4px; }
body { font-variant-numeric: tabular-nums; -webkit-font-smoothing: antialiased; }
a { text-underline-offset: 0.25em; }
input, textarea { caret-color: var(--ox-ember); }
/* Uncode's wrapper clips with overflow:hidden, which kills position:sticky; clip keeps the crop. */
.box-wrapper { overflow: clip !important; }

/* Bank Gothic's lowercase is small caps: it is always set in capitals. */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .heading-text { text-transform: uppercase; }
.heading-text p, .objyx-lede p { text-transform: none; }
.heading-text .split-word-empty { line-height: 0 !important; letter-spacing: 0 !important; }

/* Body copy inside columns */
.uncode_text_column p, .objyx-card__text p, .objyx-tile__text p { font: 400 clamp(15px, 1.05vw, 18px)/1.6 var(--ox-text); color: var(--ox-ink-2); max-width: 52ch; }
.style-dark .uncode_text_column p, .style-dark .objyx-card__text p, .style-dark .objyx-tile__text p { color: rgba(238, 243, 245, 0.78); }

/* ---------- Header: transparent over the stack, a frosted bar once you move ---------- */
#masthead .menu-container { background: transparent !important; border: 0 !important; }
body.home .menu-wrapper.no-header, body.single-product .menu-wrapper.no-header { position: absolute; top: 0; left: 0; right: 0; z-index: 100; }
body.window-scrolled #masthead .menu-container,
#masthead.is_stuck .menu-container {
	background: color-mix(in srgb, var(--ox-paper) 82%, transparent) !important;
	-webkit-backdrop-filter: blur(14px) saturate(1.2);
	backdrop-filter: blur(14px) saturate(1.2);
}
html.ox-head-clear #masthead .menu-container { background: transparent !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; box-shadow: none !important; transition: background-color 0.3s; }
#masthead .row-menu-inner { padding-left: var(--ox-gutter) !important; padding-right: var(--ox-gutter) !important; }
.menu-horizontal .menu-smart > li > a,
.menu-horizontal .uncode-cart > a {
	font: 500 12px/1 var(--ox-display) !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase;
	color: var(--ox-ink) !important;
}
.menu-horizontal .menu-smart > li > a { padding-left: 1.1rem !important; padding-right: 1.1rem !important; }
/* Current page: a filament dot, not a colour change. */
.menu-horizontal .menu-smart > li > a { position: relative; }
.menu-horizontal .menu-smart > li.current-menu-item > a::after,
.menu-horizontal .menu-smart > li > a:hover::after {
	content: ''; position: absolute; left: 50%; bottom: 0.9em; width: 5px; height: 5px; margin-left: -2.5px; border-radius: 50%; background: var(--ox-ember);
}
.menu-horizontal.hmenu-justify .navbar-nav-first { position: absolute; left: 50%; transform: translateX(-50%); }
/* Cart as words, count from Uncode's live badge: CART (n). */
@media (min-width: 960px) {
	.uncode-cart .fa-bag { display: none !important; }
	.menu-horizontal .uncode-cart > a { width: auto !important; padding-right: 0 !important; white-space: nowrap; }
	.uncode-cart .cart-icon-container > .desktop-hidden { display: inline !important; }
	.uncode-cart .cart-icon-container .badge {
		display: inline !important; position: static !important; background: none !important; color: inherit !important;
		font: inherit !important; padding: 0 0 0 0.5em !important; min-width: 0 !important; height: auto !important;
		top: auto !important; right: auto !important; transform: none !important; line-height: inherit !important;
	}
	.uncode-cart .fa-dropdown { display: none !important; }
	.uncode-cart .badge::before { content: '('; }
	.uncode-cart .badge::after { content: ')'; }
	.uncode-cart .badge:empty::before { content: '(0'; }
}

/* ---------- Buttons: pills with a leaving arrow (Uncode advanced button) ---------- */
.objyx-btn.btn, .btn-container .objyx-btn { font-family: var(--ox-display) !important; letter-spacing: 0.14em !important; }
.btn-container + .btn-container { margin-left: 0.4rem; }
.objyx-pill {
	display: inline-flex; align-items: center; justify-content: center; gap: 0.9em;
	min-height: 52px; padding: 0 0.6rem 0 1.6rem; border: 0; border-radius: 999px; cursor: pointer;
	background: var(--ox-ink); color: var(--ox-paper);
	font: 500 12px/1 var(--ox-display); letter-spacing: 0.14em; text-transform: uppercase;
	transition: background-color 0.45s var(--ox-ease), color 0.45s var(--ox-ease);
}
.objyx-pill::after {
	content: ''; flex: none; width: 38px; height: 38px; border-radius: 50%;
	background: var(--ox-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f1319' stroke-width='2'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 14px no-repeat;
	transition: transform 0.6s var(--ox-ease), background-color 0.45s var(--ox-ease);
}
.objyx-pill:hover:not(:disabled) { background: var(--ox-hover); color: var(--ox-basalt); }
.objyx-pill:hover:not(:disabled)::after { transform: translateX(3px) rotate(-45deg); background-color: var(--ox-basalt); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cadda7' stroke-width='2'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E"); }
.objyx-pill:disabled { background: var(--ox-steel); cursor: not-allowed; }
[data-theme="dark"] .objyx-pill:hover:not(:disabled) { color: var(--ox-basalt); }

/* ---------- Home: HALO hero ---------- */
.objyx-hero__row .uncell { padding-top: calc(96px + 4vh) !important; padding-bottom: clamp(24px, 4vh, 48px) !important; }
.objyx-bigword .heading-text, .objyx-bigword h1 { line-height: 0.8 !important; letter-spacing: -0.03em !important; margin: 0 !important; }
.objyx-bigword h1 { color: var(--ox-ink); }
.objyx-hero__lede p, .objyx-hero__lede { color: var(--ox-ink) !important; max-width: 30ch; text-transform: none !important; font-family: var(--ox-text) !important; line-height: 1.45 !important; }
.objyx-hero__actions .uncont { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 1.2rem; }
.objyx-caption--label, .objyx-caption--label * { font: 500 11px/1.3 var(--ox-display) !important; letter-spacing: 0.16em !important; text-transform: uppercase !important; color: var(--ox-ink-2) !important; margin-top: 1.2rem !important; }
.objyx-caption p, .objyx-caption { text-transform: none; color: rgba(238, 243, 245, 0.78) !important; font-family: var(--ox-text) !important; }
/* The particle field sits behind the word, in front of the ground. */
.objyx-hero__row .row-background img, .objyx-hero__row [class*="particle"] img { filter: drop-shadow(0 18px 24px rgba(15, 19, 25, 0.12)); }
.objyx-lightsout .uncell { padding: clamp(24px, 4vw, 64px) !important; }
.objyx-lightsout h2 { color: var(--ox-frost) !important; margin: 0 0 0.6rem !important; }

/* ---------- Statement: text reveal with the O trail ---------- */
.objyx-statement h2, .objyx-statement .heading-text { max-width: min(1500px, 92vw); margin-inline: auto !important; line-height: 1.02 !important; letter-spacing: -0.02em !important; }
.objyx-swatch-row { margin-top: clamp(32px, 5vh, 56px) !important; }
.objyx-swatches { list-style: none !important; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0 !important; padding: 0 !important; }
.objyx-swatches li { list-style: none !important; margin: 0 !important; padding: 0 !important; position: relative; }
.objyx-swatches li::before { display: none !important; }
.objyx-swatches li {
	width: clamp(22px, 2vw, 34px); aspect-ratio: 1; border-radius: 50%;
	background: var(--swatch) repeating-linear-gradient(90deg, rgba(15, 19, 25, 0.08) 0 1px, transparent 1px 4px);
	background-blend-mode: multiply;
	box-shadow: inset 0 0 0 1px rgba(15, 19, 25, 0.1);
	transition: transform 0.5s var(--ox-ease);
}
.objyx-swatches li:hover { transform: translateY(-4px) scale(1.12); }
.objyx-swatches span { position: absolute; left: 50%; bottom: calc(100% + 8px); translate: -50% 4px; opacity: 0; pointer-events: none; white-space: nowrap; padding: 5px 9px; border-radius: 999px; background: var(--ox-ink); color: var(--ox-paper); font: 500 10px/1 var(--ox-display); letter-spacing: 0.12em; text-transform: uppercase; transition: opacity 0.3s, translate 0.4s var(--ox-ease); }
.objyx-swatches li:hover span { opacity: 1; translate: -50% 0; }

/* ---------- Feature: a lamp standing in front of its own marquee ---------- */
.objyx-feature .uncont { position: relative; }
.objyx-feature__marquee, .objyx-feature__marquee * { line-height: 0.9 !important; color: var(--ox-ink) !important; white-space: nowrap; }
.objyx-feature__object { position: relative; z-index: 2; width: min(46vw, 620px) !important; margin: clamp(-360px, -21vw, -120px) auto 0 !important; }
.objyx-feature__object img { filter: drop-shadow(0 40px 50px rgba(15, 19, 25, 0.18)); }
.objyx-feature__name { margin-top: 1.2rem !important; }
.objyx-feature__text p { margin-inline: auto; text-align: center; max-width: 46ch; }

/* ---------- The range: horizontal scroll of lamps ---------- */
.objyx-range .t-inside, .objyx-grid .t-inside { border-radius: var(--ox-radius); }
.objyx-range .t-entry-visual, .objyx-grid .t-entry-visual { border-radius: var(--ox-radius); overflow: hidden; background: var(--ox-panel) !important; }
.objyx-range .t-entry-visual img, .objyx-grid .t-entry-visual img { object-fit: contain; transition: transform 0.9s var(--ox-ease); }
.objyx-range .tmb:hover .t-entry-visual img, .objyx-grid .tmb:hover .t-entry-visual img { transform: scale(1.04) translateY(-1%); }
.objyx-range .t-entry-title, .objyx-range .t-entry-title a, .objyx-grid .t-entry-title, .objyx-grid .t-entry-title a,
.objyx-shop .t-entry-title, .objyx-shop .t-entry-title a {
	font: 500 13px/1.25 var(--ox-display) !important; letter-spacing: 0.1em !important; text-transform: uppercase; color: var(--ox-ink) !important;
}
.objyx-range .price, .objyx-range .price *, .objyx-grid .price, .objyx-grid .price *, .objyx-shop .price, .objyx-shop .price * { font: 500 14px/1.4 var(--ox-text) !important; color: var(--ox-ink-2) !important; }
.objyx-from { font: 500 10px/1 var(--ox-display) !important; letter-spacing: 0.14em; text-transform: uppercase; margin-right: 0.3em; }
.objyx-range .t-entry, .objyx-grid .t-entry { padding-inline: 4px !important; }

/* ---------- Stacked cards: 01 shade, 02 base, 03 light ---------- */
.objyx-card > .row { border-radius: var(--ox-radius); overflow: hidden; }
.objyx-steps .wpb_column .uncol, .objyx-card .uncol { border-radius: var(--ox-radius) !important; }
.objyx-card .uncell, .objyx-card .uncol { min-height: min(72vh, 680px); }
.objyx-card__photo .uncol { background-size: cover; }
.objyx-card__num, .objyx-card__num * { font-weight: 300 !important; line-height: 0.8 !important; letter-spacing: -0.04em !important; color: var(--ox-ink) !important; margin: 0 !important; }
.objyx-card--night .objyx-card__num * { color: var(--ox-frost) !important; }
.objyx-card__img img { filter: drop-shadow(0 30px 40px rgba(15, 19, 25, 0.16)); }
.objyx-card__photo .uncol, .objyx-card__photo .background-inner { border-radius: var(--ox-radius); }
.objyx-card--lynx .objyx-card__text p { color: #2e3a2a; }

/* ---------- Colour changer: the page takes each filament's tone ---------- */
.objyx-changer__row .uncell { padding-top: clamp(8px, 2vh, 24px) !important; padding-bottom: clamp(8px, 2vh, 24px) !important; }
.objyx-changer__name { margin-bottom: 0.4rem !important; }
.objyx-changer__name h3, .objyx-changer__name .heading-text { line-height: 0.9 !important; color: var(--ox-basalt) !important; }
.objyx-changer__chip { margin: 0 0 1.2rem !important; }
.objyx-dot { display: inline-block; width: 44px; height: 44px; border-radius: 50%; vertical-align: middle; background: var(--swatch) repeating-linear-gradient(90deg, rgba(15, 19, 25, 0.09) 0 1px, transparent 1px 4px); background-blend-mode: multiply; box-shadow: inset 0 0 0 1px rgba(15, 19, 25, 0.14), 0 10px 22px -8px rgba(15, 19, 25, 0.35); }
.objyx-changer__img img { max-height: 84vh; width: auto !important; margin-inline: auto;
	/* the sweep feathers into the page colour: no rectangle edge */
	-webkit-mask: radial-gradient(closest-side, #000 72%, transparent 100%); mask: radial-gradient(closest-side, #000 72%, transparent 100%); }
.objyx-changer .uncode_text_column p, .objyx-changer .heading-text p { color: #1d232c !important; }
/* Filament fields are always light-toned sweeps: ink stays basalt in both themes. */
.objyx-changer .heading-text, .objyx-changer .heading-text *, .objyx-changer .btn-text-skin { color: var(--ox-basalt) !important; }

/* The changer paints light filament tones; the dark theme keeps its own ground. */
[data-theme="dark"] #changer-back-color { display: none; }

/* ---------- Bento ---------- */
.objyx-bento .uncol, .objyx-bento .t-entry-visual, .objyx-bento img { border-radius: var(--ox-radius) !important; }
.objyx-bento .wpb_column > .uncol > .uncoltable > .uncell > .uncont > .vc_row + .vc_row { margin-top: 12px; }
.objyx-tile h3, .objyx-tile .heading-text { color: var(--ox-basalt) !important; }
.objyx-tile__text p { color: #1d232c !important; margin: 0; }
.objyx-tile__swatches .objyx-swatches { justify-content: flex-start; gap: 6px; }
.objyx-tile__swatches .objyx-swatches li { width: 22px; }
.objyx-tile__bulbs p, .objyx-tile__bulbs { display: flex; gap: 10px; margin: 0 0 1rem !important; }
.objyx-bulb { width: 48px; height: 48px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(15, 19, 25, 0.15); }
.objyx-bulb--warm { background: radial-gradient(circle at 50% 45%, #fff6e6 0 18%, #ffc285 60%, #f29b4c); }
.objyx-bulb--cool { background: radial-gradient(circle at 50% 45%, #fff 0 18%, #d8ecff 60%, #9cc4ec); }
.objyx-bulb--rgb { background: conic-gradient(#ff5f6d, #ffc371, #7cffcb, #6aa8ff, #c86bff, #ff5f6d); animation: objyx-spin 8s linear infinite; }
@keyframes objyx-spin { to { rotate: 360deg; } }
.objyx-bento__object img { filter: drop-shadow(0 24px 30px rgba(0, 0, 0, 0.4)); }

/* ---------- Print your file: animated ground + live objects ---------- */
.objyx-printrow { position: relative; overflow: hidden; }
.objyx-printrow .uncell { position: relative; }
.objyx-printrow__field { position: absolute !important; inset: 0 0 0 44%; margin: 0 !important; z-index: 0; pointer-events: none; }
@media (max-width: 767px) { .objyx-printrow__field { inset: 0; opacity: 0.45; } }
.objyx-printrow__field .uncode_text_column, .objyx-printrow__field p { height: 100%; margin: 0; }
.objyx-printrow .heading-text, .objyx-printrow .btn-container { position: relative; z-index: 1; }
.objyx-printrow__lede, .objyx-printrow__lede * { max-width: 44ch; text-transform: none !important; font-family: var(--ox-text) !important; color: rgba(238, 243, 245, 0.8) !important; line-height: 1.55 !important; }
.objyx-field { position: absolute; inset: 0; opacity: 0; transition: opacity 1.4s var(--ox-ease); }
.objyx-field.is-live { opacity: 1; }
.objyx-field canvas { width: 100% !important; height: 100% !important; display: block; }
.objyx-field--outline { mix-blend-mode: normal; }

/* ---------- Closing: floating objects at different depths ---------- */
.objyx-closing .uncont { position: relative; }
.objyx-closing .heading-text { position: relative; z-index: 2; margin-bottom: 2rem !important; }
.objyx-float { position: absolute !important; z-index: 1; margin: 0 !important; pointer-events: none; }
.objyx-float img { filter: drop-shadow(0 24px 30px rgba(15, 19, 25, 0.16)); }
.objyx-float--a { width: clamp(90px, 11vw, 200px) !important; left: -3%; top: -26%; }
.objyx-float--b { width: clamp(80px, 9vw, 170px) !important; right: 4%; top: -14%; }
.objyx-float--c { width: clamp(100px, 12vw, 220px) !important; left: 9%; bottom: -24%; }
.objyx-float--d { width: clamp(90px, 10vw, 190px) !important; right: 10%; bottom: -20%; }
@media (max-width: 767px) { .objyx-float--c, .objyx-float--d { display: none; } }

/* ---------- Footer (content block "Footer — Stack") ---------- */
.objyx-footer .heading-text, .objyx-footer h2 { color: var(--ox-frost) !important; }
.objyx-footer__links ul { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; gap: 0.7rem; }
.objyx-footer__links li { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.objyx-footer__links li::before { display: none !important; }
.objyx-footer__links a { font: 500 13px/1.3 var(--ox-display); letter-spacing: 0.1em; text-transform: uppercase; color: var(--ox-frost) !important; text-decoration: none; transition: color 0.3s; }
.objyx-footer__links a:hover { color: var(--ox-lynx) !important; }
.objyx-footer__legal p { font: 500 11px/1.4 var(--ox-display) !important; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(238, 243, 245, 0.55) !important; max-width: none; }
.objyx-footer__outline { position: absolute !important; inset: 0; margin: 0 !important; pointer-events: none; }
.objyx-footer__outline .uncode_text_column, .objyx-footer__outline p { height: 100%; margin: 0; }
.objyx-footer .uncell { position: relative; }
.objyx-footer .heading-text, .objyx-footer .btn-container, .objyx-footer__links, .objyx-footer__legal { position: relative; z-index: 1; }

/* ---------- Shop: metro / masonry index ---------- */
.objyx-shop .t-entry-visual { border-radius: var(--ox-radius); overflow: hidden; background: var(--ox-panel) !important; }
.objyx-shop .t-entry-visual img { object-fit: contain; transition: transform 0.9s var(--ox-ease); }
.objyx-shop .tmb:hover .t-entry-visual img { transform: scale(1.04); }
.objyx-shop .isotope-filters a, .objyx-shop .menu-smart a { font: 500 12px/1 var(--ox-display) !important; letter-spacing: 0.14em !important; text-transform: uppercase; }
.objyx-catnav ul { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 8px; }
.objyx-catnav li { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.objyx-catnav li::before { display: none !important; }
.objyx-catnav a { display: inline-flex; align-items: baseline; gap: 0.5em; min-height: 40px; padding: 0.85em 1.2em; border: 1px solid var(--ox-line-strong); border-radius: 999px; font: 500 11px/1 var(--ox-display); letter-spacing: 0.14em; text-transform: uppercase; color: var(--ox-ink) !important; text-decoration: none !important; transition: background-color 0.35s, border-color 0.35s, color 0.35s; }
.objyx-catnav a span { font: 500 11px/1 var(--ox-text); letter-spacing: 0; color: var(--ox-ink-2); }
.objyx-catnav a:hover { background: var(--ox-hover); border-color: var(--ox-hover); color: var(--ox-basalt) !important; }
.objyx-catnav a[aria-current] { background: var(--ox-ink); border-color: var(--ox-ink); color: var(--ox-paper) !important; }
.objyx-catnav a[aria-current] span { color: inherit; opacity: 0.7; }
.objyx-archive-head__title { font: 500 clamp(48px, 9vw, 176px)/0.86 var(--ox-display) !important; letter-spacing: -0.03em !important; text-transform: uppercase; color: var(--ox-ink) !important; margin: 0 0 clamp(16px, 2vh, 28px) !important; }
.objyx-archive-head__lede { max-width: 56ch; margin: 0 0 clamp(24px, 4vh, 40px); font: 400 clamp(16px, 1.2vw, 19px)/1.6 var(--ox-text); color: var(--ox-ink-2); }

/* ---------- Product page (content block "Product — Stack") ---------- */
.objyx-product__title .heading-text, .objyx-product__title h1 { line-height: 0.88 !important; letter-spacing: -0.03em !important; }
.objyx-product__lede p { font: 400 clamp(16px, 1.2vw, 19px)/1.6 var(--ox-text); color: var(--ox-ink-2); max-width: 48ch; }
.objyx-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0 clamp(20px, 3vw, 48px); margin: 0; border-top: 1px solid var(--ox-line-strong); }
.objyx-facts > div { padding: 1.1rem 0; border-bottom: 1px solid var(--ox-line); }
.objyx-facts dt { font: 500 11px/1.2 var(--ox-display); letter-spacing: 0.16em; text-transform: uppercase; color: var(--ox-ink-2); margin: 0 0 0.5rem; }
.objyx-facts dd { margin: 0; font: 500 15px/1.45 var(--ox-text); color: var(--ox-ink); }

/* ---------- Inner pages ---------- */
.objyx-page-title .heading-text, .objyx-page-title h1 { line-height: 0.86 !important; letter-spacing: -0.03em !important; }
.objyx-lede p, .objyx-lede { font: 400 clamp(16px, 1.25vw, 20px)/1.6 var(--ox-text) !important; color: var(--ox-ink-2); max-width: 56ch; text-transform: none !important; }
.objyx-notes { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin: 0; }
.objyx-notes > div { padding: 1.4rem; border-radius: var(--ox-radius); background: var(--ox-panel); }
.objyx-notes dt { font: 500 12px/1.2 var(--ox-display); letter-spacing: 0.14em; text-transform: uppercase; color: var(--ox-ink); margin-bottom: 0.7rem; }
.objyx-notes dd { margin: 0; font-size: 15px; line-height: 1.6; color: var(--ox-ink-2); }

/* ---------- Filament chips (product, composer) ---------- */
.objyx-colours { border: 0; margin: 0 0 1.5rem; padding: 0; min-width: 0; }
.objyx-colours legend, .objyx-quote dt, .objyx-quote__qty, .objyx-compose__heading, .objyx-compose__axis-label {
	font: 500 11px/1.2 var(--ox-display) !important; letter-spacing: 0.16em !important; text-transform: uppercase; color: var(--ox-ink-2) !important;
}
.objyx-colours legend { display: block; margin-bottom: 0.9rem; }
.objyx-colours__current, .objyx-compose__heading span { margin-left: 0.7em; color: var(--ox-ink); letter-spacing: 0.12em; }
.objyx-colours__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.objyx-colours__chip { position: relative; display: inline-flex; cursor: pointer; }
.objyx-colours__chip input { position: absolute; opacity: 0; pointer-events: none; }
.objyx-colours__swatch {
	width: 34px; height: 34px; border-radius: 50%;
	background: var(--swatch) repeating-linear-gradient(90deg, rgba(15, 19, 25, 0.08) 0 1px, transparent 1px 4px);
	background-blend-mode: multiply;
	box-shadow: inset 0 0 0 1px rgba(15, 19, 25, 0.12);
	transition: box-shadow 0.35s var(--ox-ease), transform 0.35s var(--ox-ease);
}
.objyx-colours__name { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.objyx-colours__chip:hover .objyx-colours__swatch { transform: translateY(-2px); }
.objyx-colours__chip input:checked + .objyx-colours__swatch { box-shadow: inset 0 0 0 1px rgba(15, 19, 25, 0.12), 0 0 0 3px var(--ox-paper), 0 0 0 4.5px var(--ox-ink); }
.objyx-colours__chip input:focus-visible + .objyx-colours__swatch { outline: 2px solid var(--ox-ink); outline-offset: 6px; }
[data-theme="dark"] .objyx-colours__swatch { box-shadow: inset 0 0 0 1px rgba(238, 243, 245, 0.22); }

.objyx-placeholder {
	display: inline-block; vertical-align: middle; margin-left: 0.6em; padding: 0.35em 0.7em;
	border-radius: 999px; background: color-mix(in srgb, var(--ox-ember) 22%, transparent);
	font: 600 10px/1 var(--ox-text); letter-spacing: 0.08em; text-transform: uppercase; color: var(--ox-ember-ink);
}

/* ---------- Compose ---------- */
.objyx-compose { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(20px, 3vw, 56px); align-items: start; }
.objyx-compose__legend, .objyx-compose__part { min-width: 0; }
.objyx-compose__elevation { margin: 0; position: sticky; top: 92px; }
.objyx-compose__stage {
	position: relative; height: min(76vh, 780px); container-type: size;
	border-radius: var(--ox-radius);
	background: radial-gradient(120% 90% at 50% 100%, color-mix(in srgb, var(--ox-panel) 70%, #fff) 0%, var(--ox-panel) 60%);
	--s: min(calc(78cqh / var(--total, 300)), calc(76cqw / var(--widest, 200)));
	overflow: hidden;
}
[data-theme="dark"] .objyx-compose__stage { background: radial-gradient(120% 90% at 50% 100%, #222a35 0%, var(--ox-panel) 60%); }
.objyx-compose__stack { position: absolute; left: 50%; bottom: 14cqh; }
.objyx-part {
	position: absolute; left: calc(var(--w) * var(--s) / -2); bottom: 0;
	width: calc(var(--w) * var(--s)); height: calc(var(--h) * var(--s));
	transform: translateY(calc(var(--seat, 0) * var(--s) * -1));
	transition: transform 0.7s var(--ox-ease);
}
.objyx-part--base { z-index: 1; }
.objyx-part--shade { z-index: 2; }
.objyx-part__tint { position: absolute; inset: 0; background: var(--tint); -webkit-mask: var(--img) center / 100% 100% no-repeat; mask: var(--img) center / 100% 100% no-repeat; transition: background-color 0.5s var(--ox-ease); }
.objyx-part__shade { position: absolute; inset: 0; width: 100%; height: 100%; mix-blend-mode: multiply; pointer-events: none; }
.objyx-compose__ground { position: absolute; left: 50%; bottom: calc(14cqh - 10px); width: calc(var(--widest, 200) * var(--s) * 1.3); height: 20px; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(closest-side, rgba(15, 19, 25, 0.22), transparent); }
.objyx-compose__dim { position: absolute; right: 7%; bottom: 14cqh; height: calc(var(--total, 300) * var(--s)); border-left: 1px solid var(--ox-line-strong); }
.objyx-compose__dim::before, .objyx-compose__dim::after { content: ''; position: absolute; left: -5px; width: 9px; border-top: 1px solid var(--ox-line-strong); }
.objyx-compose__dim::before { top: 0; }
.objyx-compose__dim::after { bottom: 0; }
.objyx-compose__dim span { position: absolute; top: 50%; left: 10px; transform: translateY(-50%); font: 600 12px/1 var(--ox-text); letter-spacing: 0.04em; color: var(--ox-ink-2); white-space: nowrap; }
.objyx-compose__caption { margin-top: 0.9rem; font-size: 14px; line-height: 1.5; color: var(--ox-ink-2); }
.objyx-compose__legend { display: grid; gap: clamp(24px, 3.4vh, 40px); }
.objyx-compose__heading { margin: 0 0 1rem !important; }
.objyx-compose__fixed { margin: 0 0 0.4rem; font-size: 14px; color: var(--ox-ink-2); }
.objyx-compose__families { display: flex; flex-wrap: nowrap; gap: 8px; overflow-x: auto; margin-bottom: 1rem; padding-bottom: 4px; scrollbar-width: thin; scroll-snap-type: x proximity; }
.objyx-compose__option { appearance: none; background: transparent; border: 0; cursor: pointer; font: 500 10px/1.2 var(--ox-display); letter-spacing: 0.1em; text-transform: uppercase; color: var(--ox-ink-2); transition: color 0.3s, background-color 0.3s, border-color 0.3s; }
.objyx-compose__families .objyx-compose__option { flex: 0 0 auto; width: 92px; padding: 10px 6px 12px; display: grid; justify-items: center; gap: 8px; border-radius: 12px; background: var(--ox-panel); scroll-snap-align: start; }
.objyx-compose__thumb { width: 52px; height: 60px; background: var(--ox-steel); -webkit-mask: var(--img) center bottom / contain no-repeat; mask: var(--img) center bottom / contain no-repeat; transition: background-color 0.3s; }
.objyx-compose__option[aria-checked="true"] { color: var(--ox-ink); }
.objyx-compose__families .objyx-compose__option[aria-checked="true"] { background: var(--ox-hover); color: var(--ox-basalt); }
.objyx-compose__option[aria-checked="true"] .objyx-compose__thumb { background: var(--ox-basalt); }
.objyx-compose__option:hover { color: var(--ox-ink); }
.objyx-compose__option:focus-visible { outline: 2px solid var(--ox-ink); outline-offset: 2px; }
.objyx-compose__options { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; margin-bottom: 1.2rem; }
.objyx-compose__sizes, .objyx-compose__surface { display: flex; flex-wrap: wrap; gap: 6px; }
.objyx-compose__sizes .objyx-compose__option, .objyx-compose__surface .objyx-compose__option { padding: 0.7em 1em; min-height: 38px; border: 1px solid var(--ox-line-strong); border-radius: 999px; font: 500 12px/1 var(--ox-text); letter-spacing: 0.02em; text-transform: none; }
.objyx-compose__sizes .objyx-compose__option[aria-checked="true"], .objyx-compose__surface .objyx-compose__option[aria-checked="true"] { border-color: var(--ox-ink); background: var(--ox-ink); color: var(--ox-paper); }
.objyx-compose__option:disabled { opacity: 0.35; cursor: not-allowed; }
.objyx-compose__axis { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; width: 100%; }
.objyx-compose__axis + .objyx-compose__axis { margin-top: 0.6rem; }
.objyx-compose__axis-label { width: 5.5rem; }
.objyx-compose__sizes:has(.objyx-compose__axis) { flex: 1 1 100%; }
.objyx-compose__surface { padding-left: 1.5rem; border-left: 1px solid var(--ox-line); }
.objyx-compose__lights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.objyx-compose__light-opt { appearance: none; border: 0; border-radius: 12px; background: var(--ox-panel); display: grid; grid-template-rows: auto auto 1fr auto; justify-items: start; gap: 0.45rem; padding: 1rem; text-align: left; cursor: pointer; color: var(--ox-ink-2); transition: background-color 0.35s, color 0.35s; }
.objyx-compose__light-opt:hover { color: var(--ox-ink); }
.objyx-compose__light-opt[aria-checked="true"] { background: var(--ox-ink); color: var(--ox-paper); }
.objyx-compose__light-opt[aria-checked="true"] .objyx-compose__light-note, .objyx-compose__light-opt[aria-checked="true"] .objyx-compose__light-price { color: inherit; opacity: 0.8; }
.objyx-compose__light-opt:focus-visible { outline: 2px solid var(--ox-ink); outline-offset: 2px; }
.objyx-compose__light-name { font: 500 12px/1.2 var(--ox-display); letter-spacing: 0.12em; text-transform: uppercase; }
.objyx-compose__light-note { font: 400 12.5px/1.45 var(--ox-text); color: var(--ox-ink-2); }
.objyx-compose__light-price { font: 500 13px/1 var(--ox-text); color: var(--ox-ink); }
.objyx-compose__light-price .amount, .objyx-compose__light-price bdi { font: inherit; color: inherit; }
.objyx-compose__bulb { width: 24px; height: 24px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(15, 19, 25, 0.18); }
.objyx-compose__bulb--warm { background: radial-gradient(circle at 50% 45%, #fff6e6 0 18%, #ffc285 60%, #f29b4c); }
.objyx-compose__bulb--cool { background: radial-gradient(circle at 50% 45%, #fff 0 18%, #d8ecff 60%, #9cc4ec); }
.objyx-compose__bulb--rgb { background: conic-gradient(#ff5f6d, #ffc371, #7cffcb, #6aa8ff, #c86bff, #ff5f6d); }
.objyx-compose__halo {
	position: absolute; z-index: 0; pointer-events: none;
	width: calc(var(--hw, 170) * var(--s) * 1.7); height: calc(var(--hh, 150) * var(--s) * 1.55);
	left: calc(var(--hw, 170) * var(--s) * -0.85);
	bottom: calc((var(--seat, 120) + var(--hh, 150) * 0.5) * var(--s) - var(--hh, 150) * var(--s) * 0.775);
	background: radial-gradient(closest-side, color-mix(in srgb, var(--glow, #ffc285) 85%, transparent) 0%, color-mix(in srgb, var(--glow, #ffc285) 40%, transparent) 45%, transparent 100%);
	filter: blur(14px); opacity: 0.85; transition: opacity 0.6s;
}
[data-theme="dark"] .objyx-compose__halo { opacity: 1; filter: blur(18px); }
.objyx-compose__halo[data-light="rgb"] { background: conic-gradient(from 0deg, #ff5f6d, #ffc371, #7cffcb, #6aa8ff, #c86bff, #ff5f6d); -webkit-mask: radial-gradient(closest-side, #000 0%, rgba(0, 0, 0, 0.45) 50%, transparent 100%); mask: radial-gradient(closest-side, #000 0%, rgba(0, 0, 0, 0.45) 50%, transparent 100%); animation: objyx-rgb 9s linear infinite; }
@keyframes objyx-rgb { to { filter: blur(16px) hue-rotate(360deg); } }
.objyx-compose__readout { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0; }
.objyx-compose__readout > div { padding: 0.9rem 1rem; border-radius: 12px; background: var(--ox-panel); }
.objyx-compose__readout dt { font: 500 10px/1.2 var(--ox-display); letter-spacing: 0.16em; text-transform: uppercase; color: var(--ox-ink-2); margin-bottom: 0.5rem; }
.objyx-compose__readout dd { margin: 0; font: 500 15px/1.2 var(--ox-text); color: var(--ox-ink); }
.objyx-compose__buy { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.objyx-compose__price { margin: 0; font: 500 clamp(24px, 2.2vw, 34px)/1 var(--ox-display); color: var(--ox-ink); }
.objyx-compose__status { margin: 0; min-height: 1.4em; font-size: 14px; color: var(--ox-ink-2); }
.objyx-compose__note { margin: 0; font-size: 13px; line-height: 1.6; color: var(--ox-ink-2); }
@media (max-width: 959px) {
	.objyx-compose { grid-template-columns: 1fr; }
	.objyx-compose__elevation { position: relative; top: 0; }
	.objyx-compose__stage { height: 56vh; }
}
@media (max-width: 560px) {
	.objyx-compose__lights { grid-template-columns: 1fr; }
	.objyx-compose__light-opt { grid-template-columns: auto 1fr auto; grid-template-rows: auto auto; column-gap: 0.8rem; }
	.objyx-compose__bulb { grid-row: 1 / 3; align-self: center; }
	.objyx-compose__light-note { grid-column: 2 / 4; }
	.objyx-compose__light-price { grid-column: 3; grid-row: 1; }
	.objyx-compose__dim { right: 4%; }
}

/* ---------- Print your file ---------- */
.objyx-quote { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, 1fr); gap: clamp(20px, 3vw, 56px); align-items: start; }
.objyx-quote__sheet { position: relative; aspect-ratio: 1; border-radius: var(--ox-radius); background: var(--ox-panel); overflow: hidden; }
.objyx-quote__drop { position: absolute; inset: 0; display: grid; place-items: center; cursor: pointer; border-radius: var(--ox-radius); transition: background-color 0.4s var(--ox-ease); }
.objyx-quote.is-loaded .objyx-quote__drop { inset: auto 0 0 0; height: auto; padding: 14px; place-items: end start; }
.objyx-quote__drop.is-over { background-color: color-mix(in srgb, var(--ox-lynx) 45%, transparent); }
.objyx-quote__input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.objyx-quote__drop:focus-within { outline: 2px solid var(--ox-ink); outline-offset: -6px; }
.objyx-quote__prompt { display: grid; gap: 0.6rem; justify-items: center; text-align: center; color: var(--ox-ink-2); font-size: 14px; }
.objyx-quote__prompt strong { font: 500 clamp(20px, 2.2vw, 32px)/1.05 var(--ox-display); text-transform: uppercase; color: var(--ox-ink); }
.objyx-quote.is-loaded .objyx-quote__prompt { text-align: left; justify-items: start; }
.objyx-quote.is-loaded .objyx-quote__prompt strong { font-size: 12px; letter-spacing: 0.14em; }
.objyx-quote.is-loaded .objyx-quote__prompt span { display: none; }
.objyx-quote__view { position: absolute; inset: 0 0 56px; }
.objyx-quote__view canvas { width: 100% !important; height: 100% !important; display: block; cursor: ns-resize; }
.objyx-quote__dims { position: absolute; right: 14px; bottom: 14px; font: 500 12px/1 var(--ox-text); color: var(--ox-ink-2); }
.objyx-quote__legend { padding: clamp(20px, 2.4vw, 36px); border-radius: var(--ox-radius); background: var(--ox-panel); }
.objyx-quote__rows { margin: 0 0 1.2rem; display: grid; }
.objyx-quote__rows > div { display: grid; grid-template-columns: 9.5rem 1fr; gap: 1rem; padding: 0.8rem 0; border-bottom: 1px solid var(--ox-line); }
.objyx-quote dt { margin: 0; align-self: center; }
.objyx-quote dd { margin: 0; color: var(--ox-ink); font-size: 15px; overflow-wrap: anywhere; }
.objyx-quote__status { font-size: 14px; color: var(--ox-ink-2); min-height: 2.8em; margin: 0 0 1.2rem; }
.objyx-quote__status[data-tone="error"] { color: var(--ox-ember-ink); }
.objyx-quote__status[data-tone="done"] { color: var(--ox-ink); }
.objyx-quote__order { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.objyx-quote__qty { display: inline-flex; align-items: center; gap: 0.8rem; margin: 0; }
.objyx-quote__qty input { width: 4.5rem; padding: 0.6rem 0.8rem; border: 1px solid var(--ox-line-strong); border-radius: 999px; background: transparent; font: 400 15px var(--ox-text); color: var(--ox-ink); }
.objyx-quote__price { margin: 0; font: 500 clamp(20px, 2vw, 28px)/1 var(--ox-display); color: var(--ox-ink); }
.objyx-quote__cart { width: 100%; }
.objyx-quote__note { margin: 1rem 0 0; font-size: 13px; line-height: 1.6; color: var(--ox-ink-2); }
@media (max-width: 959px) { .objyx-quote { grid-template-columns: 1fr; } }

/* ---------- Cart, checkout, account, tracking ---------- */
.objyx-wc table.shop_table { border: 0 !important; }
.objyx-wc table.shop_table th { font: 500 11px/1.2 var(--ox-display) !important; letter-spacing: 0.16em !important; text-transform: uppercase; color: var(--ox-ink-2) !important; border-color: var(--ox-line) !important; }
.objyx-wc table.shop_table td { border-color: var(--ox-line) !important; font-size: 15px; color: var(--ox-ink); background: transparent !important; }
.objyx-wc .product-name, .objyx-wc .product-name a { font: 500 14px/1.3 var(--ox-display); letter-spacing: 0.08em; text-transform: uppercase; color: var(--ox-ink) !important; text-decoration: none; }
.objyx-wc .product-name dl.variation, .objyx-wc .product-name dl.variation * { font: 400 13px/1.5 var(--ox-text) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--ox-ink-2) !important; }
.objyx-wc .cart_totals, .objyx-wc .woocommerce-checkout-review-order, .objyx-wc .uncode-wc-module-cart-totals { border-radius: var(--ox-radius); }
.objyx-wc .cart_totals h2, .objyx-wc h3 { font: 500 13px/1.2 var(--ox-display) !important; letter-spacing: 0.16em !important; text-transform: uppercase; color: var(--ox-ink) !important; }
.objyx-wc .button, .objyx-wc .checkout-button, .objyx-wc #place_order, .objyx-wc button[type="submit"], .woocommerce-form-track-order button {
	min-height: 52px; padding-inline: 1.8rem !important; border: 0 !important; border-radius: 999px !important;
	background: var(--ox-ink) !important; color: var(--ox-paper) !important;
	font: 500 12px/1 var(--ox-display) !important; letter-spacing: 0.14em !important; text-transform: uppercase;
	transition: background-color 0.45s var(--ox-ease), color 0.45s var(--ox-ease);
}
.objyx-wc .button:hover, .objyx-wc .checkout-button:hover, .objyx-wc #place_order:hover, .woocommerce-form-track-order button:hover { background: var(--ox-hover) !important; color: var(--ox-basalt) !important; }
.objyx-wc input.input-text, .objyx-wc select, .objyx-wc textarea, .woocommerce-form-track-order input.input-text {
	border: 1px solid var(--ox-line-strong) !important; border-radius: 12px !important; background: transparent !important; color: var(--ox-ink) !important; font: 400 15px var(--ox-text) !important; min-height: 48px; padding-inline: 1rem !important;
}
.objyx-wc input.input-text:focus, .objyx-wc textarea:focus, .woocommerce-form-track-order input.input-text:focus { border-color: var(--ox-ink) !important; outline: none; }
.objyx-wc label, .woocommerce-form-track-order label { font: 500 11px/1.4 var(--ox-display) !important; letter-spacing: 0.12em !important; text-transform: uppercase; color: var(--ox-ink-2) !important; }
.objyx-wc .woocommerce-info, .objyx-wc .woocommerce-message, .objyx-wc .woocommerce-error { background: var(--ox-panel) !important; border: 0 !important; border-radius: 12px; color: var(--ox-ink) !important; }
.objyx-wc .select2-container .select2-selection { border: 1px solid var(--ox-line-strong) !important; border-radius: 12px !important; background: transparent !important; min-height: 48px; display: flex; align-items: center; }
.objyx-wc .select2-selection__rendered { color: var(--ox-ink) !important; font: 400 15px var(--ox-text) !important; }
.select2-dropdown { border: 1px solid var(--ox-line-strong) !important; border-radius: 12px !important; background: var(--ox-paper) !important; overflow: hidden; }
.select2-results__option--highlighted { background: var(--ox-ink) !important; color: var(--ox-paper) !important; }
.objyx-lampfig { position: relative; display: block; width: 100%; max-height: 100%; margin: 0 auto; }
.objyx-lampfig--thumb { display: inline-block; width: 92px; height: auto; vertical-align: middle; }
.objyx-lampfig__part { position: absolute; display: block; }
.objyx-lampfig__part:last-child { z-index: 1; }
.objyx-lampfig__tint { position: absolute; inset: 0; background: var(--tint); -webkit-mask: var(--img) center / 100% 100% no-repeat; mask: var(--img) center / 100% 100% no-repeat; }
.objyx-lampfig__part img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; min-width: 0 !important; min-height: 0 !important; max-width: none !important; max-height: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; mix-blend-mode: multiply; }
.objyx-account .vc_tta-panel-title a, .objyx-account .vc_tta-tab a, .objyx-account .panel-title a { font: 500 13px/1 var(--ox-display) !important; letter-spacing: 0.14em !important; text-transform: uppercase; }
.objyx-account .uncol { border-radius: var(--ox-radius) !important; }

/* ---------- Theme switch, cursor ---------- */
.objyx-theme-changing, .objyx-theme-changing * { transition: none !important; }
[data-theme="dark"] body:not(.bg-changer-init) .box-container,
[data-theme="dark"] .style-color-papr-bg, [data-theme="dark"] .style-color-frst-bg, [data-theme="dark"] .style-light-bg,
[data-theme="dark"] .select2-dropdown { background-color: var(--ox-paper) !important; }
[data-theme="dark"] .style-color-frst-bg.uncol, [data-theme="dark"] .uncol.style-color-frst-bg { background-color: var(--ox-panel) !important; }
[data-theme="dark"] .text-color-bslt-color { color: var(--ox-ink) !important; }
[data-theme="dark"] .lines-button:not(.close) .lines, [data-theme="dark"] .lines-button .lines::before, [data-theme="dark"] .lines-button .lines::after { background: var(--ox-ink) !important; }
[data-theme="dark"] .mobile-additional-icon, [data-theme="dark"] .mobile-additional-icon i { color: var(--ox-ink) !important; }
[data-theme="light"] #main-logo .logo-light, [data-theme="dark"] #main-logo .logo-dark { display: block !important; }
[data-theme="light"] #main-logo .logo-dark, [data-theme="dark"] #main-logo .logo-light { display: none !important; }
[data-theme="dark"] .objyx-card--frost .uncol { background-color: var(--ox-panel) !important; }
[data-theme="dark"] .objyx-card--frost .objyx-card__num * { color: var(--ox-ink) !important; }
.objyx-theme-switch { appearance: none; display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; margin: 0; border: 0; background: none; color: var(--ox-ink); cursor: pointer; }
.objyx-theme-switch svg { width: 19px; height: 19px; transition: transform 0.7s var(--ox-ease); }
.objyx-theme-switch[aria-pressed="true"] svg { transform: rotate(180deg); }
.objyx-theme-li { display: flex !important; align-items: center; margin-right: 0.6rem; }
.menu-horizontal .navbar-nav-last .menu-icons { display: flex; align-items: center; }
.objyx-theme-switch--mobile { display: none; }
@media (max-width: 959px) {
	.objyx-theme-switch--mobile { display: inline-grid; position: relative; z-index: 3; margin-right: 6px; vertical-align: middle; }
	.mmb-container { display: flex; align-items: center; }
	.mmb-container .mobile-additional-icons { display: flex; align-items: center; }
}
.has-objyx-cursor, .has-objyx-cursor * { cursor: none !important; }
.has-objyx-cursor input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]), .has-objyx-cursor textarea { cursor: text !important; }
.objyx-cursor { position: fixed; left: 0; top: 0; z-index: 2147483000; width: 14px; height: 14px; margin: -7px 0 0 -7px; border-radius: 50%; background: #fff; mix-blend-mode: difference; pointer-events: none; opacity: 0; will-change: translate, scale; transition: opacity 0.25s, scale 0.45s var(--ox-ease); }
.objyx-cursor.is-on { opacity: 1; }
.objyx-cursor.is-hot { scale: 3.15; }
.objyx-cursor.is-down { scale: 0.7; }
.objyx-cursor.is-text { opacity: 0; }

/* ---------- Tablet + phone menu: a full-screen sheet (inc/nav.php) ---------- */
.menu-smart .fa-dropdown, .menu-smart i.fa-angle-right { display: none !important; }
.ox-mnav { position: fixed; inset: 0; z-index: 100000; display: flex; flex-direction: column; background: var(--ox-paper); color: var(--ox-ink); opacity: 0; transition: opacity 0.35s var(--ox-ease); }
.ox-mnav[hidden] { display: none; }
.ox-mnav.is-open { opacity: 1; }
html.ox-mnav-open, html.ox-mnav-open body { overflow: hidden !important; }
.ox-mnav__bar { flex: none; display: flex; align-items: center; justify-content: space-between; height: 64px; padding: 0 max(16px, var(--ox-gutter, 16px)); padding-top: env(safe-area-inset-top); border-bottom: 1px solid var(--ox-line); }
.ox-mnav__logo { display: block; height: 22px; }
.ox-mnav__logo .logo-image { height: 22px !important; }
.ox-mnav__logo img { height: 100%; width: auto; display: block; }
[data-theme="light"] .ox-mnav__logo .logo-dark, [data-theme="dark"] .ox-mnav__logo .logo-light { display: none !important; }
[data-theme="dark"] .ox-mnav__logo .logo-dark { display: block !important; }
.ox-mnav__tools { display: flex; align-items: center; gap: 4px; }
.ox-mnav__close { appearance: none; position: relative; width: 44px; height: 44px; margin-right: -10px; padding: 0; border: 0; background: none; color: var(--ox-ink); cursor: pointer; }
.ox-mnav__close span, .ox-mnav__close span::before { position: absolute; left: 50%; top: 50%; width: 22px; height: 2px; margin: -1px 0 0 -11px; background: currentColor; rotate: 45deg; }
.ox-mnav__close span::before { content: ''; left: 0; top: 0; margin: 0; rotate: 90deg; }
.ox-mnav__body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; display: flex; flex-direction: column; padding: clamp(28px, 6vh, 64px) max(16px, var(--ox-gutter, 16px)) calc(28px + env(safe-area-inset-bottom));
	scrollbar-width: thin; scrollbar-color: var(--ox-line-strong) transparent; scrollbar-gutter: stable; }
.ox-mnav__body::-webkit-scrollbar { width: 6px; }
.ox-mnav__body::-webkit-scrollbar-thumb { background: var(--ox-line-strong); border-radius: 3px; }
.ox-mnav ul { list-style: none; margin: 0; padding: 0; }
.ox-mnav__primary li { margin: 0; padding: 0; border: 0; }
.ox-mnav__primary a { display: inline-flex; align-items: center; gap: 0.3em; padding: 0.12em 0; font: 700 clamp(30px, min(9.6vw, 10.5vh), 76px)/1.02 var(--ox-display); letter-spacing: -0.01em; text-transform: uppercase; color: var(--ox-ink) !important; text-decoration: none; }
.ox-mnav__primary .current-menu-item > a::after { content: ''; width: 0.2em; height: 0.2em; border-radius: 50%; background: var(--ox-ember); flex: none; }
.ox-mnav__more { margin-top: auto !important; padding-top: clamp(32px, 6vh, 56px) !important; display: flex; flex-direction: column; gap: 2px; }
.ox-mnav__more a { display: inline-block; padding: 8px 0; font: 600 14px/1.2 var(--ox-display); letter-spacing: 0.12em; text-transform: uppercase; color: var(--ox-ink) !important; text-decoration: none; }
.ox-mnav__note { margin: 20px 0 0; font: 400 13px/1.5 var(--ox-text); color: var(--ox-ink-2); }
.ox-mnav.is-open .ox-mnav__primary li { animation: objyx-menu-in 0.7s var(--ox-ease) both; }
.ox-mnav.is-open .ox-mnav__primary li:nth-child(2) { animation-delay: 50ms; }
.ox-mnav.is-open .ox-mnav__primary li:nth-child(3) { animation-delay: 100ms; }
.ox-mnav.is-open .ox-mnav__primary li:nth-child(4) { animation-delay: 150ms; }
.ox-mnav.is-open .ox-mnav__primary li:nth-child(5) { animation-delay: 200ms; }
@keyframes objyx-menu-in { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@media (min-width: 960px) { .ox-mnav { display: none !important; } }
@media (max-width: 959px) { .main-menu-container { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .ox-mnav, .ox-mnav.is-open .ox-mnav__primary li { transition: none; animation: none; } }

/* ---------- Phones ---------- */
@media (max-width: 767px) {
	.objyx-hero__actions .uncont { justify-content: flex-start; margin-top: 1rem; }
	.objyx-feature__object { width: 78vw !important; margin-top: -18vw !important; }
	.objyx-card .uncell { min-height: 0; }
	.objyx-changer__img img { max-height: 60vh; }
}

@media (prefers-reduced-motion: reduce) {
	.objyx-part, .objyx-compose__halo { transition: none; }
	.objyx-compose__halo[data-light="rgb"], .objyx-bulb--rgb { animation: none; }
	.objyx-field { transition: none; }
}

.objyx-compose__families[hidden] { display: none; }

/* Sentences set through heading modules read in the text face; Bank Gothic is for names and display. */
.heading-text > p:not(.objyx-feature__marquee *):not(.objyx-caption--label *),
.vc_custom_heading_wrap:not(.objyx-feature__marquee):not(.objyx-caption--label):not(.objyx-card__num) .heading-text > p {
	font-family: var(--ox-text) !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 400 !important; line-height: 1.5 !important;
}

/* Stacked cards arrive over the pinned range: the section carries the page ground. */
.objyx-steps { position: relative; z-index: 3; background-color: var(--ox-paper); }

/* Product page: the composition's own render, in the round */
.objyx-render { margin: 0; border-radius: var(--ox-radius); background: var(--ox-panel); overflow: hidden; }
.objyx-render img { display: block; width: 100%; height: auto; max-height: 86vh; object-fit: contain; padding: 4% 8% 0; }
.objyx-render figcaption { padding: 0 1.4rem 1.2rem; font-size: 13px; color: var(--ox-ink-2); }
.objyx-product__round .objyx-facts { grid-template-columns: 1fr 1fr; }

/* ---------- Audit fixes (2026-09-30) ---------- */
/* Product cards: Uncode's inline-price "Title - price" dash is left over once the price sits on its own line. */
.objyx-shop .t-entry-title .price::before, .objyx-grid .t-entry-title .price::before, .objyx-range .t-entry-title .price::before { content: none !important; }
.objyx-shop .t-entry-title .price, .objyx-grid .t-entry-title .price, .objyx-range .t-entry-title .price { display: block; margin: 0.3em 0 0 !important; }
.objyx-shop .price .objyx-placeholder, .objyx-grid .price .objyx-placeholder, .objyx-range .price .objyx-placeholder { display: table; margin: 0.5em 0 0; font: 600 10px/1 var(--ox-text) !important; letter-spacing: 0.08em; color: var(--ox-ember-ink) !important; }

/* Lamps: collection filters on phones too (Uncode hides them below 960px), as a swipeable row; two cards per row. */
@media (max-width: 959px) {
	.objyx-shop .isotope-filters.mobile-hidden, .objyx-shop .isotope-filters.tablet-hidden { display: block !important; }
	.objyx-shop .isotope-filters .menu-smart { display: flex !important; flex-wrap: nowrap; overflow-x: auto; gap: 0 1.2rem; padding: 0 0 6px; scrollbar-width: none; }
	.objyx-shop .isotope-filters .menu-smart > li { flex: 0 0 auto; float: none; }
	.objyx-shop .isotope-filters .menu-smart a { display: inline-block; padding: 12px 0 !important; }
}
@media (max-width: 599px) {
	.objyx-shop .isotope-container .tmb { width: 50% !important; }
	.objyx-shop .t-entry-title, .objyx-shop .t-entry-title a { font-size: 11px !important; }
	.objyx-shop .price, .objyx-shop .price * { font-size: 12px !important; }
}

/* Compose / product options: the surface divider is meaningless once the row wraps on phones. */
@media (max-width: 560px) {
	.objyx-compose__surface { padding-left: 0; border-left: 0; }
	.objyx-compose__dim span { left: auto; right: 10px; }
}

/* Forms: WooCommerce checkboxes had a #eaeaea border on white, next to invisible. */
.woocommerce form input[type="checkbox"], .woocommerce-page form input[type="checkbox"] { border-color: var(--ox-line-strong) !important; }
.woocommerce-form__label-for-checkbox span { font-family: var(--ox-text) !important; text-transform: none !important; letter-spacing: 0 !important; font-size: 13px; }

/* Cart on phones: the table's own "Cart" caption repeats the page title; row labels read in the text face. */
.woocommerce-cart-form > h2 { display: none; }
@media (max-width: 767px) {
	.woocommerce table.shop_table_responsive tr td::before, .woocommerce-page table.shop_table_responsive tr td::before { font: 500 11px/1.4 var(--ox-text) !important; letter-spacing: 0.06em !important; color: var(--ox-ink-2) !important; }
}

/* Touch targets: footer and header links get at least 24px of height. */
@media (pointer: coarse) {
	.objyx-footer__links ul { gap: 0.1rem; }
	.objyx-footer__links a { display: inline-block; padding-block: 6px; }
	.mobile-shopping-cart { min-height: 32px; display: inline-flex !important; align-items: center; }
}

.objyx-shop .price .objyx-placeholder, .objyx-grid .price .objyx-placeholder { white-space: nowrap; }
@media (max-width: 599px) { .objyx-shop .price .objyx-placeholder { font-size: 8.5px !important; letter-spacing: 0.04em; padding: 0.35em 0.55em; } }

/* Plain text pages (privacy policy): a readable measure. */
body.privacy-policy .post-content > .row-container > .row > * { max-width: 72ch; }

/* Dark theme: block-editor text on plain pages kept Uncode's light-style ink (#0F1319 on basalt). */
[data-theme="dark"] .post-content .wp-block-paragraph, [data-theme="dark"] .post-content .wp-block-list, [data-theme="dark"] .post-content .wp-block-list li { color: var(--ox-ink) !important; }

/* =================================================================
   Home sections (inc/home.php, assets/js/objyx-home.js)
   ================================================================= */
.objyx-raw, .objyx-raw .row-container, .objyx-raw .row, .objyx-raw .row-inner, .objyx-raw .uncol, .objyx-raw .uncoltable, .objyx-raw .uncell, .objyx-raw .uncont { overflow: visible !important; }
.objyx-raw .uncell { padding: 0 !important; }
.objyx-raw .uncont { max-width: none !important; }
.ox-link { display: inline-flex; align-items: center; gap: 0.7em; font: 500 12px/1 var(--ox-display); letter-spacing: 0.14em; text-transform: uppercase; color: inherit !important; text-decoration: none; padding-bottom: 6px; border-bottom: 1px solid currentColor; transition: gap 0.5s var(--ox-ease); }
.ox-link::after { content: '→'; font-family: var(--ox-text); letter-spacing: 0; }
.ox-link:hover { gap: 1.1em; }
.objyx-pill { text-decoration: none !important; }
.objyx-pill--light { background: var(--ox-frost); color: var(--ox-basalt) !important; }
.objyx-pill--light::after { background-color: var(--ox-basalt); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e3edf1' stroke-width='2'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E"); }
.objyx-pill--dark { color: var(--ox-paper) !important; }

/* ---------- 01 / 02 / 03: one panel per step, stacked ---------- */
.ox-steps { --top: 92px; --step: 26px; position: relative; padding: clamp(40px, 8vh, 120px) var(--ox-gutter) clamp(60px, 12vh, 160px); display: flex; flex-direction: column; gap: 10vh; background: var(--ox-paper); }
.ox-step {
	--bg: var(--ox-frost); --ink: var(--ox-basalt); --ink-2: #4c5864;
	position: sticky; top: calc(var(--top) + var(--i) * var(--step));
	height: clamp(520px, calc(100vh - var(--top) - 3 * var(--step) - 24px), 900px);
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
	border-radius: var(--ox-radius); overflow: hidden; background: var(--bg); color: var(--ink);
	transform-origin: 50% 0; transform: scale(calc(1 - var(--p, 0) * 0.05));
	will-change: transform;
}
.ox-step::after { content: ''; position: absolute; inset: 0; background: #0f1319; opacity: calc(var(--p, 0) * 0.28); pointer-events: none; border-radius: inherit; }
.ox-step--lynx { --bg: var(--ox-lynx); --ink-2: #2e3a2a; }
.ox-step--night { --bg: #06070a; --ink: var(--ox-frost); --ink-2: rgba(238, 243, 245, 0.74); }
.ox-step__body { display: flex; flex-direction: column; justify-content: space-between; gap: 2rem; padding: clamp(28px, 4vw, 72px); min-width: 0; }
.ox-step__num { margin: 0; font: 300 clamp(88px, 11vw, 210px)/0.8 var(--ox-display); letter-spacing: -0.04em; color: var(--ink); }
.ox-step__title { margin: 0 0 1.2rem; font: 500 clamp(30px, 3.2vw, 60px)/0.95 var(--ox-display) !important; letter-spacing: -0.01em; text-transform: uppercase; color: var(--ink) !important; }
.ox-step__text { margin: 0 0 1.6rem; max-width: 44ch; font: 400 clamp(15px, 1.1vw, 19px)/1.6 var(--ox-text); color: var(--ink-2) !important; }
.ox-step__media { position: relative; margin: 0; min-width: 0; display: grid; place-items: center; padding: clamp(16px, 3vw, 56px); }
.ox-step__media img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 30px 40px rgba(15, 19, 25, 0.18)); }
.ox-step__media img.is-photo { position: absolute; inset: 0; object-fit: cover; filter: none; }
.ox-step--night .ox-step__media { padding: 0; }
/* Card 03: the lit trio sits on the card's own dark and fades into it at any aspect. */
.ox-step__media img.is-glow { position: static; display: block; width: 100%; height: auto; max-height: 100%; aspect-ratio: 4 / 3; object-fit: cover; filter: none;
	-webkit-mask: linear-gradient(to right, transparent, #000 14%, #000 86%, transparent), linear-gradient(to bottom, transparent, #000 16%, #000 84%, transparent);
	-webkit-mask-composite: source-in; mask: linear-gradient(to right, transparent, #000 14%, #000 86%, transparent), linear-gradient(to bottom, transparent, #000 16%, #000 84%, transparent); mask-composite: intersect; }
@media (max-width: 767px) { .ox-step--night .ox-step__media { height: auto; } }
[data-theme="dark"] .ox-steps { background: var(--ox-paper); }
[data-theme="dark"] .ox-step--frost { --bg: var(--ox-panel); --ink: var(--ox-ink); --ink-2: var(--ox-ink-2); }
[data-theme="dark"] .ox-step--night { --bg: #06070a; box-shadow: inset 0 0 0 1px rgba(238, 243, 245, 0.08); }
@media (max-width: 767px) {
	.ox-steps { gap: 16px; padding-block: 40px 56px; }
	.ox-step { position: relative; top: 0; height: auto; grid-template-columns: 1fr; transform: none; }
	.ox-step::after { display: none; }
	.ox-step__body { gap: 1.2rem; }
	.ox-step__media { height: 62vw; order: -1; padding: 16px; }
	.ox-step--night .ox-step__media { order: 0; }
}

/* ---------- The range: pinned, full-height renders run sideways ---------- */
.ox-range { position: relative; background: var(--ox-paper); }
.ox-range__pin { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; display: flex; flex-direction: column; justify-content: center; padding: calc(var(--ox-head, 76px) + 16px) 0 28px; }
.ox-range__track { display: flex; gap: clamp(12px, 1.4vw, 24px); height: 100%; padding-inline: var(--ox-gutter); will-change: transform; }
.ox-range__intro { flex: 0 0 min(34vw, 560px); display: flex; flex-direction: column; justify-content: flex-end; gap: 1.4rem; padding: 0 clamp(8px, 2vw, 40px) clamp(8px, 3vh, 40px) 0; }
.ox-range__title { margin: 0; font: 500 clamp(48px, 6.4vw, 124px)/0.88 var(--ox-display) !important; letter-spacing: -0.02em; text-transform: uppercase; color: var(--ox-ink) !important; }
.ox-range__lede { margin: 0; max-width: 34ch; font: 400 clamp(16px, 1.2vw, 21px)/1.5 var(--ox-text); color: var(--ox-ink-2); }
.ox-range__intro .ox-link { align-self: flex-start; color: var(--ox-ink) !important; }
.ox-range__card { position: relative; flex: 0 0 auto; height: 100%; aspect-ratio: 0.78; display: block; border-radius: var(--ox-radius); overflow: hidden; background: var(--ox-panel); color: var(--ox-ink) !important; text-decoration: none !important; }
.ox-range__img { position: absolute; inset: 0 0 96px; display: grid; place-items: center; padding: clamp(12px, 2vw, 36px) clamp(12px, 2vw, 36px) 0; }
.ox-range__img img { width: 100%; height: 100%; object-fit: contain; transition: transform 1s var(--ox-ease); }
.ox-range__card:hover .ox-range__img img { transform: scale(1.035) translateY(-1%); }
.ox-range__meta { position: absolute; left: 0; right: 0; bottom: 0; height: 96px; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 1rem; align-content: center; padding: 0 clamp(18px, 1.8vw, 32px); border-top: 1px solid var(--ox-line); }
.ox-range__idx { grid-row: 1 / 3; align-self: center; font: 300 34px/1 var(--ox-display); letter-spacing: -0.03em; color: var(--ox-ink-2); }
.ox-range__name { font: 500 14px/1.25 var(--ox-display); letter-spacing: 0.1em; text-transform: uppercase; }
.ox-range__price, .ox-range__price * { font: 500 14px/1.5 var(--ox-text) !important; color: var(--ox-ink-2) !important; }
.ox-range__price ins { text-decoration: none; }
.ox-range__price .objyx-placeholder { font: 600 9px/1 var(--ox-text) !important; color: var(--ox-ember-ink) !important; margin-left: 0.5em; }
.ox-range__bar { position: absolute; left: var(--ox-gutter); right: var(--ox-gutter); bottom: 12px; height: 2px; background: var(--ox-line); }
.ox-range__bar span { display: block; height: 100%; background: var(--ox-ink); transform-origin: 0 50%; transform: scaleX(0); }
@media (max-width: 767px) {
	.ox-range__pin { position: relative; height: auto; padding: 56px 0 32px; }
	.ox-range__track { height: auto; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--ox-gutter); scrollbar-width: none; padding-bottom: 8px; }
	.ox-range__track::-webkit-scrollbar { display: none; }
	.ox-range__intro { flex-basis: 78vw; scroll-snap-align: start; }
	.ox-range__card { height: auto; width: 82vw; aspect-ratio: 0.8; scroll-snap-align: center; }
	.ox-range__bar { bottom: 8px; }
}

/* ---------- Filament story: the section owns each tone (both themes) ---------- */
.ox-colours { --tone: #d3e8b9; position: relative; height: calc(var(--n, 8) * 70vh + 100vh); background: var(--tone); transition: background-color 0.9s var(--ox-ease); color: var(--ox-basalt); }
.ox-colours__pin { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto 1fr auto; padding: calc(var(--ox-head, 76px) + 24px) var(--ox-gutter) 32px; }
.ox-colours__head { grid-column: 1; grid-row: 1; }
.ox-colours__title { margin: 0 0 0.6rem; font: 500 clamp(28px, 3vw, 56px)/0.95 var(--ox-display) !important; letter-spacing: -0.01em; text-transform: uppercase; color: var(--ox-basalt) !important; }
.ox-colours__lede { margin: 0; font: 400 clamp(15px, 1.1vw, 19px)/1.5 var(--ox-text); color: #1d232c; }
.ox-colours__slides { grid-column: 1; grid-row: 2; position: relative; align-self: center; min-height: 40vh; }
.ox-colours__slide { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; gap: 1.2rem; opacity: 0; visibility: hidden; transform: translateY(40px); transition: opacity 0.6s var(--ox-ease), transform 0.9s var(--ox-ease), visibility 0s 0.6s; }
.ox-colours__slide.is-past { transform: translateY(-40px); }
.ox-colours__slide.is-on { opacity: 1; visibility: visible; transform: none; transition: opacity 0.7s var(--ox-ease) 0.1s, transform 0.9s var(--ox-ease) 0.1s, visibility 0s; }
.ox-colours__name { margin: 0; font: 500 clamp(52px, 8.2vw, 168px)/0.86 var(--ox-display) !important; letter-spacing: -0.03em; text-transform: uppercase; color: var(--ox-basalt) !important; }
.ox-colours__caption { display: flex; align-items: center; gap: 1rem; margin: 0; font: 400 clamp(15px, 1.15vw, 20px)/1.4 var(--ox-text); color: #1d232c; }
.ox-colours__caption .objyx-dot { width: 36px; height: 36px; flex: none; }
.ox-colours__slide .ox-link { align-self: flex-start; color: var(--ox-basalt) !important; }
.ox-colours__stage { grid-column: 2; grid-row: 1 / 4; position: relative; }
.ox-colours__img { position: absolute; inset: 0; margin: 0; display: grid; place-items: center; opacity: 0; transform: scale(0.94) translateY(4%); transition: opacity 0.8s var(--ox-ease), transform 1.1s var(--ox-ease); }
.ox-colours__img.is-on { opacity: 1; transform: none; }
.ox-colours__img { display: flex; align-items: center; justify-content: center; }
.ox-colours__img img { position: static; height: 100% !important; width: auto !important; max-width: 100%; object-fit: contain; }
.ox-colours__nav { grid-column: 1; grid-row: 3; display: flex; align-items: center; gap: 1.6rem; }
.ox-colours__count { margin: 0; font: 500 12px/1 var(--ox-display); letter-spacing: 0.14em; color: var(--ox-basalt); }
.ox-colours__dots { list-style: none !important; display: flex; gap: 10px; margin: 0 !important; padding: 0 !important; }
.ox-colours__dots li { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.ox-colours__dots li::before { display: none !important; }
.ox-colours__dot { width: 22px; height: 22px; padding: 0; border: 0; border-radius: 50%; cursor: pointer; background: var(--swatch); box-shadow: inset 0 0 0 1px rgba(15, 19, 25, 0.2); transition: transform 0.4s var(--ox-ease), box-shadow 0.4s; }
.ox-colours__dot:hover { transform: scale(1.15); }
.ox-colours__dot[aria-current="true"] { box-shadow: inset 0 0 0 1px rgba(15, 19, 25, 0.2), 0 0 0 3px var(--tone), 0 0 0 4.5px var(--ox-basalt); }
.ox-colours__dot:focus-visible { outline: 2px solid var(--ox-basalt); outline-offset: 4px; }
@media (max-width: 767px) {
	.ox-colours { height: calc(var(--n, 8) * 60vh + 100vh); }
	.ox-colours__pin { grid-template-columns: 1fr; grid-template-rows: auto minmax(0, 1fr) auto auto; padding-top: calc(var(--ox-head, 60px) + 16px); gap: 12px; }
	.ox-colours__stage { grid-column: 1; grid-row: 2; }
	.ox-colours__slides { grid-row: 3; min-height: 190px; }
	.ox-colours__nav { grid-row: 4; }
	.ox-colours__dots { gap: 8px; }
	.ox-colours__dot { width: 24px; height: 24px; }
}

/* ---------- Studio bento: grid areas, content decides height ---------- */
.ox-bento { display: grid; gap: 12px; padding: clamp(40px, 8vh, 120px) var(--ox-gutter); background: var(--ox-paper);
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-template-rows: repeat(2, minmax(clamp(220px, 26vh, 340px), auto)) minmax(clamp(240px, 28vh, 360px), auto);
	grid-template-areas: "made trio trio duo" "made trio trio seed" "objs sw light cod"; }
.ox-tile { position: relative; margin: 0; min-width: 0; border-radius: var(--ox-radius); overflow: hidden; padding: clamp(20px, 2vw, 36px); display: flex; flex-direction: column; justify-content: space-between; gap: 1.2rem; }
.ox-tile--made { grid-area: made; } .ox-tile--trio { grid-area: trio; } .ox-tile--duo { grid-area: duo; } .ox-tile--seed { grid-area: seed; }
.ox-tile--objs { grid-area: objs; } .ox-tile--sw { grid-area: sw; } .ox-tile--light { grid-area: light; } .ox-tile--cod { grid-area: cod; }
.ox-tile__title { margin: 0; font: 500 clamp(18px, 1.5vw, 28px)/1 var(--ox-display) !important; letter-spacing: 0.02em; text-transform: uppercase; color: inherit !important; overflow-wrap: anywhere; }
.ox-tile--made .ox-tile__title { font-size: clamp(28px, 2.6vw, 50px) !important; line-height: 0.95 !important; }
.ox-tile__text { margin: 0; max-width: 40ch; font: 400 clamp(14px, 0.95vw, 17px)/1.55 var(--ox-text); color: inherit; opacity: 0.86; }
.ox-tile--made { justify-content: flex-start; } .ox-tile--made .ox-tile__text { flex: 1; } .ox-tile--made .objyx-pill { align-self: flex-start; }
.ox-tile--night { background: var(--ox-basalt); color: var(--ox-frost); }
.ox-tile--frost { background: var(--ox-frost); color: var(--ox-basalt); }
.ox-tile--ember { background: var(--ox-ember); color: var(--ox-basalt); }
.ox-tile--lilac { background: var(--ox-lilac, #9d8bb9); color: var(--ox-basalt); }
.ox-tile--graphite { background: #1d232c; color: var(--ox-frost); }
.ox-tile--photo { padding: 0; background: var(--ox-panel); }
.ox-tile--photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ox-ease); }
.ox-tile--photo:hover img { transform: scale(1.03); }
.ox-tile--seed { align-items: center; justify-content: center; }
.ox-tile--seed img { width: 78%; height: auto; max-height: 72%; object-fit: contain; transform: scale(1.8) translateY(-4%); }
.ox-tile--seed figcaption { position: absolute; left: 0; right: 0; bottom: 16px; text-align: center; font: 500 10px/1 var(--ox-display); letter-spacing: 0.16em; text-transform: uppercase; color: rgba(238, 243, 245, 0.62); }
.ox-tile--sw .objyx-swatches { justify-content: flex-start; gap: 8px; }
.ox-tile--sw .objyx-swatches li { width: 26px; }
.ox-tile__bulbs { display: flex; gap: 10px; margin: 0; }
[data-theme="dark"] .ox-bento { background: var(--ox-paper); }
[data-theme="dark"] .ox-tile--night { background: #232b36; }
[data-theme="dark"] .ox-tile--frost { background: var(--ox-panel); color: var(--ox-ink); }
@media (max-width: 1099px) {
	.ox-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; grid-auto-rows: minmax(220px, auto);
		grid-template-areas: "made trio" "made duo" "seed objs" "sw light" "cod cod"; }
}
@media (max-width: 599px) {
	.ox-bento { grid-template-columns: 1fr; grid-auto-rows: auto; grid-template-areas: "made" "trio" "sw" "light" "cod" "duo" "seed" "objs"; }
	.ox-tile--photo, .ox-tile--seed { aspect-ratio: 4 / 3; }
}

/* ---------- Any model. A real price. ---------- */
.ox-slice { position: relative; display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 80px); align-items: center; min-height: 100vh; padding: clamp(64px, 12vh, 140px) var(--ox-gutter); background: var(--ox-basalt); color: var(--ox-frost); overflow: hidden; }
.ox-slice::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(60% 70% at 72% 62%, rgba(243, 126, 97, 0.10), transparent 70%), radial-gradient(50% 60% at 20% 20%, rgba(157, 139, 185, 0.10), transparent 70%); }
.ox-slice > * { position: relative; }
.ox-slice__label { margin: 0 0 1.4rem; font: 500 11px/1.2 var(--ox-display); letter-spacing: 0.16em; text-transform: uppercase; color: var(--ox-lynx); }
.ox-slice__title { margin: 0 0 1.6rem; font: 500 clamp(44px, 6vw, 116px)/0.9 var(--ox-display) !important; letter-spacing: -0.02em; text-transform: uppercase; color: var(--ox-frost) !important; }
.ox-slice__lede { margin: 0 0 2.2rem; max-width: 42ch; font: 400 clamp(16px, 1.2vw, 21px)/1.55 var(--ox-text); color: rgba(238, 243, 245, 0.78); }
.ox-slice__stage { position: relative; height: min(78vh, 820px); display: grid; grid-template-rows: 1fr auto; }
.ox-slice__canvas { width: 100%; height: 100%; min-height: 0; display: block; }
.ox-slice__readout { border-top: 1px solid rgba(238, 243, 245, 0.16); padding-top: 18px; }
.ox-slice__name { margin: 0 0 14px; font: 500 12px/1.3 var(--ox-display); letter-spacing: 0.12em; text-transform: uppercase; color: var(--ox-frost); }
.ox-slice__readout dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0; }
.ox-slice__readout dt { margin: 0 0 8px; font: 500 10px/1 var(--ox-display) !important; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(238, 243, 245, 0.62) !important; }
.ox-slice__readout dd { margin: 0; font: 500 clamp(18px, 1.6vw, 28px)/1.1 var(--ox-text); font-variant-numeric: tabular-nums; color: var(--ox-frost); }
.ox-slice__readout dd[data-s="price"] { transition: color 0.5s; }
.ox-slice.is-priced .ox-slice__readout dd[data-s="price"] { color: var(--ox-lynx); }
.ox-slice__note { margin: 14px 0 0; font: 400 12px/1.5 var(--ox-text); color: rgba(238, 243, 245, 0.5); }
.ox-slice__note .objyx-placeholder { color: #f58b70; background: rgba(243, 126, 97, 0.18); }
@media (max-width: 959px) {
	.ox-slice { grid-template-columns: 1fr; min-height: 0; }
	.ox-slice__stage { height: 72vh; }
	.ox-slice__readout dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Footer: the outlined O rises out of the footer, whole ---------- */
.objyx-footer, .objyx-footer .row-container, .objyx-footer .row, .objyx-footer .row-inner, .objyx-footer .uncol, .objyx-footer .uncoltable, .objyx-footer .uncell { overflow: visible !important; }
.objyx-footer { position: relative; z-index: 2; }
.objyx-footer__outline { inset: -38% -4% 0 18% !important; z-index: 0; }
@media (max-width: 767px) { .objyx-footer__outline { inset: -6% -30% 20% -10% !important; } }
/* Home ground: the old colour-changer layer used to paint Paper behind transparent rows. */
body.home .page-body.style-light-bg { background-color: var(--ox-paper) !important; }
/* Renders carry their studio sweep: feather every edge so the lamp stands in the section's tone. */
.ox-colours__img img {
	-webkit-mask: linear-gradient(90deg, transparent, #000 22%, #000 78%, transparent), linear-gradient(180deg, transparent, #000 14%, #000 86%, transparent);
	-webkit-mask-composite: source-in; mask: linear-gradient(90deg, transparent, #000 22%, #000 78%, transparent), linear-gradient(180deg, transparent, #000 14%, #000 86%, transparent); mask-composite: intersect;
}
.objyx-float img { -webkit-mask: radial-gradient(closest-side, #000 62%, transparent); mask: radial-gradient(closest-side, #000 62%, transparent); }

/* Header mini cart: thumbnail left, name and price to its right. */
.uncode-cart-dropdown .cart-item-list { display: grid !important; grid-template-columns: 64px minmax(0, 1fr); align-items: center; column-gap: 14px; padding-block: 8px !important; }
.uncode-cart-dropdown .cart-item-list::before, .uncode-cart-dropdown .cart-item-list::after { display: none !important; }
.uncode-cart-dropdown .cart-item-list > img { float: none !important; width: 64px !important; height: 64px !important; margin: 0 !important; object-fit: contain; border-radius: 10px; background: var(--ox-paper); }
.uncode-cart-dropdown .cart-item-list > .objyx-lampfig { float: none !important; justify-self: center; width: min(64px, calc(var(--ar, 0.5) * 72px)) !important; height: auto !important; margin: 0 !important; }
.uncode-cart-dropdown .cart-desc { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; min-width: 0; margin: 0 !important; padding: 0 !important; text-align: right; }
html body ul.uncode-cart-dropdown .cart-item { font: 500 11px/1.3 var(--ox-display) !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; color: var(--ox-ink) !important; }
html body ul.uncode-cart-dropdown .product-quantity, html body ul.uncode-cart-dropdown .product-quantity * { font: 500 13px/1.3 var(--ox-text) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--ox-ink-2) !important; }
[data-theme="dark"] body ul.uncode-cart-dropdown { background-color: var(--ox-panel) !important; color: var(--ox-ink); }
[data-theme="dark"] body ul.uncode-cart-dropdown a, [data-theme="dark"] body ul.uncode-cart-dropdown span:not(.product-quantity):not(.product-quantity *), [data-theme="dark"] body ul.uncode-cart-dropdown strong, [data-theme="dark"] body ul.uncode-cart-dropdown p, [data-theme="dark"] body ul.uncode-cart-dropdown i { color: var(--ox-ink) !important; }
[data-theme="dark"] body ul.uncode-cart-dropdown li, [data-theme="dark"] body ul.uncode-cart-dropdown hr, [data-theme="dark"] body ul.uncode-cart-dropdown .subtotal, [data-theme="dark"] body ul.uncode-cart-dropdown .buttons { border-color: var(--ox-line) !important; }
/* Uncode clears every span background inside menus; the lamp figure's filament tint is one. */
html body .menu-smart ul .objyx-lampfig__tint { background-color: var(--tint) !important; }


/* ---------- Cart + checkout (woocommerce/cart, woocommerce/checkout templates) ---------- */
.objyx-pagehead + .objyx-wc { padding-top: 0 !important; }
.objyx-wc--cart .woocommerce, .objyx-wc--checkout .woocommerce { max-width: 1240px; margin-inline: auto; }
.objyx-wc--cart .uncode_text_column, .objyx-wc--checkout .uncode_text_column { margin: 0 !important; }
.objyx-pagehead .uncol .uncont { max-width: 1240px; margin-inline: auto !important; }
.objyx-wc .woocommerce-notices-wrapper:empty { display: none; }

/* Shared: summary card, totals table, discount box */
.ox-cart > :not(.ox-cart__lines):not(.ox-cart__summary) { grid-column: 1 / -1; }
.ox-cart, .ox-checkout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 400px); gap: clamp(28px, 4vw, 64px); align-items: start; }
.ox-cart__summary, .ox-checkout__summary { position: sticky; top: calc(88px + var(--wp-admin--admin-bar--height, 0px)); padding: clamp(20px, 2vw, 28px); border-radius: var(--ox-radius); background: var(--ox-panel); }
.ox-cart__heading, .ox-checkout__heading, .ox-cstep__title { margin: 0 0 18px !important; font: 600 13px/1.2 var(--ox-display) !important; letter-spacing: 0.16em !important; text-transform: uppercase; color: var(--ox-ink) !important; }
.objyx-wc table.ox-totals__table { width: 100%; margin: 0 !important; border-collapse: collapse; }
.objyx-wc table.ox-totals__table tr { border: 0 !important; }
.objyx-wc table.ox-totals__table th, .objyx-wc table.ox-totals__table td { padding: 9px 0 !important; border: 0 !important; vertical-align: top; background: none !important; }
.objyx-wc table.ox-totals__table th { font: 500 14px/1.4 var(--ox-text) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--ox-ink-2) !important; text-align: left; }
.objyx-wc table.ox-totals__table td { font: 500 14px/1.4 var(--ox-text) !important; color: var(--ox-ink) !important; text-align: right; }
.objyx-wc table.ox-totals__table .order-total th, .objyx-wc table.ox-totals__table .order-total td { padding-top: 16px !important; border-top: 1px solid var(--ox-line) !important; font: 700 18px/1.3 var(--ox-text) !important; color: var(--ox-ink) !important; }
.objyx-wc table.ox-totals__table .order-total td strong { font-weight: 700; }
.objyx-wc table.ox-totals__table .cart-discount td, .objyx-wc table.ox-totals__table .cart-discount th { color: var(--ox-ember-ink) !important; }
.objyx-wc table.ox-totals__table .woocommerce-remove-coupon { margin-left: 6px; font-size: 12px; color: var(--ox-ink-2) !important; }
.objyx-wc table.ox-totals__table #shipping_method { margin: 0; padding: 0; list-style: none; }
.objyx-wc table.ox-totals__table #shipping_method li { margin: 0; text-align: right; }
.objyx-wc table.ox-totals__table #shipping_method label { display: inline; font: 500 14px/1.4 var(--ox-text) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--ox-ink) !important; }
.objyx-wc table.ox-totals__table .woocommerce-shipping-destination { display: none; }

.ox-coupon { margin: 0 0 18px; padding: 0 0 18px; border-bottom: 1px solid var(--ox-line); }
.objyx-wc .ox-coupon label { display: block; margin: 0 0 8px; }
.ox-coupon__row { display: flex; gap: 8px; }
.objyx-wc .ox-coupon input.input-text { flex: 1 1 auto; min-width: 0; width: auto !important; min-height: 46px; margin: 0 !important; background: var(--ox-paper) !important; text-transform: uppercase; letter-spacing: 0.06em !important; }
.objyx-wc .ox-coupon input.input-text::placeholder { text-transform: none; letter-spacing: 0; }
.objyx-wc .ox-coupon .button { flex: none; min-height: 46px; padding-inline: 1.2rem !important; margin: 0 !important; }
.ox-coupon .coupon-error-notice, .ox-coupon__msg { margin: 8px 0 0; font: 400 13px/1.4 var(--ox-text); color: var(--ox-ink-2); }
.ox-coupon__msg:empty { display: none; }
.ox-coupon .coupon-error-notice, .ox-coupon__msg.is-error { color: #b3261e; }
.ox-coupon.is-busy { opacity: 0.6; pointer-events: none; }
.ox-checkout__summary .ox-coupon { margin: 18px 0 0; padding: 18px 0 0; border-top: 1px solid var(--ox-line); border-bottom: 0; }

/* Primary actions: full width, label dead centre */
.objyx-wc .wc-proceed-to-checkout { margin: 20px 0 0; padding: 0 !important; }
.objyx-wc .wc-proceed-to-checkout .checkout-button, .objyx-wc #place_order {
	display: flex !important; align-items: center; justify-content: center; width: 100% !important; min-height: 56px; margin: 0 !important; padding: 0 1.2rem !important;
	text-align: center !important; line-height: 1.2 !important; float: none !important; font-size: 12px !important;
}
.objyx-wc .wc-proceed-to-checkout .checkout-button::after, .objyx-wc .wc-proceed-to-checkout .checkout-button::before { display: none !important; }
.ox-totals__note { margin: 14px 0 0; font: 400 13px/1.5 var(--ox-text); color: var(--ox-ink-2); text-align: center; }

/* Cart lines */
.ox-cart__list { margin: 0 !important; padding: 0 !important; list-style: none; border-top: 1px solid var(--ox-line); }
.ox-line { display: grid; grid-template-columns: 112px minmax(0, 1fr) auto auto; grid-template-areas: "fig info qty sub" "fig rm qty sub"; grid-template-rows: 1fr auto; column-gap: clamp(16px, 2vw, 28px); row-gap: 8px; align-items: start; margin: 0 !important; padding: 20px 0; border-bottom: 1px solid var(--ox-line); }
.ox-line__fig { grid-area: fig; display: grid; place-items: center; width: 112px; height: 132px; border-radius: 12px; background: var(--ox-panel); overflow: hidden; padding: 10px; box-sizing: border-box; }
.ox-line__fig a { display: contents; }
.ox-line__fig img:not(.objyx-lampfig *) { width: 100% !important; height: 100% !important; object-fit: contain; min-width: 0 !important; margin: 0 !important; }
.ox-line__fig .objyx-lampfig--thumb, .ox-review__fig .objyx-lampfig--thumb { display: block; height: auto; width: min(100%, calc(var(--ar, 0.5) * var(--fig-h))); margin: 0; }
.ox-line__fig { --fig-h: 112px; }
.ox-line__info { grid-area: info; min-width: 0; }
.ox-line__name { margin: 2px 0 6px !important; font: 600 14px/1.3 var(--ox-display) !important; letter-spacing: 0.1em !important; text-transform: uppercase; }
.ox-line__name a { color: var(--ox-ink) !important; text-decoration: none; }
.objyx-wc .ox-line dl.variation, .objyx-wc .ox-review dl.variation { display: grid; grid-template-columns: auto 1fr; gap: 1px 8px; margin: 0 !important; }
.objyx-wc .ox-line dl.variation dt, .objyx-wc .ox-line dl.variation dd, .objyx-wc .ox-review dl.variation dt, .objyx-wc .ox-review dl.variation dd { float: none !important; margin: 0 !important; padding: 0 !important; }
.objyx-wc .ox-line dl.variation dd p, .objyx-wc .ox-review dl.variation dd p { margin: 0 !important; }
.objyx-wc .ox-line__each, .objyx-wc .ox-line__each * { margin: 8px 0 0 !important; font: 400 13px/1.4 var(--ox-text) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--ox-ink-2) !important; }
.objyx-wc .ox-line__each * { margin: 0 !important; }
.ox-line__each span { color: var(--ox-ink-2); }
.ox-line__qty { grid-area: qty; }
.ox-line__sub { grid-area: sub; min-width: 96px; padding-top: 10px; text-align: right; font: 600 15px/1.3 var(--ox-text); color: var(--ox-ink); white-space: nowrap; }
.ox-line__remove { grid-area: rm; align-self: end; }
.objyx-wc .ox-line__remove a.remove { display: inline !important; width: auto !important; height: auto !important; padding: 0 !important; background: none !important; border: 0 !important; font: 500 12px/1 var(--ox-text) !important; color: var(--ox-ink-2) !important; text-decoration: underline; text-underline-offset: 3px; text-indent: 0 !important; }
.objyx-wc .ox-line__remove a.remove::before, .objyx-wc .ox-line__remove a.remove::after { content: none !important; display: none !important; }
.objyx-wc .ox-line__remove a.remove:hover { color: var(--ox-ink) !important; background: none !important; }
.ox-line .quantity { display: inline-flex !important; align-items: center; height: 44px; border: 1px solid var(--ox-line-strong); border-radius: 999px; overflow: hidden; margin: 0 !important; }
.objyx-wc .ox-line .quantity input.qty { width: 40px !important; min-height: 0 !important; height: 42px; padding: 0 !important; border: 0 !important; border-radius: 0 !important; text-align: center; font: 600 14px var(--ox-text) !important; -moz-appearance: textfield; appearance: textfield; }
.ox-line .quantity input.qty::-webkit-outer-spin-button, .ox-line .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ox-step-btn { appearance: none; width: 38px; height: 42px; padding: 0; border: 0; background: none; color: var(--ox-ink); font: 400 18px/1 var(--ox-text); cursor: pointer; }
.ox-step-btn:hover { background: var(--ox-panel); }
.ox-cart__after { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 0 0; }
.ox-cart__continue { font: 600 12px/1 var(--ox-display); letter-spacing: 0.12em; text-transform: uppercase; color: var(--ox-ink) !important; text-decoration: none; }
.ox-cart-js .objyx-wc .ox-cart__update { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.objyx-wc .ox-cart .blockUI.blockOverlay { border-radius: var(--ox-radius); }

/* Checkout form */
.ox-checkout > :not(.ox-checkout__main):not(.ox-checkout__summary) { grid-column: 1 / -1; }
.objyx-wc .ox-checkout .woocommerce-error, .objyx-wc .ox-cart ~ .woocommerce-error { margin: 0 !important; }
.objyx-wc .ox-checkout input.input-text::placeholder, .objyx-wc .ox-checkout textarea::placeholder, .objyx-wc .ox-coupon input::placeholder { color: var(--ox-ink-2) !important; opacity: 0.6 !important; }
.ox-checkout__main { min-width: 0; }
.ox-cstep { margin: 0 0 clamp(24px, 3vw, 36px); }
.ox-cstep__title span { margin-right: 0.6em; color: var(--ox-ink-2); }
.objyx-wc .ox-fields, .objyx-wc .woocommerce-additional-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 16px; }
.objyx-wc .ox-fields::before, .objyx-wc .ox-fields::after { display: none !important; }
.objyx-wc .ox-checkout .form-row { grid-column: 1 / -1; float: none !important; width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.objyx-wc .ox-checkout .form-row-first { grid-column: 1; }
.objyx-wc .ox-checkout .form-row-last { grid-column: 2; }
.objyx-wc .ox-checkout .form-row.ox-hidden { display: none !important; }
.objyx-wc .ox-checkout .ox-fields, .objyx-wc .ox-checkout .form-row, .objyx-wc .ox-checkout .woocommerce-billing-fields, .objyx-wc .ox-checkout .woocommerce-additional-fields { border: 0 !important; box-shadow: none !important; }
.objyx-wc .ox-checkout .ox-fields { padding: 0 !important; }
.objyx-wc .ox-checkout .form-row label { display: block; margin: 0 0 7px; }
.objyx-wc .ox-checkout .form-row label .optional { text-transform: none; letter-spacing: 0; font-family: var(--ox-text); }
.objyx-wc .ox-checkout .form-row label.checkbox, .objyx-wc .ox-checkout .form-row label.woocommerce-form__label-for-checkbox { display: flex; gap: 10px; align-items: center; }
.objyx-wc .ox-checkout input.input-text, .objyx-wc .ox-checkout textarea { width: 100% !important; margin: 0 !important; }
.objyx-wc .ox-checkout textarea { min-height: 96px; padding-block: 12px !important; }
.objyx-wc .ox-checkout .woocommerce-input-wrapper { display: block; }
.objyx-wc .ox-checkout .woocommerce-invalid input.input-text, .objyx-wc .ox-checkout .woocommerce-invalid .select2-selection { border-color: #b3261e !important; }
.objyx-wc .ox-checkout .checkout-inline-error-message { margin: 6px 0 0; font: 400 12px/1.4 var(--ox-text); color: #b3261e; }
.objyx-wc .woocommerce-additional-fields > h3 { display: none; }
.objyx-wc .woocommerce-additional-fields { margin-top: -8px; }
.objyx-wc .ox-checkout #customer_details .form-row:has(input[type="checkbox"]) { grid-column: 1 / -1; }

/* Checkout order card */
.ox-review__items { margin: 0 0 12px !important; padding: 0 !important; list-style: none; }
.ox-review__item { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 14px; align-items: center; margin: 0 !important; padding: 12px 0; border-bottom: 1px solid var(--ox-line); }
.ox-review__item:first-child { padding-top: 0; }
.ox-review__fig { --fig-h: 64px; position: relative; display: grid; place-items: center; width: 64px; height: 76px; padding: 6px; box-sizing: border-box; border-radius: 10px; background: var(--ox-paper); }
.ox-review__fig img:not(.objyx-lampfig *) { width: 100% !important; height: 100% !important; object-fit: contain; margin: 0 !important; }
.ox-review__qty { position: absolute; top: -7px; right: -7px; display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: var(--ox-ink); color: var(--ox-paper); font: 600 11px/1 var(--ox-text); }
.ox-review__name { margin: 0 0 3px !important; font: 600 12px/1.3 var(--ox-display) !important; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ox-ink); }
.objyx-wc .ox-review dl.variation, .objyx-wc .ox-review dl.variation * { font-size: 12px !important; line-height: 1.45 !important; }
.ox-review__total { font: 600 14px/1.3 var(--ox-text); color: var(--ox-ink); white-space: nowrap; }
.objyx-wc .ox-checkout__summary #order_review { margin: 0; padding: 0; background: none; }
.objyx-wc .ox-checkout__summary #payment { margin: 18px 0 0; padding: 18px 0 0 !important; border-top: 1px solid var(--ox-line); border-radius: 0 !important; background: none !important; }
.objyx-wc .ox-checkout__summary #payment ul.payment_methods { margin: 0 0 14px !important; padding: 0 !important; border: 0 !important; list-style: none; }
.objyx-wc .ox-checkout__summary #payment ul.payment_methods li { margin: 0 !important; padding: 0 !important; }
.objyx-wc .ox-checkout__summary #payment ul.payment_methods li > input { display: none; }
.objyx-wc .ox-checkout__summary #payment ul.payment_methods li > label { font: 600 12px/1.3 var(--ox-display) !important; letter-spacing: 0.12em !important; color: var(--ox-ink) !important; }
.objyx-wc .ox-checkout__summary #payment div.payment_box { margin: 6px 0 0 !important; padding: 0 !important; background: none !important; font: 400 13px/1.5 var(--ox-text); color: var(--ox-ink-2); }
.objyx-wc .ox-checkout__summary #payment div.payment_box::before { display: none !important; }
.objyx-wc .ox-checkout__summary #payment div.payment_box p { margin: 0; }
.objyx-wc .ox-checkout__summary #payment .form-row.place-order { margin: 0 !important; padding: 0 !important; }
.objyx-wc .ox-checkout__summary .woocommerce-privacy-policy-text p { margin: 0 0 14px; font: 400 12px/1.5 var(--ox-text); color: var(--ox-ink-2); }
.objyx-wc .ox-checkout__summary .woocommerce-privacy-policy-text a { color: var(--ox-ink) !important; }
.objyx-wc .ox-checkout__summary .blockUI.blockOverlay { background: var(--ox-panel) !important; }

@media (max-width: 959px) {
	.ox-cart, .ox-checkout { grid-template-columns: minmax(0, 1fr); }
	.ox-cart__summary, .ox-checkout__summary { position: static; }
}
@media (max-width: 599px) {
	.ox-line { grid-template-columns: 88px minmax(0, 1fr) auto; grid-template-areas: "fig info info" "fig qty sub" "fig rm rm"; grid-template-rows: auto auto auto; row-gap: 10px; padding: 16px 0; }
	.ox-line__fig { width: 88px; height: 108px; --fig-h: 92px; padding: 8px; }
	.ox-line__sub { padding-top: 0; align-self: center; min-width: 0; }
	.ox-line__qty { align-self: center; }
	.ox-cart__after { padding-top: 14px; }
	.objyx-wc .ox-fields, .objyx-wc .woocommerce-additional-fields__field-wrapper { grid-template-columns: 1fr; }
	.objyx-wc .ox-checkout .form-row-first, .objyx-wc .ox-checkout .form-row-last { grid-column: 1; }
	.ox-review__item { grid-template-columns: 56px minmax(0, 1fr); align-items: start; row-gap: 6px; }
	.ox-review__fig { --fig-h: 56px; width: 56px; height: 68px; grid-row: span 2; }
	.ox-review__total { grid-column: 2; }
}

/* Header mini cart: a rounded card like the rest of the site. */
html body ul.uncode-cart-dropdown { border-radius: var(--ox-radius) !important; overflow: hidden !important; border: 1px solid var(--ox-line) !important; box-shadow: 0 24px 60px -24px rgba(15, 19, 25, 0.35) !important; padding: 10px 18px 18px !important; }
html body ul.uncode-cart-dropdown li.buttons .button, html body ul.uncode-cart-dropdown li.buttons a { border-radius: 999px !important; }

/* ---------- Account (woocommerce/myaccount templates, inc/account.php) ---------- */
.objyx-wc--account .woocommerce { max-width: 1240px; margin-inline: auto; }
.objyx-wc--account .uncode_text_column { margin: 0 !important; }
.ox-account__head { margin: 0 0 clamp(24px, 3vw, 40px); }
.ox-account__title { margin: 0 0 10px !important; font: 500 clamp(40px, 6vw, 96px)/0.9 var(--ox-display) !important; letter-spacing: -0.03em !important; text-transform: uppercase; color: var(--ox-ink) !important; }
.ox-account__hello { margin: 0; font: 400 clamp(15px, 1.1vw, 18px)/1.5 var(--ox-text); color: var(--ox-ink-2); }
.ox-account__body { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: clamp(24px, 4vw, 64px); align-items: start; }
.ox-account__nav { position: sticky; top: calc(88px + var(--wp-admin--admin-bar--height, 0px)); float: none !important; width: auto !important; }
.ox-account__nav ul { margin: 0 !important; padding: 0 !important; list-style: none; display: flex; flex-direction: column; gap: 4px; }
.ox-account__nav li { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.ox-account__nav li::before, .ox-account__nav li a::before, .ox-account__nav li a::after { content: none !important; display: none !important; }
.ox-account__nav a { display: block; padding: 12px 18px !important; border-radius: 999px; font: 600 12px/1.2 var(--ox-display) !important; letter-spacing: 0.12em !important; text-transform: uppercase; color: var(--ox-ink) !important; text-decoration: none !important; transition: background-color 0.3s; }
.ox-account__nav a:hover { background: var(--ox-panel); }
.ox-account__nav .is-active a { background: var(--ox-ink); color: var(--ox-paper) !important; }
.ox-account__content { float: none !important; width: auto !important; min-width: 0; padding: clamp(20px, 2.4vw, 36px); border-radius: var(--ox-radius); background: var(--ox-panel); }
.ox-account__content > *:first-child { margin-top: 0 !important; }
.ox-account__content p { font: 400 15px/1.6 var(--ox-text); color: var(--ox-ink-2); }
.ox-account__content h2, .ox-account__content h3, .ox-account__content legend { margin: 0 0 16px !important; font: 600 13px/1.2 var(--ox-display) !important; letter-spacing: 0.16em !important; text-transform: uppercase; color: var(--ox-ink) !important; }
.ox-account__content a:not(.button) { color: var(--ox-ink) !important; }
/* Forms in the account: same two-column grid as checkout */
.ox-account__content form .form-row { float: none !important; width: auto !important; max-width: none !important; margin: 0 0 16px !important; padding: 0 !important; }
.ox-account__content .woocommerce-address-fields__field-wrapper, .ox-account__content form.edit-account { display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; }
.ox-account__content .woocommerce-address-fields__field-wrapper > *, .ox-account__content form.edit-account > * { grid-column: 1 / -1; }
.ox-account__content .form-row-first { grid-column: 1 !important; }
.ox-account__content .form-row-last { grid-column: 2 !important; }
.ox-account__content .form-row.ox-hidden { display: none !important; }
.ox-account__content form label { display: block; margin: 0 0 7px; text-align: left !important; }
.ox-account__content input.input-text, .ox-account__content select { width: 100% !important; background: var(--ox-paper) !important; }
.ox-account__content fieldset { margin: 8px 0 16px; padding: 0; border: 0; }
.ox-account__content .woocommerce-Addresses { display: grid; grid-template-columns: 1fr; gap: 16px; }
.ox-account__content .woocommerce-Address { float: none !important; width: auto !important; padding: 20px; border-radius: 12px; background: var(--ox-paper); }
.ox-account__content .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.ox-account__content .woocommerce-Address-title a.edit { font: 600 12px/1 var(--ox-text); text-decoration: underline; }
.ox-account__content address { font: 400 15px/1.6 var(--ox-text); font-style: normal; color: var(--ox-ink); }
/* Orders table and notices */
.ox-account__content table.shop_table { width: 100%; margin: 0 !important; border-collapse: collapse; }
.ox-account__content table.shop_table th, .ox-account__content table.shop_table td { padding: 12px 10px !important; text-align: left; vertical-align: middle; }
.ox-account__content table.shop_table .button { min-height: 38px; padding-inline: 1rem !important; font-size: 11px !important; }
.ox-account__content .woocommerce-info, .ox-account__content .woocommerce-message { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 16px !important; padding: 16px 20px !important; border-radius: 12px !important; background: var(--ox-paper) !important; font: 400 15px/1.5 var(--ox-text) !important; color: var(--ox-ink) !important; text-align: left !important; }
.ox-account__content .woocommerce-info::before, .ox-account__content .woocommerce-message::before { display: none !important; }
.ox-account__content .woocommerce-info .button, .ox-account__content .woocommerce-message .button { order: 2; float: none !important; min-height: 42px; max-width: 100%; margin: 0 !important; white-space: normal; }
/* Dashboard tiles */
.ox-dash { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ox-dash__tile { display: flex; flex-direction: column; gap: 6px; min-height: 140px; padding: 22px; border-radius: 14px; background: var(--ox-paper); color: var(--ox-ink) !important; text-decoration: none !important; transition: transform 0.4s var(--ox-ease), background-color 0.3s; }
.ox-dash__tile:hover { transform: translateY(-2px); }
.ox-dash__label { font: 600 11px/1.2 var(--ox-display); letter-spacing: 0.14em; text-transform: uppercase; color: var(--ox-ink-2); }
.ox-dash__value { font: 600 17px/1.35 var(--ox-text); color: var(--ox-ink); }
.ox-dash__meta { margin-top: auto; font: 400 13px/1.4 var(--ox-text); color: var(--ox-ink-2); }
.ox-dash__tile--dark { background: var(--ox-ink); }
.ox-dash__tile--dark .ox-dash__label, .ox-dash__tile--dark .ox-dash__meta { color: rgba(238, 243, 245, 0.7); }
.ox-dash__tile--dark .ox-dash__value { color: var(--ox-paper); }
/* Guests: log in (and lost password) as one centred card */
.objyx-wc--account .ox-account__head--guest { max-width: 460px; margin-inline: auto; text-align: center; }
.objyx-wc--account form.woocommerce-form-login, .objyx-wc--account form.lost_reset_password, .objyx-wc--account #customer_login { max-width: 460px; margin: 0 auto !important; padding: clamp(24px, 3vw, 36px) !important; border: 0 !important; border-radius: var(--ox-radius); background: var(--ox-panel); text-align: left; }
.objyx-wc--account #customer_login form.woocommerce-form-login { padding: 0 !important; background: none; }
.objyx-wc--account .woocommerce > h2, .objyx-wc--account #customer_login > div > h2 { display: none; }
.objyx-wc--account form.woocommerce-form-login .form-row, .objyx-wc--account form.lost_reset_password .form-row { float: none !important; width: auto !important; margin: 0 0 16px !important; padding: 0 !important; }
.objyx-wc--account form.woocommerce-form-login label, .objyx-wc--account form.lost_reset_password label { display: block; margin: 0 0 7px; text-align: left !important; }
.objyx-wc--account form.woocommerce-form-login input.input-text, .objyx-wc--account form.lost_reset_password input.input-text { width: 100% !important; background: var(--ox-paper) !important; }
.objyx-wc--account form.woocommerce-form-login .button, .objyx-wc--account form.lost_reset_password .button { display: flex !important; align-items: center; justify-content: center; width: 100% !important; margin: 4px 0 0 !important; float: none !important; }
.objyx-wc--account .woocommerce-LostPassword { margin: 16px 0 0 !important; text-align: center; font: 400 14px/1.4 var(--ox-text); }
.objyx-wc--account .woocommerce-form-login__rememberme { display: flex !important; align-items: center; gap: 8px; }
@media (max-width: 959px) {
	.ox-account__body { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.ox-account__nav { position: static; }
	.ox-account__nav ul { flex-direction: row; overflow-x: auto; scrollbar-width: none; gap: 6px; }
	.ox-account__nav ul::-webkit-scrollbar { display: none; }
	.ox-account__nav a { white-space: nowrap; padding: 10px 16px !important; }
}
@media (max-width: 599px) {
	.ox-dash { grid-template-columns: minmax(0, 1fr); }
	.ox-account__content .woocommerce-address-fields__field-wrapper, .ox-account__content form.edit-account { grid-template-columns: minmax(0, 1fr); }
	.ox-account__content .form-row-first, .ox-account__content .form-row-last { grid-column: 1 !important; }
}
/* Link buttons (a.button) centre their label like real buttons. */
.objyx-wc a.button, .objyx-wc a.checkout-button { display: inline-flex !important; align-items: center; justify-content: center; gap: 0.5em; line-height: 1.2 !important; text-align: center; }

/* Compose / product stage: the lamp's width, drawn under it like the height beside it. */
.objyx-compose__dim--w { right: auto; left: 50%; bottom: 6cqh; height: 0; width: calc(var(--wmm, 200) * var(--s)); transform: translateX(-50%); border-left: 0; border-top: 1px solid var(--ox-line-strong); transition: width 0.7s var(--ox-ease); }
.objyx-compose__dim--w::before, .objyx-compose__dim--w::after { top: -5px; bottom: auto; left: auto; width: 0; height: 9px; border-top: 0; border-left: 1px solid var(--ox-line-strong); }
.objyx-compose__dim--w::before { left: 0; }
.objyx-compose__dim--w::after { right: 0; }
.objyx-compose__dim--w span { top: auto; bottom: auto; left: 50%; right: auto !important; transform: translate(-50%, -50%); padding: 3px 8px; border-radius: 999px; background: var(--ox-panel); }

/* Filament picker: one palette strip of ribbed pills; an even 10 + 9 grid on phones. */
.objyx-colours__chips { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 5px; max-width: 640px; padding-top: 11px; }
.objyx-colours__chip { display: block; padding: 0; }
.objyx-colours__swatch { display: block; width: 100%; height: 46px; border-radius: 999px; }
.objyx-colours__chip:hover .objyx-colours__swatch { transform: translateY(-3px); }
.objyx-colours__chip input:checked + .objyx-colours__swatch { transform: translateY(-6px); box-shadow: inset 0 0 0 1px rgba(15, 19, 25, 0.12), 0 0 0 2px var(--ox-paper), 0 0 0 3.5px var(--ox-ink); }
@media (max-width: 599px) {
	.objyx-colours__chips { grid-auto-flow: row; grid-template-columns: repeat(10, minmax(0, 1fr)); grid-auto-columns: auto; gap: 10px 6px; }
	.objyx-colours__swatch { height: 38px; }
}
@media (max-width: 767px) { .objyx-compose__readout { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.objyx-compose__dim { z-index: 3; }
.objyx-compose__dim span { padding: 3px 7px; border-radius: 999px; background: color-mix(in srgb, var(--ox-panel) 88%, transparent); }
/* Height label: set on its line and read bottom to top, so it never runs past the stage's right edge. */
.objyx-compose__dim:not(.objyx-compose__dim--w) span { left: 0; right: auto; transform: translate(-50%, -50%) rotate(180deg); writing-mode: vertical-rl; padding: 7px 3px; }

/* Contact shadow: the shade darkens a little where it meets the base (the render lights that rim almost white). */
.objyx-lampfig__part--shade .objyx-lampfig__tint, html body .menu-smart ul .objyx-lampfig__part--shade .objyx-lampfig__tint { background-image: linear-gradient(to top, rgba(15, 19, 25, 0.42), transparent var(--ao, 0%)) !important; }
.objyx-part--shade .objyx-part__tint { background-image: linear-gradient(to top, rgba(15, 19, 25, 0.42), transparent calc(var(--ao, 0) * var(--s))); }
