/* ==========================================================================
   Cellugenix storefront (Lamborghini palette, 2026-09-28)
   White catalogue, absolute-black exhibition bands, gold only on the action that
   sells. Zero radius, no shadows, 1px hairlines. Montserrat for display and
   controls, Poppins for reading, JetBrains Mono only for batch data.
   ========================================================================== */

:root {
	--cgx-black: #000000;
	--cgx-carbon: #181818;
	--cgx-charcoal: #202020;
	--cgx-white: #ffffff;
	--cgx-paper: #f8f8f8;
	--cgx-stone: #e6e6e6;
	--cgx-line: #e6e6e6;
	--cgx-line-strong: #969696;
	--cgx-line-dark: #202020;
	--cgx-text: #000000;
	--cgx-body-text: #494949;
	--cgx-muted: #666666;
	--cgx-muted-dark: #969696;
	--cgx-soft-dark: #f5f5f5;
	--cgx-gold: #ffc000;
	--cgx-gold-hover: #917300;
	--cgx-gold-light: #ffce3e;
	--cgx-bronze: #917300;
	--cgx-line-dark-strong: #313131;
	--cgx-placeholder-dark: #7d7d7d;
	--cgx-black-hover: #202020;
	--cgx-error: #8a3a2a;
	--cgx-error-line: #c9b8b3;
	--cgx-error-bg: #fbf5f3;
	--cgx-error-dark: #e9a39a;
	--cgx-scrollbar: #969696;
	--cgx-set-tile: #e6e6e6;
	--cgx-gold-glow: rgba(255, 192, 0, 0.11);
	--cgx-gold-rule: rgba(255, 206, 62, 0.45);
	--cgx-floor-light: rgba(255, 255, 255, 0.15);
	--cgx-render: #f5f3ef; /* the ground of the product renders */
	--cgx-floor-shade: rgba(0, 0, 0, 0.07);

	--cgx-display: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;
	--cgx-body: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--cgx-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

	--cgx-max: 1440px;
	--cgx-gutter: clamp(22px, 4vw, 56px);
	--cgx-sec: clamp(72px, 8.5vw, 136px);
	--cgx-hd-h: 64px;
	--cgx-ease: cubic-bezier(0.16, 1, 0.3, 1);

	/* FunnelKit side cart in the house palette. */
	--fkcart-primary-bg-color: #ffc000;
	--fkcart-primary-font-color: #000000;
	--fkcart-accent-color: #ffc000;
}

@media (min-width: 1200px) {
	:root { --cgx-hd-h: 76px; }
}

/* ---------- Base ---------- */

html {
	-webkit-text-size-adjust: 100%;
	scrollbar-color: var(--cgx-scrollbar) transparent;
	scroll-padding-top: calc(var(--cgx-hd-h) + 16px);
}

body.cgx {
	margin: 0;
	background: var(--cgx-white);
	color: var(--cgx-text);
	font: 400 16px/1.65 var(--cgx-body);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	caret-color: var(--cgx-gold);
}

html.cgx-locked,
html.cgx-locked body { overflow: hidden; }

.cgx *,
.cgx *::before,
.cgx *::after { box-sizing: border-box; }

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

.cgx ::selection { background: var(--cgx-gold); color: var(--cgx-black); }

.cgx :focus-visible {
	outline: 2px solid var(--cgx-gold);
	outline-offset: 3px;
}

.cgx-owned a { color: inherit; }

.cgx-wrap {
	width: 100%;
	max-width: var(--cgx-max);
	margin-inline: auto;
	padding-inline: var(--cgx-gutter);
}

.cgx .screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.cgx-skip {
	position: absolute;
	left: 16px; top: -64px;
	z-index: 2000;
	padding: 12px 18px;
	background: var(--cgx-gold);
	color: var(--cgx-black);
	font: 600 13px/1 var(--cgx-display);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
}
.cgx-skip:focus { top: 12px; }

.cgx-icon { width: 22px; height: 22px; flex: none; }
.cgx-flip { transform: scaleX(-1); }

/* ---------- Type ---------- */

.cgx-h2 {
	margin: 0;
	font: 500 clamp(1.75rem, 1.05rem + 2.3vw, 3rem)/1.04 var(--cgx-display);
	letter-spacing: -0.01em;
	text-transform: uppercase;
	text-wrap: balance;
	color: var(--cgx-text);
}
.cgx-h2--light { color: var(--cgx-white); }

/* ---------- Buttons and links ---------- */

.cgx .cgx-btn,
.cgx a.cgx-btn,
.cgx button.cgx-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 48px;
	padding: 0 26px;
	border: 1px solid transparent;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font: 600 12.5px/1.2 var(--cgx-display);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.cgx .cgx-btn .cgx-icon { width: 18px; height: 18px; }

.cgx .cgx-btn.cgx-btn--gold { background: var(--cgx-gold); color: var(--cgx-black); }
.cgx .cgx-btn.cgx-btn--gold:hover { background: var(--cgx-gold-hover); color: var(--cgx-black); }

.cgx .cgx-btn.cgx-btn--dark { background: var(--cgx-black); color: var(--cgx-white); }
.cgx .cgx-btn.cgx-btn--dark:hover { background: var(--cgx-black-hover); color: var(--cgx-white); }

.cgx .cgx-btn.cgx-btn--line { border-color: var(--cgx-black); color: var(--cgx-black); background: transparent; }
.cgx .cgx-btn.cgx-btn--line:hover { background: var(--cgx-black); color: var(--cgx-white); }

.cgx .cgx-btn.cgx-btn--lg { min-height: 56px; padding: 0 34px; }
.cgx .cgx-btn.cgx-btn--block { display: flex; width: 100%; }

.cgx .cgx-btn.loading { opacity: 0.55; pointer-events: none; }
.cgx .cgx-btn:disabled,
.cgx .cgx-btn.disabled { opacity: 0.45; cursor: not-allowed; }

.cgx .cgx-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding-bottom: 5px;
	border-bottom: 1px solid currentColor;
	color: var(--cgx-text);
	font: 600 12px/1.2 var(--cgx-display);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	transition: color 0.2s ease;
}
.cgx .cgx-link .cgx-icon { width: 16px; height: 16px; }
.cgx .cgx-link:hover { color: var(--cgx-bronze); }
.cgx .cgx-link--light { color: var(--cgx-white); }
.cgx .cgx-link--light:hover { color: var(--cgx-gold-light); }


/* Announcement ticker (Marquee Running Text plugin), set in the house voice. */
.cgx .runtext-container {
	display: flex;
	align-items: center;
	height: 36px;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	background: var(--cgx-carbon) !important;
	border: 0 !important;
	border-bottom: 1px solid var(--cgx-line-dark) !important;
}
.cgx .runtext-container .main-runtext,
.cgx .runtext-container marquee { width: 100%; }
.cgx .runtext-container .holder { display: flex; align-items: center; }
.cgx .runtext-container .text-container { display: inline-flex; align-items: center; padding: 0 !important; margin: 0 !important; }
.cgx .runtext-container .text-container::after {
	content: "";
	width: 4px;
	height: 4px;
	margin: 0 28px;
	background: var(--cgx-gold);
}
.cgx .runtext-container .text-container a {
	color: var(--cgx-soft-dark) !important;
	font: 500 12px/36px var(--cgx-display) !important;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none !important;
	white-space: nowrap;
}
.cgx .runtext-container .text-container a:hover { color: var(--cgx-gold-light) !important; }

/* Site notice strip (replaces the old marquee). */
.cgx .runtext-container .cgx-notice {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: var(--cgx-max);
	margin: 0 auto;
	padding: 0 var(--cgx-gutter);
	overflow: hidden;
}
.cgx .runtext-container .cgx-notice > span {
	display: inline-flex;
	align-items: center;
	flex: none;
	color: var(--cgx-soft-dark);
	font: 500 12px/36px var(--cgx-display);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	white-space: nowrap;
}
.cgx .runtext-container .cgx-notice > span + span::before {
	content: "";
	width: 4px;
	height: 4px;
	margin: 0 22px;
	background: var(--cgx-gold);
}
.cgx .runtext-container .cgx-notice a {
	color: var(--cgx-soft-dark);
	font: inherit;
	letter-spacing: inherit;
	text-decoration: none;
}
.cgx .runtext-container .cgx-notice a:hover { color: var(--cgx-gold-light); }
@media (max-width: 719px) {
	.cgx .runtext-container .cgx-notice > span:nth-child(2),
	.cgx .runtext-container .cgx-notice > span:nth-child(3) { display: none; }
}


/* ==========================================================================
   Header
   ========================================================================== */

.cgx-hd {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: var(--cgx-black);
	color: var(--cgx-white);
	border-bottom: 1px solid var(--cgx-line-dark);
}
body.admin-bar .cgx-hd { top: 32px; }
@media (max-width: 782px) { body.admin-bar .cgx-hd { top: 0; } }

.cgx-hd__bar {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 12px;
	height: var(--cgx-hd-h);
}

.cgx-hd__brand {
	display: block;
	justify-self: center;
	line-height: 0;
}
.cgx .cgx-hd__logo { display: block; width: auto; height: 38px; max-width: none; }

.cgx-hd__icon {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	color: var(--cgx-white);
	cursor: pointer;
	text-decoration: none;
	transition: color 0.2s ease;
}
.cgx-hd__icon:hover,
.cgx-hd__icon[aria-expanded="true"] { color: var(--cgx-gold-light); }

.cgx-hd__burger { justify-self: start; margin-left: -10px; }

.cgx-hd__tools {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 2px;
	margin-right: -10px;
}
.cgx-hd__account { display: none; }

.cgx-cart-count {
	position: absolute;
	top: 5px;
	right: 3px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	background: var(--cgx-gold);
	color: var(--cgx-black);
	font: 600 12px/18px var(--cgx-display);
	text-align: center;
	letter-spacing: 0;
}
.cgx-cart-count.is-empty { display: none; }

.cgx-nav { display: none; }

@media (min-width: 480px) {
	.cgx-hd__account { display: inline-grid; }
}

@media (min-width: 1200px) {
	.cgx-hd__bar { grid-template-columns: auto 1fr auto; gap: 28px; }
	.cgx-hd__burger { display: none; }
	.cgx-hd__brand { justify-self: start; }
	.cgx .cgx-hd__logo { height: 44px; }

	.cgx-nav { display: block; justify-self: center; }
	.cgx-nav__list {
		display: flex;
		align-items: center;
		gap: clamp(18px, 1.9vw, 34px);
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.cgx-nav__link {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		height: var(--cgx-hd-h);
		padding: 0;
		border: 0;
		border-bottom: 1px solid transparent;
		background: none;
		color: rgba(255, 255, 255, 0.88);
		font: 500 12px/1 var(--cgx-display);
		letter-spacing: 0.16em;
		text-transform: uppercase;
		text-decoration: none;
		white-space: nowrap;
		cursor: pointer;
		transition: color 0.2s ease, border-color 0.2s ease;
	}
	.cgx-nav__link:hover,
	.cgx-nav__link[aria-expanded="true"] {
		color: var(--cgx-gold-light);
		border-bottom-color: var(--cgx-gold);
	}
	.cgx-nav__chev { width: 14px; height: 14px; transition: transform 0.25s var(--cgx-ease); }
	.cgx-nav__link[aria-expanded="true"] .cgx-nav__chev { transform: rotate(180deg); }
}

/* Currency selector (Currency Switcher for WooCommerce). */
.cgx-currency { display: none; }
.cgx-currency select,
.cgx-currency .wSelect {
	min-width: 88px;
	height: 36px;
	border: 1px solid var(--cgx-line-dark-strong) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--cgx-white) !important;
	font: 500 12px/1 var(--cgx-display) !important;
	letter-spacing: 0.08em;
}
.cgx-currency .wSelect-selected {
	padding: 0 28px 0 12px !important;
	line-height: 34px !important;
	color: var(--cgx-white) !important;
	background-position: right 10px center !important;
}
.cgx-currency .wSelect-options-holder {
	border: 1px solid var(--cgx-line-dark-strong) !important;
	border-radius: 0 !important;
	background: var(--cgx-black) !important;
	box-shadow: none !important;
}
.cgx-currency .wSelect-option { color: var(--cgx-soft-dark) !important; }
.cgx-currency .wSelect-option:hover,
.cgx-currency .wSelect-option-selected { background: var(--cgx-carbon) !important; color: var(--cgx-gold-light) !important; }
.cgx-currency #alg_currency_selector,
.cgx-currency form { margin: 0 !important; }

@media (min-width: 1360px) {
	.cgx-hd__tools .cgx-currency { display: block; margin-right: 10px; }
}
.cgx-drawer .cgx-currency { display: block; }
.cgx-drawer .cgx-currency select,
.cgx-drawer .cgx-currency .wSelect { width: 100% !important; height: 48px; }

/* ---------- Mega menu ---------- */

.cgx-mega {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	background: var(--cgx-black);
	border-top: 1px solid var(--cgx-line-dark);
	border-bottom: 1px solid var(--cgx-line-dark);
}
.cgx-mega:not([hidden]) { animation: cgx-fade 0.22s var(--cgx-ease); }
.cgx-mega__inner {
	display: grid;
	grid-template-columns: 2fr 1fr 1.2fr;
	gap: 56px;
	padding-block: 40px 48px;
}
.cgx-mega__label {
	margin: 0 0 18px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--cgx-line-dark);
	color: var(--cgx-muted-dark);
	font: 500 12px/1 var(--cgx-display);
	letter-spacing: 0.18em;
	text-transform: uppercase;
}
.cgx-mega__list { margin: 0; padding: 0; list-style: none; }
.cgx-mega__list--split { columns: 2; column-gap: 40px; }
.cgx-mega__list li { break-inside: avoid; }
.cgx-mega__list a {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding: 9px 0;
	color: rgba(255, 255, 255, 0.86);
	font: 400 15px/1.4 var(--cgx-body);
	text-decoration: none;
	transition: color 0.2s ease;
}
.cgx-mega__list a:hover { color: var(--cgx-gold-light); }
.cgx-mega__count {
	color: var(--cgx-muted-dark);
	font: 500 12px/1 var(--cgx-mono);
	font-variant-numeric: tabular-nums;
}
.cgx-mega__feature {
	display: flex;
	flex-direction: column;
	gap: 6px;
	color: var(--cgx-white);
	text-decoration: none;
}
.cgx-mega__feature-media {
	display: block;
	aspect-ratio: 4 / 3;
	margin-bottom: 10px;
	overflow: hidden;
	background: var(--cgx-paper);
}
.cgx-mega__feature-media img { width: 100%; height: 100%; object-fit: contain;  display: block; }
.cgx-mega__feature-name { font: 600 14px/1.35 var(--cgx-display); }
.cgx-mega__feature-price { color: var(--cgx-muted-dark); font-size: 14px; }
.cgx-mega__feature:hover .cgx-mega__feature-name { color: var(--cgx-gold-light); }

/* ---------- Search panel ---------- */

.cgx-search {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	background: var(--cgx-black);
	border-top: 1px solid var(--cgx-line-dark);
	border-bottom: 1px solid var(--cgx-line-dark);
}
.cgx-search:not([hidden]) { animation: cgx-fade 0.22s var(--cgx-ease); }
.cgx-search__form {
	display: flex;
	align-items: center;
	gap: 14px;
	padding-block: 18px;
}
.cgx-search__icon { color: var(--cgx-muted-dark); }
.cgx .cgx-search__input {
	flex: 1;
	min-width: 0;
	height: 52px;
	padding: 0;
	border: 0;
	border-bottom: 1px solid var(--cgx-line-dark-strong);
	border-radius: 0;
	background: transparent;
	color: var(--cgx-white);
	font: 400 18px/1 var(--cgx-body);
	outline: 0;
	box-shadow: none;
}
.cgx .cgx-search__input:focus { border-bottom-color: var(--cgx-gold); }
.cgx .cgx-search__input::placeholder { color: var(--cgx-placeholder-dark); }

@media (max-width: 639px) {
	.cgx-search__form .cgx-btn { padding: 0 16px; }
	.cgx .cgx-search__input { font-size: 16px; }
}

/* ---------- Mobile drawer ---------- */

.cgx-drawer {
	position: fixed;
	inset: 0;
	z-index: 1100;
	display: flex;
	flex-direction: column;
	overflow-y: auto;
	overscroll-behavior: contain;
	background: var(--cgx-black);
	color: var(--cgx-white);
}
.cgx-drawer[hidden] { display: none; }
.cgx-drawer:not([hidden]) { animation: cgx-fade 0.25s var(--cgx-ease); }
.cgx-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: var(--cgx-hd-h);
	padding-inline: var(--cgx-gutter);
	border-bottom: 1px solid var(--cgx-line-dark);
}
.cgx-drawer__head .cgx-hd__icon { margin-right: -10px; }
.cgx .cgx-drawer__logo { height: 34px; width: auto; }
.cgx-drawer__nav { display: flex; flex-direction: column; padding: 12px var(--cgx-gutter) 32px; }
.cgx-drawer__primary {
	display: block;
	padding: 18px 0;
	border-bottom: 1px solid var(--cgx-line-dark);
	color: var(--cgx-white);
	font: 500 22px/1.15 var(--cgx-display);
	letter-spacing: 0.01em;
	text-transform: uppercase;
	text-decoration: none;
}
.cgx-drawer__primary:hover { color: var(--cgx-gold-light); }
.cgx-drawer__group { border-bottom: 1px solid var(--cgx-line-dark); }
.cgx-drawer__group summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 60px;
	list-style: none;
	cursor: pointer;
	color: var(--cgx-soft-dark);
	font: 500 13px/1.2 var(--cgx-display);
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
.cgx-drawer__group summary::-webkit-details-marker { display: none; }
.cgx-drawer__group summary .cgx-icon { width: 18px; height: 18px; transition: transform 0.25s var(--cgx-ease); }
.cgx-drawer__group[open] summary .cgx-icon { transform: rotate(45deg); }
.cgx-drawer__group ul { margin: 0; padding: 0 0 18px; list-style: none; }
.cgx-drawer__group a {
	display: block;
	padding: 10px 0;
	color: var(--cgx-muted-dark);
	font-size: 16px;
	text-decoration: none;
}
.cgx-drawer__group a:hover { color: var(--cgx-gold-light); }
.cgx-drawer__foot {
	display: grid;
	gap: 14px;
	margin-top: auto;
	padding: 24px var(--cgx-gutter) 32px;
	border-top: 1px solid var(--cgx-line-dark);
}

@keyframes cgx-fade { from { opacity: 0; } to { opacity: 1; } }

/* ==========================================================================
   Homepage
   ========================================================================== */

.cgx-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(ellipse 48% 62% at 74% 58%, var(--cgx-gold-glow), transparent 70%),
		var(--cgx-black);
	color: var(--cgx-white);
}
.cgx-hero__inner {
	display: grid;
	gap: 8px;
	padding-block: clamp(44px, 7vw, 88px) 12px;
}
.cgx-hero__title {
	margin: 0 0 22px;
	max-width: 16ch;
	font: 500 clamp(2.3rem, 1.2rem + 3.6vw, 4.6rem)/1 var(--cgx-display);
	letter-spacing: -0.022em;
	text-transform: uppercase;
	text-wrap: balance;
	color: var(--cgx-white);
}
.cgx-hero__lede {
	max-width: 46ch;
	margin: 0;
	color: var(--cgx-muted-dark);
	font-size: clamp(16px, 0.95rem + 0.25vw, 18px);
	line-height: 1.7;
}
.cgx-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 32px;
	margin-top: 34px;
}

.cgx-hero__stage {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	margin-inline: auto;
	width: min(100%, 720px);
	padding-bottom: 28px;
}
/* The lit floor the vials stand on. */
.cgx-hero__stage::before {
	content: "";
	position: absolute;
	left: 8%;
	right: 8%;
	bottom: 30px;
	height: 26%;
	background: radial-gradient(ellipse 50% 40% at 50% 100%, var(--cgx-floor-light), transparent 72%);
	pointer-events: none;
}
.cgx-hero__stage::after {
	content: "";
	position: absolute;
	left: 4%;
	right: 4%;
	bottom: 34px;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--cgx-gold-rule), transparent);
}
.cgx-hero__vial {
	position: relative;
	display: block;
	flex: none;
	line-height: 0;
}
.cgx-hero__vial img { display: block; width: 100%; height: auto; }
.cgx-hero__vial--0,
.cgx-hero__vial--2 { width: 38%; z-index: 1; }
.cgx-hero__vial--1 { width: 46%; z-index: 2; margin-inline: -12%; }
.cgx-hero__vial--0 img,
.cgx-hero__vial--2 img { margin-bottom: -1%; }

.cgx-hero__facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0 auto;
	padding-top: 0;
	padding-bottom: 8px;
	list-style: none;
}
.cgx-hero__facts li {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 18px 12px 18px 0;
	border-top: 1px solid var(--cgx-line-dark);
	color: var(--cgx-soft-dark);
	font: 500 12px/1.4 var(--cgx-display);
	letter-spacing: 0.14em;
	text-transform: uppercase;
}


@media (min-width: 900px) {
	.cgx-hero__inner {
		grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
		align-items: center;
		gap: 24px;
		min-height: min(74vh, 720px);
		padding-block: 64px 24px;
	}
	.cgx-hero__stage { margin: 0; justify-self: end; }
	.cgx-hero__facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: no-preference) {
	.cgx-hero__copy > * { animation: cgx-rise 0.9s var(--cgx-ease) both; }
	.cgx-hero__copy > :nth-child(2) { animation-delay: 0.08s; }
	.cgx-hero__copy > :nth-child(3) { animation-delay: 0.16s; }
}
@keyframes cgx-rise {
	from { opacity: 0.001; transform: translateY(14px); }
	to { opacity: 1; transform: none; }
}

/* ---------- Sections ---------- */

.cgx-sec { padding-block: var(--cgx-sec); }
.cgx-sec--tight { padding-block: 56px 96px; }
.cgx-sec--paper { background: var(--cgx-paper); }
.cgx-sec__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px 32px;
	margin-bottom: clamp(28px, 3vw, 44px);
}

/* ---------- Tabs ---------- */

.cgx-tabs {
	display: flex;
	gap: 28px;
	margin: 0 0 clamp(28px, 3vw, 40px);
	overflow-x: auto;
	border-bottom: 1px solid var(--cgx-line);
	scrollbar-width: none;
}
.cgx-tabs::-webkit-scrollbar { display: none; }
.cgx .cgx-tab {
	flex: none;
	min-height: 48px;
	margin-bottom: -1px;
	padding: 0;
	border: 0;
	border-bottom: 2px solid transparent;
	border-radius: 0;
	background: none;
	color: var(--cgx-muted);
	font: 500 12px/1 var(--cgx-display);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
	transition: color 0.2s ease, border-color 0.2s ease;
}
.cgx .cgx-tab:hover { color: var(--cgx-text); }
.cgx .cgx-tab[aria-selected="true"] { color: var(--cgx-text); border-bottom-color: var(--cgx-black); }
.cgx-panel__more { margin-top: 40px; }

/* ==========================================================================
   Product grid and card
   ========================================================================== */

.cgx ul.products,
.cgx .cgx-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px 14px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}
.cgx ul.products::before,
.cgx ul.products::after { display: none !important; }
.cgx ul.products li.product,
.cgx ul.products li.cgx-card {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	clear: none !important;
}

@media (min-width: 640px) {
	.cgx ul.products,
	.cgx .cgx-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 24px; }
}
@media (min-width: 1080px) {
	.cgx ul.products,
	.cgx .cgx-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 56px 28px; }
	.cgx ul.products.cgx-grid--rail { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 56px 24px; }
}

.cgx-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.cgx .cgx-card__media {
	position: relative;
	display: block;
	aspect-ratio: 1;
	overflow: hidden;
	background: var(--cgx-paper);
}
.cgx .cgx-card__media img,
.cgx .cgx-card__img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: contain;
	
}
/* Set renders stand three vials in the upper part of the frame. */
.cgx .cgx-card__media--set { background: var(--cgx-set-tile); }
.cgx .cgx-card__media--set img { object-fit: contain; mix-blend-mode: normal; }
.cgx-card__flag {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 6px 9px;
	background: var(--cgx-black);
	color: var(--cgx-white);
	font: 600 12px/1 var(--cgx-display);
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.cgx-card__flag--muted { background: var(--cgx-white); color: var(--cgx-muted); border: 1px solid var(--cgx-line); }

.cgx-card__body { flex: 1; padding-top: 18px; }
.cgx .cgx-card__spec {
	margin: 0 0 10px;
	color: var(--cgx-muted);
	font: 500 12px/1.4 var(--cgx-mono);
	letter-spacing: 0.01em;
}
.cgx .cgx-card__title {
	margin: 0 0 8px;
	padding: 0;
	font: 600 15px/1.35 var(--cgx-display);
	letter-spacing: 0.005em;
	text-transform: none;
	overflow-wrap: break-word;
	color: var(--cgx-text);
}
.cgx .cgx-card__title a { color: inherit; text-decoration: none; transition: color 0.2s ease; }
.cgx .cgx-card__title a:hover { color: var(--cgx-bronze); }
.cgx .cgx-card__price {
	margin: 0;
	color: var(--cgx-text) !important;
	font: 500 15px/1.4 var(--cgx-body) !important;
	font-variant-numeric: tabular-nums;
}
.cgx .cgx-card__price del { color: var(--cgx-muted); font-weight: 400; margin-right: 6px; opacity: 1; }
.cgx .cgx-card__price ins { text-decoration: none; }
.cgx-card__action { margin-top: 16px; }
.cgx .cgx-card__action .cgx-btn { min-height: 44px; padding-inline: 12px; font-size: 12px; }
.cgx .cgx-card__action .added_to_cart { display: none; }

@media (max-width: 479px) {
	.cgx .cgx-card__title { font-size: 14px; }
	.cgx .cgx-card__action .cgx-btn { letter-spacing: 0.1em; }
}

/* ---------- Research areas list ---------- */

.cgx-areas__grid { display: grid; gap: 32px; }
.cgx-areas__intro p { max-width: 36ch; margin: 18px 0 0; color: var(--cgx-muted); }
.cgx-areas__list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--cgx-line); }
.cgx .cgx-areas__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto 22px;
	align-items: center;
	gap: 20px;
	padding: 24px 0;
	border-bottom: 1px solid var(--cgx-line);
	color: var(--cgx-text);
	text-decoration: none;
}
.cgx-areas__name {
	font: 500 clamp(1.15rem, 0.95rem + 0.9vw, 1.75rem)/1.15 var(--cgx-display);
	letter-spacing: -0.005em;
	text-transform: uppercase;
	transition: color 0.2s ease;
}
.cgx-areas__count { color: var(--cgx-muted); font-size: 14px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cgx-areas__arrow { width: 20px; height: 20px; color: var(--cgx-line-strong); transition: color 0.2s ease; }
.cgx .cgx-areas__row:hover .cgx-areas__name { color: var(--cgx-bronze); }
.cgx .cgx-areas__row:hover .cgx-areas__arrow { color: var(--cgx-gold); }

@media (max-width: 559px) {
	.cgx-areas__count { display: none; }
	.cgx .cgx-areas__row { grid-template-columns: minmax(0, 1fr) 22px; padding: 20px 0; }
}
@media (min-width: 960px) {
	.cgx-areas__grid { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 72px; }
	.cgx-areas__intro { position: sticky; top: calc(var(--cgx-hd-h) + 40px); align-self: start; }
}

/* ---------- COA band ---------- */

.cgx-coa { background: var(--cgx-black); color: var(--cgx-white); padding-block: var(--cgx-sec); }
.cgx-coa__grid { display: grid; gap: 44px; align-items: center; }
.cgx-coa__doc { margin: 0; border: 1px solid var(--cgx-line-dark); background: var(--cgx-white); }
.cgx-coa__doc img { display: block; width: 100%; height: auto; }
.cgx-coa__copy > p { max-width: 50ch; margin: 22px 0 32px; color: var(--cgx-muted-dark); font-size: clamp(16px, 0.95rem + 0.25vw, 18px); line-height: 1.7; }
.cgx-coa__spec {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0 0 36px;
	border-top: 1px solid var(--cgx-line-dark);
}
.cgx-coa__spec div { padding-top: 16px; }
.cgx-coa__spec dt {
	color: var(--cgx-muted-dark);
	font: 500 12px/1.3 var(--cgx-display);
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
.cgx-coa__spec dd { margin: 8px 0 0; color: var(--cgx-white); font: 500 15px/1.4 var(--cgx-body); }

@media (min-width: 960px) {
	.cgx-coa__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 88px; }
}
@media (max-width: 479px) {
	.cgx-coa__spec { grid-template-columns: 1fr; gap: 0; }
	.cgx-coa__spec div { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--cgx-line-dark); }
	.cgx-coa__spec dd { margin: 0; text-align: right; }
}

/* ---------- Regions ---------- */

.cgx-regions__grid { display: grid; border-top: 1px solid var(--cgx-line); }
.cgx .cgx-region {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 30px 0 34px;
	border-bottom: 1px solid var(--cgx-line);
	color: var(--cgx-text);
	text-decoration: none;
}
.cgx-region__name {
	font: 500 clamp(1.35rem, 1.1rem + 0.7vw, 1.75rem)/1.1 var(--cgx-display);
	text-transform: uppercase;
	transition: color 0.2s ease;
}
.cgx-region__text { max-width: 38ch; color: var(--cgx-muted); font-size: 15.5px; }
.cgx .cgx-region .cgx-link { align-self: flex-start; margin-top: 10px; }
.cgx .cgx-region:hover .cgx-region__name { color: var(--cgx-bronze); }

@media (min-width: 900px) {
	.cgx-regions__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--cgx-line); }
	.cgx .cgx-region { padding: 36px 36px 40px; border-bottom: 0; }
	.cgx .cgx-region + .cgx-region { border-left: 1px solid var(--cgx-line); }
	.cgx .cgx-region:first-child { padding-left: 0; }
}

/* Worldwide shipping lead and payment marks. */
.cgx-regions__points { display: flex; flex-wrap: wrap; gap: 10px 28px; margin: -8px 0 32px; padding: 0; list-style: none; }
.cgx-regions__points li { position: relative; padding-left: 18px; font-size: 16.5px; color: var(--cgx-text); }
.cgx-regions__points li::before { content: ""; position: absolute; left: 0; top: 0.62em; width: 7px; height: 7px; background: var(--cgx-bronze); }
/* Payment methods strip under the hero: every way to pay, set as one panel of white cells with fine seams. */
.cgx #cgx-payment-band { display: none !important; }
.cgx-paystrip { background: var(--cgx-black); border-top: 1px solid var(--cgx-line-dark); }
.cgx-paystrip__inner { display: grid; gap: 16px; padding-top: 28px; padding-bottom: 26px; }
.cgx-paystrip__head { display: grid; gap: 6px; }
.cgx-paystrip__kicker { margin: 0; font: 600 11px/1.2 var(--cgx-body); letter-spacing: 0.22em; text-transform: uppercase; color: var(--cgx-gold); }
.cgx .cgx-paystrip__title { margin: 0; font: 500 clamp(1.15rem, 0.95rem + 0.8vw, 1.5rem)/1.1 var(--cgx-display); letter-spacing: 0; text-transform: uppercase; color: var(--cgx-white); }
.cgx-paystrip__panel { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; margin: 0; padding: 0; list-style: none; background: var(--cgx-line-dark-strong); border: 1px solid var(--cgx-line-dark-strong); }
.cgx-paystrip__cell { display: flex; align-items: center; justify-content: center; gap: 6px; min-width: 0; height: 46px; padding: 0 4px; background: var(--cgx-white); }
.cgx-paystrip__cell img { display: block; width: auto; max-width: 64%; height: 24px; object-fit: contain; }
.cgx-paystrip__cell--named { flex-direction: column; gap: 3px; }
.cgx-paystrip__cell--named img { height: 17px; max-width: none; flex: none; }
.cgx-paystrip__cell--square img { height: 32px; }
.cgx-paystrip__cell span { max-width: 100%; font: 600 11px/1.05 var(--cgx-body); color: var(--cgx-black); text-align: center; }
.cgx-paystrip__note { margin: 0; font: 400 12px/1.4 var(--cgx-body); color: var(--cgx-muted-dark); }
@media (min-width: 700px) {
	.cgx-paystrip__panel { grid-template-columns: repeat(10, minmax(0, 1fr)); }
	.cgx-paystrip__cell { height: 54px; padding: 0 4px; }
	.cgx-paystrip__cell img { max-width: 72%; height: 24px; }
	.cgx-paystrip__cell--square img { height: 34px; }
}
@media (min-width: 1080px) {
	.cgx-paystrip__inner { grid-template-columns: 230px minmax(0, 1fr); align-items: center; column-gap: 48px; row-gap: 10px; padding-top: 30px; padding-bottom: 26px; }
	.cgx-paystrip__note { grid-column: 2; }
	.cgx-paystrip__cell { height: 60px; }
	.cgx-paystrip__cell img { height: 26px; }
	.cgx-paystrip__cell--named img { height: 20px; }
	.cgx-paystrip__cell--square img { height: 38px; }
}

/* ---------- Guides ---------- */

.cgx-guides__grid { display: grid; gap: 40px 28px; }
@media (min-width: 720px) { .cgx-guides__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.cgx .cgx-guide__link { display: block; color: var(--cgx-text); text-decoration: none; }
.cgx-guide__media {
	display: block;
	aspect-ratio: 1;
	overflow: hidden;
	background: var(--cgx-paper);
}
.cgx .cgx-guide__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cgx-guide__date {
	display: block;
	margin: 18px 0 8px;
	color: var(--cgx-muted);
	font: 500 12px/1 var(--cgx-display);
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.cgx .cgx-guide__title {
	margin: 0;
	font: 600 18px/1.35 var(--cgx-display);
	text-wrap: balance;
	transition: color 0.2s ease;
}
.cgx .cgx-guide__link:hover .cgx-guide__title { color: var(--cgx-bronze); }

/* ---------- FAQ ---------- */

.cgx-faq__grid { display: grid; gap: 32px; }
.cgx-faq__grid > div:first-child .cgx-link { margin-top: 24px; }
.cgx-faq__list { border-top: 1px solid var(--cgx-line); }
.cgx-faq__item { border-bottom: 1px solid var(--cgx-line); }
.cgx-faq__item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 22px 0;
	list-style: none;
	cursor: pointer;
	font: 600 16px/1.4 var(--cgx-display);
}
.cgx-faq__item summary::-webkit-details-marker { display: none; }
.cgx-faq__item summary .cgx-icon { width: 20px; height: 20px; color: var(--cgx-muted); transition: transform 0.25s var(--cgx-ease); }
.cgx-faq__item[open] summary .cgx-icon { transform: rotate(45deg); color: var(--cgx-text); }
.cgx-faq__item p { max-width: 62ch; margin: -4px 0 24px; color: var(--cgx-muted); }
@media (min-width: 960px) {
	.cgx-faq__grid { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 72px; }
}

/* ==========================================================================
   Catalogue listing
   ========================================================================== */

.cgx-plp-head { padding-block: clamp(28px, 4vw, 48px) clamp(24px, 3vw, 36px); }
.cgx-plp-head__title {
	margin: 0;
	font: 500 clamp(2rem, 1.2rem + 3vw, 3.75rem)/1.02 var(--cgx-display);
	letter-spacing: -0.015em;
	text-transform: uppercase;
	text-wrap: balance;
}
.cgx-plp-head__desc { max-width: 62ch; margin: 16px 0 0; color: var(--cgx-muted); }

.cgx-crumbs ol {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}
.cgx-crumbs li {
	color: var(--cgx-muted);
	font: 500 12px/1.6 var(--cgx-display);
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.cgx-crumbs li + li::before { content: "/"; margin: 0 10px; color: var(--cgx-line-strong); }
.cgx .cgx-crumbs a { color: var(--cgx-muted); text-decoration: none; }
.cgx .cgx-crumbs a:hover { color: var(--cgx-text); }

.cgx-plp-cats {
	position: sticky;
	top: var(--cgx-hd-h);
	z-index: 20;
	background: rgba(255, 255, 255, 0.97);
	border-block: 1px solid var(--cgx-line);
}
body.admin-bar .cgx-plp-cats { top: calc(var(--cgx-hd-h) + 32px); }
@media (max-width: 782px) { body.admin-bar .cgx-plp-cats { top: var(--cgx-hd-h); } }
.cgx-chips {
	display: flex;
	gap: 8px;
	margin: 0;
	padding: 12px 0;
	overflow-x: auto;
	list-style: none;
	scrollbar-width: none;
}
.cgx-chips::-webkit-scrollbar { display: none; }
.cgx .cgx-chip {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 16px;
	border: 1px solid var(--cgx-line-strong);
	color: var(--cgx-text);
	font: 500 12px/1 var(--cgx-display);
	letter-spacing: 0.13em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}
.cgx .cgx-chip:hover { border-color: var(--cgx-black); }
.cgx .cgx-chip.is-active { background: var(--cgx-black); border-color: var(--cgx-black); color: var(--cgx-white); }

.cgx-plp { padding-bottom: var(--cgx-sec); }
.cgx-plp__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	margin: 24px 0 32px;
}
.cgx-plp__bar .cgx-shop-tools { display: none !important; }
.cgx .woocommerce-result-count { float: none; margin: 0; color: var(--cgx-muted); font-size: 14px; }
.cgx .woocommerce-ordering { float: none; margin: 0; }
.cgx select,
.cgx .woocommerce-ordering select,
.cgx table.variations select {
	appearance: none;
	-webkit-appearance: none;
	height: 46px;
	padding: 0 42px 0 14px;
	border: 1px solid var(--cgx-line-strong);
	border-radius: 0;
	background: var(--cgx-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 16px;
	color: var(--cgx-text);
	font: 400 14.5px/1 var(--cgx-body);
	box-shadow: none;
}
.cgx .cgx-hd select { background-color: transparent; }

.cgx .woocommerce-pagination { margin-top: 64px; text-align: center; }
.cgx .woocommerce-pagination ul.page-numbers {
	display: inline-flex !important;
	gap: 6px;
	margin: 0;
	padding: 0;
	border: 0 !important;
	list-style: none;
}
.cgx .woocommerce-pagination ul.page-numbers li { float: none; border: 0 !important; overflow: visible; }
.cgx .woocommerce-pagination .page-numbers a,
.cgx .woocommerce-pagination .page-numbers span {
	display: inline-grid !important;
	place-items: center;
	min-width: 46px;
	height: 46px;
	padding: 0 10px !important;
	border: 1px solid var(--cgx-line) !important;
	background: none;
	color: var(--cgx-text) !important;
	font: 600 13px/1 var(--cgx-display);
	text-decoration: none;
}
.cgx .woocommerce-pagination .page-numbers a:hover { border-color: var(--cgx-black) !important; background: none !important; }
.cgx .woocommerce-pagination .page-numbers span.current { background: var(--cgx-black) !important; border-color: var(--cgx-black) !important; color: var(--cgx-white) !important; }
.cgx .woocommerce-pagination .cgx-icon { width: 16px; height: 16px; }

.cgx-empty { padding: 56px 0; text-align: left; }
.cgx-empty p { color: var(--cgx-muted); }

/* ---------- Notices ---------- */

.cgx .woocommerce-message,
.cgx .woocommerce-info,
.cgx .woocommerce-error,
.cgx .woocommerce-notices-wrapper > * {
	margin: 0 0 24px;
	padding: 16px 20px;
	border: 1px solid var(--cgx-line);
	border-radius: 0;
	background: var(--cgx-paper);
	color: var(--cgx-text);
	font-size: 15px;
	list-style: none;
}
.cgx .woocommerce-error { border-color: var(--cgx-error-line); background: var(--cgx-error-bg); }
.cgx .woocommerce-message::before,
.cgx .woocommerce-info::before,
.cgx .woocommerce-error::before { display: none; }
.cgx .woocommerce-message .button,
.cgx .woocommerce-info .button {
	float: right;
	padding: 0;
	border: 0;
	background: none;
	color: var(--cgx-bronze);
	font: 600 12px/1.6 var(--cgx-display);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* ==========================================================================
   Product page
   ========================================================================== */

.cgx-pdp__crumbs { padding-top: 22px; }
.cgx-pdp__crumbs .cgx-crumbs ol { margin-bottom: 18px; }
.cgx-pdp__grid { display: grid; gap: 28px; padding-bottom: clamp(56px, 7vw, 104px); }

.cgx .cgx-pdp__gallery .woocommerce-product-gallery {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	opacity: 1 !important;
	position: relative;
}
.cgx .woocommerce-product-gallery__wrapper { margin: 0; }
.cgx .woocommerce-product-gallery__image { background: var(--cgx-paper); }
.cgx .woocommerce-product-gallery__image img {
	display: block;
	width: 100% !important;
	height: auto;
	
}
.cgx .woocommerce-product-gallery .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 8px;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}
.cgx .woocommerce-product-gallery .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; background: var(--cgx-paper); }
.cgx .woocommerce-product-gallery .flex-control-thumbs img {
	display: block;
	opacity: 0.55;
	
	cursor: pointer;
	transition: opacity 0.2s ease;
}
.cgx .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.cgx .woocommerce-product-gallery .flex-control-thumbs img:hover { opacity: 1; }
.cgx .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 14px !important;
	right: 14px !important;
	z-index: 5;
	width: 42px !important;
	height: 42px !important;
	border: 1px solid var(--cgx-line) !important;
	border-radius: 0 !important;
	background: var(--cgx-white) !important;
}
.cgx .flex-direction-nav { display: none; }

.cgx .cgx-pdp__cats {
	margin: 0 0 14px;
	font: 500 12px/1.5 var(--cgx-display);
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--cgx-muted);
}
.cgx .cgx-pdp__cats a { color: var(--cgx-bronze); text-decoration: none; }
.cgx .cgx-pdp__cats a:hover { color: var(--cgx-text); }

.cgx .cgx-pdp__summary .product_title {
	margin: 0 0 18px;
	font: 500 clamp(1.9rem, 1.3rem + 2.1vw, 3.1rem)/1.04 var(--cgx-display);
	letter-spacing: -0.015em;
	text-transform: none;
	text-wrap: balance;
	overflow-wrap: break-word;
	color: var(--cgx-text);
}
.cgx .cgx-pdp__summary p.price,
.cgx .cgx-pdp__summary span.price {
	margin: 0 0 22px;
	color: var(--cgx-text) !important;
	font: 500 clamp(22px, 1.2rem + 0.5vw, 26px)/1.2 var(--cgx-body) !important;
	font-variant-numeric: tabular-nums;
}
.cgx .cgx-pdp__summary .price del { color: var(--cgx-muted); font-size: 0.72em; opacity: 1; margin-right: 8px; }
.cgx .cgx-pdp__summary .price ins { text-decoration: none; }
.cgx .woocommerce-product-details__short-description {
	max-width: 58ch;
	margin: 0 0 28px;
	color: var(--cgx-muted);
	font-size: 16px;
	line-height: 1.7;
}
.cgx .woocommerce-product-details__short-description p { margin: 0 0 12px; }

.cgx .cgx-pdp__summary form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
	margin: 0 0 24px !important;
}
.cgx .cgx-pdp__summary form.cart .quantity { margin: 0 !important; float: none !important; }
.cgx .cgx-pdp__summary form.cart .quantity .qty,
.cgx .cgx-pdp__summary form.cart input.qty {
	width: 88px;
	height: 56px;
	padding: 0 8px;
	border: 1px solid var(--cgx-line-strong);
	border-radius: 0;
	background: var(--cgx-white);
	color: var(--cgx-text);
	font: 500 16px/1 var(--cgx-body);
	text-align: center;
	box-shadow: none;
}
.cgx .cgx-pdp__summary .single_add_to_cart_button,
.cgx .cgx-pdp__summary button.single_add_to_cart_button.button.alt {
	flex: 1 1 220px;
	min-height: 56px;
	padding: 0 28px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--cgx-gold) !important;
	color: var(--cgx-black) !important;
	box-shadow: none !important;
	font: 600 13px/1 var(--cgx-display) !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	cursor: pointer;
	transition: background-color 0.2s ease;
}
.cgx .cgx-pdp__summary .single_add_to_cart_button:hover { background: var(--cgx-gold-hover) !important; }
.cgx .cgx-pdp__summary .single_add_to_cart_button.disabled,
.cgx .cgx-pdp__summary .single_add_to_cart_button:disabled { opacity: 0.45; cursor: not-allowed; }
.cgx .cgx-pdp__summary form.cart .variations_button,
.cgx .cgx-pdp__summary form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; width: 100%; }

.cgx .cgx-pdp__summary table.variations { width: 100%; margin: 0 0 8px; border: 0; border-collapse: collapse; }
.cgx .cgx-pdp__summary table.variations th,
.cgx .cgx-pdp__summary table.variations td { display: block; padding: 0; border: 0; background: none; text-align: left; }
.cgx .cgx-pdp__summary table.variations th label {
	display: block;
	margin: 0 0 8px;
	font: 600 12px/1 var(--cgx-display);
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.cgx .cgx-pdp__summary table.variations td { margin-bottom: 16px; }
.cgx .cgx-pdp__summary table.variations select { width: 100%; }
.cgx .cgx-pdp__summary .reset_variations { font-size: 13px; color: var(--cgx-muted); }
.cgx .cgx-pdp__summary .stock { margin: 0 0 12px; color: var(--cgx-muted); font-size: 14px; }
.cgx .cgx-pdp__summary .stock.out-of-stock { color: var(--cgx-error); }

/* RUO disclaimer rendered by the compliance layer. */
.cgx .cgx-ruo-disclaimer,
.cgx p.cgx-ruo {
	margin: 0 0 24px;
	padding: 14px 16px;
	border: 1px solid var(--cgx-line);
	border-radius: 0;
	background: var(--cgx-paper);
	color: var(--cgx-text);
	font-size: 14px;
	line-height: 1.55;
}

.cgx-pdp__docs { padding-top: 8px; }
.cgx .cgx-pdp__doc {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr) 18px;
	align-items: center;
	gap: 16px;
	padding: 18px 20px;
	background: var(--cgx-black);
	color: var(--cgx-white);
	text-decoration: none;
}
.cgx .cgx-pdp__doc .cgx-icon { color: var(--cgx-gold-light); }
.cgx .cgx-pdp__doc span { color: var(--cgx-muted-dark); font-size: 14px; line-height: 1.5; }
.cgx .cgx-pdp__doc strong {
	display: block;
	margin-bottom: 3px;
	color: var(--cgx-white);
	font: 600 12px/1.4 var(--cgx-display);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.cgx .cgx-pdp__doc-arrow { width: 18px; height: 18px; transition: color 0.2s ease; }
.cgx .cgx-pdp__doc:hover .cgx-pdp__doc-arrow { color: var(--cgx-white); }
.cgx-pdp__facts { margin: 16px 0 0; padding: 0; list-style: none; }
.cgx-pdp__facts li {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 11px 0;
	border-bottom: 1px solid var(--cgx-line);
	color: var(--cgx-muted);
	font-size: 14px;
}


@media (min-width: 960px) {
	.cgx-pdp__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(48px, 5vw, 88px); align-items: start; }
	.cgx-pdp__gallery { position: sticky; top: calc(var(--cgx-hd-h) + 24px); }
	body.admin-bar .cgx-pdp__gallery { top: calc(var(--cgx-hd-h) + 56px); }
}

/* Compound profile */
.cgx-pdp__profile { padding-block: var(--cgx-sec); border-top: 1px solid var(--cgx-line); }
.cgx-pdp__profile-grid { display: grid; gap: 32px; }
@media (min-width: 960px) {
	.cgx-pdp__profile-grid { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 72px; }
	.cgx-pdp__profile-grid > .cgx-h2 { position: sticky; top: calc(var(--cgx-hd-h) + 40px); align-self: start; }
}

.cgx-prose { max-width: 72ch; color: var(--cgx-body-text); }
.cgx .cgx-prose h2,
.cgx .cgx-prose h3 {
	margin: 44px 0 16px;
	color: var(--cgx-text);
	font: 600 12.5px/1.4 var(--cgx-display);
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
.cgx .cgx-prose > :first-child { margin-top: 0; }
.cgx .cgx-prose p { margin: 0 0 16px; }
.cgx .cgx-prose a { color: var(--cgx-bronze); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.cgx .cgx-prose a:hover { color: var(--cgx-text); }
.cgx .cgx-prose ul.cgx-contents { margin: 0 0 24px; padding: 0; list-style: none; border-top: 1px solid var(--cgx-line); }
.cgx .cgx-prose ul.cgx-contents li { padding: 14px 0; border-bottom: 1px solid var(--cgx-line); font-size: 15px; }
.cgx .cgx-prose ul.cgx-contents strong { display: block; margin-bottom: 2px; color: var(--cgx-text); font: 600 14.5px/1.4 var(--cgx-display); }
.cgx .cgx-prose table { width: 100%; margin: 0 0 24px; border: 0; border-collapse: collapse; font-size: 15px; }
.cgx .cgx-prose table th,
.cgx .cgx-prose table td { padding: 14px 0; border: 0; border-bottom: 1px solid var(--cgx-line); background: none; text-align: left; vertical-align: top; }
.cgx .cgx-prose table tr:first-child th,
.cgx .cgx-prose table tr:first-child td { border-top: 1px solid var(--cgx-line); }
.cgx .cgx-prose table th {
	width: 36%;
	padding-right: 20px;
	color: var(--cgx-muted);
	font: 500 12px/1.6 var(--cgx-display);
	letter-spacing: 0.13em;
	text-transform: uppercase;
}
.cgx .cgx-prose p.cgx-ruo { margin-top: 32px; }

/* Related and upsells */
.cgx-pdp__after { padding-bottom: var(--cgx-sec); }
.cgx .cgx-pdp__after section.related,
.cgx .cgx-pdp__after section.upsells { padding-top: clamp(56px, 6vw, 96px); border-top: 1px solid var(--cgx-line); }
.cgx .cgx-pdp__after section.related > h2,
.cgx .cgx-pdp__after section.upsells > h2 {
	margin: 0 0 36px;
	font: 500 clamp(1.5rem, 1rem + 1.6vw, 2.25rem)/1.05 var(--cgx-display);
	text-transform: uppercase;
}

/* ==========================================================================
   Generic pages
   ========================================================================== */

.cgx-page__head { padding-block: clamp(36px, 5vw, 64px) clamp(20px, 3vw, 32px); }
.cgx .cgx-page__title {
	margin: 0;
	font: 500 clamp(2rem, 1.2rem + 3vw, 3.75rem)/1.02 var(--cgx-display);
	letter-spacing: -0.015em;
	text-transform: uppercase;
	text-wrap: balance;
}
.cgx-page__body { padding-bottom: clamp(72px, 8vw, 120px); }
.cgx-page__body--commerce { max-width: var(--cgx-max); }

.cgx-404 { padding-block: clamp(80px, 12vw, 160px); }
.cgx-404__code { margin: 0 0 16px; color: var(--cgx-bronze); font: 500 13px/1 var(--cgx-mono); letter-spacing: 0.1em; }
.cgx-404 p { max-width: 56ch; color: var(--cgx-muted); }
.cgx-404__search,
.cgx-searchform { display: flex; gap: 10px; max-width: 560px; margin: 28px 0 28px; }
.cgx .cgx-404__search input,
.cgx .cgx-searchform input {
	flex: 1;
	min-width: 0;
	height: 52px;
	padding: 0 16px;
	border: 1px solid var(--cgx-line-strong);
	border-radius: 0;
	font: 400 16px/1 var(--cgx-body);
}
.cgx-pagination .nav-links { display: flex; gap: 6px; margin-top: 56px; }
.cgx-pagination .page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 46px;
	height: 46px;
	border: 1px solid var(--cgx-line);
	color: var(--cgx-text);
	font: 600 13px/1 var(--cgx-display);
	text-decoration: none;
}
.cgx-pagination .page-numbers.current { background: var(--cgx-black); color: var(--cgx-white); border-color: var(--cgx-black); }

/* ==========================================================================
   Footer
   ========================================================================== */

.cgx-ft {
	background: var(--cgx-black);
	color: var(--cgx-muted-dark);
	font-size: 14.5px;
}
.cgx-ft__top {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 44px 24px;
	padding-block: clamp(64px, 7vw, 104px) 56px;
}
.cgx-ft__brand { grid-column: 1 / -1; }
.cgx .cgx-ft__logo { display: block; height: 52px; width: auto; }
.cgx-ft__brand p { max-width: 36ch; margin: 22px 0 22px; line-height: 1.7; }
.cgx .cgx-ft__social {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--cgx-white);
	font: 500 12px/1 var(--cgx-display);
	letter-spacing: 0.12em;
	text-decoration: none;
}
.cgx .cgx-ft__social .cgx-icon { width: 20px; height: 20px; }
.cgx .cgx-ft__social:hover { color: var(--cgx-gold-light); }
.cgx .cgx-ft__heading {
	margin: 0 0 18px;
	color: var(--cgx-white);
	font: 600 12px/1 var(--cgx-display);
	letter-spacing: 0.18em;
	text-transform: uppercase;
}
.cgx-ft__col ul { margin: 0; padding: 0; list-style: none; }
.cgx-ft__col li { margin: 0 0 12px; }
.cgx .cgx-ft__col a { color: var(--cgx-muted-dark); text-decoration: none; transition: color 0.2s ease; }
.cgx .cgx-ft__col a:hover { color: var(--cgx-gold-light); }
.cgx-ft__ruo { padding-block: 26px; border-top: 1px solid var(--cgx-line-dark); }
.cgx-ft__ruo p { max-width: 110ch; margin: 0; font-size: 13px; line-height: 1.65; }
.cgx-ft__ruo strong { color: var(--cgx-white); font-weight: 500; }
.cgx-ft__base {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	padding-block: 22px 30px;
	border-top: 1px solid var(--cgx-line-dark);
	font-size: 12.5px;
}
.cgx-ft__base p { margin: 0; }
.cgx-ft__base ul { display: flex; gap: 22px; margin: 0; padding: 0; list-style: none; }
.cgx .cgx-ft__base a { color: var(--cgx-muted-dark); text-decoration: none; }
.cgx .cgx-ft__base a:hover { color: var(--cgx-white); }

@media (min-width: 900px) {
	.cgx-ft__top { grid-template-columns: minmax(0, 1.5fr) repeat(4, minmax(0, 1fr)); gap: 48px; }
	.cgx-ft__brand { grid-column: auto; }
}

/* ==========================================================================
   Reduced motion
   ========================================================================== */

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

/* ==========================================================================
   Carry-over elements added by storefront snippets
   ========================================================================== */

/* Header currency: show the plugin's styled dropdown only; keep the native
   select when its script has not built the dropdown. */
.cgx .cgx-currency form:has(.wSelect) > :not(.wSelect) { display: none !important; }
.cgx .cgx-currency > :not(form) { display: none !important; }
/* The plugin also prints a selector inside the buy box; the header one serves. */
.cgx .cgx-pdp__summary > #alg_currency_selector { display: none !important; }

/* The theme's documentation block replaces the old assurance list. */
.cgx .cgx-pdp__summary .cgx-purchase-assurance,
.cgx .cgx-card .cgx-card-documentation,
.cgx #fkcart-floating-toggler { display: none !important; }

.cgx .cgx-pdp__summary .cgx-checkout-note {
	margin: 0 0 20px;
	color: var(--cgx-muted);
	font-size: 14px;
	line-height: 1.55;
}
.cgx .cgx-pdp__summary .wdp_bulk_table_content:empty { display: none; }

/* Regional payment band, placed under the hero on the homepage. */
.cgx #cgx-payment-band { display: none; }
.cgx .cgx-hero + #cgx-payment-band {
	display: block;
	background: var(--cgx-carbon);
	border-bottom: 1px solid var(--cgx-line-dark);
	color: var(--cgx-soft-dark);
}
.cgx .cgx-hero + #cgx-payment-band .cgx-payment-band__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px 24px;
	max-width: var(--cgx-max);
	margin: 0 auto;
	padding: 16px var(--cgx-gutter);
}
.cgx .cgx-hero + #cgx-payment-band strong {
	color: var(--cgx-white);
	font: 600 12px/1 var(--cgx-display);
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
.cgx .cgx-hero + #cgx-payment-band .cgx-payment-band__methods { display: flex; flex-wrap: wrap; gap: 8px; }
.cgx .cgx-hero + #cgx-payment-band .cgx-payment-logo {
	display: inline-grid;
	place-items: center;
	width: 58px;
	height: 34px;
	padding: 6px 8px;
	background: var(--cgx-white);
}
.cgx .cgx-hero + #cgx-payment-band .cgx-payment-logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; }
.cgx .cgx-hero + #cgx-payment-band small { color: var(--cgx-muted-dark); font-size: 12.5px; }

/* Notice strip drawn by the theme; the plugin marquee it replaces is hidden. */
.cgx .runtext-container { display: none !important; }
.cgx-notice-bar {
	background: var(--cgx-carbon);
	border-bottom: 1px solid var(--cgx-line-dark);
}
.cgx-notice-bar ul {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 36px;
	margin: 0 auto;
	padding: 0 var(--cgx-gutter);
	list-style: none;
	overflow: hidden;
}
.cgx-notice-bar li {
	display: inline-flex;
	align-items: center;
	flex: none;
	color: var(--cgx-soft-dark);
	font: 500 12px/1 var(--cgx-display);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	white-space: nowrap;
}
.cgx-notice-bar li + li::before {
	content: "";
	width: 1px;
	height: 12px;
	margin: 0 22px;
	background: var(--cgx-line-dark-strong);
}
.cgx .cgx-notice-bar a { color: var(--cgx-soft-dark); text-decoration: none; }
.cgx .cgx-notice-bar a:hover { color: var(--cgx-gold-light); }
@media (max-width: 719px) {
	.cgx-notice-bar li:nth-child(2),
	.cgx-notice-bar li:nth-child(3) { display: none; }
}

/* ==========================================================================
   Shell hardening: pages that still render old templates also load the old
   global rules (headings, selects, links with !important). The header and
   footer hold their own values there.
   ========================================================================== */
.cgx .cgx-ft .cgx-ft__heading {
	margin: 0 0 18px !important;
	color: var(--cgx-white) !important;
	font: 600 12px/1.2 var(--cgx-display) !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	word-break: normal !important;
}
.cgx .cgx-ft p,
.cgx .cgx-ft li,
.cgx .cgx-ft a { font-family: var(--cgx-body) !important; }
.cgx .cgx-ft .cgx-ft__social { font-family: var(--cgx-display) !important; }
.cgx .cgx-hd .cgx-currency select {
	height: 36px !important;
	min-height: 0 !important;
	padding: 0 30px 0 12px !important;
	border: 1px solid var(--cgx-line-dark-strong) !important;
	border-radius: 0 !important;
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='1.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center / 14px !important;
	color: var(--cgx-white) !important;
	font: 500 12px/1 var(--cgx-display) !important;
	box-shadow: none !important;
}
.cgx .cgx-hd .cgx-currency select option { color: var(--cgx-text); background: var(--cgx-white); }
.cgx .cgx-hd .cgx-nav__link,
.cgx .cgx-hd .cgx-mega__list a { font-family: var(--cgx-display) !important; }
.cgx .cgx-hd .cgx-mega__list a { font-family: var(--cgx-body) !important; }

/* WooCommerce's float layout widths must not apply inside the product grid. */
.cgx .cgx-pdp .cgx-pdp__summary,
.cgx .cgx-pdp .cgx-pdp__gallery .woocommerce-product-gallery,
.cgx.woocommerce div.product div.summary,
.cgx.woocommerce div.product div.images {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}

/* ==========================================================================
   Finish-review fixes
   ========================================================================== */

/* Hero facts: hairline dividers instead of bullets. */
@media (min-width: 900px) {
	.cgx-hero__facts li + li { padding-left: 20px; border-left: 1px solid var(--cgx-line-dark); }
}

/* Tabs and filter chips wrap on wide screens instead of clipping. */
@media (min-width: 1080px) {
	.cgx-tabs { flex-wrap: wrap; column-gap: 24px; overflow: visible; }
	.cgx .cgx-chips { gap: 6px; }
	.cgx .cgx-chip { padding: 0 12px; letter-spacing: 0.1em; }
}
/* All ten category chips fit one row from 1400px; below that the row scrolls rather than leaving one chip alone on a second line. */
@media (min-width: 1400px) {
	.cgx-chips { flex-wrap: wrap; overflow: visible; }
}

/* Payment band: equal tiles, one tone. */
.cgx .cgx-hero + #cgx-payment-band .cgx-payment-logo { overflow: hidden; }
.cgx .cgx-hero + #cgx-payment-band .cgx-payment-logo img {
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	object-fit: contain;
	filter: grayscale(1) contrast(1.1);
}

/* Header controls hold their own type on pages with old global rules. */
.cgx .cgx-hd .cgx-nav__link {
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	box-shadow: none !important;
	color: rgba(255, 255, 255, 0.88);
	font: 500 12px/1 var(--cgx-display) !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	min-height: 0 !important;
}
.cgx .cgx-hd .cgx-nav__link:hover,
.cgx .cgx-hd .cgx-nav__link[aria-expanded="true"] { color: var(--cgx-gold-light) !important; }
.cgx .cgx-hd .cgx-hd__icon { border-radius: 0 !important; box-shadow: none !important; background: none !important; min-height: 0 !important; }

/* Currency dropdown: one quiet control on the black bar. */
.cgx .cgx-currency .wSelect { width: auto !important; min-width: 170px; }
.cgx .cgx-currency .wSelect-arrow { display: none !important; }
.cgx .cgx-currency .wSelect-selected {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='1.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center / 14px !important;
	border: 0 !important;
}
.cgx .cgx-currency .wSelect-option-icon,
.cgx .cgx-currency .wSelect-selected-icon { border-radius: 0 !important; }

/* Contents lists keep the name and its identity on one line. */
.cgx .cgx-prose ul.cgx-contents strong { display: inline; margin: 0; }

/* Bundle builder (Easy Product Bundles): the line list and total only. */
.cgx .asnp_easy_product_bundle .asnp-App-GridItem-wrapper { display: none !important; }
.cgx .asnp_easy_product_bundle,
.cgx .asnp_easy_product_bundle * { border-radius: 0 !important; box-shadow: none !important; }
.cgx .asnp_easy_product_bundle { margin: 0 0 20px; font-family: var(--cgx-body); }
.cgx .asnp-productList-wrapper { border-top: 1px solid var(--cgx-line); }
.cgx .asnp-productList-container {
	display: flex !important;
	align-items: center;
	gap: 12px;
	padding: 12px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--cgx-line) !important;
	background: none !important;
	font-size: 14.5px;
}
.cgx .asnp-productList-container a { color: var(--cgx-text) !important; text-decoration: none !important; font-weight: 500; }
.cgx .asnp-productList-price { margin-left: auto; font-variant-numeric: tabular-nums; }
.cgx .asnp-productList-deleteIcon,
.cgx .asnp-edit-icon { opacity: 0.55; }
.cgx .asnp-totalPrice-wrapper {
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	margin-top: 12px !important;
	padding: 14px 16px !important;
	border: 1px solid var(--cgx-line) !important;
	background: var(--cgx-paper) !important;
}
.cgx .asnp-totalPrice-title { font: 600 12px/1 var(--cgx-display); letter-spacing: 0.14em; text-transform: uppercase; }
.cgx .asnp-totalPrice-section { font: 500 16px/1 var(--cgx-body); font-variant-numeric: tabular-nums; }

/* Notices everywhere: hairline box, no side stripe. */
.cgx .woocommerce-message,
.cgx .woocommerce-info,
.cgx .woocommerce-error,
.cgx .woocommerce-notices-wrapper .woocommerce-message,
.cgx .woocommerce-notices-wrapper .woocommerce-info {
	border: 1px solid var(--cgx-line) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* Account sign-in and registration (the step before checkout). */
.cgx.woocommerce-account .cgx-page__title,
.cgx.woocommerce-account h2 {
	font-family: var(--cgx-display) !important;
	font-weight: 500 !important;
	text-transform: uppercase !important;
	letter-spacing: -0.01em !important;
}
.cgx.woocommerce-account h2 { font-size: clamp(1.25rem, 1rem + 0.8vw, 1.6rem) !important; margin: 0 0 20px !important; }
.cgx.woocommerce-account form.login,
.cgx.woocommerce-account form.register,
.cgx.woocommerce-account fieldset {
	padding: clamp(20px, 3vw, 32px) !important;
	border: 1px solid var(--cgx-line) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: var(--cgx-white) !important;
}
.cgx.woocommerce-account label {
	font: 600 12px/1.4 var(--cgx-display) !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: var(--cgx-text) !important;
}
.cgx.woocommerce-account input.input-text,
.cgx.woocommerce-account input[type="text"],
.cgx.woocommerce-account input[type="email"],
.cgx.woocommerce-account input[type="password"],
.cgx.woocommerce-account input[type="tel"],
.cgx.woocommerce-account select {
	height: 50px !important;
	padding: 0 14px !important;
	border: 1px solid var(--cgx-line-strong) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background-color: var(--cgx-white) !important;
	font: 400 16px/1 var(--cgx-body) !important;
}
.cgx.woocommerce-account input:focus { border-color: var(--cgx-black) !important; outline: none; }
.cgx.woocommerce-account .woocommerce-button,
.cgx.woocommerce-account button.button,
.cgx.woocommerce-account .button {
	min-height: 50px !important;
	padding: 0 28px !important;
	border: 0 !important;
	border-radius: 0 !important;
	clip-path: none !important;
	box-shadow: none !important;
	background: var(--cgx-gold) !important;
	color: var(--cgx-black) !important;
	font: 600 12.5px/1 var(--cgx-display) !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
}
.cgx.woocommerce-account .button:hover { background: var(--cgx-gold-hover) !important; }
.cgx.woocommerce-account .cgx-page__body a:not(.button):not(.cgx-btn):not([aria-current="page"]) { color: var(--cgx-bronze) !important; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Finish-review fixes, round 2 ---------- */

/* Account page: headings at the display weight, buttons in the button type. */
html body.cgx.woocommerce-account .woocommerce h2,
html body.cgx.woocommerce-account .cgx-page__body h2 {
	font: 500 clamp(1.25rem, 1rem + 0.8vw, 1.6rem)/1.1 var(--cgx-display) !important;
	letter-spacing: -0.005em !important;
	text-transform: uppercase !important;
}
html body.cgx.woocommerce-account .woocommerce button.button,
html body.cgx.woocommerce-account .woocommerce .woocommerce-button,
html body.cgx.woocommerce-account .woocommerce a.button {
	font: 600 12.5px/1 var(--cgx-display) !important;
	letter-spacing: 0.14em !important;
}

/* Header currency when the plugin's dropdown script has not run. */
html body.cgx .cgx-hd .cgx-currency form select#alg_currency_select,
html body.cgx .cgx-hd .cgx-currency select {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	width: auto !important;
	min-width: 170px;
}

/* Bundle lines: one quantity control (the main box), no per-line tools. */
.cgx .asnp-productList-container [class*="quantity"],
.cgx .asnp-productList-container .asnp-edit-icon,
.cgx .asnp-productList-container .asnp-productList-deleteIcon,
.cgx .asnp-productList-container button { display: none !important; }

/* Payment tiles: marks fitted inside, never clipped. */
.cgx .cgx-hero + #cgx-payment-band .cgx-payment-band__methods { flex-wrap: nowrap; }
.cgx .cgx-hero + #cgx-payment-band .cgx-payment-logo {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 64px !important;
	height: 38px !important;
	padding: 5px 7px !important;
	overflow: hidden;
}
.cgx .cgx-hero + #cgx-payment-band .cgx-payment-logo img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	transform: none !important;
	object-fit: contain;
}

/* Breadcrumb keeps the product name in its own case (unit notation). */
.cgx .cgx-crumbs li:last-child { text-transform: none; letter-spacing: 0.02em; }

/* Mobile notice bar breathes at the edges. */
@media (max-width: 719px) {
	.cgx-notice-bar ul { justify-content: space-between; padding-inline: var(--cgx-gutter); }
	.cgx-notice-bar li { font-size: 12px; letter-spacing: 0.08em; }
	.cgx-notice-bar li + li::before { display: none; }
}
html body.cgx .cgx-hd .cgx-currency form select#alg_currency_select {
	box-sizing: border-box !important;
	height: 36px !important;
	max-height: 36px !important;
	min-height: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	line-height: 34px !important;
	margin: 0 !important;
}

/* Group dropdowns (Explore Products, Research Hub, Affiliates, Support). */
.cgx-nav__item--drop { position: relative; }
.cgx-drop {
	position: absolute;
	top: 100%;
	left: -20px;
	z-index: 10;
	min-width: 230px;
	padding: 10px 0;
	background: var(--cgx-black);
	border: 1px solid var(--cgx-line-dark);
}
.cgx-drop:not([hidden]) { animation: cgx-fade 0.2s var(--cgx-ease); }
.cgx-drop ul { margin: 0; padding: 0; list-style: none; }
.cgx .cgx-drop a {
	display: block;
	padding: 11px 20px;
	color: rgba(255, 255, 255, 0.86);
	font: 400 15px/1.35 var(--cgx-body) !important;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s ease, background-color 0.2s ease;
}
.cgx .cgx-drop a:hover { color: var(--cgx-gold-light); background: var(--cgx-carbon); }
@media (max-width: 1199px) {
	.cgx-nav { display: none !important; }
}
@media (min-width: 1200px) {
	.cgx .cgx-hd .cgx-hd__burger { display: none; }
}

/* Press feedback on buttons (never on product imagery). */
@media (hover: hover) and (pointer: fine) {
	.cgx .cgx-btn:active,
	.cgx .cgx-pdp__summary .single_add_to_cart_button:active { transform: scale(0.98); }
}
.cgx .cgx-btn { transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.12s ease-out; }

/* ---------- Photo hero (the previous site's hero image) ---------- */
.cgx-hero--photo { background: var(--cgx-black); }
.cgx-hero--photo .cgx-hero__img { display: block; width: 100%; height: auto; aspect-ratio: 1672 / 941; object-fit: cover; object-position: 72% center; }
.cgx-hero--photo .cgx-hero__inner { display: block; min-height: 0; padding-block: 36px 48px; }
@media (min-width: 900px) {
	.cgx-hero--photo { position: relative; isolation: isolate; }
	.cgx-hero--photo .cgx-hero__img { position: absolute; inset: 0; z-index: -2; height: 100%; aspect-ratio: auto; }
	.cgx-hero--photo::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: -1;
		background: linear-gradient(90deg, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.7) 34%, rgba(0, 0, 0, 0) 62%);
	}
	.cgx-hero--photo .cgx-hero__inner {
		display: flex;
		align-items: center;
		min-height: min(80vh, 760px);
		padding-block: 72px;
	}
	.cgx-hero--photo .cgx-hero__copy { max-width: 560px; }
}

/* ---------- Currency dropdown list: dark rows, readable text ---------- */
.cgx .cgx-currency .wSelect-options-holder {
	height: auto !important;
	max-height: none !important;
	padding: 4px 0 !important;
	border: 1px solid var(--cgx-line-dark-strong) !important;
	border-radius: 0 !important;
	background: var(--cgx-black) !important;
	box-shadow: none !important;
}
.cgx .cgx-currency .wSelect-options,
.cgx .cgx-currency .wSelect-option {
	height: auto !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--cgx-black) !important;
	color: var(--cgx-white) !important;
}
.cgx .cgx-currency .wSelect-option { padding: 10px 12px !important; font: 500 13px/1.3 var(--cgx-body) !important; letter-spacing: 0; }
.cgx .cgx-currency .wSelect-option:hover,
.cgx .cgx-currency .wSelect-option-selected { background: var(--cgx-carbon) !important; color: var(--cgx-gold-light) !important; }
.cgx .cgx-currency .wSelect-option .wSelect-option-value,
.cgx .cgx-currency .wSelect-option * { color: inherit !important; }

/* Footer socials and contact (carried over from the previous footer). */
.cgx-ft__socials { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.cgx .cgx-ft__socials a {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-height: 28px;
	color: var(--cgx-soft-dark);
	font-size: 14px;
	text-decoration: none;
	transition: color 0.2s ease;
}
.cgx .cgx-ft__socials a:hover { color: var(--cgx-gold-light); }
.cgx .cgx-ft__socials .cgx-icon { width: 20px; height: 20px; color: var(--cgx-gold-light); }

/* ---------- Listing pages (stacks, single peptides, categories) ---------- */
.cgx-plp__count { margin: 28px 0 28px; color: var(--cgx-muted); font-size: 14px; }
.cgx-cat-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px 14px;
	margin: 36px 0 0;
	padding: 0;
	list-style: none;
}
@media (min-width: 640px) { .cgx-cat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 24px; } }
@media (min-width: 1080px) { .cgx-cat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 56px 28px; } }
.cgx .cgx-cat__link { display: flex; flex-direction: column; gap: 6px; color: var(--cgx-text); text-decoration: none; }
.cgx-cat__link .cgx-card__media { margin-bottom: 12px; }
.cgx-cat__name { font: 600 16px/1.3 var(--cgx-display); text-transform: uppercase; letter-spacing: 0.02em; transition: color 0.2s ease; }
.cgx-cat__count { color: var(--cgx-muted); font: 500 12px/1.4 var(--cgx-mono); }
.cgx .cgx-cat__link:hover .cgx-cat__name { color: var(--cgx-bronze); }

/* ==========================================================================
   Re-typeset pages (content from the previous site, in this design)
   ========================================================================== */
.cgx-reflow__body { padding-bottom: clamp(72px, 8vw, 128px); color: var(--cgx-body-text); }
.cgx-reflow__body > :first-child { margin-top: clamp(32px, 4vw, 56px); }
.cgx .cgx-reflow__body h1 {
	margin: 0 0 20px;
	max-width: 20ch;
	color: var(--cgx-text);
	font: 500 clamp(2rem, 1.2rem + 3vw, 3.75rem)/1.02 var(--cgx-display);
	letter-spacing: -0.015em;
	text-transform: uppercase;
	text-wrap: balance;
}
.cgx .cgx-reflow__body h2 {
	margin: clamp(48px, 5vw, 72px) 0 18px;
	max-width: 28ch;
	color: var(--cgx-text);
	font: 500 clamp(1.5rem, 1rem + 1.6vw, 2.25rem)/1.08 var(--cgx-display);
	letter-spacing: -0.01em;
	text-transform: uppercase;
	text-wrap: balance;
}
.cgx .cgx-reflow__body h3 { margin: 32px 0 10px; color: var(--cgx-text); font: 600 18px/1.35 var(--cgx-display); text-transform: none; letter-spacing: 0; }
.cgx .cgx-reflow__body h4,
.cgx .cgx-reflow__body h5,
.cgx .cgx-reflow__body h6 { margin: 24px 0 8px; color: var(--cgx-text); font: 600 12.5px/1.4 var(--cgx-display); letter-spacing: 0.14em; text-transform: uppercase; }
.cgx .cgx-reflow__body p,
.cgx .cgx-reflow__body li { max-width: 72ch; font: 400 16px/1.7 var(--cgx-body); color: var(--cgx-body-text); }
.cgx .cgx-reflow__body p { margin: 0 0 16px; }
.cgx .cgx-reflow__body ul,
.cgx .cgx-reflow__body ol { margin: 0 0 20px; padding-left: 1.2em; }
.cgx .cgx-reflow__body li { margin: 0 0 8px; }
.cgx .cgx-reflow__body li::marker { color: var(--cgx-gold); }
.cgx .cgx-reflow__body a:not([class*="btn"]):not(.button):not([class*="button"]):not(.cgx-card a):not(.cgx-card__media) { color: var(--cgx-bronze); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.cgx .cgx-reflow__body a:hover { color: var(--cgx-text); }
.cgx .cgx-reflow__body img { max-width: 100%; height: auto; }
.cgx .cgx-reflow__body hr { margin: 48px 0; border: 0; border-top: 1px solid var(--cgx-line); }
.cgx .cgx-reflow__body strong { color: var(--cgx-text); font-weight: 600; }
.cgx .cgx-reflow__body section,
.cgx .cgx-reflow__body .e-con,
.cgx .cgx-reflow__body .elementor-section { display: block; margin: 0 0 8px; padding: 0; background: none; border: 0; }
.cgx .cgx-reflow__body .elementor-container,
.cgx .cgx-reflow__body .e-con-inner,
.cgx .cgx-reflow__body .elementor-widget-wrap { display: block; }
.cgx .cgx-reflow__body .elementor-column { width: 100% !important; }

/* Grids and cards from the old templates become quiet hairline panels. */
.cgx .cgx-reflow__body :is([class~="grid"], [class$="-grid"], [class*="-grid "], [class$="_grid"]):not(img) {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 20px;
	margin: 24px 0 32px;
}
.cgx .cgx-reflow__body :is([class~="card"], [class$="-card"], [class*="-card "]):not(img):not(span) {
	padding: 24px;
	border: 1px solid var(--cgx-line);
	border-radius: 0;
	background: var(--cgx-white);
	box-shadow: none;
}
.cgx .cgx-reflow__body :is([class~="card"], [class$="-card"], [class*="-card "]) :is(h3, h4):first-child { margin-top: 0; }
.cgx .cgx-reflow__body :is([class~="card"], [class$="-card"], [class*="-card "]) :is([class~="card"], [class$="-card"], [class*="-card "]) { padding: 0; border: 0; }

/* Carousels without their plugin stylesheet: one horizontal scroll row. */
.cgx .cgx-reflow__body .owl-stage-outer,
.cgx .cgx-reflow__body .swiper,
.cgx .cgx-reflow__body .swiper-container { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.cgx .cgx-reflow__body .owl-stage,
.cgx .cgx-reflow__body .swiper-wrapper { display: flex !important; gap: 16px; width: auto !important; transform: none !important; }
.cgx .cgx-reflow__body .owl-item,
.cgx .cgx-reflow__body .swiper-slide { flex: 0 0 min(260px, 78%) !important; width: auto !important; margin: 0 !important; scroll-snap-align: start; }
.cgx .cgx-reflow__body .owl-item.cloned,
.cgx .cgx-reflow__body .swiper-slide-duplicate,
.cgx .cgx-reflow__body .owl-nav,
.cgx .cgx-reflow__body .owl-dots { display: none !important; }
.cgx .cgx-reflow__body .owl-item img,
.cgx .cgx-reflow__body .swiper-slide img { width: 100%; height: auto; }
.cgx .cgx-reflow__products { margin: 24px 0 48px; }

/* Buttons and calls to action. */
.cgx .cgx-reflow__body .button:not(.cgx-btn),
.cgx .cgx-reflow__body button:not([class*="toggle"]):not([aria-expanded]):not(.cgx-btn),
.cgx .cgx-reflow__body input[type="submit"],
.cgx .cgx-reflow__body a[class*="btn"],
.cgx .cgx-reflow__body a[class*="button"],
.cgx .cgx-reflow__body .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 26px;
	border: 0;
	border-radius: 0;
	background: var(--cgx-gold);
	box-shadow: none;
	color: var(--cgx-black) !important;
	font: 600 12.5px/1.2 var(--cgx-display);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none !important;
	cursor: pointer;
	transition: background-color 0.2s ease;
}
.cgx .cgx-reflow__body .button:hover,
.cgx .cgx-reflow__body a[class*="btn"]:hover,
.cgx .cgx-reflow__body .elementor-button:hover { background: var(--cgx-gold-hover); }

/* Forms. */
.cgx .cgx-reflow__body label { display: block; margin: 0 0 6px; color: var(--cgx-text); font: 600 12px/1.4 var(--cgx-display); letter-spacing: 0.12em; text-transform: uppercase; }
.cgx .cgx-reflow__body input[type="text"],
.cgx .cgx-reflow__body input[type="email"],
.cgx .cgx-reflow__body input[type="tel"],
.cgx .cgx-reflow__body input[type="search"],
.cgx .cgx-reflow__body input[type="password"],
.cgx .cgx-reflow__body input[type="number"],
.cgx .cgx-reflow__body select,
.cgx .cgx-reflow__body textarea {
	width: 100%;
	max-width: 640px;
	min-height: 50px;
	margin: 0 0 16px;
	padding: 12px 14px;
	border: 1px solid var(--cgx-line-strong);
	border-radius: 0;
	background-color: var(--cgx-white);
	box-shadow: none;
	color: var(--cgx-text);
	font: 400 16px/1.4 var(--cgx-body);
}
.cgx .cgx-reflow__body textarea { min-height: 150px; }
.cgx .cgx-reflow__body input:focus,
.cgx .cgx-reflow__body select:focus,
.cgx .cgx-reflow__body textarea:focus { border-color: var(--cgx-black); outline: none; }

/* Tables. */
.cgx .cgx-reflow__body table { width: 100%; margin: 0 0 28px; border: 0; border-collapse: collapse; font-size: 15px; }
.cgx .cgx-reflow__body th,
.cgx .cgx-reflow__body td { padding: 12px 12px 12px 0; border: 0; border-bottom: 1px solid var(--cgx-line); background: none; text-align: left; vertical-align: top; }
.cgx .cgx-reflow__body th { color: var(--cgx-muted); font: 600 12px/1.5 var(--cgx-display); letter-spacing: 0.12em; text-transform: uppercase; }
.cgx .cgx-reflow__body .table-wrap,
.cgx .cgx-reflow__body figure.wp-block-table { overflow-x: auto; }

/* Accordions (details and Elementor toggles). */
.cgx .cgx-reflow__body details { border-bottom: 1px solid var(--cgx-line); }
.cgx .cgx-reflow__body details:first-of-type { border-top: 1px solid var(--cgx-line); }
.cgx .cgx-reflow__body summary { display: flex; justify-content: space-between; gap: 20px; padding: 20px 0; cursor: pointer; list-style: none; color: var(--cgx-text); font: 600 16px/1.4 var(--cgx-display); }
.cgx .cgx-reflow__body summary::-webkit-details-marker { display: none; }
.cgx .cgx-reflow__body summary::after { content: "+"; color: var(--cgx-muted); font-weight: 400; }
.cgx .cgx-reflow__body details[open] summary::after { content: "−"; }

/* Old decorative icons and ornaments stay small. */
.cgx .cgx-reflow__body svg:not([width]) { max-width: 28px; max-height: 28px; }
.cgx .cgx-reflow__body i[class*="fa-"],
.cgx .cgx-reflow__body .elementor-icon { display: none; }

/* Elementor visibility and entrance classes without Elementor's stylesheet. */
.cgx .elementor-invisible { visibility: visible !important; opacity: 1 !important; animation: none !important; }
@media (min-width: 1025px) { .cgx .elementor-hidden-desktop { display: none !important; } }
@media (min-width: 768px) and (max-width: 1024px) { .cgx .elementor-hidden-tablet { display: none !important; } }
@media (max-width: 767px) { .cgx .elementor-hidden-mobile { display: none !important; } }

/* ==========================================================================
   Research guide (single post)
   ========================================================================== */
.cgx-post__head { max-width: calc(760px + 2 * var(--cgx-gutter)); padding-top: clamp(28px, 4vw, 48px); }
.cgx .cgx-post__title { margin: 0 0 16px; color: var(--cgx-text); font: 500 clamp(1.9rem, 1.3rem + 2.1vw, 3.1rem)/1.06 var(--cgx-display); letter-spacing: -0.015em; text-wrap: balance; }
.cgx-post__meta { display: flex; gap: 10px; margin: 0 0 32px; color: var(--cgx-muted); font: 500 12px/1.4 var(--cgx-mono); }
.cgx-post__media { max-width: calc(1100px + 2 * var(--cgx-gutter)); margin: 0 auto 48px; }
.cgx-post__media img { display: block; width: 100%; height: auto; max-height: 560px; object-fit: cover; background: var(--cgx-paper); }
.cgx .cgx-post__body { max-width: 760px; margin: 0 auto; font-size: 17px; }
.cgx .cgx-post__body p,
.cgx .cgx-post__body li { font-size: 17px; line-height: 1.75; }
.cgx .cgx-post__body h2 { margin: 48px 0 14px; font: 500 clamp(1.4rem, 1rem + 1.2vw, 1.9rem)/1.12 var(--cgx-display); letter-spacing: -0.01em; text-transform: none; }
.cgx .cgx-post__body h3 { margin: 32px 0 10px; font: 600 18px/1.35 var(--cgx-display); letter-spacing: 0; text-transform: none; }
.cgx .cgx-post__body img { max-width: 100%; height: auto; }
.cgx .cgx-post__body table { width: 100%; margin: 0 0 28px; border-collapse: collapse; font-size: 15px; }
.cgx .cgx-post__body th,
.cgx .cgx-post__body td { padding: 12px 12px 12px 0; border-bottom: 1px solid var(--cgx-line); text-align: left; vertical-align: top; }
.cgx .cgx-post__body [class*="card"]:not(img) { padding: 20px; border: 1px solid var(--cgx-line); border-radius: 0; box-shadow: none; }
.cgx-post__ruo { max-width: 760px; margin: 40px auto clamp(72px, 8vw, 120px) !important; }
.cgx-post__head .cgx-crumbs li:last-child { text-transform: uppercase; }

/* Old table widget controls that only served the previous plugin. */
.cgx .cgx-reflow__body [class*="wpr-table-export"],
.cgx .cgx-reflow__body [class*="wpr-table-live-search"],
.cgx .cgx-reflow__body [class*="wpr-table-pagination"],
.cgx .cgx-reflow__body [class*="wpr-entry-info"],
.cgx .cgx-reflow__body .wpr-table-custom-pagination { display: none !important; }
.cgx .cgx-reflow__body .cgx-card .cgx-card__title a { color: var(--cgx-text); text-decoration: none; }

/* ==========================================================================
   Cart and account (WooCommerce), in the house design
   ========================================================================== */
.cgx.woocommerce-cart .cgx-page__body,
.cgx.woocommerce-account .cgx-page__body { padding-top: 8px; }
.cgx .shop_table {
	width: 100%;
	margin: 0 0 32px;
	border: 0 !important;
	border-collapse: collapse !important;
	border-radius: 0 !important;
	font-size: 15px;
}
.cgx .shop_table th,
.cgx .shop_table td {
	padding: 16px 12px 16px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--cgx-line) !important;
	background: none !important;
	vertical-align: middle;
	text-align: left;
}
.cgx .shop_table thead th {
	color: var(--cgx-muted);
	font: 600 12px/1.4 var(--cgx-display);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.cgx .shop_table .product-thumbnail img { width: 72px !important; height: 72px; object-fit: contain; background: var(--cgx-paper); }
.cgx .shop_table .product-name a { color: var(--cgx-text); font: 600 15px/1.35 var(--cgx-display); text-decoration: none; }
.cgx .shop_table .product-name a:hover { color: var(--cgx-bronze); }
.cgx .shop_table .product-remove a.remove {
	display: inline-grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border: 1px solid var(--cgx-line);
	border-radius: 0 !important;
	color: var(--cgx-muted) !important;
	background: none !important;
	font-size: 18px;
}
.cgx .shop_table .product-remove a.remove:hover { border-color: var(--cgx-black); color: var(--cgx-black) !important; }
.cgx .shop_table .quantity .qty,
.cgx .coupon .input-text {
	height: 44px;
	border: 1px solid var(--cgx-line-strong) !important;
	border-radius: 0 !important;
	font: 400 15px/1 var(--cgx-body);
	text-align: center;
}
.cgx .coupon .input-text { width: 200px !important; text-align: left; padding: 0 12px !important; }
.cgx .woocommerce-cart-form .actions { padding-top: 20px !important; }
.cgx .woocommerce-cart-form .actions .button,
.cgx .cart_totals .checkout-button,
.cgx.woocommerce-cart .button,
.cgx.woocommerce-account .woocommerce-MyAccount-content .button {
	min-height: 48px;
	padding: 0 24px !important;
	border: 1px solid var(--cgx-black) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--cgx-black) !important;
	box-shadow: none !important;
	font: 600 12px/46px var(--cgx-display) !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
}
.cgx .cart_totals .checkout-button,
.cgx .wc-proceed-to-checkout .button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 56px;
	border-color: var(--cgx-gold) !important;
	background: var(--cgx-gold) !important;
	color: var(--cgx-black) !important;
	font-size: 13px !important;
	line-height: 1 !important;
}
.cgx .cart_totals .checkout-button:hover { background: var(--cgx-gold-hover) !important; }
.cgx .cart-collaterals { display: flex; justify-content: flex-end; }
.cgx .cart_totals { width: 100% !important; max-width: 460px; float: none !important; padding: 28px; background: var(--cgx-paper); border: 1px solid var(--cgx-line); }
.cgx .cart_totals h2 { margin: 0 0 16px; font: 500 20px/1.2 var(--cgx-display) !important; text-transform: uppercase; }
.cgx .cart_totals .shop_table th { width: 40%; }
.cgx .cart-empty,
.cgx .wc-empty-cart-message { padding: 24px 0 !important; border: 0 !important; background: none !important; color: var(--cgx-text) !important; font: 500 22px/1.3 var(--cgx-display) !important; text-transform: uppercase; }
.cgx .cart-empty::before { display: none !important; }
.cgx .return-to-shop .button { border-color: var(--cgx-gold) !important; background: var(--cgx-gold) !important; }

/* Account navigation. */
.cgx .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--cgx-line); }
.cgx .woocommerce-MyAccount-navigation li { margin: 0; border-bottom: 1px solid var(--cgx-line); }
.cgx .woocommerce-MyAccount-navigation a { display: block; padding: 14px 0; color: var(--cgx-text); font: 500 12px/1.3 var(--cgx-display); letter-spacing: 0.12em; text-transform: uppercase; text-decoration: none; }
.cgx .woocommerce-MyAccount-navigation .is-active a,
.cgx .woocommerce-MyAccount-navigation a:hover { color: var(--cgx-bronze); }
@media (min-width: 900px) {
	.cgx.woocommerce-account.logged-in .woocommerce { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 56px; }
	.cgx .woocommerce-MyAccount-navigation,
	.cgx .woocommerce-MyAccount-content { width: auto !important; float: none !important; }
}
.cgx.woocommerce-account .u-columns { display: grid; gap: 28px; }
@media (min-width: 900px) { .cgx.woocommerce-account .u-columns { grid-template-columns: 1fr 1fr; } }
.cgx.woocommerce-account .u-column1,
.cgx.woocommerce-account .u-column2 { width: auto !important; float: none !important; }

/* Header controls never push past the edge. */
@media (min-width: 1200px) {
	.cgx-hd__bar { grid-template-columns: auto minmax(0, 1fr) auto; }
	.cgx-hd__tools { margin-right: 0; }
}
html body.cgx .cgx-hd .cgx-currency select,
.cgx .cgx-currency .wSelect { min-width: 0 !important; max-width: 160px !important; }

/* Guide cards: photographic 4:3 frame. */
.cgx-guide__media { aspect-ratio: 4 / 3; }

/* Mobile and tablet hero: the photo fills the frame, copy sits over it. */
@media (max-width: 899px) {
	.cgx-hero--photo {
		position: relative;
		isolation: isolate;
		display: flex;
		align-items: flex-end;
		min-height: min(88svh, 760px);
	}
	.cgx-hero--photo .cgx-hero__img {
		position: absolute;
		inset: 0;
		z-index: -2;
		width: 100%;
		height: 100%;
		aspect-ratio: auto;
		object-fit: cover;
		object-position: 74% 40%;
	}
	.cgx-hero--photo::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: -1;
		background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.2) 38%, rgba(0, 0, 0, 0.86) 70%, rgba(0, 0, 0, 0.97) 100%);
	}
	.cgx-hero--photo .cgx-hero__inner { width: 100%; padding-block: 0 36px; }
	.cgx-hero--photo .cgx-hero__title { font-size: clamp(2.3rem, 1.2rem + 4.5vw, 3rem); max-width: 14ch; margin-bottom: 14px; }
	.cgx-hero--photo .cgx-hero__lede { font-size: 15.5px; max-width: 34ch; color: var(--cgx-soft-dark); }
	.cgx-hero--photo .cgx-hero__actions { margin-top: 24px; }
	.cgx-hero--photo .cgx-btn.cgx-btn--lg { width: 100%; }
}

@media (max-width: 899px) {
	.cgx-hero--photo { min-height: min(92svh, 820px); }
	.cgx-hero--photo .cgx-hero__img { height: 64%; object-position: 70% 30%; }
	.cgx-hero--photo::before {
		background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.9) 58%, var(--cgx-black) 66%, var(--cgx-black) 100%);
	}
}
@media (max-width: 1199px) {
	.cgx-notice-bar li:nth-child(2),
	.cgx-notice-bar li:nth-child(3) { display: none; }
	.cgx-notice-bar ul { justify-content: space-between; }
	.cgx-notice-bar li + li::before { display: none; }
}

/* Answer-first summary on regional pages. */
.cgx .cgx-answer {
	margin: 32px 0 40px;
	padding: clamp(20px, 3vw, 32px);
	border: 1px solid var(--cgx-line);
	background: var(--cgx-paper);
}
.cgx .cgx-answer__text { max-width: 72ch; margin: 0 0 20px !important; color: var(--cgx-text) !important; font: 400 17px/1.7 var(--cgx-body) !important; }
.cgx .cgx-answer__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; margin: 0; padding-top: 18px; border-top: 1px solid var(--cgx-line); }
@media (min-width: 900px) { .cgx .cgx-answer__facts { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.cgx .cgx-answer__facts dt { color: var(--cgx-muted); font: 500 12px/1.3 var(--cgx-display); letter-spacing: 0.16em; text-transform: uppercase; }
.cgx .cgx-answer__facts dd { margin: 6px 0 0; color: var(--cgx-text); font: 500 15px/1.4 var(--cgx-body); }

/* Product gallery: reserve the thumbnail row so the buy box never jumps. */
.cgx .cgx-pdp__gallery .woocommerce-product-gallery__image { aspect-ratio: 1; overflow: hidden; }
.cgx .cgx-pdp__gallery .woocommerce-product-gallery__image > a { display: block; height: 100%; }
.cgx .cgx-pdp__gallery .woocommerce-product-gallery__image img { height: 100% !important; object-fit: contain; }
.cgx .cgx-pdp__gallery .woocommerce-product-gallery:has(.woocommerce-product-gallery__image:nth-child(2)):not(:has(.flex-control-thumbs)) { padding-bottom: calc((100% - 32px) / 5 + 8px); }
.cgx .cgx-pdp__gallery .woocommerce-product-gallery:has(.flex-control-thumbs) { padding-bottom: 0; }

/* ==========================================================================
   Age and research-use gate, in the house design
   ========================================================================== */
html body #cgx-rg .rg-bd { background: rgba(0, 0, 0, 0.82) !important; -webkit-backdrop-filter: blur(6px) !important; backdrop-filter: blur(6px) !important; }
html body #cgx-rg .rg-box {
	max-width: 520px !important;
	padding: clamp(24px, 5vw, 40px) !important;
	border: 1px solid var(--cgx-line-dark) !important;
	border-radius: 0 !important;
	background: var(--cgx-black) !important;
	box-shadow: none !important;
	color: var(--cgx-soft-dark) !important;
	font-family: var(--cgx-body) !important;
	text-align: left !important;
}
html body #cgx-rg .rg-logo { display: block; max-width: 150px !important; margin: 0 0 24px !important; }
html body #cgx-rg .rg-title {
	margin: 0 0 12px !important;
	color: var(--cgx-white) !important;
	font: 500 clamp(1.5rem, 1.2rem + 1vw, 1.9rem)/1.1 var(--cgx-display) !important;
	letter-spacing: -0.005em !important;
	text-transform: uppercase !important;
	-webkit-text-fill-color: currentColor !important;
	background: none !important;
}
html body #cgx-rg .rg-div { display: none !important; }
html body #cgx-rg .rg-intro { margin: 0 0 18px !important; color: var(--cgx-muted-dark) !important; font: 400 14.5px/1.6 var(--cgx-body) !important; }
html body #cgx-rg .rg-ruo {
	margin: 0 0 20px !important;
	padding: 14px 0 !important;
	border: 0 !important;
	border-top: 1px solid var(--cgx-line-dark) !important;
	border-bottom: 1px solid var(--cgx-line-dark) !important;
	border-radius: 0 !important;
	background: none !important;
	color: var(--cgx-muted-dark) !important;
	font: 400 13px/1.55 var(--cgx-body) !important;
}
html body #cgx-rg .rg-ruo strong { display: block !important; margin: 0 0 4px !important; color: var(--cgx-gold-light) !important; font: 600 12px/1.3 var(--cgx-display) !important; letter-spacing: 0.16em !important; text-transform: uppercase !important; }
html body #cgx-rg .rg-check { display: flex !important; gap: 12px !important; align-items: flex-start !important; color: var(--cgx-soft-dark) !important; font: 400 13.5px/1.55 var(--cgx-body) !important; text-transform: none !important; letter-spacing: 0 !important; }
html body #cgx-rg .rg-check input { width: 20px !important; height: 20px !important; margin-top: 1px !important; accent-color: var(--cgx-gold); flex: none; }
html body #cgx-rg a { color: var(--cgx-gold-light) !important; text-decoration: underline; text-underline-offset: 3px; }
html body #cgx-rg .rg-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	width: 100% !important;
	min-height: 52px !important;
	margin-top: 18px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--cgx-gold) !important;
	box-shadow: none !important;
	color: var(--cgx-black) !important;
	font: 600 12.5px/1 var(--cgx-display) !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	transform: none !important;
}
html body #cgx-rg .rg-btn:hover { background: var(--cgx-gold-hover) !important; }
html body #cgx-rg .rg-btn.rg-btn-offer { background: transparent !important; border: 1px solid var(--cgx-gold) !important; color: var(--cgx-gold-light) !important; }
html body #cgx-rg .rg-btn.rg-btn-offer:hover { background: var(--cgx-gold) !important; color: var(--cgx-black) !important; }
html body #cgx-rg .rg-perks { display: flex !important; flex-wrap: wrap; gap: 6px 18px !important; margin: 14px 0 0 !important; padding: 0 !important; list-style: none !important; }
html body #cgx-rg .rg-perks li { color: var(--cgx-muted-dark) !important; font: 500 12px/1.4 var(--cgx-mono) !important; background: none !important; padding: 0 !important; }
html body #cgx-rg .rg-perks li::before { display: none !important; }
html body #cgx-rg .rg-or { margin: 24px 0 16px !important; border-top: 1px solid var(--cgx-line-dark) !important; padding-top: 14px !important; }
html body #cgx-rg .rg-or span { background: none !important; color: var(--cgx-muted-dark) !important; font: 600 12px/1 var(--cgx-display) !important; letter-spacing: 0.16em !important; text-transform: uppercase !important; padding: 0 !important; }
html body #cgx-rg .rg-or::before,
html body #cgx-rg .rg-or::after { display: none !important; }
html body #cgx-rg .rg-promo { display: flex !important; gap: 14px !important; align-items: center !important; padding: 16px !important; border: 1px solid var(--cgx-line-dark) !important; border-radius: 0 !important; background: var(--cgx-carbon) !important; box-shadow: none !important; }
html body #cgx-rg .rg-promo svg { color: var(--cgx-gold-light) !important; width: 32px; height: 32px; flex: none; }
html body #cgx-rg .rg-promo-h { margin: 0 !important; color: var(--cgx-white) !important; font: 600 13px/1.3 var(--cgx-display) !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; }
html body #cgx-rg .rg-promo-h span { color: var(--cgx-gold-light) !important; background: none !important; -webkit-text-fill-color: currentColor !important; }
html body #cgx-rg .rg-promo-s { margin: 4px 0 0 !important; color: var(--cgx-muted-dark) !important; font: 400 12.5px/1.45 var(--cgx-body) !important; }
html body #cgx-rg .rg-label { display: block !important; margin: 18px 0 8px !important; color: var(--cgx-soft-dark) !important; font: 600 12px/1.3 var(--cgx-display) !important; letter-spacing: 0.12em !important; text-transform: uppercase !important; }
html body #cgx-rg .rg-field { display: flex !important; align-items: center !important; gap: 10px !important; padding: 0 14px !important; border: 1px solid var(--cgx-line-dark-strong) !important; border-radius: 0 !important; background: var(--cgx-carbon) !important; box-shadow: none !important; }
html body #cgx-rg .rg-field svg { color: var(--cgx-gold-light) !important; flex: none; }
html body #cgx-rg .rg-input { flex: 1 !important; height: 48px !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; color: var(--cgx-white) !important; font: 400 16px/1 var(--cgx-body) !important; outline: 0 !important; }
html body #cgx-rg .rg-input::placeholder { color: var(--cgx-placeholder-dark) !important; }
html body #cgx-rg .rg-field:focus-within { border-color: var(--cgx-gold) !important; }
html body #cgx-rg .rg-err { color: var(--cgx-error-dark) !important; font: 500 13px/1.4 var(--cgx-body) !important; }

/* Reveal (headings and copy only; set by script, so no-JS stays visible). */
@media (prefers-reduced-motion: no-preference) {
	.cgx-reveal { opacity: 0.001; transform: translateY(18px); transition: opacity 0.7s var(--cgx-ease), transform 0.7s var(--cgx-ease); }
	.cgx-reveal.is-in { opacity: 1; transform: none; }
}

/* Mobile sticky add-to-cart. */
.cgx-sticky-buy {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 900;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 12px var(--cgx-gutter) calc(12px + env(safe-area-inset-bottom));
	background: var(--cgx-black);
	border-top: 1px solid var(--cgx-line-dark);
	transform: translateY(110%);
	transition: transform 0.28s var(--cgx-ease);
}
.cgx-sticky-buy.is-on { transform: none; }
.cgx-sticky-buy__info { display: flex; flex-direction: column; min-width: 0; }
.cgx-sticky-buy__name { overflow: hidden; color: var(--cgx-white); font: 600 13px/1.3 var(--cgx-display); white-space: nowrap; text-overflow: ellipsis; }
.cgx-sticky-buy__price { color: var(--cgx-gold-light); font: 500 14px/1.3 var(--cgx-body); }
.cgx-sticky-buy__price del { color: var(--cgx-muted-dark); margin-right: 6px; }
.cgx-sticky-buy__price ins { text-decoration: none; }
.cgx .cgx-sticky-buy .cgx-btn { flex: none; min-height: 46px; padding: 0 20px; }
@media (min-width: 960px) { .cgx-sticky-buy { display: none; } }

/* Gallery before its slider starts: only the first image, so nothing collapses. */
.cgx .cgx-pdp__gallery .woocommerce-product-gallery:not(:has(.flex-viewport)) .woocommerce-product-gallery__image:nth-child(n+2) { display: none; }

.cgx .cgx-pdp__gallery .flex-viewport { height: auto !important; container-type: inline-size; }
/* Slides are one viewport wide from the first frame, before the slider sets widths. */
.cgx .cgx-pdp__gallery .flex-viewport .woocommerce-product-gallery__image { float: left; width: 100cqw !important; }
.cgx .cgx-pdp__gallery .woocommerce-product-gallery .flex-control-thumbs li img { aspect-ratio: 1; object-fit: contain; }

/* Header currency: wide enough for the full currency name, never clipped. */
html body.cgx .cgx-hd .cgx-currency .wSelect,
html body.cgx .cgx-hd .cgx-currency .wSelect-selected { width: 184px !important; min-width: 184px; white-space: nowrap; overflow: visible; text-overflow: clip; }
html body.cgx .cgx-hd .cgx-currency .wSelect-selected { padding: 0 34px 0 14px !important; box-sizing: border-box; }
html body.cgx .cgx-hd .cgx-currency .wSelect-options-holder { width: 184px !important; }

/* Breadcrumbs: one case throughout. */
.cgx .cgx-crumbs li,
.cgx .cgx-crumbs a,
.cgx .cgx-crumbs li:last-child,
.cgx-post__head .cgx-crumbs li:last-child { text-transform: none; letter-spacing: 0.02em; font-size: 13px; }

/* ==========================================================================
   Content pages (About, Contact, Quality, Storage, Membership, COA library,
   region pages). Their original markup is kept and typeset here in the
   house system: obsidian hero band, alternating obsidian and white sections,
   hairline structure, gold only on the primary action.
   ========================================================================== */

.cgx .cgx-reflow__body:has(> .lg-page),
.cgx .cgx-reflow__body:has(> .lg-mb-hero) { max-width: none; padding: 0; }
.cgx .cgx-reflow__body > .lg-page,
.cgx .cgx-reflow__body > .lg-mb-hero { margin-top: 0; }
.cgx .cgx-reflow .lg-page { color: var(--cgx-body-text); }

.cgx .cgx-reflow .lg-container,
.cgx .cgx-reflow .lg-mb-wrap { width: 100%; max-width: var(--cgx-max); margin-inline: auto; padding-inline: var(--cgx-gutter); }

/* Sections */
.cgx .cgx-reflow .lg-sec,
.cgx .cgx-reflow .lg-mb-sec { margin: 0; padding-block: var(--cgx-sec); border: 0; }
.cgx .cgx-reflow .lg-sec--slim { padding-block: clamp(48px, 5vw, 72px); }
.cgx .cgx-reflow .lg-sec--close { padding-bottom: clamp(88px, 10vw, 152px); }
.cgx .cgx-reflow .lg-light { background: var(--cgx-white); }
.cgx .cgx-reflow .lg-light + .lg-light { border-top: 1px solid var(--cgx-line); }
.cgx .cgx-reflow .lg-dark { background: var(--cgx-black); color: var(--cgx-soft-dark); }
.cgx .cgx-reflow .lg-dark :is(h1, h2, h3, h4, strong, th) { color: var(--cgx-white); }
.cgx .cgx-reflow .lg-dark :is(p, li, td, dd, span) { color: var(--cgx-muted-dark); }
.cgx .cgx-reflow .lg-dark strong { color: var(--cgx-white); }
.cgx .cgx-reflow .lg-dark a:not(.lg-btn) { color: var(--cgx-gold-light) !important; }

/* Hero band */
.cgx .cgx-reflow .lg-hero.lg-sec,
.cgx .cgx-reflow .lg-mb-hero {
	padding-block: clamp(64px, 9vw, 136px) clamp(56px, 7vw, 112px);
	background: var(--cgx-black);
	border-bottom: 1px solid var(--cgx-line-dark);
}
.cgx .cgx-reflow :is(.lg-h1, .lg-mb-h1) {
	max-width: 18ch;
	margin: 0 0 clamp(20px, 2.4vw, 28px);
	color: var(--cgx-white);
	font: 500 clamp(2.4rem, 1.2rem + 4.4vw, 5rem)/1 var(--cgx-display);
	letter-spacing: -0.015em;
	text-transform: uppercase;
	text-wrap: balance;
}
.cgx .cgx-reflow :is(.lg-gold, .lg-mb-hl) { color: var(--cgx-gold-light); }
.cgx .cgx-reflow :is(.lg-lede, .lg-mb-sub) {
	max-width: 58ch;
	margin: 0;
	color: var(--cgx-soft-dark);
	font: 400 clamp(16px, 0.9rem + 0.4vw, 18px)/1.65 var(--cgx-body);
}

/* Section heads */
.cgx .cgx-reflow :is(.lg-head, .lg-mb-head) { max-width: 760px; margin: 0 0 clamp(36px, 4.5vw, 64px); }
.cgx .cgx-reflow :is(.lg-head--center, .lg-mb-head--center) { margin-inline: auto; text-align: center; }
.cgx .cgx-reflow :is(.lg-head--center, .lg-mb-head--center) :is(p, .lg-sub) { margin-inline: auto; }
.cgx .cgx-reflow :is(.lg-h2, .lg-mb-h2) {
	margin: 0 0 16px;
	color: var(--cgx-text);
	font: 500 clamp(1.75rem, 1.05rem + 2.3vw, 3rem)/1.04 var(--cgx-display);
	letter-spacing: -0.01em;
	text-transform: uppercase;
	text-wrap: balance;
}
.cgx .cgx-reflow .lg-h3 { margin: 0 0 14px; color: var(--cgx-text); font: 600 clamp(1.25rem, 1rem + 0.9vw, 1.6rem)/1.2 var(--cgx-display); text-transform: none; letter-spacing: -0.005em; }
.cgx .cgx-reflow .lg-dark :is(.lg-h2, .lg-h3, .lg-mb-h2) { color: var(--cgx-white); }
.cgx .cgx-reflow :is(.lg-sub, .lg-mb-lede) { max-width: 62ch; margin: 0; color: var(--cgx-muted); font: 400 17px/1.65 var(--cgx-body); }
.cgx .cgx-reflow .lg-dark :is(.lg-sub, .lg-mb-lede) { color: var(--cgx-muted-dark); }
.cgx .cgx-reflow :is(.lg-mb-eyebrow) { display: block; margin: 0 0 18px; color: var(--cgx-bronze); font: 600 12px/1.2 var(--cgx-display); letter-spacing: 0.18em; text-transform: uppercase; }
.cgx .cgx-reflow .lg-mb-hero .lg-mb-eyebrow { color: var(--cgx-gold-light); }
.cgx .cgx-reflow .lg-body { max-width: 68ch; margin: 0 0 16px; }
.cgx .cgx-reflow .lg-body--last { margin-bottom: 0; }
.cgx .cgx-reflow .lg-note { max-width: 72ch; margin: 32px 0 0; padding-top: 20px; border-top: 1px solid var(--cgx-line); color: var(--cgx-muted); font-size: 14px; line-height: 1.6; }
.cgx .cgx-reflow .lg-dark .lg-note { border-color: var(--cgx-line-dark); }

/* Split: text beside an image */
.cgx .cgx-reflow .lg-split { display: grid; gap: clamp(36px, 5vw, 88px); align-items: center; }
@media (min-width: 900px) {
	.cgx .cgx-reflow .lg-split { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); }
	.cgx .cgx-reflow .lg-split--rev { grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); }
	.cgx .cgx-reflow .lg-split--rev > .lg-media { order: -1; }
}
.cgx .cgx-reflow .lg-split-text > :last-child { margin-bottom: 0; }
.cgx .cgx-reflow .lg-media { margin: 0; overflow: hidden; background: var(--cgx-paper); }
.cgx .cgx-reflow .lg-media img { display: block; width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.cgx .cgx-reflow .lg-media--tall img { aspect-ratio: 4 / 5; }
.cgx .cgx-reflow .lg-media--frame { padding: clamp(12px, 1.6vw, 20px); border: 1px solid var(--cgx-line); background: var(--cgx-white); }
.cgx .cgx-reflow .lg-dark .lg-media--frame { border-color: var(--cgx-line-dark); background: var(--cgx-carbon); }
@media (max-width: 899px) { .cgx .cgx-reflow .lg-media { max-width: 560px; } }

/* Numbered and ticked lists */
.cgx .cgx-reflow .lg-numlist { counter-reset: lgn; margin: 28px 0 0; padding: 0; list-style: none; }
.cgx .cgx-reflow .lg-numlist > li { counter-increment: lgn; position: relative; max-width: none; margin: 0; padding: 18px 0 18px 48px; border-top: 1px solid var(--cgx-line); }
.cgx .cgx-reflow .lg-numlist > li:last-child { border-bottom: 1px solid var(--cgx-line); }
.cgx .cgx-reflow .lg-numlist > li::before { content: counter(lgn, decimal-leading-zero); position: absolute; left: 0; top: 21px; color: var(--cgx-bronze); font: 500 12px/1 var(--cgx-mono); letter-spacing: 0.04em; }
.cgx .cgx-reflow .lg-dark .lg-numlist > li { border-color: var(--cgx-line-dark); }
.cgx .cgx-reflow .lg-dark .lg-numlist > li::before { color: var(--cgx-gold); }
.cgx .cgx-reflow .lg-numlist strong,
.cgx .cgx-reflow .lg-checklist strong,
.cgx .cgx-reflow .lg-tickgrid strong { display: block; margin-bottom: 4px; font: 600 16px/1.4 var(--cgx-display); }

.cgx .cgx-reflow :is(.lg-checklist, .lg-tickgrid) { margin: 28px 0 0; padding: 0; list-style: none; }
.cgx .cgx-reflow :is(.lg-checklist, .lg-tickgrid) > li { position: relative; max-width: none; margin: 0 0 16px; padding-left: 34px; }
.cgx .cgx-reflow :is(.lg-checklist, .lg-tickgrid) > li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 0.5em;
	width: 14px;
	height: 7px;
	border-left: 1.5px solid var(--cgx-bronze);
	border-bottom: 1.5px solid var(--cgx-bronze);
	transform: rotate(-45deg);
}
.cgx .cgx-reflow .lg-dark :is(.lg-checklist, .lg-tickgrid) > li::before { border-color: var(--cgx-gold); }
.cgx .cgx-reflow .lg-tickgrid { display: grid; gap: 0 clamp(24px, 4vw, 56px); grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.cgx .cgx-reflow .lg-tickgrid > li { margin: 0; padding: 18px 0 18px 34px; border-top: 1px solid var(--cgx-line); }
.cgx .cgx-reflow .lg-tickgrid > li::before { top: calc(18px + 0.5em); }
.cgx .cgx-reflow .lg-dark .lg-tickgrid > li { border-color: var(--cgx-line-dark); }
.cgx .cgx-reflow .lg-checklist--wide { display: grid; gap: 0 clamp(24px, 4vw, 56px); grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); }

/* Cards */
.cgx .cgx-reflow .lg-cards { display: grid; gap: 1px; margin: 0; padding: 1px; background: var(--cgx-line); grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.cgx .cgx-reflow .lg-dark .lg-cards { background: var(--cgx-line-dark); }
.cgx .cgx-reflow .lg-cards > .lg-card { margin: 0; padding: clamp(24px, 2.6vw, 36px); border: 0; background: var(--cgx-white); }
.cgx .cgx-reflow .lg-dark .lg-cards > .lg-card { background: var(--cgx-black); }
.cgx .cgx-reflow .lg-cards > .lg-card h3 { margin: 0 0 12px; font: 600 17px/1.35 var(--cgx-display); }
.cgx .cgx-reflow .lg-cards > .lg-card p { margin: 0; font-size: 15px; line-height: 1.65; }
.cgx .cgx-reflow .lg-cards-3 { counter-reset: lgc; }
.cgx .cgx-reflow .lg-card--num { counter-increment: lgc; }
.cgx .cgx-reflow .lg-card--num::before { content: counter(lgc, decimal-leading-zero); display: block; margin-bottom: 28px; color: var(--cgx-gold); font: 500 12px/1 var(--cgx-mono); letter-spacing: 0.04em; }

/* Quad: four numbered principles */
.cgx .cgx-reflow .lg-quad { display: grid; gap: clamp(28px, 3vw, 48px); grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); }
.cgx .cgx-reflow .lg-quad-item { padding-top: 22px; border-top: 1px solid var(--cgx-line-dark-strong); }
.cgx .cgx-reflow .lg-quad-num { display: block; margin-bottom: 20px; color: var(--cgx-gold) !important; font: 500 12px/1 var(--cgx-mono); letter-spacing: 0.04em; }
.cgx .cgx-reflow .lg-quad-item h3 { margin: 0 0 10px; font: 600 17px/1.35 var(--cgx-display); }
.cgx .cgx-reflow .lg-quad-item p { margin: 0; font-size: 15px; }

/* Rows and stripes: label left, explanation right */
.cgx .cgx-reflow :is(.lg-rows, .lg-stripes) { border-bottom: 1px solid var(--cgx-line); }
.cgx .cgx-reflow .lg-dark :is(.lg-rows, .lg-stripes) { border-color: var(--cgx-line-dark); }
.cgx .cgx-reflow :is(.lg-row, .lg-stripe) { display: grid; gap: 8px 32px; padding: clamp(20px, 2.2vw, 28px) 0; border-top: 1px solid var(--cgx-line); }
.cgx .cgx-reflow .lg-dark :is(.lg-row, .lg-stripe) { border-color: var(--cgx-line-dark); }
.cgx .cgx-reflow :is(.lg-row, .lg-stripe) :is(h3, h4) { margin: 0; font: 600 17px/1.35 var(--cgx-display); }
.cgx .cgx-reflow :is(.lg-row, .lg-stripe) p { max-width: 64ch; margin: 0; font-size: 15px; }
.cgx .cgx-reflow .lg-row-n { color: var(--cgx-bronze) !important; font: 500 12px/1.9 var(--cgx-mono); letter-spacing: 0.04em; }
.cgx .cgx-reflow .lg-dark .lg-row-n { color: var(--cgx-gold) !important; }
@media (min-width: 900px) {
	.cgx .cgx-reflow :is(.lg-row, .lg-stripe) { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: baseline; }
	.cgx .cgx-reflow .lg-row:has(> .lg-row-n) { grid-template-columns: 56px minmax(0, 5fr) minmax(0, 7fr); }
	.cgx .cgx-reflow :is(.lg-row, .lg-stripe) > :nth-child(n+3):not(:is(h3, h4)) { grid-column: -2; }
}

/* Link rows: one destination per row */
.cgx .cgx-reflow .lg-linkrows { margin: 0; border-bottom: 1px solid var(--cgx-line); }
.cgx .cgx-reflow .lg-linkrows > a {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 4px 24px;
	align-items: center;
	padding: 20px 4px 20px 0;
	border-top: 1px solid var(--cgx-line);
	color: var(--cgx-text) !important;
	text-decoration: none !important;
}
.cgx .cgx-reflow .lg-linkrows > a strong { grid-column: 1; font: 600 17px/1.35 var(--cgx-display); }
.cgx .cgx-reflow .lg-linkrows > a span { grid-column: 1; color: var(--cgx-muted); font: 400 15px/1.55 var(--cgx-body); }
.cgx .cgx-reflow .lg-linkrows > a i { grid-column: 2; grid-row: 1 / span 2; width: 9px; height: 9px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); transition: transform 0.3s var(--cgx-ease); }
.cgx .cgx-reflow .lg-linkrows > a:hover { color: var(--cgx-bronze) !important; }
.cgx .cgx-reflow .lg-linkrows > a:hover i { transform: translateX(4px) rotate(45deg); }

/* Chips: related pages */
.cgx .cgx-reflow .lg-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.cgx .cgx-reflow .lg-chips a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 18px;
	border: 1px solid var(--cgx-line-strong);
	color: var(--cgx-text) !important;
	font: 600 12px/1 var(--cgx-display);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: border-color 0.2s ease, color 0.2s ease;
}
.cgx .cgx-reflow .lg-chips a:hover { border-color: var(--cgx-text); color: var(--cgx-bronze) !important; }

/* Actions and buttons */
.cgx .cgx-reflow .lg-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: clamp(28px, 3vw, 40px); }
.cgx .cgx-reflow .lg-actions--center { justify-content: center; }
.cgx .cgx-reflow a.lg-btn,
.cgx .cgx-reflow button.lg-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 52px;
	margin: 0;
	padding: 0 28px;
	border: 1px solid var(--cgx-gold);
	border-radius: 0;
	background: var(--cgx-gold);
	color: var(--cgx-black) !important;
	font: 600 12.5px/1.2 var(--cgx-display);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none !important;
	box-shadow: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.cgx .cgx-reflow a.lg-btn:hover,
.cgx .cgx-reflow button.lg-btn:hover { background: var(--cgx-gold-hover); border-color: var(--cgx-gold-hover); }
.cgx .cgx-reflow a.lg-btn:is(.lg-btn--ghost, .lg-btn--line) { background: transparent; border-color: var(--cgx-text); color: var(--cgx-text) !important; }
.cgx .cgx-reflow .lg-dark a.lg-btn:is(.lg-btn--ghost, .lg-btn--line) { border-color: var(--cgx-line-dark-strong); color: var(--cgx-white) !important; }
.cgx .cgx-reflow a.lg-btn:is(.lg-btn--ghost, .lg-btn--line):hover { background: var(--cgx-text); color: var(--cgx-white) !important; }
.cgx .cgx-reflow .lg-dark a.lg-btn:is(.lg-btn--ghost, .lg-btn--line):hover { background: var(--cgx-white); border-color: var(--cgx-white); color: var(--cgx-black) !important; }
.cgx .cgx-reflow .lg-btn--block { display: flex; width: 100%; }
.cgx .cgx-reflow .lg-dark a.lg-btn:not(.lg-btn--ghost):not(.lg-btn--line) { color: var(--cgx-black) !important; }
@media (max-width: 599px) {
	.cgx .cgx-reflow .lg-actions { flex-direction: column; align-items: stretch; }
	.cgx .cgx-reflow .lg-actions .lg-btn { width: 100%; }
}

/* Tables */
.cgx .cgx-reflow .lg-tablewrap { margin: 0; overflow-x: auto; border: 1px solid var(--cgx-line); -webkit-overflow-scrolling: touch; }
.cgx .cgx-reflow .lg-dark .lg-tablewrap { border-color: var(--cgx-line-dark); }
.cgx .cgx-reflow .lg-table { width: 100%; min-width: 560px; margin: 0; border-collapse: collapse; }
.cgx .cgx-reflow .lg-table :is(th, td) { padding: 16px 20px; border: 0; border-bottom: 1px solid var(--cgx-line); text-align: left; vertical-align: top; font: 400 15px/1.55 var(--cgx-body); }
.cgx .cgx-reflow .lg-table tr:last-child > td { border-bottom: 0; }
.cgx .cgx-reflow .lg-table th { color: var(--cgx-muted); background: var(--cgx-paper); font: 600 12px/1.4 var(--cgx-display); letter-spacing: 0.12em; text-transform: uppercase; }
.cgx .cgx-reflow .lg-table td:first-child { color: var(--cgx-text); font-weight: 500; }
.cgx .cgx-reflow .lg-dark .lg-table :is(th, td) { border-color: var(--cgx-line-dark); }
.cgx .cgx-reflow .lg-dark .lg-table th { color: var(--cgx-muted-dark); background: var(--cgx-carbon); }
.cgx .cgx-reflow .lg-dark .lg-table td:first-child { color: var(--cgx-white); }
.cgx .cgx-reflow .lg-pill { display: inline-block; padding: 4px 10px; border: 1px solid var(--cgx-line-strong); color: var(--cgx-text); font: 600 12px/1.3 var(--cgx-display); letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; }
.cgx .cgx-reflow .lg-dark .lg-pill { border-color: var(--cgx-gold-rule); color: var(--cgx-gold-light); }
.cgx .cgx-reflow .lg-pill--warn { border-color: var(--cgx-error-line); color: var(--cgx-error); background: var(--cgx-error-bg); }

/* Steps: stepper, flow and membership steps */
.cgx .cgx-reflow :is(.lg-stepper, .lg-flow, .lg-mb-steps) { counter-reset: lgs; display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.cgx .cgx-reflow :is(.lg-stepper, .lg-flow, .lg-mb-steps) > li { counter-increment: lgs; position: relative; max-width: none; margin: 0; padding: 0 0 32px 44px; }
.cgx .cgx-reflow :is(.lg-stepper, .lg-flow, .lg-mb-steps) > li::after { content: ""; position: absolute; left: 7px; top: 22px; bottom: 0; width: 1px; background: var(--cgx-line-dark-strong); }
.cgx .cgx-reflow .lg-light :is(.lg-stepper, .lg-flow) > li::after,
.cgx .cgx-reflow .lg-mb-sec--how .lg-mb-steps > li::after { background: var(--cgx-line-strong); }
.cgx .cgx-reflow :is(.lg-stepper, .lg-flow, .lg-mb-steps) > li:last-child { padding-bottom: 0; }
.cgx .cgx-reflow :is(.lg-stepper, .lg-flow, .lg-mb-steps) > li:last-child::after { display: none; }
.cgx .cgx-reflow :is(.lg-step-dot, .lg-flow-dot) { position: absolute; left: 0; top: 4px; width: 15px; height: 15px; border: 1px solid var(--cgx-gold); background: var(--cgx-black); }
.cgx .cgx-reflow :is(.lg-step-dot, .lg-flow-dot)::after { content: ""; position: absolute; inset: 4px; background: var(--cgx-gold); }
.cgx .cgx-reflow :is(.lg-stepper, .lg-flow, .lg-mb-steps) > li :is(h3, h4, strong) { display: block; margin: 0 0 6px; font: 600 17px/1.35 var(--cgx-display); }
.cgx .cgx-reflow :is(.lg-stepper, .lg-flow) > li p { margin: 0; font-size: 15px; }
@media (min-width: 900px) {
	.cgx .cgx-reflow :is(.lg-stepper, .lg-flow, .lg-mb-steps) { grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 32px; }
	.cgx .cgx-reflow :is(.lg-stepper, .lg-flow, .lg-mb-steps) > li { padding: 44px 0 0; }
	.cgx .cgx-reflow :is(.lg-stepper, .lg-flow, .lg-mb-steps) > li::after { left: 22px; right: -32px; top: 7px; bottom: auto; width: auto; height: 1px; }
	.cgx .cgx-reflow :is(.lg-stepper, .lg-flow, .lg-mb-steps) > li:last-child::after { display: none; }
	.cgx .cgx-reflow :is(.lg-step-dot, .lg-flow-dot) { top: 0; }
}

/* Membership */
.cgx .cgx-reflow .lg-mb-sec--how { background: var(--cgx-white); }
.cgx .cgx-reflow .lg-mb-sec--terms { background: var(--cgx-paper); border-top: 1px solid var(--cgx-line); }
.cgx .cgx-reflow .lg-mb-strap { display: flex; flex-wrap: wrap; gap: 10px; margin: 32px 0 0; padding: 0; list-style: none; }
.cgx .cgx-reflow .lg-mb-strap li { max-width: none; margin: 0; padding: 10px 16px; border: 1px solid var(--cgx-gold-rule); color: var(--cgx-white); font: 600 12.5px/1.3 var(--cgx-display); letter-spacing: 0.1em; text-transform: uppercase; }
.cgx .cgx-reflow .lg-mb-trust { margin: 24px 0 0; color: var(--cgx-muted-dark); font-size: 14px; }
.cgx .cgx-reflow .lg-mb-steps > li { color: var(--cgx-body-text); }
.cgx .cgx-reflow .lg-mb-steps > li::before { content: ""; position: absolute; left: 0; top: 4px; width: 15px; height: 15px; border: 1px solid var(--cgx-gold); background: var(--cgx-white); box-shadow: inset 0 0 0 4px var(--cgx-white), inset 0 0 0 15px var(--cgx-gold); }
@media (min-width: 900px) { .cgx .cgx-reflow .lg-mb-steps > li::before { top: 0; } }
.cgx .cgx-reflow .lg-mb-steps__n { display: none; }
.cgx .cgx-reflow .lg-mb-steps__meta { display: block; margin-bottom: 10px; color: var(--cgx-bronze); font: 600 12px/1.2 var(--cgx-display); letter-spacing: 0.14em; text-transform: uppercase; }
.cgx .cgx-reflow .lg-mb-steps__d { display: block; color: var(--cgx-muted); font-size: 15px; line-height: 1.6; }
.cgx .cgx-reflow .lg-mb-terms { max-width: 880px; margin: 0 auto; border-bottom: 1px solid var(--cgx-line-strong); }
.cgx .cgx-reflow .lg-mb-term { border-top: 1px solid var(--cgx-line-strong); }
.cgx .cgx-reflow .lg-mb-term summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 64px; padding: 18px 0; color: var(--cgx-text); font: 600 17px/1.4 var(--cgx-display); list-style: none; cursor: pointer; }
.cgx .cgx-reflow .lg-mb-term summary::-webkit-details-marker { display: none; }
.cgx .cgx-reflow .lg-mb-term__mark { position: relative; flex: none; width: 14px; height: 14px; }
.cgx .cgx-reflow .lg-mb-term__mark::before,
.cgx .cgx-reflow .lg-mb-term__mark::after { content: ""; position: absolute; left: 0; top: 6.5px; width: 14px; height: 1.5px; background: var(--cgx-text); transition: transform 0.3s var(--cgx-ease); }
.cgx .cgx-reflow .lg-mb-term__mark::after { transform: rotate(90deg); }
.cgx .cgx-reflow .lg-mb-term[open] .lg-mb-term__mark::after { transform: rotate(0deg); }
.cgx .cgx-reflow .lg-mb-term__a { padding: 0 48px 24px 0; }
.cgx .cgx-reflow .lg-mb-term__a p { margin: 0 0 12px; color: var(--cgx-muted); font-size: 15px; }

/* Closing section */
.cgx .cgx-reflow .lg-final { max-width: 760px; }

/* Contact */
.cgx .cgx-reflow .lg-info .lg-h2,
.cgx .cgx-reflow .lg-formwrap .lg-h2 { font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.2rem); }
.cgx .cgx-reflow .lg-split:has(.lg-formwrap) { align-items: start; }
.cgx .cgx-reflow .lg-iconlist { margin: 28px 0 0; padding: 0; list-style: none; border-bottom: 1px solid var(--cgx-line); }
.cgx .cgx-reflow .lg-iconlist > li { display: flex; gap: 16px; align-items: flex-start; max-width: none; margin: 0; padding: 18px 0; border-top: 1px solid var(--cgx-line); }
.cgx .cgx-reflow .lg-ic { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border: 1px solid var(--cgx-line); color: var(--cgx-bronze); }
.cgx .cgx-reflow .lg-ic svg { width: 16px; height: 16px; fill: currentColor; }
.cgx .cgx-reflow .lg-ic-body { display: flex; flex-direction: column; gap: 2px; padding-top: 2px; }
.cgx .cgx-reflow .lg-ic-body strong { font: 600 12px/1.4 var(--cgx-display); letter-spacing: 0.12em; text-transform: uppercase; color: var(--cgx-muted); }
.cgx .cgx-reflow .lg-social { display: flex; align-items: center; gap: 16px; margin-top: 28px; }
.cgx .cgx-reflow .lg-social-label { color: var(--cgx-muted); font: 600 12px/1.2 var(--cgx-display); letter-spacing: 0.12em; text-transform: uppercase; }
.cgx .cgx-reflow .lg-social-row { display: flex; gap: 8px; }
.cgx .cgx-reflow .lg-social-row a { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--cgx-line); color: var(--cgx-text) !important; text-decoration: none !important; transition: border-color 0.2s ease, color 0.2s ease; }
.cgx .cgx-reflow .lg-social-row a:hover { border-color: var(--cgx-text); color: var(--cgx-bronze) !important; }
.cgx .cgx-reflow .lg-social-row svg { width: 18px; height: 18px; fill: currentColor; }
.cgx .cgx-reflow .lg-formwrap { padding: clamp(24px, 3.4vw, 48px); border: 1px solid var(--cgx-line); background: var(--cgx-paper); }
.cgx .cgx-reflow .lg-form { display: grid; gap: 20px; margin-top: 28px; }
.cgx .cgx-reflow .lg-field { display: grid; gap: 8px; }
.cgx .cgx-reflow .lg-field label { margin: 0; }
.cgx .cgx-reflow .lg-field :is(input, textarea, select) { width: 100%; background: var(--cgx-white); }
.cgx .cgx-reflow .lg-req { color: var(--cgx-bronze); }
.cgx .cgx-reflow .lg-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.cgx .cgx-reflow .lg-submit { justify-self: start; min-width: 180px; }
.cgx .cgx-reflow .lg-spinner { display: none; width: 14px; height: 14px; border: 1.5px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: cgx-spin 0.8s linear infinite; }
.cgx .cgx-reflow .lg-submit[disabled] .lg-spinner,
.cgx .cgx-reflow .lg-submit.is-loading .lg-spinner { display: inline-block; }
@keyframes cgx-spin { to { transform: rotate(360deg); } }
.cgx .cgx-reflow .lg-formnote:empty { display: none; }
.cgx .cgx-reflow .lg-formnote { margin: 0; font-size: 15px; }

/* COA library */
.cgx .cgx-reflow .lg-hero:not(.lg-sec) {
	margin: 0 calc(-1 * var(--cgx-gutter)) clamp(32px, 4vw, 48px);
	padding: clamp(56px, 8vw, 120px) var(--cgx-gutter) clamp(48px, 6vw, 88px);
	background: var(--cgx-black);
	color: var(--cgx-soft-dark);
}
.cgx .cgx-reflow__body:has(.lg-hero:not(.lg-sec)) > :first-child { margin-top: 0; }
.cgx .cgx-reflow .lg-hero:not(.lg-sec) h1 { max-width: 18ch; margin: 0 0 20px; color: var(--cgx-white); font: 500 clamp(2.4rem, 1.2rem + 4.4vw, 5rem)/1 var(--cgx-display); letter-spacing: -0.015em; text-transform: uppercase; }
.cgx .cgx-reflow .lg-hero:not(.lg-sec) p { max-width: 58ch; color: var(--cgx-soft-dark); font-size: clamp(16px, 0.9rem + 0.4vw, 18px); }
.cgx .cgx-reflow .lg-badges { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 0; }
.cgx .cgx-reflow .lg-badge { display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px; border: 1px solid var(--cgx-gold-rule); color: var(--cgx-white); font: 600 12px/1.2 var(--cgx-display); letter-spacing: 0.12em; text-transform: uppercase; }
.cgx .cgx-reflow .lg-badge svg { width: 16px; height: 16px; color: var(--cgx-gold); }
.cgx .cgx-reflow .lg-subtitle { display: none; }
.cgx .cgx-reflow .lg-filters { display: grid; gap: 12px; margin: 0 0 20px; }
@media (min-width: 720px) { .cgx .cgx-reflow .lg-filters { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); } }
.cgx .cgx-reflow .lg-search { position: relative; }
.cgx .cgx-reflow .lg-search svg { position: absolute; left: 16px; top: 50%; width: 18px; height: 18px; color: var(--cgx-muted); transform: translateY(-50%); pointer-events: none; }
.cgx .cgx-reflow .lg-search input { width: 100%; padding-left: 46px !important; }
.cgx .cgx-reflow .lg-select { width: 100%; }
.cgx .cgx-reflow .lg-count { margin: 0 0 20px; color: var(--cgx-muted); font: 500 12px/1.4 var(--cgx-mono); letter-spacing: 0.04em; }
.cgx .cgx-reflow .lg-grid { display: grid; gap: 1px; padding: 1px; background: var(--cgx-line); grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.cgx .cgx-reflow .lg-grid > .cgx-card { display: flex; flex-direction: column; margin: 0; padding: 0; border: 0; background: var(--cgx-white); }
.cgx .cgx-reflow .lg-grid .cgx-card-img { position: relative; aspect-ratio: 4 / 5; overflow: hidden; padding: 20px; background: var(--cgx-paper); cursor: zoom-in; }
.cgx .cgx-reflow .lg-grid .cgx-card-img img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform 0.5s var(--cgx-ease); }
.cgx .cgx-reflow .lg-grid .cgx-card:hover .cgx-card-img img { transform: scale(1.03); }
.cgx .cgx-reflow .lg-grid .cgx-overlay { position: absolute; right: 14px; bottom: 14px; display: grid; place-items: center; width: 40px; height: 40px; background: var(--cgx-black); color: var(--cgx-white); }
.cgx .cgx-reflow .lg-grid .cgx-zoom-icon { width: 18px; height: 18px; }
.cgx .cgx-reflow .lg-grid .cgx-card-body { display: flex; flex: 1; flex-direction: column; gap: 10px; padding: 20px 20px 22px; }
.cgx .cgx-reflow .lg-grid .cgx-card-header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.cgx .cgx-reflow .lg-grid .cgx-card-name { margin: 0; font: 600 16px/1.3 var(--cgx-display); color: var(--cgx-text); }
.cgx .cgx-reflow .lg-grid .cgx-cat-badge { color: var(--cgx-muted); font: 600 12px/1 var(--cgx-display); letter-spacing: 0.12em; text-transform: uppercase; }
.cgx .cgx-reflow .lg-grid .cgx-purity-row { display: flex; gap: 6px; color: var(--cgx-muted); font: 500 13px/1.4 var(--cgx-mono); }
.cgx .cgx-reflow .lg-grid .cgx-purity-row > :last-child { color: var(--cgx-text); }
.cgx .cgx-reflow .lg-grid .cgx-card-body :is(a, button) { margin-top: auto; width: 100%; }
.cgx .cgx-reflow .lg-empty { padding: 48px 0; color: var(--cgx-muted); text-align: center; }

/* Content-page refinements after the first device pass. */
.cgx .cgx-reflow .lg-media img,
.cgx .cgx-reflow .lg-media--tall img { height: auto; aspect-ratio: auto; object-fit: contain; }
.cgx .cgx-reflow .lg-media { background: transparent; }
.cgx .cgx-reflow a.lg-btn,
.cgx .cgx-reflow button.lg-btn { padding: 14px 28px; line-height: 1.35; text-align: center; }
.cgx .cgx-reflow .lg-chips a { min-height: 44px; padding: 12px 18px; line-height: 1.35; }
.cgx .cgx-reflow .lg-linkrows + .lg-note,
.cgx .cgx-reflow .lg-rows + .lg-note { padding-top: 0; border-top: 0; }
.cgx .cgx-reflow .lg-mb-term summary::after,
.cgx .cgx-reflow .lg-mb-term summary::before { content: none !important; display: none !important; }
.cgx .cgx-reflow .lg-grid { gap: 1px !important; }

/* Desktop: the currency selector lives in the information bar. */
.cgx-notice-bar__currency:empty { display: none !important; }
@media (min-width: 1200px) {
	.cgx-notice-bar { position: relative; z-index: 60; }
	.cgx-notice-bar ul { overflow: visible; }
	.cgx .cgx-notice-bar .cgx-currency { display: block; }
	.cgx .cgx-notice-bar .cgx-currency .wSelect,
	.cgx .cgx-notice-bar .cgx-currency .wSelect-selected { width: 168px !important; min-width: 168px; height: 26px; border: 0 !important; white-space: nowrap; }
	.cgx .cgx-notice-bar .cgx-currency .wSelect-selected { padding: 0 26px 0 0 !important; line-height: 26px !important; color: var(--cgx-soft-dark) !important; font: 500 12px/26px var(--cgx-display) !important; letter-spacing: 0.1em; background-position: right 4px center !important; }
	.cgx .cgx-notice-bar .cgx-currency .wSelect-options-holder { width: 220px !important; top: 30px !important; }
	.cgx .cgx-notice-bar .cgx-currency select { height: 26px; border: 0 !important; color: var(--cgx-soft-dark) !important; font-size: 12px !important; }
}
/* Mobile information bar: two items that always fit. */
@media (max-width: 719px) {
	.cgx-notice-bar li { letter-spacing: 0.04em; }
}
@media (max-width: 399px) {
	.cgx-notice-bar ul { justify-content: center; }
	.cgx-notice-bar li:nth-child(4) { display: none; }
}

/* Touch: footer links are full 44px targets on phones and tablets. */
@media (max-width: 1023px) {
	.cgx-ft__col li { margin: 0; }
	.cgx .cgx-ft__col a { display: flex; align-items: center; min-height: 44px; }
	.cgx .cgx-ft__base ul { gap: 4px 20px; }
	.cgx .cgx-ft__base a { display: inline-flex; align-items: center; min-height: 44px; }
	.cgx .cgx-ft__socials a { min-height: 44px; }
}

/* Warning pill keeps its own colours on any ground. */
.cgx .cgx-reflow .lg-sec .lg-pill.lg-pill--warn { border-color: var(--cgx-error-line); background: var(--cgx-error-bg); color: var(--cgx-error); }

/* Related-page links on the FAQ and guides read as chips, never a run-on line. */
.cgx .cgx-reflow__body .cgxf-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 0; }
.cgx .cgx-reflow__body .cgxf-chips a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 12px 18px;
	border: 1px solid var(--cgx-line-strong);
	color: var(--cgx-text) !important;
	font: 600 12px/1.35 var(--cgx-display);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none !important;
}
.cgx .cgx-reflow__body .cgxf-chips a:hover { border-color: var(--cgx-text); color: var(--cgx-bronze) !important; }

/* Block product buttons (empty cart suggestions) in the house style. */
.cgx .wp-block-button__link.add_to_cart_button,
.cgx .wc-block-components-product-button__button {
	border: 1px solid var(--cgx-black) !important;
	border-radius: 0 !important;
	background: var(--cgx-white) !important;
	color: var(--cgx-black) !important;
	font: 600 12px/1.2 var(--cgx-display) !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.cgx .wp-block-button__link.add_to_cart_button:hover { background: var(--cgx-black) !important; color: var(--cgx-white) !important; }

/* Mobile and tablet hero: photo on top, every word on solid black below it.
   The copy never sits over the white vial labels at any phone height. */
@media (max-width: 899px) {
	.cgx-hero--photo { display: block; min-height: 0; --cgx-hero-photo-h: clamp(300px, 50svh, 480px); }
	.cgx-hero--photo .cgx-hero__img {
		position: relative;
		inset: auto;
		z-index: -2;
		width: 100%;
		height: var(--cgx-hero-photo-h);
		object-fit: cover;
		object-position: 68% 38%;
	}
	.cgx-hero--photo::before {
		inset: auto 0 auto 0;
		top: calc(var(--cgx-hero-photo-h) - 150px);
		height: 150px;
		background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 55%, var(--cgx-black) 100%);
	}
	.cgx-hero--photo .cgx-hero__inner { position: relative; margin-top: -36px; padding-block: 0 44px; }
}

/* Research guides: obsidian title band, image straddling into the article,
   uppercase display headings like every other page. */
.cgx .cgx-post__head {
	max-width: calc(960px + 2 * var(--cgx-gutter));
	padding-top: clamp(40px, 6vw, 88px);
	padding-bottom: clamp(104px, 12vw, 176px);
	border-image: conic-gradient(var(--cgx-black) 0 0) fill 0 / / 0 100vw;
}
.cgx .cgx-post__head .cgx-crumbs a { color: var(--cgx-muted-dark); }
.cgx .cgx-post__head .cgx-crumbs a:hover { color: var(--cgx-white); }
.cgx .cgx-post__head .cgx-crumbs li { color: var(--cgx-soft-dark); }
.cgx .cgx-post__head .cgx-crumbs li + li::before { color: var(--cgx-line-dark-strong); }
.cgx .cgx-post__title {
	max-width: 22ch;
	color: var(--cgx-white);
	font: 500 clamp(2rem, 1.2rem + 3vw, 4rem)/1.02 var(--cgx-display);
	text-transform: uppercase;
	letter-spacing: -0.015em;
}
.cgx .cgx-post__meta { margin-bottom: 0; color: var(--cgx-muted-dark); }
.cgx .cgx-post__media { position: relative; max-width: calc(1100px + 2 * var(--cgx-gutter)); margin: calc(-1 * clamp(72px, 9vw, 136px)) auto clamp(40px, 5vw, 64px); }
.cgx .cgx-post__media img { aspect-ratio: 16 / 9; max-height: none; object-fit: contain; background: var(--cgx-paper); }
.cgx .cgx-post__body h2 {
	margin: clamp(48px, 5vw, 64px) 0 16px;
	padding-top: 20px;
	border-top: 1px solid var(--cgx-line);
	font: 500 clamp(1.45rem, 1.05rem + 1.3vw, 2.1rem)/1.08 var(--cgx-display);
	letter-spacing: -0.01em;
	text-transform: uppercase;
}
.cgx .cgx-post__body :is(h2, h3) strong { font-weight: inherit; }
.cgx .cgx-post__body > h2:first-child { margin-top: 0; }
.cgx .cgx-post__body ul li::marker { color: var(--cgx-gold); }
.cgx .cgx-post__body table th { color: var(--cgx-muted); font: 600 12px/1.4 var(--cgx-display); letter-spacing: 0.12em; text-transform: uppercase; }
@media (max-width: 599px) {
	.cgx .cgx-post__body table { display: block; overflow-x: auto; }
	.cgx .cgx-post__body table :is(th, td) { min-width: 120px; }
}

/* Cart: the checkout step is the one gold action on the page. */
.cgx .wc-block-cart__submit-button,
.cgx .wc-block-cart__submit-container .wc-block-components-button:not(.is-link),
.cgx .checkout-button.button.alt {
	min-height: 56px;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--cgx-gold) !important;
	color: var(--cgx-black) !important;
	box-shadow: none !important;
	font: 600 13px/1.2 var(--cgx-display) !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none !important;
}
.cgx .wc-block-cart__submit-button:hover,
.cgx .wc-block-cart__submit-container .wc-block-components-button:not(.is-link):hover,
.cgx .checkout-button.button.alt:hover { background: var(--cgx-gold-hover) !important; }
.cgx .wc-block-cart__submit-button .wc-block-components-button__text { color: inherit !important; }
.cgx .wp-block-woocommerce-cart { padding-bottom: clamp(56px, 7vw, 104px); }

/* Step and row numbers are structure, not batch data: display face, not mono. */
.cgx .cgx-reflow :is(.lg-numlist > li::before, .lg-card--num::before, .lg-row-n, .lg-quad-num, .lg-count) { font-family: var(--cgx-display); font-weight: 600; letter-spacing: 0.08em; }
.cgx .cgx-reflow .lg-numlist > li::before,
.cgx .cgx-reflow .lg-card--num::before { font-family: var(--cgx-display); font-weight: 600; letter-spacing: 0.08em; }

/* ==========================================================================
   Navigation (Lamborghini pattern): MENU on the left at every width, logo
   centred, search, account and cart on the right. The menu panel carries the
   whole site map. Desktop: a black panel from the left over a dimmed page.
   ========================================================================== */
.cgx .cgx-hd .cgx-nav { display: none !important; }
.cgx .cgx-hd .cgx-hd__bar { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 16px; }
.cgx .cgx-hd .cgx-hd__brand { justify-self: center; }
.cgx .cgx-hd .cgx-hd__burger {
	display: inline-flex !important;
	justify-self: start;
	align-items: center;
	gap: 12px;
	width: auto;
	min-width: 44px;
	margin-left: -10px;
	padding: 0 10px;
}
.cgx-hd__menu-label { color: currentColor; font: 500 14px/1 var(--cgx-display); letter-spacing: 0.16em; text-transform: uppercase; }
@media (max-width: 399px) { .cgx-hd__menu-label { display: none; } }
@media (min-width: 1200px) {
	.cgx .cgx-hd__logo { height: 44px; }
	.cgx-hd__tools { margin-right: -10px; }
}

.cgx-drawer-backdrop { position: fixed; inset: 0; z-index: 1099; background: rgba(0, 0, 0, 0.7); }
.cgx-drawer-backdrop[hidden] { display: none; }
.cgx-drawer-backdrop:not([hidden]) { animation: cgx-fade 0.25s var(--cgx-ease); }
@media (max-width: 767px) { .cgx-drawer-backdrop { display: none !important; } }
@media (min-width: 768px) {
	.cgx-drawer { inset: 0 auto 0 0; width: min(520px, 100%); border-right: 1px solid var(--cgx-line-dark); }
	.cgx-drawer:not([hidden]) { animation: cgx-drawer-in 0.35s var(--cgx-ease); }
	.cgx-drawer__nav { padding-top: 24px; }
	.cgx-drawer__primary { padding: 22px 0; font-size: 26px; }
}
body.admin-bar .cgx-drawer { top: 32px; }
@media (max-width: 782px) { body.admin-bar .cgx-drawer { top: 46px; } }
@keyframes cgx-drawer-in { from { opacity: 0; transform: translateX(-24px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
	.cgx-drawer:not([hidden]),
	.cgx-drawer-backdrop:not([hidden]) { animation: none; }
}
.cgx-drawer__group summary { font-size: 14px; }
.cgx-drawer__group a { min-height: 44px; display: flex; align-items: center; padding: 8px 0; }

/* Currency inside the menu panel: full width, full name, arrow clear of text. */
html body.cgx .cgx-drawer .cgx-currency .wSelect,
html body.cgx .cgx-drawer .cgx-currency .wSelect-selected,
html body.cgx .cgx-drawer .cgx-currency select { width: 100% !important; max-width: none !important; min-width: 0 !important; height: 48px; }
html body.cgx .cgx-drawer .cgx-currency .wSelect-selected { padding: 0 40px 0 16px !important; line-height: 46px !important; white-space: nowrap; background-position: right 16px center !important; }
html body.cgx .cgx-drawer .cgx-currency .wSelect-options-holder { width: 100% !important; }

/* ==========================================================================
   Currency: plain ISO codes, no flags. Quiet text codes in the information
   bar, a three-cell selector in the menu panel.
   ========================================================================== */
.cgx .cgx-cur { display: flex; align-items: center; gap: 14px; margin: 0; }
.cgx .cgx-cur__label { color: var(--cgx-muted-dark); font: 500 12px/1 var(--cgx-display); letter-spacing: 0.16em; text-transform: uppercase; }
.cgx .cgx-cur__opts { display: flex; align-items: center; }
.cgx .cgx-cur__opt {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	margin: 0;
	padding: 0 8px;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: var(--cgx-muted-dark);
	font: 500 12px/1 var(--cgx-display);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	cursor: pointer;
	transition: color 0.2s ease;
}
.cgx .cgx-cur__opt:hover,
.cgx .cgx-cur__opt.is-active { color: var(--cgx-white); }
.cgx .cgx-notice-bar .cgx-cur__label { display: none; }
.cgx .cgx-notice-bar .cgx-cur__opt { height: 26px; }
.cgx .cgx-notice-bar .cgx-cur__opt + .cgx-cur__opt { border-left: 1px solid var(--cgx-line-dark-strong); }
.cgx .cgx-notice-bar .cgx-cur__opt.is-active { text-decoration: underline; text-decoration-color: var(--cgx-gold); text-underline-offset: 6px; text-decoration-thickness: 1px; }

.cgx .cgx-drawer .cgx-cur { flex-direction: column; align-items: stretch; gap: 12px; }
.cgx .cgx-drawer .cgx-cur__opts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border: 1px solid var(--cgx-line-dark-strong); }
.cgx .cgx-drawer .cgx-cur__opt { height: 48px; padding: 0; font-size: 13px; }
.cgx .cgx-drawer .cgx-cur__opt + .cgx-cur__opt { border-left: 1px solid var(--cgx-line-dark-strong); }
.cgx .cgx-drawer .cgx-cur__opt.is-active { background: var(--cgx-white); color: var(--cgx-black); }
.cgx .cgx-drawer .cgx-cur__opt:not(.is-active):hover { background: var(--cgx-charcoal); }

/* Currency label (location-based currency; not a picker). */
.cgx .cgx-cur { display: flex; align-items: center; gap: 10px; margin: 0; }
.cgx .cgx-cur__code { color: var(--cgx-white); font: 500 12px/1 var(--cgx-display); letter-spacing: 0.16em; }
.cgx .cgx-notice-bar .cgx-cur__label { display: inline; }
.cgx .cgx-drawer .cgx-cur { flex-direction: row; justify-content: space-between; padding: 14px 0; border-top: 1px solid var(--cgx-line-dark); border-bottom: 1px solid var(--cgx-line-dark); }
.cgx .cgx-drawer .cgx-cur__code { font-size: 13px; }

/* ==========================================================================
   Customer account
   ========================================================================== */
.cgx .cgx-acct { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); padding-bottom: clamp(64px, 8vw, 120px); }
@media (min-width: 960px) { .cgx .cgx-acct { grid-template-columns: 280px minmax(0, 1fr); align-items: start; } }
.cgx .cgx-acct__nav { position: relative; background: var(--cgx-black); color: var(--cgx-white); }
@media (min-width: 960px) { .cgx .cgx-acct__nav { position: sticky; top: calc(var(--cgx-hd-h) + 24px); } }
.cgx .cgx-acct__who { display: flex; align-items: center; gap: 14px; padding: 22px 22px 20px; border-bottom: 1px solid var(--cgx-line-dark); }
.cgx .cgx-acct__initial { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border: 1px solid var(--cgx-gold); color: var(--cgx-gold); font: 500 18px/1 var(--cgx-display); }
.cgx .cgx-acct__whotext { display: grid; gap: 2px; min-width: 0; }
.cgx .cgx-acct__whotext strong { overflow: hidden; color: var(--cgx-white); font: 600 15px/1.3 var(--cgx-display); text-overflow: ellipsis; white-space: nowrap; }
.cgx .cgx-acct__whotext span { overflow: hidden; color: var(--cgx-muted-dark); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.cgx .cgx-acct__list { margin: 0; padding: 8px 0; list-style: none; }
.cgx .cgx-acct__list li { margin: 0; }
.cgx .cgx-acct__list a {
	display: flex;
	align-items: center;
	min-height: 46px;
	padding: 0 22px;
	border-left: 0;
	color: var(--cgx-muted-dark);
	font: 500 13px/1.2 var(--cgx-display);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	transition: color 0.2s ease, background-color 0.2s ease;
}
.cgx .cgx-acct__list a:hover { color: var(--cgx-white); background: var(--cgx-carbon); }
.cgx .cgx-acct__list a[aria-current="page"] { color: var(--cgx-black); background: var(--cgx-gold); }
.cgx .cgx-acct__list .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--cgx-muted-dark); border-top: 1px solid var(--cgx-line-dark); margin-top: 8px; }
@media (max-width: 959px) {
	.cgx .cgx-acct__list { display: flex; overflow-x: auto; padding: 0; scrollbar-width: none; }
	.cgx .cgx-acct__list::-webkit-scrollbar { display: none; }
	.cgx .cgx-acct__list a { white-space: nowrap; min-height: 48px; padding: 0 16px; }
	.cgx .cgx-acct__list .woocommerce-MyAccount-navigation-link--customer-logout a { border-top: 0; margin-top: 0; }
}

.cgx .cgx-acct__main { min-width: 0; }
.cgx .cgx-acct__head { margin: 0 0 28px; }
.cgx .cgx-acct__title { margin: 0 0 10px; color: var(--cgx-text); font: 500 clamp(1.75rem, 1.05rem + 2.3vw, 3rem)/1.04 var(--cgx-display); text-transform: uppercase; letter-spacing: -0.01em; }
.cgx .cgx-acct__lede { max-width: 58ch; margin: 0; color: var(--cgx-muted); font-size: 17px; }
.cgx .cgx-acct__tiles { display: grid; gap: 1px; margin: 0 0 clamp(40px, 5vw, 64px); padding: 1px; list-style: none; background: var(--cgx-line); grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); }
.cgx .cgx-acct__tiles li { margin: 0; }
.cgx .cgx-acct__tile { position: relative; display: grid; gap: 6px; height: 100%; min-height: 120px; padding: 24px 56px 24px 24px; background: var(--cgx-white); color: var(--cgx-text); text-decoration: none; transition: background-color 0.2s ease; }
.cgx .cgx-acct__tile:hover { background: var(--cgx-paper); }
.cgx .cgx-acct__tile-label { font: 600 16px/1.3 var(--cgx-display); text-transform: uppercase; letter-spacing: 0.04em; }
.cgx .cgx-acct__tile-meta { color: var(--cgx-muted); font-size: 14px; }
.cgx .cgx-acct__tile-arrow { position: absolute; right: 22px; top: 26px; width: 18px; height: 18px; color: var(--cgx-bronze); transition: transform 0.25s var(--cgx-ease); }
.cgx .cgx-acct__tile:hover .cgx-acct__tile-arrow { transform: translateX(3px); }
.cgx .cgx-acct__recent-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 0 0 16px; }
.cgx .cgx-acct__recent-head h3 { margin: 0; font: 500 clamp(1.25rem, 1rem + 0.9vw, 1.6rem)/1.2 var(--cgx-display); text-transform: uppercase; }
.cgx .cgx-acct__orders { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--cgx-line); }
.cgx .cgx-acct__orders li { margin: 0; border-bottom: 1px solid var(--cgx-line); }
.cgx .cgx-acct__orders a { display: grid; grid-template-columns: auto 1fr auto; gap: 4px 20px; align-items: center; padding: 18px 0; color: var(--cgx-text); text-decoration: none; }
.cgx .cgx-acct__orders a:hover .cgx-acct__onum { color: var(--cgx-bronze); }
.cgx .cgx-acct__onum { font: 600 15px/1.2 var(--cgx-mono); }
.cgx .cgx-acct__odate { color: var(--cgx-muted); font-size: 14px; }
.cgx .cgx-acct__ostatus { justify-self: end; padding: 5px 10px; border: 1px solid var(--cgx-line-strong); font: 600 12px/1 var(--cgx-display); letter-spacing: 0.1em; text-transform: uppercase; }
.cgx .cgx-acct__ototal { grid-column: 1 / -1; color: var(--cgx-body-text); font-size: 15px; }
@media (min-width: 720px) {
	.cgx .cgx-acct__orders a { grid-template-columns: 120px 1fr auto 140px; }
	.cgx .cgx-acct__ototal { grid-column: auto; justify-self: end; }
}
.cgx .cgx-acct__empty { display: grid; gap: 16px; justify-items: start; padding: 28px; border: 1px solid var(--cgx-line); background: var(--cgx-paper); }
.cgx .cgx-acct__empty p { margin: 0; }
.cgx .cgx-acct__logout { margin: 32px 0 0; }
.cgx .cgx-acct__logout a { color: var(--cgx-muted); font-size: 14px; }

/* WooCommerce account sections inside the shell. */
.cgx .cgx-acct__main .woocommerce-orders-table,
.cgx .cgx-acct__main .shop_table { width: 100%; border: 0; border-collapse: collapse; font-size: 15px; }
.cgx .cgx-acct__main .woocommerce-orders-table :is(th, td),
.cgx .cgx-acct__main .shop_table :is(th, td) { padding: 16px 12px 16px 0; border: 0; border-bottom: 1px solid var(--cgx-line); text-align: left; vertical-align: middle; }
.cgx .cgx-acct__main .woocommerce-orders-table th,
.cgx .cgx-acct__main .shop_table thead th { color: var(--cgx-muted); font: 600 12px/1.4 var(--cgx-display); letter-spacing: 0.12em; text-transform: uppercase; }
.cgx .cgx-acct__main .woocommerce-orders-table .button,
.cgx .cgx-acct__main .woocommerce-Button,
.cgx .cgx-acct__main .button {
	display: inline-flex; align-items: center; justify-content: center; min-height: 40px; margin: 2px 6px 2px 0; padding: 0 16px;
	border: 1px solid var(--cgx-black); border-radius: 0; background: var(--cgx-white); color: var(--cgx-black);
	font: 600 12px/1.2 var(--cgx-display); letter-spacing: 0.12em; text-transform: uppercase; text-decoration: none; box-shadow: none;
}
.cgx .cgx-acct__main .button:hover { background: var(--cgx-black); color: var(--cgx-white); }
.cgx .cgx-acct__main form .button[type="submit"],
.cgx .cgx-acct__main .woocommerce-Button[type="submit"] { min-height: 52px; padding: 0 28px; border-color: var(--cgx-gold); background: var(--cgx-gold); color: var(--cgx-black); }
.cgx .cgx-acct__main form .button[type="submit"]:hover { border-color: var(--cgx-gold-hover); background: var(--cgx-gold-hover); }
.cgx .cgx-acct__main .woocommerce-Addresses { display: grid; gap: 24px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.cgx .cgx-acct__main .woocommerce-Address { padding: 24px; border: 1px solid var(--cgx-line); }
.cgx .cgx-acct__main .woocommerce-Address-title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.cgx .cgx-acct__main .woocommerce-Address-title h2,
.cgx .cgx-acct__main h2 { margin: 0 0 16px; font: 500 clamp(1.25rem, 1rem + 0.9vw, 1.6rem)/1.2 var(--cgx-display); text-transform: uppercase; }
.cgx .cgx-acct__main address { font-style: normal; line-height: 1.7; }
.cgx .cgx-acct__main .woocommerce-info,
.cgx .cgx-acct__main .woocommerce-message { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 24px; padding: 18px 20px; border: 1px solid var(--cgx-line); background: var(--cgx-paper); color: var(--cgx-text); list-style: none; }
.cgx .cgx-acct__main .woocommerce-info::before,
.cgx .cgx-acct__main .woocommerce-message::before { display: none; }
.cgx .cgx-acct__main fieldset { margin: 32px 0 0; padding: 24px; border: 1px solid var(--cgx-line); }
.cgx .cgx-acct__main legend { padding: 0 8px; font: 600 12px/1.4 var(--cgx-display); letter-spacing: 0.12em; text-transform: uppercase; }
@media (max-width: 719px) {
	.cgx .cgx-acct__main .woocommerce-orders-table thead { display: none; }
	.cgx .cgx-acct__main .woocommerce-orders-table tr { display: grid; grid-template-columns: 1fr auto; padding: 14px 0; border-bottom: 1px solid var(--cgx-line); }
	.cgx .cgx-acct__main .woocommerce-orders-table td { padding: 4px 0; border: 0; }
	.cgx .cgx-acct__main .woocommerce-orders-table td::before { content: attr(data-title) ": "; color: var(--cgx-muted); font-size: 13px; }
	.cgx .cgx-acct__main .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions { grid-column: 1 / -1; }
	.cgx .cgx-acct__main .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before { content: none; }
}
.cgx.woocommerce-account .cgx-page__body > .woocommerce { display: block !important; width: 100%; max-width: none; }
.cgx .cgx-acct { width: 100%; }
.cgx .cgx-acct a { text-decoration: none !important; }
.cgx .cgx-acct__list a { color: var(--cgx-muted-dark) !important; }
.cgx .cgx-acct__list a:hover { color: var(--cgx-white) !important; }
.cgx .cgx-acct__list a[aria-current="page"] { color: var(--cgx-black) !important; }
.cgx .cgx-acct__tile { color: var(--cgx-text) !important; }
.cgx .cgx-acct__orders a { color: var(--cgx-text) !important; }
.cgx .cgx-acct__main p a:not(.button):not(.cgx-btn):not(.cgx-link) { color: var(--cgx-bronze) !important; text-decoration: underline !important; text-underline-offset: 3px; }
.cgx .cgx-acct .cgx-btn.cgx-btn--gold { color: var(--cgx-black) !important; }
.cgx .cgx-acct__main .woocommerce-Addresses::before,
.cgx .cgx-acct__main .woocommerce-Addresses::after { content: none; display: none; }
.cgx .cgx-acct__main .woocommerce-Addresses > .woocommerce-Address { width: auto; float: none; margin: 0; }
.cgx .cgx-acct__main .woocommerce-Address-title { flex-direction: column; align-items: flex-start; gap: 6px; }
.cgx .cgx-acct__main .woocommerce-Address-title a { font: 600 12px/1.2 var(--cgx-display); letter-spacing: 0.12em; text-transform: uppercase; color: var(--cgx-bronze) !important; }
@media (min-width: 720px) { .cgx .cgx-acct__tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.cgx .cgx-acct__main em { font-style: normal; color: var(--cgx-muted); font-size: 14px; }

/* ==========================================================================
   Affiliate program
   ========================================================================== */
.cgx .cgx-aff__hero { padding: clamp(64px, 9vw, 136px) 0 clamp(56px, 7vw, 104px); background: var(--cgx-black); color: var(--cgx-white); }
.cgx .cgx-aff__kicker { margin: 0 0 18px; color: var(--cgx-gold-light); font: 600 12px/1.2 var(--cgx-display); letter-spacing: 0.18em; text-transform: uppercase; }
.cgx .cgx-aff__title { max-width: 18ch; margin: 0 0 24px; color: var(--cgx-white); font: 500 clamp(2.4rem, 1.2rem + 4.4vw, 5rem)/1 var(--cgx-display); letter-spacing: -0.015em; text-transform: uppercase; text-wrap: balance; }
.cgx .cgx-aff__lede { max-width: 58ch; margin: 0; color: var(--cgx-soft-dark); font-size: clamp(16px, 0.9rem + 0.4vw, 18px); line-height: 1.65; }
.cgx .cgx-aff__facts { background: var(--cgx-carbon); border-top: 1px solid var(--cgx-line-dark); }
.cgx .cgx-aff__facts dl { display: grid; margin: 0 auto; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); }
.cgx .cgx-aff__facts dl > div { padding: 24px 24px 24px 0; }
@media (min-width: 900px) { .cgx .cgx-aff__facts dl > div + div { padding-left: 24px; border-left: 1px solid var(--cgx-line-dark); } }
.cgx .cgx-aff__facts dt { margin: 0 0 8px; color: var(--cgx-muted-dark); font: 600 12px/1.2 var(--cgx-display); letter-spacing: 0.14em; text-transform: uppercase; }
.cgx .cgx-aff__facts dd { margin: 0; color: var(--cgx-white); font: 500 18px/1.3 var(--cgx-display); }
.cgx .cgx-aff__body { display: grid; gap: clamp(40px, 6vw, 96px); padding-block: var(--cgx-sec); }
@media (min-width: 960px) { .cgx .cgx-aff__body { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; } }
.cgx .cgx-aff__h2 { margin: 0 0 24px; color: var(--cgx-text); font: 500 clamp(1.5rem, 1.1rem + 1.4vw, 2.2rem)/1.08 var(--cgx-display); text-transform: uppercase; }
.cgx .cgx-aff__steps { counter-reset: aff; margin: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--cgx-line); }
.cgx .cgx-aff__steps li { counter-increment: aff; display: grid; grid-template-columns: 48px 1fr; gap: 4px 0; padding: 22px 0; border-top: 1px solid var(--cgx-line); }
.cgx .cgx-aff__steps li::before { content: counter(aff, decimal-leading-zero); grid-row: 1 / span 2; color: var(--cgx-bronze); font: 600 13px/1.6 var(--cgx-display); letter-spacing: 0.08em; }
.cgx .cgx-aff__steps strong { font: 600 17px/1.4 var(--cgx-display); color: var(--cgx-text); }
.cgx .cgx-aff__steps span { color: var(--cgx-muted); font-size: 15px; }
.cgx .cgx-aff__rules { margin-top: 40px; padding: 24px; border: 1px solid var(--cgx-line); background: var(--cgx-paper); }
.cgx .cgx-aff__rules h3 { margin: 0 0 10px; font: 600 12px/1.3 var(--cgx-display); letter-spacing: 0.14em; text-transform: uppercase; }
.cgx .cgx-aff__rules p { margin: 0; color: var(--cgx-body-text); font-size: 15px; }
.cgx .cgx-aff__card { padding: clamp(24px, 3.4vw, 44px); border: 1px solid var(--cgx-line); background: var(--cgx-white); }
@media (min-width: 960px) { .cgx .cgx-aff__forms { position: sticky; top: calc(var(--cgx-hd-h) + 24px); } }
.cgx .cgx-aff__switch { margin: 18px 0 0; color: var(--cgx-muted); font-size: 15px; }
.cgx .cgx-aff__switch a { color: var(--cgx-bronze); text-underline-offset: 3px; }

/* AffiliateWP forms in the house style. */
.cgx .cgx-aff .affwp-form { margin: 0; }
.cgx .cgx-aff .affwp-form fieldset { margin: 0; padding: 0; border: 0; }
.cgx .cgx-aff .affwp-form legend { display: none; }
.cgx .cgx-aff .affwp-form p { margin: 0 0 18px; }
.cgx .cgx-aff .affwp-form label { display: block; margin: 0 0 8px; color: var(--cgx-text); font: 600 12px/1.4 var(--cgx-display); letter-spacing: 0.12em; text-transform: uppercase; }
.cgx .cgx-aff .affwp-form :is(input[type="text"], input[type="email"], input[type="url"], input[type="password"], textarea, select) {
	display: block; width: 100% !important; max-width: none; height: auto; min-height: 50px; margin: 0; padding: 12px 14px;
	border: 1px solid var(--cgx-line-strong); border-radius: 0; background: var(--cgx-white); box-shadow: none;
	color: var(--cgx-text); font: 400 16px/1.4 var(--cgx-body);
}
.cgx .cgx-aff .affwp-form textarea { min-height: 120px; resize: vertical; }
.cgx .cgx-aff .affwp-form :is(input, textarea, select):focus { border-color: var(--cgx-text); outline: 2px solid var(--cgx-gold); outline-offset: 1px; }
.cgx .cgx-aff .affwp-form input[type="checkbox"] { width: 18px; height: 18px; margin-right: 10px; accent-color: var(--cgx-black); vertical-align: middle; }
.cgx .cgx-aff .affwp-form .affwp-lost-password a,
.cgx .cgx-aff .affwp-form a { color: var(--cgx-bronze); }
.cgx .cgx-aff .affwp-form :is(input[type="submit"], .button) {
	display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 56px; margin-top: 8px; padding: 0 28px;
	border: 0; border-radius: 0; background: var(--cgx-gold); color: var(--cgx-black); cursor: pointer;
	font: 600 13px/1.2 var(--cgx-display); letter-spacing: 0.14em; text-transform: uppercase;
}
.cgx .cgx-aff .affwp-form :is(input[type="submit"], .button):hover { background: var(--cgx-gold-hover); }
.cgx .cgx-aff .affwp-errors,
.cgx .cgx-aff .affwp-notice { margin: 0 0 20px; padding: 14px 16px; border: 1px solid var(--cgx-error-line); background: var(--cgx-error-bg); color: var(--cgx-error); }
.cgx .cgx-aff__cta { margin-top: 32px; }

/* Gold Fill Rule: no bright gold marks on white grounds. */
.cgx .cgx-reflow__body li::marker,
.cgx .cgx-post__body ul li::marker { color: var(--cgx-bronze); }
.cgx .cgx-reflow .lg-dark li::marker { color: var(--cgx-gold); }
.cgx .cgx-reflow .lg-light .lg-card--num::before,
.cgx .cgx-reflow .lg-light .lg-quad-num { color: var(--cgx-bronze) !important; }
/* No blur: the age gate dims the page with a flat black overlay. */
html body #cgx-rg,
html body #cgx-rg .rg-bd { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
html body #cgx-rg .rg-bd { background: rgba(0, 0, 0, 0.85) !important; }

/* ==========================================================================
   Page banners (renders 2026-09-28)
   ========================================================================== */
/* About and COA library: the render is the hero ground, dark on the left
   where the headline sits. */
.cgx.cgx-has-banner .cgx-reflow .lg-hero.lg-sec,
.cgx.cgx-has-banner .cgx-reflow .lg-hero:not(.lg-sec) {
	background:
		linear-gradient(90deg, var(--cgx-black) 0%, var(--cgx-black) 30%, rgba(0, 0, 0, 0.7) 52%, rgba(0, 0, 0, 0.15) 78%, rgba(0, 0, 0, 0) 100%),
		var(--cgx-banner) right center / cover no-repeat,
		var(--cgx-black);
	min-height: clamp(420px, 42vw, 620px);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
@media (max-width: 899px) {
	.cgx.cgx-has-banner .cgx-reflow .lg-hero.lg-sec,
	.cgx.cgx-has-banner .cgx-reflow .lg-hero:not(.lg-sec) {
		background:
			linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.75) 40%, var(--cgx-black) 62%),
			var(--cgx-banner) 72% top / auto 60% no-repeat,
			var(--cgx-black);
		min-height: 0;
		padding-top: clamp(200px, 52vw, 320px);
	}
}
/* Membership: the framed-vial render sits to the right of the offer. */
.cgx.cgx-has-banner .cgx-reflow .lg-mb-hero {
	background:
		linear-gradient(90deg, var(--cgx-black) 0%, var(--cgx-black) 45%, rgba(0, 0, 0, 0.35) 70%, rgba(0, 0, 0, 0) 100%),
		var(--cgx-banner) right center / auto 100% no-repeat,
		var(--cgx-black);
}
@media (max-width: 899px) {
	.cgx.cgx-has-banner .cgx-reflow .lg-mb-hero {
		background:
			linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 42%, var(--cgx-black) 60%),
			var(--cgx-banner) center top / 100% auto no-repeat,
			var(--cgx-black);
		padding-top: clamp(240px, 70vw, 420px);
	}
}

/* Region pages: a cinematic strip above the page. */
.cgx .cgx-banner-strip { position: relative; margin: 0; background: var(--cgx-black); line-height: 0; }
.cgx .cgx-banner-strip img { display: block; width: 100%; height: clamp(220px, 34vw, 520px); object-fit: cover; object-position: 70% center; }
.cgx .cgx-banner-strip::after { content: ""; position: absolute; inset: auto 0 0 0; height: 40%; background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.55)); pointer-events: none; }

/* 404: black ground, spotlit plinth to the right. */
.cgx .cgx-404 { position: relative; overflow: hidden; background: var(--cgx-black); color: var(--cgx-white); }
.cgx .cgx-404 .cgx-page__title { color: var(--cgx-white); }
.cgx .cgx-404 p { color: var(--cgx-muted-dark); }
.cgx .cgx-404 .cgx-link { color: var(--cgx-white); }
.cgx .cgx-404 .cgx-wrap { position: relative; z-index: 1; }
.cgx .cgx-404__art { position: absolute; top: 0; right: 0; bottom: 0; width: min(52%, 720px); margin: 0; }
.cgx .cgx-404__art img { width: 100%; height: 100%; object-fit: cover; object-position: center 70%; }
.cgx .cgx-404__art::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, var(--cgx-black) 0%, rgba(0, 0, 0, 0) 45%); }
@media (max-width: 899px) {
	.cgx .cgx-404__art { position: relative; width: 100%; height: 260px; }
	.cgx .cgx-404__art::before { background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, var(--cgx-black) 100%); }
	.cgx .cgx-404 { padding-top: 0; }
}
.cgx .cgx-404 input[type="search"] { background: var(--cgx-white); }
/* Guide covers are photographs: fill the frame. */
.cgx .cgx-post__media img { object-fit: cover; background: var(--cgx-black); }
/* Hero headings stay white; the muted colour for body text on black never
   reaches a span inside a heading. */
.cgx .cgx-reflow .lg-dark :is(h1, h2, h3) span,
.cgx .cgx-reflow .lg-h1 .lg-gold { color: inherit; }

/* Bundle component lines (Easy Product Bundles) at readable sizes. */
.cgx .asnp-productList-container,
.cgx .asnp-productList-container a,
.cgx .asnp-productList-container span,
.cgx .asnp-productList-container .woocommerce-Price-amount { font-size: 14px !important; line-height: 1.45; }
.cgx .asnp-productList-container a { color: var(--cgx-text) !important; }
/* Small labels on light grounds use the text colour, not dark gold, for contrast. */
.cgx .cgx-reflow .lg-mb-sec .lg-mb-eyebrow { color: var(--cgx-muted); }
/* The currency plugin's per-product picker: currency follows location. */
.cgx .cgx-pdp__summary #alg_currency_selector,
.cgx .cgx-pdp__summary .alg_currency_select,
.cgx .cgx-pdp__summary form#alg_currency_selector { display: none !important; }

/* ---------- Free shipping progress (side cart, cart, checkout) ---------- */

.cgx-freeship { margin: 0 0 16px; padding: 12px 14px; border: 1px solid var(--cgx-line); background: #fff; }
.fkcart-slider-body .cgx-freeship { margin: 12px 16px 4px; }
.cgx-freeship__text { margin: 0 0 8px; font-size: 14.5px; line-height: 1.35; color: var(--cgx-text); }
.cgx-freeship__text strong { font-weight: 600; }
.cgx-freeship__bar { height: 4px; background: var(--cgx-line); overflow: hidden; }
.cgx-freeship__bar span { display: block; width: 100%; height: 100%; background: var(--cgx-bronze); transform-origin: left center; transition: transform 0.3s var(--cgx-ease); }
.cgx-freeship.is-done .cgx-freeship__bar span { background: var(--cgx-gold-hover); }
@media (prefers-reduced-motion: reduce) { .cgx-freeship__bar span { transition: none; } }

/* ---------- Ratings, product reviews, review page ---------- */

.cgx-rating { position: relative; display: inline-block; width: 5.4em; height: 1em; font-size: 16px; line-height: 1; vertical-align: -0.1em; }
.cgx-rating::before, .cgx-rating__fill::before { content: "\2605\2605\2605\2605\2605"; letter-spacing: 0.08em; }
.cgx-rating::before { color: var(--cgx-stone); }
.cgx-rating__fill { position: absolute; inset: 0 auto 0 0; overflow: hidden; white-space: nowrap; color: var(--cgx-bronze); }
.cgx-reviews { padding: 56px 0 8px; border-top: 1px solid var(--cgx-line); }
.cgx-reviews__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; margin-bottom: 20px; }
.cgx-reviews__avg { margin: 0; color: var(--cgx-muted); font-size: 15px; }
.cgx-reviews__avg .cgx-rating { margin-right: 6px; }
.cgx-reviews__list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.cgx-reviews__item { padding: 20px 0; border-bottom: 1px solid var(--cgx-line); }
.cgx-reviews__text { max-width: 70ch; margin: 10px 0 8px; font-size: 16px; line-height: 1.55; }
.cgx-reviews__meta { margin: 8px 0 0; color: var(--cgx-muted); font-size: 13.5px; }
.cgx-reviews__verified { color: var(--cgx-body-text); font-weight: 600; }
.cgx-review-find { padding: 24px 0 8px; border-top: 1px solid var(--cgx-line); }
.cgx-review-find #tab-reviews { display: block; scroll-margin-top: 110px; }
#reviews { scroll-margin-top: 110px; }
.cgx-review-find__summary { cursor: pointer; font-weight: 600; font-size: 16px; padding: 8px 0; }
.cgx-review-find__form { max-width: 420px; padding: 8px 0 16px; }
.cgx-review-find__form label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; }
.cgx-review-find__form input { width: 100%; min-height: 44px; font-size: 16px; }
.cgx-review-find__intro { color: var(--cgx-muted); font-size: 14.5px; }
.cgx-review-find__error { color: #9b1c1c; font-size: 14.5px; }

.cgx-review { max-width: 760px; padding-top: 48px; padding-bottom: 72px; }
.cgx-review__intro, .cgx-review__note { color: var(--cgx-muted); }
.cgx-review__item { display: grid; grid-template-columns: 84px 1fr; gap: 16px; margin: 0 0 16px; padding: 18px; border: 1px solid var(--cgx-line); }
.cgx-review__name { padding: 0; font-weight: 600; font-size: 17px; }
.cgx-review__thumb img { display: block; width: 84px; height: 84px; object-fit: cover; }
.cgx-review__fields { display: grid; gap: 8px; min-width: 0; }
.cgx-review__label { font-size: 14px; color: var(--cgx-muted); }
.cgx-review__fields textarea { width: 100%; padding: 10px 12px; border: 1px solid var(--cgx-line-strong); font: inherit; font-size: 16px; }
.cgx-stars { display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; gap: 2px; }
.cgx-stars input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.cgx-stars label { cursor: pointer; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; font-size: 30px; line-height: 1; color: var(--cgx-line-strong); }
.cgx-stars label::before { content: "\2605"; }
.cgx-stars label:hover, .cgx-stars label:hover ~ label, .cgx-stars input:checked ~ label { color: var(--cgx-bronze); }
.cgx-stars input:focus-visible + label { outline: 2px solid var(--cgx-bronze); outline-offset: 2px; }
@media (max-width: 480px) { .cgx-review__item { grid-template-columns: 1fr; } .cgx-review__thumb img { width: 64px; height: 64px; } }

.cgx-companion { margin: 12px 0 0; padding: 10px 12px; border: 1px solid var(--cgx-line); background: #fff; font-size: 14.5px; line-height: 1.45; color: var(--cgx-text); }
.cgx-companion a { color: inherit; font-weight: 600; }

/* ---------- Regional ordering pages ---------- */

.cgx-crumbs--hero ol { color: rgba(255, 255, 255, 0.72); }
.cgx-crumbs--hero a { color: #fff; }
.cgx-order__grid { display: grid; gap: 32px; }
.cgx-order__answer { max-width: 62ch; margin: 14px 0 0; font-size: 17px; line-height: 1.6; color: var(--cgx-body-text); }
.cgx-order__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); margin: 0; border-top: 1px solid var(--cgx-line); border-left: 1px solid var(--cgx-line); }
.cgx-order__fact { padding: 18px 20px; border-right: 1px solid var(--cgx-line); border-bottom: 1px solid var(--cgx-line); }
.cgx-order__fact dt { margin: 0 0 6px; font: 600 12px/1.2 var(--cgx-body); letter-spacing: 0.14em; text-transform: uppercase; color: var(--cgx-muted); }
.cgx-order__fact dd { margin: 0; font-size: 16px; line-height: 1.45; color: var(--cgx-text); }
.cgx-order__rates { border: 1px solid var(--cgx-line); }
.cgx-order__rates summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 0 18px; cursor: pointer; font-weight: 600; list-style: none; }
.cgx-order__rates summary::-webkit-details-marker { display: none; }
.cgx-order__rates table { width: 100%; border-collapse: collapse; font-size: 15px; }
.cgx-order__rates th, .cgx-order__rates td { padding: 11px 18px; border-top: 1px solid var(--cgx-line); text-align: left; font-weight: 400; }
@media (max-width: 479px) { .cgx-order__rates th, .cgx-order__rates td { padding: 10px 12px; font-size: 14px; overflow-wrap: anywhere; } }
.cgx-order__rates thead th { font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--cgx-muted); }
.cgx-order__rates tbody th { font-weight: 600; }
.cgx-order__rates p { margin: 0; padding: 12px 18px 16px; color: var(--cgx-muted); font-size: 14px; }
@media (min-width: 1000px) {
	.cgx-order__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 56px; align-items: start; }
	.cgx-order__rates { grid-column: 2; }
}
.cgx .cgx-region.is-current { background: var(--cgx-paper); }
.cgx .cgx-region.is-current .cgx-link { color: var(--cgx-muted); }

/* ---------- Checkout (FunnelKit form inside the theme shell) ---------- */
/* Elementor writes per-element rules with high specificity, hence !important. */

body.woocommerce-checkout { background: var(--cgx-white); }
body.woocommerce-checkout .cgx-page__head {
	position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
body.woocommerce-checkout .cgx-page__body--commerce { padding-top: 28px; padding-bottom: 80px; }
body.woocommerce-checkout .elementor-element-7710cd6f { background: transparent !important; padding: 0 !important; margin: 0 !important; }
body.woocommerce-checkout .elementor-element-7710cd6f > .elementor-container { max-width: 760px !important; }
body.woocommerce-checkout .elementor-element-6159295a > .elementor-widget-wrap { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
body.woocommerce-checkout .elementor-element-5d6b8c14,
body.woocommerce-checkout .elementor-element-5d6b8c14 * { border-color: var(--cgx-line) !important; }
body.woocommerce-checkout .elementor-element-5d6b8c14 { margin-bottom: 8px !important; }
body.woocommerce-checkout .elementor-element-65b5cf6b { display: none !important; } /* its copyright and links repeat the theme footer */

body.woocommerce-checkout .wfacp_main_form,
body.woocommerce-checkout .wfacp_main_form p,
body.woocommerce-checkout .wfacp_main_form label,
body.woocommerce-checkout .wfacp_main_form input,
body.woocommerce-checkout .wfacp_main_form select,
body.woocommerce-checkout .wfacp_main_form td,
body.woocommerce-checkout .wfacp_main_form th,
body.woocommerce-checkout .elementor-element-5d6b8c14 { font-family: var(--cgx-body) !important; color: var(--cgx-text); }

body.woocommerce-checkout .wfacp_main_form .wfacp_section_heading.wfacp_section_title {
	font: 500 clamp(1.25rem, 1.1rem + 0.5vw, 1.55rem)/1.15 var(--cgx-display) !important;
	text-transform: uppercase; letter-spacing: 0.01em; color: var(--cgx-text) !important;
}
body.woocommerce-checkout .wfacp_main_form .wfacp-comm-title { border-color: var(--cgx-line) !important; }

/* One field per row where a field stands alone, pairs where the form pairs them. */
body.woocommerce-checkout .wfacp_main_form .form-row.wfacp-col-full { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }

body.woocommerce-checkout .wfacp_main_form input.input-text,
body.woocommerce-checkout .wfacp_main_form .wfacp-form-control,
body.woocommerce-checkout .wfacp_main_form select,
body.woocommerce-checkout .wfacp_main_form .select2-container .select2-selection,
body.woocommerce-checkout .wfacp_main_form textarea {
	border: 1px solid var(--cgx-line-strong) !important; border-radius: 0 !important; background: var(--cgx-white) !important;
	box-shadow: none !important; font-size: 16px !important; color: var(--cgx-text) !important;
}
body.woocommerce-checkout .wfacp_main_form input.input-text:focus,
body.woocommerce-checkout .wfacp_main_form .wfacp-form-control:focus,
body.woocommerce-checkout .wfacp_main_form select:focus {
	border-color: var(--cgx-text) !important; outline: 2px solid var(--cgx-text) !important; outline-offset: 0 !important;
}
body.woocommerce-checkout .wfacp_main_form label.wfacp-form-control-label { color: var(--cgx-muted) !important; }

body.woocommerce-checkout .wfacp_main_form a,
body.woocommerce-checkout .wfacp_main_form .showcoupon,
body.woocommerce-checkout .wfacp_main_form .showlogin { color: var(--cgx-text) !important; text-decoration: underline; text-underline-offset: 3px; }
body.woocommerce-checkout .wfacp_main_form .woocommerce-form-login-toggle,
body.woocommerce-checkout .wfacp_main_form .wfacp-coupon-section,
body.woocommerce-checkout .wfacp_main_form .woocommerce-info {
	border: 1px solid var(--cgx-line) !important; border-radius: 0 !important; background: var(--cgx-paper) !important; padding: 12px 14px !important; color: var(--cgx-text) !important;
}
body.woocommerce-checkout .wfacp_main_form .woocommerce-info::before { display: none !important; }

/* Shipping method and payment choices as bordered rows. */
body.woocommerce-checkout .wfacp_main_form #shipping_method li,
body.woocommerce-checkout .wfacp_main_form .wc_payment_methods > li {
	border: 1px solid var(--cgx-line) !important; border-radius: 0 !important; background: var(--cgx-white) !important; margin: 0 0 8px !important;
}
body.woocommerce-checkout .wfacp_main_form .wc_payment_methods .payment_box {
	background: var(--cgx-paper) !important; border-radius: 0 !important; color: var(--cgx-body-text) !important; font-size: 14.5px !important;
}
body.woocommerce-checkout .wfacp_main_form .wc_payment_methods .payment_box::before { display: none !important; }

body.woocommerce-checkout .wfacp_main_form #place_order,
body.woocommerce-checkout .wfacp_main_form .wfacp-order-place-btn-wrap button {
	background: var(--cgx-gold) !important; color: var(--cgx-black) !important; border: 0 !important; border-radius: 0 !important;
	min-height: 58px !important; font: 600 15px/1 var(--cgx-body) !important; letter-spacing: 0.1em !important; text-transform: uppercase !important;
	box-shadow: none !important; transition: background-color 0.2s ease;
}
body.woocommerce-checkout .wfacp_main_form #place_order:hover { background: var(--cgx-gold-light) !important; }
body.woocommerce-checkout .wfacp_main_form #place_order:focus-visible { outline: 2px solid var(--cgx-black) !important; outline-offset: 3px !important; }

body.woocommerce-checkout .wfacp_order_summary .wfacp-qty-ball { background: var(--cgx-text) !important; }
body.woocommerce-checkout .wfacp_main_form .shop_table,
body.woocommerce-checkout .wfacp_main_form .shop_table td,
body.woocommerce-checkout .wfacp_main_form .shop_table th { border-color: var(--cgx-line) !important; }
body.woocommerce-checkout .wfacp_main_form .order-total .amount { font-weight: 600; }
/* Checkout, second pass. Old snippet stylesheets still load here (checkout is
   not a theme-owned view) and redefine --cgx-gold / --cgx-canvas and add their
   own !important rules. Re-assert the brand tokens for checkout, and raise
   these rules with :not(#cgx-none) (ID weight) so class-level !important
   snippet rules cannot override them. */
html body.woocommerce-checkout:not(#cgx-none) {
	--cgx-gold: #ffc000;
	--cgx-gold-light: #ffce3e;
	--cgx-gold-hover: #917300;
	--cgx-bronze: #917300;
	--cgx-paper: #f8f8f8;
	--cgx-canvas: #ffffff;
	background: var(--cgx-white) !important;
}
html body.woocommerce-checkout:not(#cgx-none) .elementor-867 .elementor-widget-wrap.elementor-element-populated,
html body.woocommerce-checkout:not(#cgx-none) .elementor-867 .elementor-column,
html body.woocommerce-checkout:not(#cgx-none) .elementor-867 .elementor-section { border: 0 !important; box-shadow: none !important; background: transparent !important; }
html body.woocommerce-checkout:not(#cgx-none) #wfacp-e-form #payment button#place_order {
	background: var(--cgx-gold) !important; color: var(--cgx-black) !important; border: 0 !important; border-radius: 0 !important;
	min-height: 58px !important; font: 600 15px/1 var(--cgx-body) !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; box-shadow: none !important;
}
html body.woocommerce-checkout:not(#cgx-none) #wfacp-e-form #payment button#place_order:hover { background: var(--cgx-gold-light) !important; }
html body.woocommerce-checkout:not(#cgx-none) .cgx-checkout-confidence {
	background: var(--cgx-paper) !important; border: 1px solid var(--cgx-line) !important; border-radius: 0 !important; color: var(--cgx-body-text) !important;
}
html body.woocommerce-checkout:not(#cgx-none) .cgx-checkout-confidence a { color: var(--cgx-text) !important; }

/* ---------- Partner landing pages (template-partner-cellugenix.php) ---------- */

.cgx-pl__sec { padding: clamp(48px, 6vw, 88px) 0; }
.cgx-pl__sec--paper { background: var(--cgx-paper); }
.cgx-pl__sec--hero { padding-top: clamp(36px, 5vw, 64px); }
.cgx-pl__sec--ruo { padding: 28px 0; border-top: 1px solid var(--cgx-line); color: var(--cgx-muted); font-size: 14px; }
.cgx-pl__sec--ruo p { margin: 0; max-width: 80ch; }
.cgx-pl__h1 { margin: 0 0 18px; font: 500 clamp(2rem, 1.4rem + 2.4vw, 3.6rem)/1.02 var(--cgx-display); text-transform: uppercase; letter-spacing: -0.01em; max-width: 22ch; }
.cgx-pl__h2 { margin: 0 0 16px; font: 500 clamp(1.6rem, 1.2rem + 1.4vw, 2.4rem)/1.08 var(--cgx-display); text-transform: uppercase; max-width: 28ch; }
.cgx-pl__h3 { margin: 18px 0 10px; font: 600 clamp(1.1rem, 1rem + 0.4vw, 1.35rem)/1.2 var(--cgx-display); text-transform: uppercase; letter-spacing: 0.01em; }
.cgx-pl__h2:first-child, .cgx-pl__h3:first-child { margin-top: 0; }
.cgx-pl__text { max-width: 68ch; }
.cgx-pl__text p { margin: 0 0 12px; }
.cgx-pl__img { margin: 0 0 18px; }
.cgx-pl__img img { display: block; width: 100%; max-width: 560px; height: auto; }
.cgx-pl__sec--hero .cgx-pl__img img { max-width: 720px; }
.cgx-pl__gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.cgx-pl__gallery .cgx-pl__img { margin: 0; }
.cgx-pl__list { margin: 0 0 16px; padding: 0; list-style: none; }
.cgx-pl__list li { position: relative; padding: 6px 0 6px 18px; border-bottom: 1px solid var(--cgx-line); font-size: 15.5px; }
.cgx-pl__list li::before { content: ""; position: absolute; left: 0; top: 1.05em; width: 6px; height: 6px; background: var(--cgx-bronze); }
.cgx-pl__list a { color: var(--cgx-text); text-decoration: underline; text-underline-offset: 3px; }
.cgx-pl__cta { margin: 18px 0 0; }
.cgx-pl__grid { display: grid; gap: 20px; }
@media (min-width: 760px) {
	.cgx-pl__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cgx-pl__grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px) { .cgx-pl__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.cgx-pl__grid > .cgx-pl__block { padding: clamp(18px, 2vw, 28px); border: 1px solid var(--cgx-line); background: var(--cgx-white); }
.cgx-pl__grid > .cgx-pl__block .cgx-pl__img img { max-width: 100%; }

.cgx-pl__sec--hero .cgx-pl__grid > .cgx-pl__block { border: 0; padding: 0; background: transparent; }
.cgx-pl__sec--hero .cgx-pl__grid { align-items: center; gap: clamp(24px, 4vw, 56px); }

/* ---------- Native content pages (inc/pages.php and page templates) ---------- */

.cgx-phero {
	background:
		radial-gradient(ellipse 50% 70% at 82% 40%, var(--cgx-gold-glow), transparent 70%),
		var(--cgx-black);
	color: var(--cgx-white);
}
.cgx-phero__inner { padding-block: clamp(40px, 6vw, 84px) clamp(44px, 6vw, 80px); }
.cgx-phero__title {
	margin: 14px 0 18px; max-width: 20ch;
	font: 500 clamp(2.1rem, 1.2rem + 3vw, 4rem)/1.02 var(--cgx-display);
	letter-spacing: -0.02em; text-transform: uppercase; text-wrap: balance; color: var(--cgx-white);
}
.cgx-phero__lede { max-width: 62ch; margin: 0 0 10px; color: var(--cgx-muted-dark); font-size: clamp(16px, 0.95rem + 0.25vw, 18px); line-height: 1.7; }
.cgx-phero__lede a { color: var(--cgx-white); }
.cgx-phero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; margin-top: 26px; }
.cgx .cgx-link--light { color: var(--cgx-white); }

.cgx-psec__lede { max-width: 62ch; margin: 14px 0 0; color: var(--cgx-body-text); font-size: 17px; line-height: 1.6; }
.cgx-psec__head { margin-bottom: 28px; }
.cgx-psec__body { max-width: 78ch; }
.cgx-psec__body > p { margin: 0 0 14px; }
.cgx-psec__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 28px; }
.cgx-psec__media { margin: 0; }
.cgx-psec__media img { display: block; width: 100%; height: auto; max-height: 520px; object-fit: cover; }
@media (min-width: 1000px) {
	.cgx-psec__split { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 64px; align-items: center; }
}
@media (max-width: 999px) { .cgx-psec__media { margin-top: 32px; } }

.cgx-plist { margin: 0 0 18px; padding: 0; list-style: none; border-top: 1px solid var(--cgx-line); }
.cgx-plist li { position: relative; padding: 14px 0 14px 22px; border-bottom: 1px solid var(--cgx-line); line-height: 1.55; }
.cgx-plist li::before { content: ""; position: absolute; left: 0; top: 1.45em; width: 7px; height: 7px; background: var(--cgx-bronze); }
.cgx-plist--titled strong { display: block; margin-bottom: 2px; font-weight: 600; color: var(--cgx-text); }
.cgx-plist--titled span { color: var(--cgx-body-text); }

.cgx-pcards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin: 0 0 18px; max-width: none; }
.cgx-psec__body:has(.cgx-pcards), .cgx-psec__body:has(.cgx-ptable) { max-width: none; }
.cgx-pcard { padding: 22px 22px 18px; border: 1px solid var(--cgx-line); background: var(--cgx-white); }
.cgx-pcard__title { margin: 0 0 8px; font: 600 16px/1.3 var(--cgx-body); letter-spacing: 0.01em; color: var(--cgx-text); }
.cgx-pcard p { margin: 0 0 8px; color: var(--cgx-body-text); font-size: 15.5px; line-height: 1.55; }
.cgx-pcard .cgx-plist { margin-top: 8px; }

.cgx-ptable { overflow-x: auto; margin: 0 0 18px; border: 1px solid var(--cgx-line); background: var(--cgx-white); }
.cgx-ptable table { width: 100%; border-collapse: collapse; font-size: 15px; }
.cgx-ptable th, .cgx-ptable td { padding: 13px 16px; border-bottom: 1px solid var(--cgx-line); text-align: left; vertical-align: top; }
.cgx-ptable thead th { font: 600 12px/1.2 var(--cgx-body); letter-spacing: 0.12em; text-transform: uppercase; color: var(--cgx-muted); background: var(--cgx-paper); }
.cgx-ptable tbody th { font-weight: 600; color: var(--cgx-text); }
.cgx-ptable tbody tr:last-child th, .cgx-ptable tbody tr:last-child td { border-bottom: 0; }
@media (max-width: 640px) {
	.cgx-ptable { border: 0; background: transparent; }
	.cgx-ptable thead { display: none; }
	.cgx-ptable tr { display: block; margin-bottom: 12px; border: 1px solid var(--cgx-line); background: var(--cgx-white); }
	.cgx-ptable th, .cgx-ptable td { display: block; border-bottom: 1px solid var(--cgx-line); }
	.cgx-ptable td[data-label]::before { content: attr(data-label); display: block; margin-bottom: 2px; font: 600 11px/1.2 var(--cgx-body); letter-spacing: 0.12em; text-transform: uppercase; color: var(--cgx-muted); }
}

.cgx-pfaq { max-width: 860px; margin-bottom: 18px; border-top: 1px solid var(--cgx-line); }
.cgx-plinks { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 0 0 18px; padding: 0; list-style: none; }

.cgx-related__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.cgx .cgx-related__item {
	display: grid; grid-template-columns: 1fr auto; gap: 4px 16px; align-items: center; height: 100%;
	padding: 20px 22px; border: 1px solid var(--cgx-line); background: var(--cgx-white); color: var(--cgx-text); text-decoration: none;
	transition: border-color 0.2s ease;
}
.cgx .cgx-related__item:hover { border-color: var(--cgx-text); }
.cgx .cgx-related__item:focus-visible { outline: 2px solid var(--cgx-text); outline-offset: 2px; }
.cgx-related__name { font-weight: 600; }
.cgx-related__text { grid-column: 1; color: var(--cgx-muted); font-size: 14.5px; }
.cgx-related__item svg { grid-column: 2; grid-row: 1 / span 2; width: 18px; height: 18px; }
.cgx-related__mail { margin: 22px 0 0; color: var(--cgx-muted); }
.cgx-related__mail a { color: var(--cgx-text); }

/* Membership */
.cgx-plans__grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.cgx-plan { display: flex; flex-direction: column; gap: 10px; padding: 28px; border: 1px solid var(--cgx-line); background: var(--cgx-white); }
.cgx-plan--best { border-color: var(--cgx-text); }
.cgx-plan__tag { margin: 0; font: 600 11.5px/1.2 var(--cgx-body); letter-spacing: 0.16em; text-transform: uppercase; color: var(--cgx-bronze); }
.cgx-plan__name { margin: 0; font: 500 clamp(1.3rem, 1.1rem + 0.6vw, 1.7rem)/1.1 var(--cgx-display); text-transform: uppercase; }
.cgx-plan__price { margin: 6px 0 0; font: 500 clamp(1.8rem, 1.4rem + 1.2vw, 2.4rem)/1 var(--cgx-display); }
.cgx-plan__price span { font: 400 14px/1.4 var(--cgx-body); color: var(--cgx-muted); }
.cgx-plan__note { margin: 0 0 8px; color: var(--cgx-body-text); font-size: 15px; }
.cgx-plan .cgx-btn { margin-top: auto; }
.cgx-plans__fine { margin: 18px 0 0; color: var(--cgx-muted); font-size: 14.5px; max-width: 80ch; }
.cgx-steps { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); margin: 0; padding: 0; list-style: none; }
.cgx-steps__item { padding: 24px; border: 1px solid var(--cgx-line); }
.cgx-steps__n { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; margin-bottom: 14px; background: var(--cgx-black); color: var(--cgx-gold); font: 600 15px/1 var(--cgx-display); }
.cgx-steps__item p { margin: 0; color: var(--cgx-body-text); }

/* Contact, auth and preference pages */
.cgx-contact__grid, .cgx-authpage__grid { display: grid; gap: 40px; }
@media (min-width: 1000px) {
	.cgx-contact__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 64px; align-items: start; }
	.cgx-authpage__grid { grid-template-columns: minmax(0, 6fr) minmax(0, 4fr); gap: 64px; align-items: start; }
}
.cgx-contact__facts { margin: 24px 0; grid-template-columns: 1fr; }
.cgx-contact__card, .cgx-authpage__card { padding: clamp(22px, 3vw, 36px); border: 1px solid var(--cgx-line); background: var(--cgx-white); }
.cgx-contact__req { margin: 10px 0 22px; color: var(--cgx-muted); font-size: 14.5px; }
.cgx-field { display: grid; gap: 7px; margin-bottom: 18px; }
.cgx-field label { font: 600 13px/1.2 var(--cgx-body); letter-spacing: 0.04em; color: var(--cgx-text); }
.cgx-field input, .cgx-field textarea, .cgx-field select,
.cgx-affwp input[type="text"], .cgx-affwp input[type="password"], .cgx-affwp input[type="email"],
.cgx-prefs input[type="text"], .cgx-prefs input[type="email"], .cgx-prefs select {
	width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid var(--cgx-line-strong); border-radius: 0; background: var(--cgx-white);
	font: 400 16px/1.4 var(--cgx-body); color: var(--cgx-text);
}
.cgx-field textarea { min-height: 160px; resize: vertical; }
.cgx-field input:focus-visible, .cgx-field textarea:focus-visible, .cgx-field select:focus-visible,
.cgx-affwp input:focus-visible, .cgx-prefs input:focus-visible { outline: 2px solid var(--cgx-text); outline-offset: 0; border-color: var(--cgx-text); }
.cgx-field [aria-invalid="true"] { border-color: var(--cgx-error); }
.cgx-hp-field { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.cgx-contact__status { min-height: 1.5em; margin: 14px 0 0; font-size: 15px; }
.cgx-contact__status.is-bad { color: var(--cgx-error); }
.cgx-contact__status.is-ok { color: var(--cgx-text); }
.cgx-authpage__aside p { color: var(--cgx-body-text); }
.cgx-affwp fieldset { margin: 0; padding: 0; border: 0; }
.cgx-affwp legend { display: none; }
.cgx-affwp p { margin: 0 0 16px; }
.cgx-affwp label { display: block; margin-bottom: 6px; font: 600 13px/1.2 var(--cgx-body); letter-spacing: 0.04em; }
.cgx-affwp .affwp-user-remember label { display: inline; font-weight: 400; }
.cgx-affwp input[type="submit"], .cgx-prefs input[type="submit"], .cgx-prefs button {
	min-height: 52px; padding: 0 28px; border: 0; border-radius: 0; background: var(--cgx-gold); color: var(--cgx-black);
	font: 600 14px/1 var(--cgx-body); letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer;
}
.cgx-affwp a, .cgx-prefs a { color: var(--cgx-text); }

/* COA library */
.cgx-coalib__tools { display: grid; gap: 0 16px; grid-template-columns: 1fr; }
@media (min-width: 760px) { .cgx-coalib__tools { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); } }
.cgx-coalib__count { margin: 4px 0 18px; color: var(--cgx-muted); font-size: 14.5px; }
.cgx-coalib__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.cgx-coa-card[hidden] { display: none; }
.cgx-coa-card__open {
	display: flex; flex-direction: column; width: 100%; height: 100%; padding: 0; border: 1px solid var(--cgx-line); background: var(--cgx-white);
	text-align: left; cursor: pointer; transition: border-color 0.2s ease;
}
.cgx-coa-card__open:hover { border-color: var(--cgx-text); }
.cgx-coa-card__open:focus-visible { outline: 2px solid var(--cgx-text); outline-offset: 2px; }
.cgx-coa-card__img { display: block; aspect-ratio: 1 / 1; overflow: hidden; background: var(--cgx-paper); border-bottom: 1px solid var(--cgx-line); }
.cgx-coa-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.cgx-coa-card__body { display: grid; gap: 6px; padding: 16px; }
.cgx-coa-card__name { font: 600 16px/1.3 var(--cgx-body); color: var(--cgx-text); }
.cgx-coa-card__meta { font-size: 13.5px; color: var(--cgx-muted); }
.cgx-coa-card__cta { margin-top: 6px; font: 600 12px/1.2 var(--cgx-body); letter-spacing: 0.12em; text-transform: uppercase; color: var(--cgx-text); text-decoration: underline; text-underline-offset: 4px; }
.cgx-coalib__empty { padding: 28px; border: 1px solid var(--cgx-line); color: var(--cgx-body-text); }
.cgx-coa-dialog { width: min(920px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 0; border: 0; border-radius: 0; background: var(--cgx-white); }
.cgx-coa-dialog::backdrop { background: rgba(0, 0, 0, 0.72); }
.cgx-coa-dialog__head { position: sticky; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px; background: var(--cgx-black); color: var(--cgx-white); }
.cgx-coa-dialog__title { margin: 0; font: 500 18px/1.2 var(--cgx-display); text-transform: uppercase; }
.cgx-coa-dialog__close { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: var(--cgx-white); cursor: pointer; }
.cgx-coa-dialog__close svg { width: 22px; height: 22px; }
.cgx-coa-dialog__img { display: block; width: 100%; height: auto; }
.cgx-coa-dialog__full { display: inline-flex; margin: 16px 18px 20px; }

.cgx-ptable th, .cgx-ptable td { min-width: 140px; }

/* ==========================================================================
   Partner pages (template-partner-cellugenix.php + inc/content/partner-*.php)
   A partner's own words on the house system; each protocol shows its real
   vials standing together on the render ground, priced live.
   ========================================================================== */

.cgx-pl2 { --cgx-pl-gap: clamp(28px, 4.5vw, 72px); }

/* Hero */
.cgx-pl-hero {
	background:
		radial-gradient(ellipse 46% 70% at 80% 45%, var(--cgx-gold-glow), transparent 70%),
		var(--cgx-black);
	color: var(--cgx-white);
}
.cgx-pl-hero__grid {
	display: grid;
	gap: 40px;
	align-items: center;
	padding-block: clamp(28px, 4vw, 48px) clamp(56px, 7vw, 104px);
}
.cgx-pl-hero__title {
	margin: 18px 0 20px;
	max-width: 15ch;
	font: 500 clamp(2.2rem, 1.25rem + 3.1vw, 4.2rem)/1.02 var(--cgx-display);
	letter-spacing: -0.02em;
	text-transform: uppercase;
	text-wrap: balance;
	color: var(--cgx-white);
}
.cgx-pl-hero__lede {
	max-width: 44ch;
	margin: 0;
	color: var(--cgx-muted-dark);
	font-size: clamp(16px, 0.95rem + 0.3vw, 18.5px);
	line-height: 1.7;
	text-wrap: pretty;
}
.cgx-pl-hero__jump { margin-top: 30px; }
.cgx .cgx-pl-hero__jump .cgx-icon { transition: transform 0.2s var(--cgx-ease); }
.cgx .cgx-pl-hero__jump:hover { color: var(--cgx-gold-light); }
.cgx .cgx-pl-hero__jump:hover .cgx-icon { transform: translateY(3px); }
.cgx-pl-hero__media { margin: 0; justify-self: center; width: min(100%, 520px); }
.cgx-pl-hero__media img { display: block; width: 100%; height: auto; max-height: min(64vh, 620px); object-fit: cover; }
.cgx-pl-hero--mark .cgx-pl-hero__media { width: min(100%, 460px); }
.cgx-pl-hero--mark .cgx-pl-hero__media img { object-fit: contain; }
@media (min-width: 960px) {
	.cgx-pl-hero__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--cgx-pl-gap); }
	.cgx-pl-hero__media { justify-self: end; }
}

/* Partner code: stated from the live coupon, copyable */
.cgx-pl-code { margin-top: 34px; max-width: 460px; padding: 18px 20px 16px; border: 1px solid var(--cgx-gold-rule); }
.cgx-pl-code__what { margin: 0 0 8px; color: var(--cgx-muted-dark); font-size: 14px; line-height: 1.4; }
.cgx-pl-code__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; }
.cgx-pl-code__code { font: 600 clamp(1.5rem, 1.2rem + 1vw, 1.9rem)/1 var(--cgx-display); letter-spacing: 0.12em; color: var(--cgx-white); user-select: all; }
.cgx .cgx-pl-code__copy {
	display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 2px;
	border: 0; background: none; color: var(--cgx-gold); cursor: pointer;
	font: 600 12px/1 var(--cgx-display); letter-spacing: 0.14em; text-transform: uppercase;
	transition: color 0.2s ease;
}
.cgx .cgx-pl-code__copy .cgx-icon { width: 17px; height: 17px; }
.cgx .cgx-pl-code__copy:hover { color: var(--cgx-gold-light); }
.cgx .cgx-pl-code__copy:focus-visible { outline: 2px solid var(--cgx-gold); outline-offset: 3px; }
.cgx .cgx-pl-code__copy.is-done { color: var(--cgx-white); }

/* Partner's note */
.cgx-pl-note { padding-block: var(--cgx-sec); }
.cgx-pl-note__grid { display: grid; gap: 40px; align-items: center; }
.cgx-pl-note__quote { margin: 28px 0 0; padding: 0; }
.cgx-pl-note__lead {
	margin: 28px 0 22px;
	max-width: 30ch;
	font: 500 clamp(1.35rem, 1rem + 1.3vw, 2.05rem)/1.3 var(--cgx-display);
	letter-spacing: -0.005em;
	color: var(--cgx-text);
	text-wrap: balance;
}
.cgx-pl-note__quote .cgx-pl-note__lead { margin-top: 0; }
.cgx-pl-note__quote p:not(.cgx-pl-note__lead),
.cgx-pl-note__p { max-width: 60ch; margin: 0 0 16px; color: var(--cgx-body-text); font-size: 17px; line-height: 1.7; text-wrap: pretty; }
.cgx-pl-note__quote footer {
	display: flex; align-items: center; gap: 14px; margin-top: 26px;
	font: 600 12px/1 var(--cgx-display); letter-spacing: 0.16em; text-transform: uppercase; color: var(--cgx-text);
}
.cgx-pl-note__quote footer::before { content: ""; width: 32px; height: 1px; background: var(--cgx-bronze); }
.cgx-pl-note__media { margin: 0; justify-self: center; width: min(100%, 560px); }
.cgx-pl-note__media img { display: block; width: 100%; height: auto; }
@media (min-width: 960px) {
	.cgx-pl-note__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--cgx-pl-gap); }
	.cgx-pl-note--text .cgx-pl-note__grid { grid-template-columns: minmax(0, 1fr); }
	.cgx-pl-note--text .cgx-pl-note__copy { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: var(--cgx-pl-gap); align-items: start; }
	.cgx-pl-note--text .cgx-h2 { grid-row: span 3; }
	.cgx-pl-note--text .cgx-pl-note__lead { margin-top: 0; }
}

/* How this works: the reader's situation, linked to its protocol */
.cgx-pl-how { padding-block: var(--cgx-sec); background: var(--cgx-paper); }
.cgx-pl-how__grid { display: grid; gap: 36px; }
.cgx-pl-how__copy p { max-width: 58ch; margin: 18px 0 0; color: var(--cgx-body-text); font-size: 17px; line-height: 1.7; text-wrap: pretty; }
.cgx-pl-how__copy .cgx-h2 + p { margin-top: 24px; }
.cgx-pl-how__copy strong { color: var(--cgx-text); font-weight: 600; }
.cgx-pl-paths { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--cgx-line-strong); align-self: start; }
.cgx-pl-paths li { border-bottom: 1px solid var(--cgx-line); }
.cgx .cgx-pl-paths a {
	display: flex; align-items: center; justify-content: space-between; gap: 20px;
	min-height: 64px; padding: 14px 2px;
	color: var(--cgx-text); text-decoration: none;
	font: 500 clamp(1.02rem, 0.95rem + 0.35vw, 1.2rem)/1.3 var(--cgx-display);
}
.cgx .cgx-pl-paths .cgx-icon { width: 20px; height: 20px; color: var(--cgx-bronze); transition: transform 0.25s var(--cgx-ease); }
.cgx .cgx-pl-paths a:hover .cgx-icon { transform: translateX(5px); }
.cgx .cgx-pl-paths a:hover span { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
@media (min-width: 960px) {
	.cgx-pl-how__grid { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--cgx-pl-gap); }
}

/* Protocol groups */
.cgx-pl-group { padding-block: var(--cgx-sec) 0; }
.cgx-pl-group:last-child { padding-bottom: var(--cgx-sec); }
.cgx-pl-group__head { margin-bottom: clamp(32px, 3.5vw, 52px); }
.cgx-pl-group__head p { max-width: 62ch; margin: 18px 0 0; color: var(--cgx-body-text); font-size: 17px; line-height: 1.7; text-wrap: pretty; }

.cgx-pl-proto {
	display: grid;
	gap: 28px;
	padding-block: clamp(32px, 4vw, 56px);
	border-top: 1px solid var(--cgx-line);
	scroll-margin-top: calc(var(--cgx-hd-h) + 20px);
}
.cgx-pl-proto:target .cgx-pl-proto__name { color: var(--cgx-bronze); }
@media (min-width: 900px) {
	.cgx-pl-proto { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--cgx-pl-gap); align-items: start; }
}

/* The lineup: vials overlap by half a tile; darken melts each render's ground into the panel. */
.cgx-pl-lineup {
	--w: calc(100% / (1 + (var(--n) - 1) * 0.5));
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	padding: 0 4%;
	background:
		radial-gradient(ellipse 60% 16% at 50% 92%, var(--cgx-floor-shade), transparent 70%),
		var(--cgx-render);
}
.cgx-pl-lineup__vial {
	flex: none;
	width: var(--w);
	max-width: 76%;
	height: auto;
	margin-left: calc(var(--w) * -0.5);
	mix-blend-mode: darken;
}
.cgx-pl-lineup__vial:first-child { margin-left: 0; }
@media (min-width: 900px) { .cgx-pl-lineup { position: sticky; top: calc(var(--cgx-hd-h) + 24px); } }

.cgx-pl-proto__name {
	margin: 0 0 14px;
	font: 600 clamp(1.3rem, 1.1rem + 0.8vw, 1.8rem)/1.15 var(--cgx-display);
	letter-spacing: 0.005em;
	text-transform: uppercase;
	text-wrap: balance;
	transition: color 0.3s ease;
}
.cgx-pl-proto__text { max-width: 60ch; margin: 0 0 14px; color: var(--cgx-body-text); line-height: 1.7; text-wrap: pretty; }
.cgx-pl-proto__for { margin: 0 0 18px; padding: 0; list-style: none; }
.cgx-pl-proto__for li { position: relative; padding: 4px 0 4px 20px; color: var(--cgx-body-text); }
.cgx-pl-proto__for li::before { content: ""; position: absolute; left: 0; top: 0.95em; width: 6px; height: 6px; background: var(--cgx-bronze); }

.cgx-pl-proto__vials { width: 100%; margin: 22px 0 0; border-collapse: collapse; font-size: 15.5px; }
.cgx-pl-proto__vials tbody tr { border-bottom: 1px solid var(--cgx-line); }
.cgx-pl-proto__vials th,
.cgx-pl-proto__vials td { padding: 13px 0; vertical-align: baseline; }
.cgx-pl-proto__vials th { text-align: left; font-weight: 400; padding-right: 16px; }
.cgx-pl-proto__vials td { text-align: right; white-space: nowrap; font: 500 15.5px/1.4 var(--cgx-display); font-variant-numeric: tabular-nums; }
.cgx .cgx-pl-proto__vials tbody a { color: var(--cgx-text); text-decoration: none; }
.cgx .cgx-pl-proto__vials tbody a:hover { text-decoration: underline; text-underline-offset: 4px; }
.cgx-pl-proto__vials tfoot tr { border-top: 1px solid var(--cgx-black); }
.cgx-pl-proto__vials tfoot th { font: 600 12px/1.2 var(--cgx-display); letter-spacing: 0.14em; text-transform: uppercase; color: var(--cgx-muted); }
.cgx-pl-proto__vials tfoot td { font: 600 clamp(1.15rem, 1.05rem + 0.4vw, 1.4rem)/1.2 var(--cgx-display); }
.cgx-pl-proto__oos { color: var(--cgx-error); font-size: 13px; }
.cgx-pl-proto__note { margin: 14px 0 0; color: var(--cgx-muted); font-size: 14px; line-height: 1.55; }
.cgx-pl-proto__act { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin-top: 26px; }
.cgx-pl-add { margin: 0; }
.cgx .cgx-pl-add .cgx-btn:active { transform: scale(0.98); }
.cgx-pl-proto__len { margin: 0; color: var(--cgx-muted); font-size: 14px; }
.cgx-pl-proto__none { margin: 0; color: var(--cgx-muted); }

/* Add-ons */
.cgx-pl-addons { padding-block: var(--cgx-sec); background: var(--cgx-paper); }
.cgx-pl-addons__list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	gap: 1px;
	margin: clamp(28px, 3vw, 44px) 0 0;
	padding: 0;
	list-style: none;
	background: var(--cgx-line);
	border: 1px solid var(--cgx-line);
}
.cgx-pl-addon { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 16px 18px; align-items: center; padding: 18px; background: var(--cgx-white); }
.cgx-pl-addon__media { display: block; background: var(--cgx-render); }
.cgx-pl-addon__media img { display: block; width: 100%; height: auto; mix-blend-mode: darken; }
.cgx-pl-addon__info { display: grid; gap: 4px; }
.cgx .cgx-pl-addon__name { color: var(--cgx-text); text-decoration: none; font: 500 16px/1.3 var(--cgx-display); }
.cgx .cgx-pl-addon__name:hover { text-decoration: underline; text-underline-offset: 4px; }
.cgx-pl-addon__price { font: 500 15px/1.3 var(--cgx-display); font-variant-numeric: tabular-nums; color: var(--cgx-body-text); }
.cgx-pl-addon__ship { color: var(--cgx-muted); font-size: 13px; }
.cgx-pl-addon .cgx-pl-add { grid-column: 1 / -1; }
.cgx .cgx-pl-addon .cgx-btn { width: 100%; min-height: 44px; }

/* Close: the code again, then the pricing note */
.cgx-pl-close { background: var(--cgx-black); color: var(--cgx-white); padding-block: clamp(48px, 6vw, 80px); }
.cgx-pl-close__grid { display: grid; gap: 24px; align-items: center; }
.cgx-pl-close .cgx-pl-code { margin-top: 0; }
.cgx-pl-close__note { margin: 0; max-width: 44ch; color: var(--cgx-muted-dark); font-size: 15px; line-height: 1.65; }
@media (min-width: 900px) { .cgx-pl-close__grid { grid-template-columns: auto minmax(0, 1fr); gap: var(--cgx-pl-gap); } }

.cgx-pl-ruo { padding-block: 26px; border-top: 1px solid var(--cgx-line); }
.cgx-pl-ruo p { max-width: 90ch; margin: 0; color: var(--cgx-muted); font-size: 13.5px; line-height: 1.6; }
.cgx-pl-ruo strong { color: var(--cgx-text); font-weight: 600; }

@media (prefers-reduced-motion: reduce) {
	.cgx .cgx-pl-paths .cgx-icon,
	.cgx .cgx-pl-hero__jump .cgx-icon { transition: none; }
}

/* COA viewer: lab verification beside each certificate. */
.cgx-coa-verify { display: grid; grid-template-columns: 1fr; gap: 18px; align-items: center; margin: 0 18px; padding: 20px 0; border-top: 1px solid var(--cgx-line); }
.cgx-coa-verify[hidden] { display: none; }
.cgx-coa-verify__qr { display: block; width: 200px; height: 200px; background: var(--cgx-white); image-rendering: pixelated; }
.cgx-coa-verify__title { margin: 0 0 6px; font: 600 18px/1.25 var(--cgx-display); text-transform: uppercase; color: var(--cgx-text); }
.cgx-coa-verify__meta { margin: 0 0 8px; font: 500 14px/1.4 var(--cgx-mono); color: var(--cgx-text); }
.cgx-coa-verify__note { max-width: 52ch; margin: 0 0 16px; color: var(--cgx-muted); font-size: 14px; line-height: 1.55; }
.cgx-coa-verify__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
@media (min-width: 640px) { .cgx-coa-verify { grid-template-columns: 200px minmax(0, 1fr); gap: 28px; } }

/* Payment recovery (inc/payment-recovery.php) */
.cgx-checkout-rescue { margin: 0 0 18px; padding: 12px 14px; border: 1px solid var(--cgx-line); background: var(--cgx-paper); color: var(--cgx-body-text); font-size: 14px; line-height: 1.55; }
.cgx-checkout-rescue strong { color: var(--cgx-text); }
.cgx-payment-recovery { max-width: 760px; margin: 24px auto; padding: 26px 28px; border: 1px solid var(--cgx-line-strong); background: var(--cgx-paper); color: var(--cgx-text); }
.cgx-payment-recovery h2 { margin: 0 0 10px; font: 500 clamp(22px, 2.6vw, 30px)/1.15 var(--cgx-display); text-transform: uppercase; }
.cgx-payment-recovery p { max-width: 62ch; margin: 0 0 12px; color: var(--cgx-body-text); line-height: 1.65; }
.cgx-payment-recovery .cgx-btn { margin-top: 6px; }

/* Payment badges (inc/store-rules.php) */
.cgx-pay-badge { display: inline-block; height: 22px; width: auto; max-width: 72px; margin-left: 8px; vertical-align: middle; }

/* Age gate containment on narrow screens (was snippet 042) */
#cgx-rg .rg-box, #cgx-rg .rg-form-wrap, #cgx-rg form, #cgx-rg .rg-promo, #cgx-rg .rg-check { min-width: 0; max-width: 100%; }
#cgx-rg .rg-promo > div, #cgx-rg .rg-check > span, #cgx-rg .rg-small, #cgx-rg .rg-foot { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 600px) {
	#cgx-rg { box-sizing: border-box; inset: 0; width: 100%; max-width: 100%; padding: 8px; overflow-x: hidden; }
	#cgx-rg .rg-box { width: 100%; max-width: 100%; margin: 0; overflow-x: hidden; }
}

/* Policy pages: Privacy, Returns, Terms (inc/seo-legacy.php) */
.cgx-policy { max-width: 76ch; color: var(--cgx-body-text); font-size: 16px; line-height: 1.75; }
.cgx-policy section { margin: 0 0 30px; }
.cgx-policy h2 { margin: 36px 0 12px; font: 600 clamp(1.1rem, 1rem + 0.5vw, 1.35rem)/1.3 var(--cgx-display); color: var(--cgx-text); text-transform: none; letter-spacing: 0; }
.cgx-policy h3 { margin: 24px 0 8px; font: 600 1rem/1.4 var(--cgx-display); color: var(--cgx-text); }
.cgx-policy p, .cgx-policy ul, .cgx-policy ol { margin: 0 0 14px; }
.cgx-policy ul, .cgx-policy ol { padding-left: 1.25em; }
.cgx-policy li { margin: 0 0 6px; }
.cgx-policy a { color: var(--cgx-text); text-decoration: underline; text-underline-offset: 3px; }
.cgx-policy__lead { font-size: 17px; color: var(--cgx-text); }
.cgx-policy__summary { margin: 0 0 32px; padding: 18px 20px; border: 1px solid var(--cgx-line); background: var(--cgx-paper); }
.cgx-policy__summary ul { margin: 8px 0 0; }
.cgx-policy__meta { color: var(--cgx-muted); font-size: 14px; }
.cgx-policy__header { margin: 0 0 28px; padding: 0 0 20px; border-bottom: 1px solid var(--cgx-line); }
.cgx-policy__eyebrow { margin: 0 0 6px; font: 600 12px/1.2 var(--cgx-display); letter-spacing: 0.14em; text-transform: uppercase; color: var(--cgx-bronze); }
.cgx-policy__updated { margin: 8px 0 0; color: var(--cgx-muted); font-size: 14px; }
.cgx .cgx-policy-page { padding-top: 56px; }
.cgx-policy-page .cgx-policy__updated { margin: 0 0 20px; }
@media (max-width: 767px) { .cgx .cgx-policy-page { padding-top: 40px; } }

/* Block cart: no layout jump while it loads (shift measured at 0.19). The
   loading shell was 8px wider than the loaded cart, and the empty-cart grid
   rendered for a moment before the real cart replaced it. */
.cgx .wp-block-woocommerce-cart.alignwide { margin-left: 0; margin-right: 0; width: auto; max-width: none; }
.wp-block-woocommerce-cart.is-loading { min-height: 560px; }
.wp-block-woocommerce-cart.is-loading .wp-block-woocommerce-empty-cart-block { visibility: hidden; }

/* The lightbox shell stays out of layout until PhotoSwipe opens it (its own stylesheet is not loaded on checkout). */
.pswp:not(.pswp--open) { display: none; }

/* Free gift line (inc/free-gift.php): value struck through, then FREE. */
.cgx-gift-price del, .cgx-gift-price del * { color: var(--cgx-muted) !important; margin-right: 4px; }
.cgx-gift-price ins { text-decoration: none; font-weight: 700; color: var(--cgx-text); letter-spacing: 0.04em; }
.cgx-gift-row .wc-block-cart-item__prices .wc-block-components-product-price__value.is-discounted,
.cgx-gift-row .wc-block-cart-item__total .wc-block-components-product-price__value { font-size: 0; }
.cgx-gift-row .wc-block-cart-item__prices .wc-block-components-product-price__value.is-discounted::after,
.cgx-gift-row .wc-block-cart-item__total .wc-block-components-product-price__value::after { content: "FREE"; font-size: 14px; font-weight: 700; letter-spacing: 0.04em; }
.cgx-gift-row .wc-block-components-product-details__free-gift .wc-block-components-product-details__name { font-weight: 700; }

/* Emoji images in older posts are sized like text (WordPress's own emoji styles are not loaded). */
img.emoji, img.wp-smiley { display: inline !important; width: 1em !important; height: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; border: none !important; box-shadow: none !important; background: none !important; padding: 0 !important; }

/* ---------- Design audit fixes (2026-09-29) ---------- */
/* Account: WooCommerce's clearfix pseudo-elements became grid cells and staggered Login/Register. */
.cgx.woocommerce-account .u-columns::before, .cgx.woocommerce-account .u-columns::after { content: none; display: none; }
.cgx.woocommerce-account .u-columns > .u-column1, .cgx.woocommerce-account .u-columns > .u-column2 { float: none; width: auto; }
/* WooCommerce's show-password button: a comfortable target. */
.cgx .show-password-input { min-width: 44px; min-height: 44px; }
/* Content sections with cards: the image sits below at its own proportions instead of a cropped banner. */
.cgx-wrap:not(.cgx-psec__split) > .cgx-psec__media { max-width: 520px; margin-top: 40px; }
.cgx-wrap:not(.cgx-psec__split) > .cgx-psec__media img { max-height: none; object-fit: contain; }
/* FunnelKit order summary item details: readable contrast. */
body.cgx #wfacp-e-form #order_summary_field .product-name dl, body.cgx #wfacp-e-form #order_summary_field .product-name dl * { color: var(--cgx-muted) !important; }

/* Home tabs: one line from 1440px; two even rows of five below that, never a lone tab on a second line. */
@media (min-width: 1080px) and (max-width: 1439px) {
	.cgx-tabs[data-cgx-tabs] { display: grid; grid-template-columns: repeat(5, max-content); column-gap: 40px; }
}
/* Product rails hold ten: two full rows of five on desktop, five of two on phones; tablets show nine (three by three). */
@media (min-width: 768px) and (max-width: 1079px) {
	.cgx ul.products.cgx-grid--rail > li:nth-child(n+10) { display: none; }
}
/* Stacks rail: six cards (3x2 tablet, 2x3 phone); desktop's five columns show five. */
@media (min-width: 1080px) { .cgx ul.products.cgx-grid--six > li:nth-child(n+6) { display: none; } }

/* Canada-only products (inc/order-rules.php). */
.cgx-canada-only { margin: 10px 0 0; padding: 10px 12px; border: 1px solid var(--cgx-line); font-size: 14px; line-height: 1.4; color: var(--cgx-text); }

/* ---------- Audit fixes 2026-09-30 ---------- */

/* Breadcrumbs on the black heroes: #666 on black was 3.7:1. */
.cgx-crumbs--hero li,
.cgx .cgx-crumbs--hero a { color: var(--cgx-muted-dark); }
.cgx .cgx-crumbs--hero a:hover { color: var(--cgx-white); }

/* Checkout: the builder's unverified McAfee/Norton seals and boilerplate
   "256-Bit Bank Level Security" lines; the payment heading already says
   transactions are secure and encrypted. */
.elementor-element-6e031036,
.elementor-element-616e43e4 { display: none !important; }

/* Checkout labels carry two required marks (an abbr and a span); keep one. */
label:has(abbr.required) > span.required[aria-hidden="true"] { display: none !important; }

/* Cart: quantity and remove controls were 25-30px tall on phones. */
.wc-block-components-quantity-selector__button { min-width: 44px; min-height: 44px; }
.wc-block-components-quantity-selector__input { min-height: 44px; }
.wc-block-cart-item__remove-link { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.wc-block-cart .wc-block-components-product-metadata,
.wc-block-cart .wc-block-components-product-details,
.wc-block-cart .wc-block-components-totals-footer-item-shipping { font-size: 13px; }

/* Cart: the Zelle express button was a purple slab above "Proceed to checkout";
   set it as the secondary action in the site's black. */
.wallet-up-pay-button { background: var(--cgx-black) !important; color: var(--cgx-white) !important; border: 1px solid var(--cgx-line-dark-strong) !important; box-shadow: none !important; }
.wallet-up-pay-button:hover { background: var(--cgx-black-hover) !important; }

/* Cart line items fit 320px phones: narrower thumbnail, name column may shrink. */
@media (max-width: 379px) {
	.wc-block-cart-items .wc-block-cart-items__row { grid-template-columns: 56px minmax(0, 1fr) auto !important; }
	.wc-block-cart-items .wc-block-cart-item__image { padding-right: 12px !important; }
	.wc-block-cart-items .wc-block-cart-item__image img { max-width: 56px; }
}
/* Cart lines show name, price and quantity; the product blurb stays on the product page. */
.wc-block-cart-items .wc-block-components-product-metadata__description { display: none; }
/* Checkout research-use agreement: one point per line. */
#additional__field .cgx-agree__point { display: block; position: relative; z-index: 1; margin: 6px 0 0 2em; padding-left: 14px; }
#additional__field .cgx-agree__point::before { content: "" !important; display: block !important; position: absolute; left: 0; top: 0.62em; width: 5px; height: 5px; background: var(--cgx-bronze, #917300); }
#additional__field .cgx-agree__close { display: block; margin: 8px 0 0 2em; }
#additional__field abbr.required, #additional__field label > .required { display: none; }
/* Agreement points: compact and quieter than the order total around them. */
#additional__field .cgx-agree__point, #additional__field .cgx-agree__close { font-size: 13px; line-height: 1.45; color: var(--cgx-muted); }
#additional__field .cgx-agree__point { margin-top: 3px; }
/* Empty product search: search again, then best sellers. */
.cgx-empty .cgx-searchform { display: flex; gap: 8px; max-width: 560px; margin: 20px 0; }
.cgx-empty .cgx-searchform input[type="search"] { flex: 1; min-width: 0; min-height: 48px; padding: 0 14px; border: 1px solid var(--cgx-line-strong); font: inherit; }
.cgx-empty__picks { padding-bottom: clamp(48px, 6vw, 96px); }
.cgx-empty__picks .cgx-h2 { margin: 0 0 24px; }
/* Six benefit cards: two even rows of three on desktop, never one card alone. */
@media (min-width: 900px) {
	.cgx-pcards:has(> :nth-child(6):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* Checkout "+ Add apartment" icon in the brand colour, not the checkout plugin's blue. */
.wfacp_collapsible svg path { fill: var(--cgx-bronze, #917300); }
/* Product page: related research guides under the documentation block. */
.cgx-pdp__guides { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid var(--cgx-line); }
.cgx-pdp__guides-label { margin: 0 0 8px; font: 600 11px/1.2 var(--cgx-body); letter-spacing: 0.18em; text-transform: uppercase; color: var(--cgx-muted); }
.cgx-pdp__guides ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.cgx .cgx-pdp__guides a { color: var(--cgx-text); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--cgx-line-strong); }
.cgx .cgx-pdp__guides a:hover { color: var(--cgx-bronze); }
/* Contrast (WCAG AA): gold fills always carry black text. */
.cgx .cgx-acct a.cgx-btn--gold, .cgx .cgx-acct a[aria-current="page"] { color: var(--cgx-black) !important; }

/* Buyer FAQ on product pages and the shop */
.cgx-buyfaq { padding: 48px 0 8px; border-top: 1px solid var(--cgx-line); }
.cgx-buyfaq .cgx-h2 { margin-bottom: 16px; }
.cgx-buyfaq .cgx-faq__item p a { color: inherit; text-decoration: underline; }
.post-type-archive-product .cgx-buyfaq, .woocommerce-shop .cgx-buyfaq { margin-bottom: 64px; }

/* Cookie choice (EU, UK, Switzerland) */
.cgx-consent { position: fixed; right: 16px; bottom: 16px; left: 16px; z-index: 9999; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; max-width: 720px; margin: 0 auto; padding: 16px 20px; border: 1px solid var(--cgx-line); background: #fff; box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12); font-size: 14px; }
.cgx-consent[hidden] { display: none; }
.cgx-consent p { flex: 1 1 320px; margin: 0; }
.cgx-consent a { color: inherit; text-decoration: underline; }
.cgx-consent__actions { display: flex; gap: 8px; }

/* Compound reference on product pages */
.cgx-compound { padding: 48px 0 8px; border-top: 1px solid var(--cgx-line); }
.cgx-compound .cgx-h2 { margin-bottom: 20px; }
.cgx-compound__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px 48px; }
@media (min-width: 900px) { .cgx-compound__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); } }
.cgx-compound__specs { margin: 0; border-top: 1px solid var(--cgx-line); }
.cgx-compound__specs > div { display: grid; grid-template-columns: 9.5em minmax(0, 1fr); gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--cgx-line); }
.cgx-compound__specs dt { color: var(--cgx-muted); font-size: 14px; }
.cgx-compound__specs dd { margin: 0; font-size: 15px; overflow-wrap: anywhere; }
.cgx-compound__text h3 { margin: 0 0 6px; font-size: 15px; font-weight: 600; }
.cgx-compound__text p, .cgx-compound__text ul { margin: 0 0 18px; color: var(--cgx-body-text, inherit); font-size: 15px; line-height: 1.55; }
.cgx-compound__text ul { padding-left: 1.1em; }
.cgx-compound a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.cgx-compound__scroll { overflow-x: auto; }
.cgx-compound__table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 14.5px; }
.cgx-compound__table th, .cgx-compound__table td { padding: 12px 12px 12px 0; border-bottom: 1px solid var(--cgx-line); text-align: left; vertical-align: top; }
.cgx-compound__table thead th { color: var(--cgx-muted); font-weight: 500; font-size: 13px; }
.cgx-compound__table tbody th { font-weight: 600; }
.cgx-compound__table tbody th span { display: block; margin-top: 4px; color: var(--cgx-muted); font-weight: 400; font-size: 13.5px; line-height: 1.45; }
.cgx-compound__note { margin: 16px 0 0; color: var(--cgx-muted); font-size: 13px; }
.cgx-compound__table td:last-child, .cgx-compound__specs dd { font-variant-numeric: tabular-nums; } .cgx-compound__table td:last-child { white-space: nowrap; } .cgx-compound sub { font-size: 0.75em; }

/* Category guide under the product grid */
.cgx-catguide { max-width: 920px; margin: 24px 0 64px; padding-top: 40px; border-top: 1px solid var(--cgx-line); }
.cgx-catguide__lede { max-width: 70ch; font-size: 16px; line-height: 1.6; }
.cgx-catguide h3 { margin: 28px 0 8px; font-size: 15px; font-weight: 600; }
.cgx-catguide__list { margin: 0; border-top: 1px solid var(--cgx-line); }
.cgx-catguide__list > div { padding: 12px 0; border-bottom: 1px solid var(--cgx-line); }
.cgx-catguide__list dt { font-weight: 600; }
.cgx-catguide__list dt span { margin-left: 6px; color: var(--cgx-muted); font-weight: 400; font-size: 13px; font-variant-numeric: tabular-nums; }
.cgx-catguide__list dd { margin: 4px 0 0; color: var(--cgx-muted); font-size: 14.5px; line-height: 1.5; }
.cgx-catguide a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

/* Certificate pages (/coas/{compound}/) */
.cgx-coapage { padding-top: 32px; padding-bottom: 72px; }
.cgx-coapage .cgx-crumbs { margin-bottom: 16px; color: var(--cgx-muted); font-size: 13px; }
.cgx-coapage .cgx-crumbs a { color: inherit; }
.cgx-coapage__title { margin: 0 0 24px; font-size: clamp(28px, 4vw, 44px); line-height: 1.1; text-transform: uppercase; }
.cgx-coapage__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px 48px; }
@media (min-width: 900px) { .cgx-coapage__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.cgx-coapage__img img { display: block; width: 100%; height: auto; border: 1px solid var(--cgx-line); background: #fff; }
.cgx-coapage__actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 8px; }
.cgx-coapage__h2 { margin: 28px 0 8px; font-size: 18px; font-weight: 600; }
.cgx-coapage__how { padding-left: 1.1em; font-size: 15px; line-height: 1.55; }
.cgx-coapage__how li { margin-bottom: 6px; }
.cgx-coapage__ref, .cgx-coapage__more { max-width: 760px; margin-top: 32px; }
.cgx-coapage__ids { color: var(--cgx-muted); font-size: 14px; }
.cgx-coapage a:not(.cgx-btn) { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.cgx-coa-card__page { display: block; padding: 8px 2px 0; color: var(--cgx-muted); font-size: 13px; text-decoration: underline; }
.cgx-etransfer-note { margin-top: 8px; font-size: 14px; }

/* Hero video (desktop): fades in over the still once it is playing */
.cgx-hero__video { display: none; }
@media (min-width: 900px) {
	.cgx-hero--photo .cgx-hero__video { display: block; position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: 72% center; opacity: 0; transition: opacity 0.8s ease; pointer-events: none; }
	.cgx-hero--photo .cgx-hero__video.is-on { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) { .cgx-hero__video { display: none !important; } }

/* Guide header: a real background under the full-bleed band (accessibility checkers ignore border-image), and 24px tap targets on the breadcrumb */
.cgx .cgx-post__head { background-color: var(--cgx-black); }
.cgx .cgx-post__head .cgx-crumbs a { display: inline-block; padding-block: 4px; }

/* Hero crop (Oct 2026 two-vial image): keep caps and labels in frame, trim floor first */
@media (min-width: 900px) {
	.cgx-hero--photo .cgx-hero__img,
	.cgx-hero--photo .cgx-hero__video { object-position: 72% 16%; }
	.cgx-hero--photo .cgx-hero__inner { min-height: min(56.25vw, 82vh, 820px); }
}
@media (max-width: 899px) {
	.cgx-hero--photo .cgx-hero__img { height: 58%; object-position: 67% 22%; }
	.cgx-hero--photo::before {
		background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 38%, rgba(0, 0, 0, 0.9) 54%, var(--cgx-black) 60%, var(--cgx-black) 100%);
	}
}
@media (max-width: 899px) {
	/* Phones: frame tighter on the two vials (both stay fully in view). */
	.cgx-hero--photo .cgx-hero__img { aspect-ratio: 1 / 1; height: auto; object-position: 78% 30%; }
}

/* Product photos melt into whatever they sit on (no visible tile edges).
   Renders have near-white backgrounds (245-248); a light lift takes them to
   pure white, and multiply turns white into the section colour behind it. */
.cgx .cgx-card__media,
.cgx .cgx-card__media--set,
.cgx .woocommerce-product-gallery__image,
.cgx .cgx-pdp__gallery .flex-control-thumbs li { background: transparent; }
.cgx .cgx-card__media img,
.cgx .cgx-card__media--set img,
.cgx .woocommerce-product-gallery__image img,
.cgx .cgx-pdp__gallery .flex-control-thumbs li img,
.cgx .woocommerce-cart-form .product-thumbnail img,
.cgx .fkcart-item-wrap img,
.cgx .fkcart-modal img.attachment-woocommerce_thumbnail,
.cgx .cgx-pl-addon__media img {
	filter: brightness(1.045) contrast(1.01);
	mix-blend-mode: multiply;
}

/* Payment strip: columns follow the number of methods shown (some are hidden when not offered). */
.cgx .cgx-paystrip__panel { grid-template-columns: repeat(var(--cgx-pay-half, 5), minmax(0, 1fr)); }
@media (min-width: 700px) { .cgx .cgx-paystrip__panel { grid-template-columns: repeat(var(--cgx-pay-n, 10), minmax(0, 1fr)); } }
