/*
Theme Name: Lenx Research
Theme URI: https://lenxresearch.com/
Description: Premium laboratory research storefront child theme for Storefront.
Author: Lenx Research
Template: storefront
Version: 1.0.5
Text Domain: lenx-research
*/

@font-face {
	font-display: swap;
	font-family: "Lenx Inter";
	font-style: normal;
	font-weight: 100 900;
	src: url("assets/fonts/inter-variable.ttf") format("truetype");
}

@font-face {
	font-display: swap;
	font-family: "Lenx Mono";
	font-style: normal;
	font-weight: 400;
	src: url("assets/fonts/ibm-plex-mono.woff2") format("woff2");
}

:root {
	--lenx-black: #050505;
	--lenx-carbon: #111214;
	--lenx-slate: #1d2023;
	--lenx-cream: #f5f2ea;
	--lenx-muted: #b8b4aa;
	--lenx-gold: #d4af37;
	--lenx-gold-deep: #8a6516;
	--lenx-line: rgba(212, 175, 55, .24);
	--lenx-sans: "Lenx Inter", "Helvetica Neue", Arial, sans-serif;
	--lenx-display: "Lenx Inter", "Arial Narrow", Arial, sans-serif;
	--lenx-mono: "Lenx Mono", "Courier New", monospace;
}

html { background: var(--lenx-black); }
body,
button,
input,
textarea,
select {
	font-family: var(--lenx-sans);
}

body.lenx-research-site {
	background: var(--lenx-black);
	color: var(--lenx-cream);
	font-size: 16px;
	line-height: 1.65;
}

body.lenx-research-site .site,
body.lenx-research-site .site-content,
body.lenx-research-site .site-footer,
body.lenx-research-site .site-header { background: var(--lenx-black); }

body.lenx-research-site a { color: var(--lenx-gold); text-decoration-color: rgba(212, 175, 55, .45); }
body.lenx-research-site a:hover { color: #f1ce61; text-decoration-color: currentColor; }
body.lenx-research-site h1,
body.lenx-research-site h2,
body.lenx-research-site h3,
body.lenx-research-site h4 { color: var(--lenx-cream); font-family: var(--lenx-display); font-weight: 700; letter-spacing: .025em; line-height: .96; text-transform: uppercase; }
body.lenx-research-site h1 { font-size: clamp(3.1rem, 7.4vw, 7.4rem); }
body.lenx-research-site h2 { font-size: clamp(2.1rem, 4.2vw, 4.25rem); }
body.lenx-research-site h3 { font-size: 1.35rem; }
body.lenx-research-site p { color: var(--lenx-muted); }
body.lenx-research-site .col-full { max-width: 1320px; }

body.lenx-research-site .button,
body.lenx-research-site button,
body.lenx-research-site input[type="button"],
body.lenx-research-site input[type="reset"],
body.lenx-research-site input[type="submit"] {
	border: 1px solid var(--lenx-gold);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--lenx-cream);
	font-family: var(--lenx-sans);
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .13em;
	padding: 1.05rem 1.55rem;
	text-transform: uppercase;
	transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
body.lenx-research-site .button:hover,
body.lenx-research-site button:hover,
body.lenx-research-site input[type="button"]:hover,
body.lenx-research-site input[type="reset"]:hover,
body.lenx-research-site input[type="submit"]:hover {
	background: var(--lenx-gold);
	color: var(--lenx-black);
	transform: translateY(-2px);
}
body.lenx-research-site .button.alt { background: var(--lenx-gold); color: var(--lenx-black); }
body.lenx-research-site .button.alt:hover { background: #f1ce61; }
body.lenx-research-site :focus-visible { outline: 3px solid #f1ce61; outline-offset: 4px; }

.lenx-topline { border-bottom: 1px solid var(--lenx-line); background: #0b0c0d; color: var(--lenx-cream); font-family: var(--lenx-mono); font-size: .67rem; letter-spacing: .08em; text-transform: uppercase; }
.lenx-topline .col-full { align-items: center; display: flex; justify-content: space-between; min-height: 35px; }
.lenx-topline p { color: inherit; display: flex; gap: .75rem; margin: 0; }
.lenx-topline strong { color: var(--lenx-gold); }

.site-header { border-bottom: 1px solid rgba(255,255,255,.1); padding: 0; }
.lenx-header { background: var(--lenx-black); }
.site-header .lenx-header__inner { align-items: center; display: flex; min-height: 92px; padding-bottom: .5rem; padding-top: .5rem; }
.site-header .site-branding.lenx-branding { flex: 0 0 auto; margin: 0; max-width: none; width: auto; }
.lenx-branding img { display: block; height: 76px; object-fit: contain; object-position: left center; width: 132px; }
.lenx-header__navigation { align-items: center; display: flex; gap: 1.35rem; margin-left: auto; }
.lenx-header__account-actions { align-items: center; display: flex; gap: .5rem; }
.lenx-account-link { border: 1px solid rgba(212,175,55,.52); color: var(--lenx-cream) !important; font-size: .63rem; font-weight: 800; letter-spacing: .09em; padding: .65rem .75rem; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.lenx-account-link:hover { border-color: var(--lenx-gold); color: var(--lenx-gold) !important; }
.lenx-account-link--primary { background: var(--lenx-gold); border-color: var(--lenx-gold); color: var(--lenx-black) !important; }
.lenx-account-link--primary:hover { background: #f1ce61; color: var(--lenx-black) !important; }
body.lenx-research-site.woocommerce-active .site-header .main-navigation,
.site-header .main-navigation { clear: none; float: none; margin: 0; width: auto; }
body.lenx-research-site.woocommerce-active .site-header .site-header-cart,
.site-header .site-header-cart { float: none; margin: 0; width: auto; }
.site-header .primary-navigation { display: block; }
.site-header .main-navigation ul.menu,
.site-header .main-navigation ul.nav-menu { margin-left: 0; }
.main-navigation ul.menu > li > a,
.main-navigation ul.nav-menu > li > a { color: var(--lenx-cream); font-size: .7rem; font-weight: 800; letter-spacing: .12em; padding: 1rem .65rem; text-transform: uppercase; }
.main-navigation ul.menu > li > a:hover,
.main-navigation ul.nav-menu > li > a:hover,
.main-navigation ul.menu > li.current-menu-item > a { color: var(--lenx-gold); }
.site-header-cart .cart-contents { color: var(--lenx-gold); font-family: var(--lenx-mono); font-size: .72rem; letter-spacing: .06em; }
.site-header-cart .count { color: var(--lenx-cream); }
.site-header-cart .widget_shopping_cart { background: var(--lenx-carbon); border: 1px solid var(--lenx-line); color: var(--lenx-cream); }
.lenx-header__cart { position: relative; }
.lenx-header__cart .site-header-cart { min-width: 150px; position: relative; }
.lenx-header__cart .widget_shopping_cart {
	box-sizing: border-box;
	left: auto !important;
	min-width: 360px !important;
	padding: 1.15rem !important;
	right: 0 !important;
	width: 360px !important;
}
.lenx-header__cart .widget_shopping_cart .woocommerce-mini-cart-item {
	align-items: start;
	display: grid !important;
	gap: .7rem;
	grid-template-columns: 16px minmax(0, 1fr);
}
.lenx-header__cart .widget_shopping_cart .woocommerce-mini-cart-item > a { min-width: 0; }
.lenx-header__cart .widget_shopping_cart .woocommerce-mini-cart-item > a:not(.remove) { grid-column: 2; }
.lenx-header__cart .widget_shopping_cart .woocommerce-mini-cart-item .quantity { grid-column: 2; }
.lenx-header__cart .widget_shopping_cart .buttons { display: grid !important; gap: .65rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lenx-header__cart .widget_shopping_cart .buttons .button { margin: 0 !important; padding: .85rem .45rem !important; white-space: nowrap; width: 100% !important; }
.lenx-header__cart #site-header-cart > li:last-child { display: none; margin: 0 !important; position: absolute; right: 0; top: calc(100% + .7rem); z-index: 1000; }
.lenx-header__cart:hover #site-header-cart > li:last-child,
.lenx-header__cart:focus-within #site-header-cart > li:last-child { display: block; }
.handheld-navigation ul.menu li a { color: var(--lenx-cream); }

@media (min-width: 769px) {
	.site-header .lenx-header__inner { min-height: 70px; padding-bottom: .2rem; padding-top: .2rem; }
	.lenx-branding img { height: 58px; width: 102px; }
	.main-navigation ul.menu > li > a,
	.main-navigation ul.nav-menu > li > a { font-size: .66rem; padding-bottom: .8rem; padding-top: .8rem; }
}

.lenx-home { overflow: hidden; }
.lenx-home .woocommerce-breadcrumb { display: none; }
.lenx-hero { background: var(--lenx-black); min-height: min(740px, calc(100vh - 120px)); position: relative; }
.lenx-hero__image { background: url("assets/images/hero-laboratory.webp") right center / cover no-repeat; inset: 0; opacity: .95; position: absolute; }
.lenx-hero__image::after { content: none; display: none; }
.lenx-hero__grid { background-image: linear-gradient(30deg, transparent 12%, rgba(212,175,55,.13) 12.5%, rgba(212,175,55,.13) 13%, transparent 13.5%, transparent 87%, rgba(212,175,55,.13) 87.5%, rgba(212,175,55,.13) 88%, transparent 88.5%), linear-gradient(150deg, transparent 12%, rgba(212,175,55,.1) 12.5%, rgba(212,175,55,.1) 13%, transparent 13.5%, transparent 87%, rgba(212,175,55,.1) 87.5%, rgba(212,175,55,.1) 88%, transparent 88.5%); background-size: 62px 108px; inset: 0 40% 0 0; mask-image: linear-gradient(90deg, #000 10%, transparent 90%); opacity: .5; pointer-events: none; position: absolute; }
.lenx-hero__content { display: flex; flex-direction: column; justify-content: center; min-height: min(740px, calc(100vh - 120px)); padding-bottom: 5.5rem; padding-top: 5.5rem; position: relative; }
.lenx-eyebrow { color: var(--lenx-gold) !important; font-family: var(--lenx-mono); font-size: .7rem; font-weight: 700; letter-spacing: .15em; margin: 0 0 1.2rem; text-transform: uppercase; }
.lenx-hero h1 { font-size: clamp(3.25rem, 6vw, 6.25rem); margin: 0; max-width: 980px; overflow-wrap: normal; text-wrap: balance; word-break: normal; }
.lenx-hero h1 span { display: block; }
.lenx-hero__lede { font-size: 1.14rem; line-height: 1.7; margin: 1.8rem 0 2.2rem; max-width: 580px; }
.lenx-hero__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 1.35rem; }
.lenx-text-link { color: var(--lenx-cream) !important; font-size: .76rem; font-weight: 800; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.lenx-text-link span { color: var(--lenx-gold); font-size: 1.2em; margin-left: .25rem; }
.lenx-hero__facts { border-top: 1px solid var(--lenx-line); display: flex; gap: 2.6rem; list-style: none; margin: 4.2rem 0 0; max-width: 570px; padding: 1.1rem 0 0; }
.lenx-hero__facts li { align-items: baseline; display: flex; gap: .45rem; }
.lenx-hero__facts strong { color: var(--lenx-gold); font-family: var(--lenx-display); font-size: 1.55rem; }
.lenx-hero__facts span { color: var(--lenx-muted); font-family: var(--lenx-mono); font-size: .64rem; letter-spacing: .07em; text-transform: uppercase; }

@media (min-width: 769px) {
	body.lenx-custom-home .site-header { margin-bottom: 0 !important; }
	body.lenx-custom-home #content.site-content { padding-bottom: 0; padding-top: 0; }
	.lenx-hero { height: calc(100svh - 105px); max-height: none; min-height: 0; }
	.lenx-hero__content { height: 100%; min-height: 0; padding-bottom: clamp(2rem, 4vh, 4rem); padding-top: clamp(2rem, 4vh, 4rem); }
	.lenx-hero h1 { font-size: clamp(2.1rem, 3.64vw, 4.025rem); }
	.lenx-hero h1 span { white-space: nowrap; }
	.lenx-hero__lede { margin-bottom: 1.5rem; margin-top: 1.35rem; }
	.lenx-hero__facts { margin-top: clamp(1.75rem, 4vh, 3rem); }
}

@media (min-width: 769px) and (max-height: 720px) {
	.lenx-hero__content { padding-bottom: 1.15rem; padding-top: 1.15rem; }
	.lenx-hero h1 { font-size: clamp(1.75rem, 3.22vw, 2.825rem); }
	.lenx-hero__lede { font-size: .95rem; margin-bottom: .8rem; margin-top: .75rem; }
	.lenx-hero__actions .button { padding: .72rem 1rem; }
	.lenx-hero__facts { margin-top: .95rem; padding-top: .75rem; }
}

.lenx-standards { background: var(--lenx-carbon); border-bottom: 1px solid rgba(255,255,255,.08); border-top: 1px solid rgba(255,255,255,.08); }
.lenx-standards__grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.lenx-standards__grid::before,
.lenx-standards__grid::after,
.lenx-evidence__layout::before,
.lenx-evidence__layout::after,
.lenx-final-cta .col-full::before,
.lenx-final-cta .col-full::after,
.lenx-catalog ul.products::before,
.lenx-catalog ul.products::after,
.lenx-catalog .woocommerce ul.products::before,
.lenx-catalog .woocommerce ul.products::after {
	content: none !important;
	display: none !important;
}
.lenx-standards article { align-items: flex-start; border-right: 1px solid rgba(255,255,255,.09); display: flex; gap: 1rem; min-height: 138px; padding: 1.55rem 2rem; }
.lenx-standards article:first-child { border-left: 1px solid rgba(255,255,255,.09); }
.lenx-standard-icon { color: var(--lenx-gold); font-family: var(--lenx-mono); font-size: .68rem; letter-spacing: .08em; padding-top: .15rem; }
body.lenx-research-site .lenx-standards article h2 { font-family: var(--lenx-sans); font-size: .82rem !important; letter-spacing: .04em; line-height: 1.2 !important; margin: 0 0 .55rem; text-transform: none !important; }
body.lenx-research-site .lenx-standards article p { font-size: .82rem; line-height: 1.55; margin: 0; }

.lenx-section { padding: clamp(3.5rem, 6vw, 6rem) 0; }
.lenx-section-heading { align-items: end; display: flex; justify-content: space-between; margin-bottom: 3.2rem; }
.lenx-section-heading h2 { margin: 0; max-width: 760px; }
.lenx-catalog { background: radial-gradient(circle at 90% 8%, rgba(212,175,55,.10), transparent 25%), var(--lenx-black); }
.lenx-catalog .woocommerce ul.products,
.lenx-catalog ul.products { display: grid !important; gap: 14px; grid-auto-flow: row; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; margin: 0; }
.lenx-catalog .woocommerce ul.products li.product,
.lenx-catalog ul.products li.product { background: var(--lenx-carbon); border: 1px solid rgba(255,255,255,.1); clear: none !important; display: flex !important; flex-direction: column; float: none !important; margin: 0 !important; padding: 0 0 1.25rem; position: relative; transition: border-color .25s ease, transform .25s ease; width: auto !important; }
.lenx-catalog ul.products li.product:hover { border-color: var(--lenx-gold); transform: translateY(-5px); }
.lenx-catalog ul.products li.product a img { aspect-ratio: 1 / 1.22; background: #e4e3df; margin: 0 0 1.3rem; object-fit: cover; width: 100%; }
.lenx-catalog ul.products li.product .woocommerce-loop-product__title { color: var(--lenx-cream); font-family: var(--lenx-display); font-size: 1.25rem; letter-spacing: .03em; line-height: 1.05; margin: 0; min-height: 2.15em; padding: 0 1.1rem; text-transform: uppercase; }
.lenx-catalog ul.products li.product .price { color: var(--lenx-gold); font-family: var(--lenx-mono); font-size: .74rem; font-weight: 700; margin: .65rem 0 0; padding: 0 1.1rem; }
.lenx-catalog ul.products li.product .button { margin: auto 1.1rem 0; padding: .75rem .85rem; width: calc(100% - 2.2rem); }
.lenx-catalog ul.products li.product .added_to_cart { display: block; font-size: .75rem; padding: .55rem 1.1rem 0; }

.lenx-evidence { background: #12100c; border-bottom: 1px solid var(--lenx-line); border-top: 1px solid var(--lenx-line); position: relative; }
.lenx-evidence::before { background-image: radial-gradient(circle, rgba(212,175,55,.18) 1px, transparent 1.5px); background-size: 16px 16px; content: ""; inset: 0 0 0 48%; mask-image: linear-gradient(90deg, transparent, #000); opacity: .25; pointer-events: none; position: absolute; }
.lenx-evidence__layout { align-items: center; display: grid; gap: 7rem; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); position: relative; }
.lenx-evidence__copy h2 { margin: 0; }
.lenx-evidence__copy > p:not(.lenx-eyebrow) { font-size: 1.05rem; margin: 1.5rem 0 2rem; max-width: 500px; }
.lenx-evidence__readout { border-left: 1px solid var(--lenx-line); }
.lenx-evidence__readout > div { border-bottom: 1px solid var(--lenx-line); display: grid; gap: 1rem; grid-template-columns: 130px 1fr; padding: 1.55rem 0 1.55rem 2rem; }
.lenx-evidence__readout span { color: var(--lenx-gold); font-family: var(--lenx-mono); font-size: .64rem; letter-spacing: .08em; }
.lenx-evidence__readout strong { color: var(--lenx-cream); font-size: 1rem; letter-spacing: .03em; }
.lenx-evidence__readout p { grid-column: 2; margin: -.55rem 0 0; font-size: .84rem; }

.lenx-shipping { background: var(--lenx-black); }
.lenx-shipping__grid { display: grid; gap: 14px; grid-template-columns: repeat(3, 1fr); }
.lenx-shipping article { border: 1px solid rgba(255,255,255,.12); min-height: 260px; padding: 1.65rem; position: relative; }
.lenx-shipping article::before { background: linear-gradient(90deg, var(--lenx-gold), transparent); content: ""; height: 1px; left: 1.65rem; position: absolute; right: 1.65rem; top: 1.65rem; }
.lenx-shipping article span { color: var(--lenx-gold); display: block; font-family: var(--lenx-mono); font-size: .65rem; letter-spacing: .12em; margin-top: 2.2rem; }
.lenx-shipping article strong { color: var(--lenx-cream); display: block; font-family: var(--lenx-display); font-size: 4rem; line-height: 1; margin: .7rem 0; }
.lenx-shipping h3 { font-family: var(--lenx-sans); font-size: .95rem; line-height: 1.25; margin: 0; text-transform: none; }
.lenx-shipping p { font-size: .83rem; margin: .65rem 0 0; }

.lenx-final-cta { background: linear-gradient(120deg, #191307, #090909 45%, #111214); border-bottom: 1px solid var(--lenx-line); border-top: 1px solid var(--lenx-line); }
.lenx-final-cta .col-full { align-items: center; display: grid; gap: 2rem; grid-template-columns: 100px minmax(0, 800px) 210px; justify-content: space-between; min-height: 230px; }
.lenx-final-cta img { filter: drop-shadow(0 0 24px rgba(212,175,55,.25)); height: 110px; object-fit: contain; width: 110px; }
.lenx-final-cta h2 { font-size: clamp(1.7rem, 2.8vw, 2.8rem); margin: 0; max-width: 800px; }
.lenx-final-cta .lenx-eyebrow { margin-bottom: .7rem; }
.lenx-final-cta .button { text-align: center; width: 210px; }

/* Product, shop, account, and checkout surfaces. */
.site-content { padding-bottom: 5rem; padding-top: 3rem; }
.home .site-content { padding-bottom: 0; padding-top: 0; }
body.lenx-research-site .entry-header .entry-title,
body.lenx-research-site .woocommerce-products-header .page-title,
body.lenx-research-site .woocommerce-products-header__title.page-title {
	font-size: clamp(2rem, 3.2vw, 3.45rem);
	letter-spacing: .02em;
	line-height: 1.02;
	margin-bottom: 1.1rem;
}
.woocommerce-breadcrumb { border-bottom: 1px solid rgba(255,255,255,.1); color: var(--lenx-muted); font-family: var(--lenx-mono); font-size: .66rem; letter-spacing: .08em; margin-bottom: 2.4rem; padding-bottom: 1rem; text-transform: uppercase; }
.woocommerce-breadcrumb a { color: var(--lenx-gold); }
.storefront-sorting { border-bottom: 1px solid rgba(255,255,255,.1); margin-bottom: 2rem; padding-bottom: 1.25rem; }
.woocommerce-result-count { color: var(--lenx-muted); font-family: var(--lenx-mono); font-size: .72rem; }
body.lenx-research-site select,
body.lenx-research-site input[type="text"],
body.lenx-research-site input[type="email"],
body.lenx-research-site input[type="password"],
body.lenx-research-site input[type="tel"],
body.lenx-research-site input[type="number"],
body.lenx-research-site textarea {
	background: #0b0c0d;
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 0;
	box-shadow: none;
	color: var(--lenx-cream);
	padding: .85rem;
}
body.lenx-research-site select:focus,
body.lenx-research-site input:focus,
body.lenx-research-site textarea:focus { border-color: var(--lenx-gold); box-shadow: 0 0 0 1px var(--lenx-gold); }
body.lenx-research-site label { color: var(--lenx-cream); font-size: .83rem; font-weight: 700; }
body.lenx-research-site .wc-block-components-text-input input,
body.lenx-research-site .wc-block-components-combobox .wc-block-components-combobox-control input,
body.lenx-research-site .wc-block-components-combobox .wc-block-components-combobox-control select,
body.lenx-research-site .wc-blocks-components-select .wc-blocks-components-select__select,
body.lenx-research-site .wc-block-components-address-form input,
body.lenx-research-site .wc-block-components-address-form select {
	background: var(--lenx-carbon) !important;
	border-color: rgba(255,255,255,.22) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--lenx-cream) !important;
}
body.lenx-research-site .wc-block-components-text-input label,
body.lenx-research-site .wc-block-components-combobox label,
body.lenx-research-site .wc-blocks-components-select label,
body.lenx-research-site .wc-block-components-address-form label { color: var(--lenx-muted) !important; }
body.lenx-research-site .wc-block-components-text-input input:focus,
body.lenx-research-site .wc-block-components-combobox .wc-block-components-combobox-control input:focus,
body.lenx-research-site .wc-block-components-combobox .wc-block-components-combobox-control select:focus,
body.lenx-research-site .wc-blocks-components-select .wc-blocks-components-select__select:focus,
body.lenx-research-site .wc-block-components-address-form input:focus,
body.lenx-research-site .wc-block-components-address-form select:focus { border-color: var(--lenx-gold) !important; box-shadow: 0 0 0 1px var(--lenx-gold) !important; }
body.lenx-research-site .woocommerce-info,
body.lenx-research-site .woocommerce-message,
body.lenx-research-site .woocommerce-error { background: #151515; border: 1px solid var(--lenx-line); border-radius: 0; color: var(--lenx-cream); }
body.lenx-research-site .woocommerce-info::before,
body.lenx-research-site .woocommerce-message::before { color: var(--lenx-gold); }
.woocommerce ul.products { display: grid; gap: 22px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.woocommerce ul.products li.product { background: var(--lenx-carbon); border: 1px solid rgba(255,255,255,.1); margin: 0; padding-bottom: 1.4rem; width: auto; }
.woocommerce ul.products li.product a img { aspect-ratio: 1 / 1.1; background: #e5e5df; margin-bottom: 1.35rem; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--lenx-cream); font-size: 1.45rem; padding: 0 1.3rem; }
.woocommerce ul.products li.product .price { color: var(--lenx-gold); font-family: var(--lenx-mono); font-size: .8rem; padding: 0 1.3rem; }
.woocommerce ul.products li.product .button { margin: 1rem 1.3rem 0; }

/* Use the product-loop markup itself as the hook. This applies whether the
 * host adds woocommerce-shop, archive, or another body-class combination. */
body.lenx-research-site .site-main ul.products[class*="columns-"] {
	align-items: stretch;
	display: grid !important;
	gap: 22px;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
body.lenx-research-site .site-main ul.products[class*="columns-"]::before,
body.lenx-research-site .site-main ul.products[class*="columns-"]::after {
	content: none !important;
	display: none !important;
}
body.lenx-research-site .site-main ul.products[class*="columns-"] > li.product {
	box-sizing: border-box;
	clear: none !important;
	display: flex !important;
	flex-direction: column;
	float: none !important;
	margin: 0 !important;
	min-width: 0;
	width: 100% !important;
}
body.lenx-research-site .site-main ul.products[class*="columns-"] > li.product .button {
	display: block;
	margin: auto 1.3rem 0 !important;
	text-align: center;
	width: calc(100% - 2.6rem);
}

/* Storefront assigns percentage widths and inserts clearing pseudo-elements in
 * its product loop. Override those rules on the Shop/category archives: the
 * custom home catalog keeps its own five-column treatment above. */
body.post-type-archive-product .woocommerce ul.products,
body.tax-product_cat .woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 22px;
}
body.post-type-archive-product .woocommerce ul.products::before,
body.post-type-archive-product .woocommerce ul.products::after,
body.tax-product_cat .woocommerce ul.products::before,
body.tax-product_cat .woocommerce ul.products::after {
	content: none !important;
	display: none !important;
}
body.post-type-archive-product .woocommerce ul.products li.product,
body.tax-product_cat .woocommerce ul.products li.product {
	box-sizing: border-box;
	clear: none !important;
	display: flex !important;
	flex-direction: column;
	float: none !important;
	margin: 0 !important;
	min-width: 0;
	width: 100% !important;
}
body.post-type-archive-product .woocommerce ul.products li.product .button,
body.tax-product_cat .woocommerce ul.products li.product .button { margin: auto 1.3rem 0; }
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img { opacity: .55; }
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img:hover { opacity: 1; }
.single-product div.product .product_title { font-size: clamp(2.2rem, 5vw, 4.8rem); }
.single-product div.product p.price { color: var(--lenx-gold); font-family: var(--lenx-mono); font-size: 1rem; }
.single-product div.product .product_meta { border-top: 1px solid rgba(255,255,255,.12); color: var(--lenx-muted); font-family: var(--lenx-mono); font-size: .71rem; padding-top: 1rem; }
.lenx-product-notice { align-items: flex-start; background: #17130a; border-left: 2px solid var(--lenx-gold); display: flex; gap: .7rem; margin: 1.5rem 0; padding: .9rem; }
.lenx-product-notice span { color: var(--lenx-gold); }
.lenx-product-notice p { font-size: .8rem; margin: 0; }
.woocommerce-tabs ul.tabs { border-bottom-color: rgba(255,255,255,.16); }
.woocommerce-tabs ul.tabs li { background: transparent; border-color: transparent; border-radius: 0; }
.woocommerce-tabs ul.tabs li a { color: var(--lenx-muted); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--lenx-gold); }
.woocommerce-tabs ul.tabs li.active a { color: var(--lenx-gold); }
.woocommerce-tabs .panel { background: var(--lenx-carbon); border: 1px solid rgba(255,255,255,.08); padding: 2rem; }
.lenx-product-coa--warning { border-left: 3px solid #d87d41; padding-left: 1rem; }
.lenx-policy-review,
.lenx-disclaimer-panel { background: #17130a; border: 1px solid var(--lenx-line); color: var(--lenx-cream); margin: 0 0 2rem; padding: 1rem 1.2rem; }
.lenx-policy-review { font-size: .86rem; }
.lenx-lab-intro { max-width: 760px; }
.lenx-lab-intro h2 { margin-top: 0; }
.lenx-coa-grid { display: grid; gap: 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 3rem 0; }
.lenx-coa-card { background: var(--lenx-carbon); border: 1px solid rgba(255,255,255,.12); display: grid; grid-template-columns: 180px 1fr; }
.lenx-coa-card--warning { border-color: #9d5a31; }
.lenx-coa-card__image { align-items: center; background: #e9e9e6; display: flex; min-height: 250px; }
.lenx-coa-card__image img { max-height: 280px; object-fit: contain; width: 100%; }
.lenx-coa-card__body { padding: 1.5rem; }
.lenx-coa-card__body h3 { margin: 0 0 .6rem; }
.lenx-coa-card__body p { font-size: .83rem; }
.lenx-coa-card__body > a { font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.woocommerce-cart-form,
.cart-collaterals .cart_totals,
.woocommerce-checkout-review-order,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce-MyAccount-content,
.woocommerce-MyAccount-navigation { background: var(--lenx-carbon); border: 1px solid rgba(255,255,255,.11); padding: 1.5rem; }
.cart-collaterals .cart_totals { float: none; width: 100%; }
.woocommerce table.shop_table { border: 1px solid rgba(255,255,255,.14); border-radius: 0; }
.woocommerce table.shop_table td,
.woocommerce table.shop_table th { border-color: rgba(255,255,255,.1); color: var(--lenx-cream); }
.woocommerce table.shop_table a { color: var(--lenx-gold); }
.woocommerce-checkout #payment { background: #0b0c0d; border-radius: 0; }
.woocommerce-checkout #payment div.payment_box { background: #171717; color: var(--lenx-muted); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #171717; }
.lenx-checkout-option { background: #16130c; border: 1px solid var(--lenx-line); margin: 1rem 0; padding: 1rem 1.15rem; }
.lenx-checkout-option h3 { font-family: var(--lenx-sans); font-size: .9rem; margin: 0 0 .5rem; text-transform: none; }
.lenx-field-note { font-size: .78rem; margin: .4rem 0 0 1.7rem; }
.lenx-research-confirmation { background: #17130a; border-left: 2px solid var(--lenx-gold); margin: 1rem 0; padding: 1rem; }
.lenx-research-confirmation label { font-size: .77rem; font-weight: 500; line-height: 1.55; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; }
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid rgba(255,255,255,.1); }
.woocommerce-MyAccount-navigation a { display: block; font-size: .75rem; font-weight: 800; letter-spacing: .1em; padding: .8rem 0; text-decoration: none; text-transform: uppercase; }
.lenx-order-tracking { background: #17130a; border-left: 2px solid var(--lenx-gold); margin-top: 1.5rem; padding: 1rem 1.2rem; }
.lenx-order-tracking h2 { font-family: var(--lenx-sans); font-size: .95rem; text-transform: none; }
.lenx-order-tracking p { margin: .3rem 0; }

/* Informational pages use compact copy blocks instead of the oversized shop
 * display treatment. They remain useful even before final business copy is
 * supplied. */
.lenx-info-page { margin: 0 auto; max-width: 1000px; padding: clamp(2rem, 5vw, 5rem) 0; }
.lenx-info-page__intro { border-bottom: 1px solid var(--lenx-line); max-width: 760px; padding-bottom: 2.25rem; }
.lenx-info-page__intro h1 { font-size: clamp(2.35rem, 4.2vw, 4.45rem); margin: 0; }
.lenx-info-page__lede { color: var(--lenx-muted); font-size: 1.08rem; line-height: 1.7; margin: 1.25rem 0 0; }
.lenx-info-page__grid { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 2.5rem; }
.lenx-info-page__card { background: var(--lenx-carbon); border: 1px solid rgba(255,255,255,.11); min-height: 200px; padding: 1.45rem; }
.lenx-info-page__card h2 { font-family: var(--lenx-sans); font-size: 1rem; line-height: 1.2; margin: 0 0 .8rem; text-transform: none; }
.lenx-info-page__card p { font-size: .9rem; line-height: 1.65; margin: 0; }
.lenx-info-page__card a { overflow-wrap: anywhere; }
.lenx-login-page { max-width: 700px; }
.lenx-login-page .woocommerce { margin-top: 2.5rem; }
.lenx-login-page .woocommerce form.login,
.lenx-login-page .woocommerce form.register { background: var(--lenx-carbon); }

.site-footer { border-top: 1px solid var(--lenx-line); padding: 4rem 0 2rem; }
.lenx-footer-grid { display: grid; gap: 4rem; grid-template-columns: 1.2fr 1fr .7fr; }
.lenx-footer-brand img { height: 120px; object-fit: contain; object-position: left center; width: 135px; }
.lenx-footer-brand p { font-size: .9rem; max-width: 260px; }
.lenx-footer-nav h2,
.lenx-footer-contact h2 { color: var(--lenx-gold); font-family: var(--lenx-mono); font-size: .69rem; letter-spacing: .15em; margin: 0 0 1rem; text-transform: uppercase; }
.lenx-footer-nav ul { columns: 2; list-style: none; margin: 0; }
.lenx-footer-nav li { break-inside: avoid; margin: 0 0 .55rem; }
.lenx-footer-nav a,
.lenx-footer-contact a { color: var(--lenx-cream); font-size: .78rem; text-decoration: none; }
.lenx-footer-contact p { font-size: .8rem; margin: 0 0 .55rem; }
.lenx-footer-legal { border-top: 1px solid rgba(255,255,255,.1); display: flex; gap: 2rem; justify-content: space-between; margin-top: 3rem; padding-top: 1.2rem; }
.lenx-footer-legal p { font-size: .68rem; margin: 0; max-width: 850px; }
body.lenx-research-site .site-footer .lenx-footer-brand p,
body.lenx-research-site .site-footer .lenx-footer-contact p,
body.lenx-research-site .site-footer .lenx-footer-legal p { color: var(--lenx-muted) !important; }
body.lenx-research-site .site-footer .lenx-footer-nav a,
body.lenx-research-site .site-footer .lenx-footer-contact a { color: var(--lenx-cream) !important; }

@media (max-width: 1100px) {
	.lenx-catalog .woocommerce ul.products,
	.lenx-catalog ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width: 768px) {
	.lenx-topline .col-full { align-items: flex-start; flex-direction: column; gap: .15rem; padding-bottom: .45rem; padding-top: .45rem; }
	.lenx-topline__shipping { display: none !important; }
	.site-header .col-full { min-height: 82px; }
	.site-header .lenx-header__inner { min-height: 76px; }
	.lenx-branding img { height: 62px; width: 108px; }
	.lenx-header__navigation { gap: .5rem; }
	.lenx-header__account-actions { display: none; }
	.site-header .main-navigation { position: static; }
	.site-header-cart .cart-contents { font-size: 0; }
	.site-header-cart .cart-contents .count { font-size: .72rem; }
	.lenx-hero,
	.lenx-hero__content { min-height: 650px; }
	.lenx-hero__image { background-position: 65% center; }
	.lenx-hero__content { padding-bottom: 4rem; padding-top: 4rem; }
	.lenx-hero__facts { gap: 1rem; justify-content: space-between; }
	.lenx-hero__facts li { flex-direction: column; gap: 0; }
	.lenx-standards__grid,
	.lenx-evidence__layout,
	.lenx-shipping__grid,
	.lenx-footer-grid,
	.lenx-info-page__grid { grid-template-columns: 1fr; }
	.lenx-standards article,
	.lenx-standards article:first-child { border-left: 0; border-right: 0; border-top: 1px solid rgba(255,255,255,.09); min-height: auto; }
	.lenx-standards article:first-child { border-top: 0; }
	.lenx-section-heading { align-items: flex-start; flex-direction: column; gap: 1.4rem; }
	.lenx-catalog .woocommerce ul.products,
	.lenx-catalog ul.products,
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	body.lenx-research-site .site-main ul.products[class*="columns-"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	body.post-type-archive-product .woocommerce ul.products,
	body.tax-product_cat .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.lenx-catalog ul.products li.product .woocommerce-loop-product__title,
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.08rem; padding: 0 .8rem; }
	.lenx-catalog ul.products li.product .price,
	.woocommerce ul.products li.product .price { padding: 0 .8rem; }
	.lenx-catalog ul.products li.product .button,
	.woocommerce ul.products li.product .button { font-size: .61rem; margin-left: .8rem; margin-right: .8rem; padding: .7rem .5rem; width: calc(100% - 1.6rem); }
	.lenx-evidence__layout { gap: 3.5rem; }
	.lenx-evidence__readout { border-left: 0; border-top: 1px solid var(--lenx-line); }
	.lenx-evidence__readout > div { grid-template-columns: 95px 1fr; padding-left: 0; }
	.lenx-final-cta .col-full { grid-template-columns: 76px minmax(0, 1fr); min-height: auto; padding-bottom: 3rem; padding-top: 3rem; }
	.lenx-final-cta img { height: 74px; width: 74px; }
	.lenx-final-cta .button { grid-column: 1 / -1; justify-self: start; width: auto; }
	.lenx-coa-grid { grid-template-columns: 1fr; }
	.lenx-coa-card { grid-template-columns: 140px 1fr; }
	.lenx-coa-card__image { min-height: 200px; }
	.lenx-footer-nav ul { columns: 1; }
	.lenx-footer-legal { flex-direction: column; gap: .75rem; }
	.woocommerce-cart-form,
	.cart-collaterals .cart_totals,
	.woocommerce-checkout-review-order,
	.woocommerce form.checkout_coupon,
	.woocommerce form.login,
	.woocommerce form.register,
	.woocommerce-MyAccount-content,
	.woocommerce-MyAccount-navigation { padding: 1rem; }
}

@media (max-width: 420px) {
	body.lenx-research-site h1 { font-size: 3rem; }
	.lenx-hero__actions { align-items: flex-start; flex-direction: column; }
	.lenx-hero__facts { gap: .6rem; }
	.lenx-hero__facts strong { font-size: 1.35rem; }
	.lenx-hero__facts span { font-size: .55rem; }
	.lenx-catalog ul.products,
	.woocommerce ul.products { gap: 9px; }
	.lenx-coa-card { grid-template-columns: 1fr; }
	.lenx-coa-card__image { min-height: auto; }
}

@media (max-width: 768px) {
	.lenx-header { position: relative; }
	.site-header .main-navigation .handheld-navigation { display: none !important; }
	.site-header .main-navigation { position: static; }
	.site-header .main-navigation .primary-navigation { background: var(--lenx-black); border-bottom: 1px solid var(--lenx-line); border-top: 1px solid rgba(255,255,255,.1); display: none; left: 0; padding: .35rem 1.4rem 1.1rem; position: absolute; right: 0; top: 100%; z-index: 1001; }
	.site-header .main-navigation.toggled .primary-navigation { display: block; }
	.site-header .main-navigation .primary-navigation ul.menu,
	.site-header .main-navigation .primary-navigation ul.nav-menu { display: block; margin: 0; max-height: none; overflow: visible; }
	.site-header .main-navigation .primary-navigation ul.menu > li,
	.site-header .main-navigation .primary-navigation ul.nav-menu > li { display: block; width: 100%; }
	.site-header .main-navigation .primary-navigation ul.menu > li > a,
	.site-header .main-navigation .primary-navigation ul.nav-menu > li > a { border-bottom: 1px solid rgba(255,255,255,.09); display: block; font-size: .74rem; padding: .9rem 0; }
	.site-header .main-navigation .primary-navigation ul.menu > li:last-child > a,
	.site-header .main-navigation .primary-navigation ul.nav-menu > li:last-child > a { border-bottom: 0; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
