/*
Theme Name:   iNGEN MD Child
Description:  iNGEN MD brand theme — premium dark biotechnology design system on Storefront. Phase 3: official brand identity, dark UI, green accent sampled from logo.
Author:       iNGEN MD Dev
Template:     storefront
Version:      0.9.11
Requires PHP: 7.4
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  ingenmd-child
*/

/* =========================================================
   1. BRAND TOKENS — single source of truth (see docs/BRAND-SYSTEM.md)
   ========================================================= */
:root {
	/* Backgrounds */
	--ingen-bg: #0e1116;             /* matte black — primary background */
	--ingen-bg-2: #1a1f26;           /* charcoal — secondary bg, cards */
	--ingen-bg-3: #232a33;           /* elevated / hover surfaces */
	--ingen-bg-deep: #080a0d;        /* footer / deep sections */

	/* Text */
	--ingen-text: #f2f5f7;           /* primary — white */
	--ingen-text-soft: #a8b2bd;      /* secondary — soft gray */
	--ingen-text-faint: #6b7683;     /* tertiary / placeholders */

	/* Brand green — pixel-sampled from INGEN MD LOGO.png (gradient #229529→#25A72F) */
	--ingen-green: #239c2b;          /* logo letterform green (gradient mean) */
	--ingen-green-bright: #34c43f;   /* hover / glow core */
	--ingen-green-deep: #197d20;     /* pressed / borders */
	--ingen-green-glow: rgba(35, 156, 43, 0.35);
	--ingen-green-tint: rgba(35, 156, 43, 0.10);
	--ingen-logo-gray: #414243;      /* "GEN" letterform gray — reference only */

	/* Lines & borders */
	--ingen-border: #2a323d;
	--ingen-border-soft: rgba(255, 255, 255, 0.06);

	/* Status */
	--ingen-warning-bg: rgba(240, 195, 109, 0.08);
	--ingen-warning-border: rgba(240, 195, 109, 0.35);
	--ingen-warning-text: #e8c983;

	/* Legacy aliases (Phase 1/2 markup keeps working) */
	--ingen-black: var(--ingen-bg);
	--ingen-black-soft: var(--ingen-bg-2);
	--ingen-white: #ffffff;
	--ingen-blue: var(--ingen-green);
	--ingen-blue-dark: var(--ingen-green-deep);
	--ingen-blue-tint: var(--ingen-green-tint);
	--ingen-gray-50: var(--ingen-bg-2);
	--ingen-gray-100: var(--ingen-border-soft);
	--ingen-gray-200: var(--ingen-border);
	--ingen-gray-400: var(--ingen-text-faint);
	--ingen-gray-600: var(--ingen-text-soft);
	--ingen-primary: var(--ingen-green);
	--ingen-primary-dark: var(--ingen-green-deep);
	--ingen-accent: var(--ingen-green);
	--ingen-accent-dark: var(--ingen-green-deep);
	--ingen-bg-alt: var(--ingen-bg-2);
	--ingen-text-muted: var(--ingen-text-soft);

	/* Typography */
	--ingen-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--ingen-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
	--ingen-fs-xs: 0.8125rem;
	--ingen-fs-sm: 0.9375rem;
	--ingen-fs-base: clamp(1rem, 0.96rem + 0.2vw, 1.0625rem);
	--ingen-fs-lg: clamp(1.125rem, 1.05rem + 0.4vw, 1.25rem);
	--ingen-fs-h3: clamp(1.25rem, 1.1rem + 0.8vw, 1.625rem);
	--ingen-fs-h2: clamp(1.625rem, 1.35rem + 1.4vw, 2.375rem);
	--ingen-fs-h1: clamp(2.125rem, 1.6rem + 2.6vw, 3.5rem);

	/* Spacing / radii / shadows / motion */
	--ingen-space-1: 0.25rem; --ingen-space-2: 0.5rem; --ingen-space-3: 0.75rem;
	--ingen-space-4: 1rem; --ingen-space-6: 1.5rem; --ingen-space-8: 2rem;
	--ingen-space-12: 3rem; --ingen-space-16: 4rem; --ingen-space-24: 6rem;
	--ingen-radius-sm: 6px; --ingen-radius: 10px; --ingen-radius-lg: 16px; --ingen-radius-pill: 999px;
	--ingen-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
	--ingen-shadow: 0 6px 20px rgba(0, 0, 0, 0.45);
	--ingen-shadow-lg: 0 20px 50px rgba(0, 0, 0, 0.6);
	--ingen-glow: 0 0 24px var(--ingen-green-glow);
	--ingen-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--ingen-speed: 200ms;
	--ingen-header-h: 72px;
	--ingen-content-max: 1400px;   /* global content width (Phase 12) */
}

/* =========================================================
   2. BASE — dark canvas, scientific texture, typography
   ========================================================= */
html { scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition: none !important; }
}

body {
	font-family: var(--ingen-font);
	font-size: var(--ingen-fs-base);
	color: var(--ingen-text);
	background-color: var(--ingen-bg) !important;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* Subtle hexagonal lab-grid texture — extremely low opacity, zero JS */
body::before {
	content: "";
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	opacity: 0.05;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cpath d='M28 2 52 16v28L28 58 4 44V16z M28 60 52 74v22M28 60 4 74v22' fill='none' stroke='%23239c2b' stroke-width='1'/%3E%3C/svg%3E");
	background-size: 56px 97px;
}

.site, .site-content { position: relative; z-index: 1; }

.site-content, .storefront-breadcrumb, .content-area, .site-main { background: transparent !important; }

h1, h2, h3, h4, h5, h6 {
	color: var(--ingen-text) !important;
	letter-spacing: -0.02em;
	line-height: 1.15;
	font-weight: 700;
}

h1 { font-size: var(--ingen-fs-h1); }
h2 { font-size: var(--ingen-fs-h2); }
h3 { font-size: var(--ingen-fs-h3); }

p { margin-bottom: 1.1em; }
body, p, li, td { color: var(--ingen-text); }

a { color: var(--ingen-green); transition: color var(--ingen-speed) var(--ingen-ease); }
a:hover { color: var(--ingen-green-bright); }

::selection { background: var(--ingen-green); color: #06130a; }

:focus-visible {
	outline: 2px solid var(--ingen-green);
	outline-offset: 2px;
	border-radius: 2px;
}

.ingen-eyebrow {
	display: inline-block;
	font-size: var(--ingen-fs-xs);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ingen-green);
	margin-bottom: var(--ingen-space-3);
}

.ingen-lead { font-size: var(--ingen-fs-lg); color: var(--ingen-text-soft); max-width: 42em; margin-left: auto; margin-right: auto; }

/* =========================================================
   3. LAYOUT SECTIONS
   ========================================================= */
.ingen-section { padding: var(--ingen-space-16) var(--ingen-space-4); }
.ingen-section--alt { background: var(--ingen-bg-2); }
.ingen-section--dark { background: var(--ingen-bg-deep); }
.ingen-section__inner { max-width: var(--ingen-content-max); margin: 0 auto; }
.ingen-section__title { text-align: center; margin-bottom: var(--ingen-space-8); }
.ingen-section__title p, .ingen-section--dark p { color: var(--ingen-text-soft); }

@media (min-width: 900px) { .ingen-section { padding: var(--ingen-space-24) var(--ingen-space-6); } }

.ingen-grid { display: grid; gap: var(--ingen-space-6); grid-template-columns: 1fr; }
@media (min-width: 600px) { .ingen-grid--2, .ingen-grid--3, .ingen-grid--4 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) {
	.ingen-grid--3 { grid-template-columns: repeat(3, 1fr); }
	.ingen-grid--4 { grid-template-columns: repeat(4, 1fr); }
}

/* =========================================================
   4. BUTTON SYSTEM
   Primary (green + glow) / Secondary (charcoal) / Outline /
   Ghost / Text. 48px targets, focus rings, hover lift.
   ========================================================= */
.ingen-btn,
.wp-block-button__link,
button.button, .button, input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 48px;
	padding: 0.8rem 1.75rem;
	font-size: var(--ingen-fs-sm);
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.2;
	border: 1px solid transparent;
	border-radius: var(--ingen-radius-pill);
	cursor: pointer;
	text-decoration: none;
	transition: transform var(--ingen-speed) var(--ingen-ease),
		box-shadow var(--ingen-speed) var(--ingen-ease),
		background-color var(--ingen-speed) var(--ingen-ease),
		color var(--ingen-speed) var(--ingen-ease),
		border-color var(--ingen-speed) var(--ingen-ease);
}

/* PRIMARY — brand green, dark text, soft glow */
.ingen-btn,
.wp-block-button:not(.is-style-outline) .wp-block-button__link,
button.button.alt, .button.alt,
.single_add_to_cart_button,
input[type="submit"] {
	background: var(--ingen-green) !important;
	color: #06130a !important;
	border-color: var(--ingen-green) !important;
	box-shadow: var(--ingen-glow);
}

.ingen-btn:hover,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
button.button.alt:hover, .button.alt:hover,
.single_add_to_cart_button:hover,
input[type="submit"]:hover {
	background: var(--ingen-green-bright) !important;
	border-color: var(--ingen-green-bright) !important;
	color: #06130a !important;
	transform: translateY(-1px);
	box-shadow: 0 0 32px var(--ingen-green-glow), var(--ingen-shadow-sm);
}

/* SECONDARY — elevated charcoal */
.ingen-btn--secondary, .ingen-btn--accent {
	background: var(--ingen-bg-3) !important;
	color: var(--ingen-text) !important;
	border-color: var(--ingen-border) !important;
	box-shadow: none;
}

.ingen-btn--secondary:hover, .ingen-btn--accent:hover {
	background: var(--ingen-border) !important;
	color: #fff !important;
}

/* OUTLINE */
.ingen-btn--outline,
.is-style-outline .wp-block-button__link,
.button:not(.alt):not(.single_add_to_cart_button) {
	background: transparent !important;
	color: var(--ingen-text) !important;
	border-color: var(--ingen-border) !important;
	box-shadow: none;
}

.ingen-btn--outline:hover,
.is-style-outline .wp-block-button__link:hover,
.button:not(.alt):not(.single_add_to_cart_button):hover {
	border-color: var(--ingen-green) !important;
	color: var(--ingen-green-bright) !important;
	background: var(--ingen-green-tint) !important;
	transform: translateY(-1px);
}

/* GHOST — quiet green */
.ingen-btn--ghost {
	background: var(--ingen-green-tint) !important;
	color: var(--ingen-green-bright) !important;
	border-color: transparent !important;
	box-shadow: none;
}

.ingen-btn--ghost:hover { background: rgba(35, 156, 43, 0.18) !important; }

/* TEXT */
.ingen-btn--text {
	background: transparent !important;
	border-color: transparent !important;
	color: var(--ingen-green) !important;
	padding-left: 0.5rem; padding-right: 0.5rem;
	box-shadow: none;
}

.ingen-btn--text:hover { color: var(--ingen-green-bright) !important; transform: none; box-shadow: none; }

.ingen-btn:focus-visible, .button:focus-visible, input[type="submit"]:focus-visible {
	outline: 2px solid var(--ingen-green-bright);
	outline-offset: 3px;
}

/* =========================================================
   5. CARD SYSTEM — dark elevated, subtle glass edge
   ========================================================= */
.ingen-card {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0) 40%), var(--ingen-bg-2);
	border: 1px solid var(--ingen-border-soft);
	border-radius: var(--ingen-radius-lg);
	box-shadow: var(--ingen-shadow-sm);
	padding: var(--ingen-space-8);
	transition: transform var(--ingen-speed) var(--ingen-ease),
		box-shadow var(--ingen-speed) var(--ingen-ease),
		border-color var(--ingen-speed) var(--ingen-ease);
}

.ingen-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--ingen-shadow);
	border-color: rgba(35, 156, 43, 0.35);
}

.ingen-card h3 { margin-top: var(--ingen-space-4); margin-bottom: var(--ingen-space-2); font-size: var(--ingen-fs-lg); color: var(--ingen-text) !important; }
.ingen-card p { color: var(--ingen-text-soft); margin-bottom: 0; font-size: var(--ingen-fs-sm); }

/* Icon chip */
.ingen-icon-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px; height: 48px;
	border-radius: 12px;
	background: var(--ingen-green-tint);
	color: var(--ingen-green-bright);
	box-shadow: inset 0 0 0 1px rgba(35, 156, 43, 0.25);
}

.ingen-icon-chip svg { width: 24px; height: 24px; }
.ingen-icon { width: 20px; height: 20px; vertical-align: -0.25em; }

/* =========================================================
   6. HEADER & NAVIGATION — dark glass, brand logo
   ========================================================= */
.site-header {
	background: rgba(14, 17, 22, 0.85) !important;
	backdrop-filter: saturate(160%) blur(14px);
	-webkit-backdrop-filter: saturate(160%) blur(14px);
	border-bottom: 1px solid var(--ingen-border-soft);
	position: sticky !important;
	top: 0;
	z-index: 900;
	transition: box-shadow var(--ingen-speed) var(--ingen-ease);
}

.admin-bar .site-header { top: 32px; }
.site-header.is-scrolled { box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5); }

/* Logo sizing — generous clear space, responsive + retina-safe */
.site-branding { display: flex; align-items: center; }

/* Header logo — high-specificity + !important to beat Storefront's own
   custom-logo max-height. Large, brand-forward sizing (Phase 12). */
.site-header .site-branding a img.custom-logo,
.site-header .site-branding img.custom-logo,
.site-header .custom-logo-link img.custom-logo,
.site-branding .site-logo-anchor img {
	max-height: 125px !important;
	height: auto !important;
	width: auto !important;
	max-width: none !important;
	display: block;
	margin: var(--ingen-space-2) 0;
}

@media (min-width: 768px) {
	.site-header .site-branding a img.custom-logo,
	.site-header .site-branding img.custom-logo,
	.site-header .custom-logo-link img.custom-logo,
	.site-branding .site-logo-anchor img { max-height: 175px !important; }
}

@media (min-width: 1100px) {
	.site-header .site-branding a img.custom-logo,
	.site-header .site-branding img.custom-logo,
	.site-header .custom-logo-link img.custom-logo,
	.site-branding .site-logo-anchor img { max-height: 225px !important; }
}

.site-branding .site-title a, .site-title a { color: var(--ingen-text) !important; font-weight: 800; letter-spacing: -0.02em; }
.site-description { color: var(--ingen-text-faint) !important; }

.main-navigation ul li a {
	color: var(--ingen-text-soft) !important;
	font-weight: 500;
	font-size: var(--ingen-fs-sm);
	transition: color var(--ingen-speed) var(--ingen-ease);
}

.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item > a { color: var(--ingen-green-bright) !important; }

.main-navigation ul.menu > li > a { position: relative; }
.main-navigation ul.menu > li > a::after {
	content: "";
	position: absolute;
	left: 0; bottom: 0.35em;
	width: 100%; height: 2px;
	background: var(--ingen-green);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--ingen-speed) var(--ingen-ease);
}

.main-navigation ul.menu > li > a:hover::after { transform: scaleX(1); }

.main-navigation ul.menu ul {
	background: var(--ingen-bg-2) !important;
	border: 1px solid var(--ingen-border-soft);
	border-radius: var(--ingen-radius);
	box-shadow: var(--ingen-shadow-lg);
	padding: var(--ingen-space-2);
	overflow: hidden;
}

.main-navigation ul.menu ul li a { padding: 0.6rem 1rem !important; border-radius: var(--ingen-radius-sm); color: var(--ingen-text-soft) !important; }
.main-navigation ul.menu ul li a:hover { background: var(--ingen-bg-3); color: var(--ingen-text) !important; }

.site-header-cart .cart-contents,
.site-header-cart .cart-contents .amount,
.site-header-cart .cart-contents .count { color: var(--ingen-text-soft) !important; }
.site-header-cart .cart-contents:hover, .site-header-cart .cart-contents:hover .amount { color: var(--ingen-green-bright) !important; }

/* Storefront handheld (mobile) bar + menu toggle */
.storefront-handheld-footer-bar { background: var(--ingen-bg-2); border-top: 1px solid var(--ingen-border-soft); }
.storefront-handheld-footer-bar ul li > a { color: var(--ingen-text-soft) !important; min-height: 48px; }
button.menu-toggle { background: transparent !important; border-color: var(--ingen-border) !important; color: var(--ingen-text) !important; }
.main-navigation.toggled ul.menu { background: transparent; }

/* =========================================================
   7. CART DRAWER — dark panel
   ========================================================= */
.ingen-drawer-overlay {
	position: fixed; inset: 0;
	background: rgba(0, 0, 0, 0.6);
	opacity: 0; pointer-events: none;
	transition: opacity var(--ingen-speed) var(--ingen-ease);
	z-index: 990;
}

.ingen-drawer {
	position: fixed; top: 0; right: 0;
	height: 100dvh; width: min(420px, 92vw);
	background: var(--ingen-bg-2);
	border-left: 1px solid var(--ingen-border-soft);
	box-shadow: var(--ingen-shadow-lg);
	transform: translateX(105%);
	transition: transform 280ms var(--ingen-ease);
	z-index: 991;
	display: flex; flex-direction: column;
}

body.ingen-drawer-open .ingen-drawer { transform: translateX(0); }
body.ingen-drawer-open .ingen-drawer-overlay { opacity: 1; pointer-events: auto; }
body.ingen-drawer-open { overflow: hidden; }

.ingen-drawer__head {
	display: flex; align-items: center; justify-content: space-between;
	padding: var(--ingen-space-4) var(--ingen-space-6);
	border-bottom: 1px solid var(--ingen-border-soft);
}

.ingen-drawer__head h3 { margin: 0; font-size: var(--ingen-fs-lg); }

.ingen-drawer__close {
	background: none; border: 0; cursor: pointer;
	padding: var(--ingen-space-2);
	color: var(--ingen-text-soft);
	border-radius: var(--ingen-radius-sm);
	min-height: 44px; min-width: 44px;
}

.ingen-drawer__close:hover { color: var(--ingen-text); background: var(--ingen-bg-3); }
.ingen-drawer__body { flex: 1; overflow-y: auto; padding: var(--ingen-space-6); }
.ingen-drawer__body .woocommerce-mini-cart__empty-message { text-align: center; color: var(--ingen-text-soft); padding: var(--ingen-space-12) 0; }

.ingen-drawer .woocommerce-mini-cart-item {
	display: grid; grid-template-columns: 64px 1fr; gap: var(--ingen-space-3);
	align-items: center;
	padding: var(--ingen-space-3) 0 !important;
	border-bottom: 1px solid var(--ingen-border-soft);
}

.ingen-drawer .woocommerce-mini-cart-item img { width: 64px; border-radius: var(--ingen-radius-sm); margin: 0 !important; float: none !important; }
.ingen-drawer .woocommerce-mini-cart__total { display: flex; justify-content: space-between; padding: var(--ingen-space-4) 0; font-weight: 700; }
.ingen-drawer .woocommerce-mini-cart__buttons { display: grid; gap: var(--ingen-space-2); margin: 0; }

/* =========================================================
   8. PRODUCT CARDS — dark elevated
   ========================================================= */
ul.products li.product {
	background: var(--ingen-bg-2);
	border: 1px solid var(--ingen-border-soft);
	border-radius: var(--ingen-radius-lg);
	padding: var(--ingen-space-4) !important;
	transition: transform var(--ingen-speed) var(--ingen-ease),
		box-shadow var(--ingen-speed) var(--ingen-ease),
		border-color var(--ingen-speed) var(--ingen-ease);
}

ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: var(--ingen-shadow);
	border-color: rgba(35, 156, 43, 0.35);
}

ul.products li.product img {
	border-radius: var(--ingen-radius);
	background: var(--ingen-bg-3);
	transition: transform 400ms var(--ingen-ease);
}

ul.products li.product:hover img { transform: scale(1.02); }

ul.products li.product .woocommerce-loop-product__title { font-size: var(--ingen-fs-base) !important; font-weight: 600; color: var(--ingen-text) !important; }
ul.products li.product .price { color: var(--ingen-text-soft) !important; font-size: var(--ingen-fs-sm); font-weight: 600; }
ul.products li.product .price .amount { color: var(--ingen-green-bright); }
ul.products li.product .button { width: 100%; }
ul.products li.product-category h2 { font-size: var(--ingen-fs-base) !important; font-weight: 600; color: var(--ingen-text) !important; }
ul.products li.product-category .count { background: none; color: var(--ingen-text-faint); }

/* =========================================================
   9. SINGLE PRODUCT
   ========================================================= */
.single-product div.product .woocommerce-product-gallery {
	border: 1px solid var(--ingen-border-soft);
	border-radius: var(--ingen-radius-lg);
	overflow: hidden;
	background: var(--ingen-bg-2);
}

/* Make the gallery image fill its frame (no small/cropped-looking thumb). */
.single-product div.product .woocommerce-product-gallery,
.single-product div.product .woocommerce-product-gallery__wrapper,
.single-product div.product .woocommerce-product-gallery__image,
.single-product div.product .woocommerce-product-gallery__image a {
	height: auto !important;
}
.single-product div.product .woocommerce-product-gallery__image { background: #ffffff; }
.single-product div.product .woocommerce-product-gallery__image img {
	width: 100% !important;
	height: auto !important;
	display: block;
	object-fit: contain;
}

.single-product div.product .product_title { font-size: var(--ingen-fs-h2); letter-spacing: -0.02em; }
.single-product div.product p.price { font-size: var(--ingen-fs-h3); color: var(--ingen-green-bright) !important; font-weight: 700; }
.single-product div.product form.cart { margin: var(--ingen-space-6) 0; }

.single-product div.product form.cart .quantity .qty {
	border: 1px solid var(--ingen-border);
	border-radius: var(--ingen-radius-pill);
	min-height: 48px;
	background: var(--ingen-bg-2);
	color: var(--ingen-text);
}

/* Spec / batch / COA card */
.ingen-product-meta {
	margin: var(--ingen-space-6) 0;
	padding: var(--ingen-space-6);
	background: var(--ingen-bg-2);
	border: 1px solid var(--ingen-border-soft);
	border-radius: var(--ingen-radius-lg);
	font-size: var(--ingen-fs-sm);
}

.ingen-product-meta__row {
	display: flex; justify-content: space-between; gap: var(--ingen-space-4);
	padding: var(--ingen-space-2) 0;
	border-bottom: 1px solid var(--ingen-border-soft);
}

.ingen-product-meta__row:last-of-type { border-bottom: 0; }
.ingen-product-meta__label { font-weight: 600; color: var(--ingen-text-soft); }
.ingen-product-meta__row span:last-child { font-family: var(--ingen-font-mono); font-size: 0.85em; color: var(--ingen-green-bright); }
.ingen-coa-download { margin-top: var(--ingen-space-3); width: 100%; }

/* Tabs */
.woocommerce-tabs ul.tabs { border-bottom: 1px solid var(--ingen-border) !important; }
.woocommerce-tabs ul.tabs li a { font-weight: 600 !important; color: var(--ingen-text-soft) !important; }
.woocommerce-tabs ul.tabs li.active a { color: var(--ingen-green-bright) !important; }
.woocommerce-tabs .panel { color: var(--ingen-text-soft); }

/* Disclaimer */
.ingen-disclaimer {
	display: flex; gap: var(--ingen-space-3); align-items: flex-start;
	background: var(--ingen-warning-bg);
	border: 1px solid var(--ingen-warning-border);
	border-radius: var(--ingen-radius);
	padding: var(--ingen-space-3) var(--ingen-space-4);
	font-size: var(--ingen-fs-xs);
	color: var(--ingen-warning-text);
	margin: var(--ingen-space-4) 0;
	line-height: 1.5;
}

.ingen-disclaimer svg { flex-shrink: 0; margin-top: 2px; color: var(--ingen-warning-text); }

/* FAQ accordion */
.ingen-faq details {
	border: 1px solid var(--ingen-border-soft);
	border-radius: var(--ingen-radius);
	margin-bottom: var(--ingen-space-2);
	background: var(--ingen-bg-2);
	transition: border-color var(--ingen-speed) var(--ingen-ease);
}

.ingen-faq details[open] { border-color: rgba(35, 156, 43, 0.35); }

.ingen-faq summary {
	cursor: pointer; font-weight: 600;
	padding: var(--ingen-space-4) var(--ingen-space-6);
	list-style: none;
	display: flex; justify-content: space-between; align-items: center; gap: var(--ingen-space-4);
	color: var(--ingen-text);
}

.ingen-faq summary::-webkit-details-marker { display: none; }
.ingen-faq summary::after {
	content: "+";
	font-size: 1.25rem; font-weight: 400;
	color: var(--ingen-green-bright);
	transition: transform var(--ingen-speed) var(--ingen-ease);
}

.ingen-faq details[open] summary::after { transform: rotate(45deg); }
.ingen-faq details > div { padding: 0 var(--ingen-space-6) var(--ingen-space-4); color: var(--ingen-text-soft); font-size: var(--ingen-fs-sm); }

.ingen-fbt, .ingen-recently-viewed { margin: var(--ingen-space-12) 0; }
.ingen-fbt h2, .ingen-recently-viewed h2 { font-size: var(--ingen-fs-h3); margin-bottom: var(--ingen-space-6); }
.ingen-placeholder-note { color: var(--ingen-text-faint); font-size: var(--ingen-fs-sm); }

/* Sticky mobile add-to-cart — dark glass */
.ingen-sticky-atc {
	position: fixed; bottom: 0; left: 0; right: 0;
	background: rgba(26, 31, 38, 0.95);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-top: 1px solid var(--ingen-border-soft);
	padding: var(--ingen-space-3) var(--ingen-space-4);
	padding-bottom: calc(var(--ingen-space-3) + env(safe-area-inset-bottom));
	display: none;
	align-items: center; justify-content: space-between; gap: var(--ingen-space-4);
	z-index: 950;
	transform: translateY(110%);
	transition: transform 260ms var(--ingen-ease);
}

.ingen-sticky-atc.is-visible { transform: translateY(0); }
.ingen-sticky-atc__info { min-width: 0; }
.ingen-sticky-atc__title { font-weight: 600; font-size: var(--ingen-fs-sm); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin: 0; color: var(--ingen-text); }
.ingen-sticky-atc__price { color: var(--ingen-green-bright); font-size: var(--ingen-fs-xs); margin: 0; }
.ingen-sticky-atc .ingen-btn { flex-shrink: 0; min-height: 44px; padding: 0.6rem 1.4rem; }

@media (max-width: 899px) { .ingen-sticky-atc { display: flex; } }

/* Storefront's desktop sticky bar — align to dark theme */
.storefront-sticky-add-to-cart {
	background: rgba(26, 31, 38, 0.95) !important;
	color: var(--ingen-text) !important;
	border-bottom: 1px solid var(--ingen-border-soft);
}

.storefront-sticky-add-to-cart__content-title { color: var(--ingen-text) !important; }

/* =========================================================
   10. CATEGORY PAGES
   ========================================================= */
.ingen-category-banner {
	background:
		radial-gradient(ellipse at 80% 10%, rgba(35, 156, 43, 0.12), transparent 55%),
		linear-gradient(135deg, var(--ingen-bg-deep) 0%, var(--ingen-bg-2) 100%);
	border: 1px solid var(--ingen-border-soft);
	color: #fff;
	border-radius: var(--ingen-radius-lg);
	padding: var(--ingen-space-12) var(--ingen-space-6);
	margin-bottom: var(--ingen-space-8);
	text-align: center;
}

.ingen-category-banner h1 { color: #fff; margin: 0 0 var(--ingen-space-2); font-size: var(--ingen-fs-h2); }
.ingen-category-banner p { color: var(--ingen-text-soft); margin: 0 auto; max-width: 40em; }
.ingen-category-banner p small { color: var(--ingen-text-faint); letter-spacing: 0.08em; text-transform: uppercase; font-size: 0.7rem; }

.woocommerce-ordering select {
	border: 1px solid var(--ingen-border);
	border-radius: var(--ingen-radius-pill);
	padding: 0.55rem 2.25rem 0.55rem 1.1rem;
	background-color: var(--ingen-bg-2);
	color: var(--ingen-text);
	font-size: var(--ingen-fs-sm);
}

.woocommerce-result-count { color: var(--ingen-text-faint); font-size: var(--ingen-fs-sm); }

.ingen-category-seo {
	margin-top: var(--ingen-space-16);
	padding-top: var(--ingen-space-8);
	border-top: 1px solid var(--ingen-border-soft);
	color: var(--ingen-text-soft);
	font-size: var(--ingen-fs-sm);
	max-width: 70ch;
}

.woocommerce-pagination ul.page-numbers li .page-numbers { border-radius: var(--ingen-radius-sm) !important; font-weight: 600; color: var(--ingen-text-soft); }
.woocommerce-pagination ul.page-numbers li .page-numbers.current { background: var(--ingen-green) !important; color: #06130a !important; }

.woocommerce-breadcrumb { font-size: var(--ingen-fs-xs) !important; color: var(--ingen-text-faint) !important; letter-spacing: 0.02em; }
.woocommerce-breadcrumb a { color: var(--ingen-text-soft) !important; }

.woocommerce-info, .woocommerce-message, .woocommerce-noreviews {
	border-top-color: var(--ingen-green) !important;
	background: var(--ingen-bg-2) !important;
	color: var(--ingen-text-soft) !important;
	border-radius: var(--ingen-radius);
}

/* =========================================================
   11. RESEARCH LIBRARY + LAB RESULTS (COA) — Phase 3A
   ========================================================= */

/* --- shared library header --- */
.ingen-lib-head .ingen-lib-count { margin-top: var(--ingen-space-3); font-size: var(--ingen-fs-sm); color: var(--ingen-text-soft); letter-spacing: 0.02em; }
.ingen-lib-head .ingen-lib-count span { color: var(--ingen-green-bright); font-weight: 700; }

/* --- shared button size modifier --- */
.ingen-btn--sm { min-height: 38px; padding: 0.4rem 1rem !important; font-size: var(--ingen-fs-xs); }

/* --- shared control fields --- */
.ingen-coa-controls select,
.ingen-coa-controls input[type="search"],
.ingen-lib-controls input[type="search"] {
	background: var(--ingen-bg-2);
	border: 1px solid var(--ingen-border);
	color: var(--ingen-text);
	border-radius: var(--ingen-radius);
	padding: 0.7rem 0.9rem;
	font-size: var(--ingen-fs-sm);
	min-height: 46px;
	width: 100%;
	transition: border-color var(--ingen-speed) var(--ingen-ease), box-shadow var(--ingen-speed) var(--ingen-ease);
}
.ingen-coa-controls select:focus,
.ingen-coa-controls input[type="search"]:focus,
.ingen-lib-controls input[type="search"]:focus {
	outline: none;
	border-color: var(--ingen-green);
	box-shadow: 0 0 0 3px var(--ingen-green-tint);
}

/* ===================== COA LIBRARY ===================== */
.ingen-coa-controls {
	display: grid;
	gap: var(--ingen-space-3);
	grid-template-columns: 1fr;
	margin-bottom: var(--ingen-space-8);
}
.ingen-coa-controls__filters { display: grid; gap: var(--ingen-space-3); grid-template-columns: 1fr 1fr; }
.ingen-coa-controls__view { display: flex; gap: 0; border: 1px solid var(--ingen-border); border-radius: var(--ingen-radius); overflow: hidden; align-self: start; width: max-content; }
.ingen-coa-controls__view button {
	background: var(--ingen-bg-2);
	color: var(--ingen-text-soft);
	border: none;
	padding: 0.6rem 1.1rem;
	min-height: 46px;
	font-size: var(--ingen-fs-sm);
	font-weight: 600;
	cursor: pointer;
	transition: background var(--ingen-speed) var(--ingen-ease), color var(--ingen-speed) var(--ingen-ease);
}
.ingen-coa-controls__view button + button { border-left: 1px solid var(--ingen-border); }
.ingen-coa-controls__view button.is-active { background: var(--ingen-green); color: #06130a; }

@media (min-width: 800px) {
	.ingen-coa-controls { grid-template-columns: 1.4fr 2.6fr auto; align-items: start; }
	.ingen-coa-controls__filters { grid-template-columns: repeat(5, 1fr); }
}

/* loading + spinner */
.ingen-coa-loading { display: flex; align-items: center; gap: var(--ingen-space-3); color: var(--ingen-text-soft); padding: var(--ingen-space-6) 0; font-size: var(--ingen-fs-sm); }
.ingen-coa-spinner { width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--ingen-border); border-top-color: var(--ingen-green-bright); display: inline-block; animation: ingen-spin 0.8s linear infinite; }
@keyframes ingen-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .ingen-coa-spinner { animation: none; } }

/* cards grid */
.ingen-coa-cards { display: grid; gap: var(--ingen-space-6); grid-template-columns: 1fr; }
.ingen-coa-cards[hidden], .ingen-coa-table-wrap[hidden] { display: none !important; }
@media (min-width: 620px) { .ingen-coa-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1040px) { .ingen-coa-cards { grid-template-columns: repeat(3, 1fr); } }

.ingen-coa-card {
	position: relative;
	background: var(--ingen-bg-2);
	border: 1px solid var(--ingen-border-soft);
	border-left: 3px solid var(--ingen-green);
	border-radius: var(--ingen-radius-lg);
	padding: var(--ingen-space-6);
	box-shadow: var(--ingen-shadow-sm);
	transition: transform var(--ingen-speed) var(--ingen-ease), box-shadow var(--ingen-speed) var(--ingen-ease), border-color var(--ingen-speed) var(--ingen-ease);
}
.ingen-coa-card:hover, .ingen-coa-card:focus-within { transform: translateY(-2px); box-shadow: var(--ingen-shadow); border-left-color: var(--ingen-green-bright); }
.ingen-coa-card__top { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--ingen-space-3); }
.ingen-coa-card__title { font-size: var(--ingen-fs-lg); margin: 0; color: var(--ingen-text) !important; line-height: 1.25; }
.ingen-coa-card__cat { margin: var(--ingen-space-1) 0 var(--ingen-space-4); font-size: var(--ingen-fs-xs); text-transform: uppercase; letter-spacing: 0.08em; color: var(--ingen-text-faint); }
.ingen-coa-card__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ingen-space-3) var(--ingen-space-4); margin: 0 0 var(--ingen-space-4); }
.ingen-coa-card__grid dt { font-size: var(--ingen-fs-xs); text-transform: uppercase; letter-spacing: 0.05em; color: var(--ingen-text-faint); margin: 0 0 2px; }
.ingen-coa-card__grid dd { margin: 0; font-size: var(--ingen-fs-sm); color: var(--ingen-text); }
.ingen-coa-card__grid div:nth-child(1) dd { font-family: var(--ingen-font-mono); color: var(--ingen-green-bright); }
.ingen-coa-card__notes { font-size: var(--ingen-fs-xs); color: var(--ingen-text-soft); border-top: 1px solid var(--ingen-border-soft); padding-top: var(--ingen-space-3); margin: 0 0 var(--ingen-space-4); }
.ingen-coa-card__actions { display: flex; flex-wrap: wrap; gap: var(--ingen-space-3); align-items: center; }
.ingen-coa-pending { font-size: var(--ingen-fs-xs); color: var(--ingen-warning-text); background: var(--ingen-warning-bg); border: 1px solid var(--ingen-warning-border); padding: 0.4rem 0.8rem; border-radius: var(--ingen-radius-pill); }

/* verification badges */
.ingen-badge { display: inline-flex; align-items: center; gap: 5px; font-size: var(--ingen-fs-xs); font-weight: 700; letter-spacing: 0.03em; padding: 0.35rem 0.7rem; border-radius: var(--ingen-radius-pill); white-space: nowrap; border: 1px solid transparent; }
.ingen-badge__check { display: inline-flex; width: 14px; height: 14px; align-items: center; justify-content: center; border-radius: 50%; background: var(--ingen-green-bright); color: #06130a; font-size: 10px; line-height: 1; }
.ingen-badge--verified { background: var(--ingen-green-tint); color: var(--ingen-green-bright); border-color: rgba(52, 196, 63, 0.4); }
.ingen-badge--pending { background: var(--ingen-warning-bg); color: var(--ingen-warning-text); border-color: var(--ingen-warning-border); }
.ingen-badge--archived { background: rgba(255,255,255,0.05); color: var(--ingen-text-soft); border-color: var(--ingen-border); }

/* table view */
.ingen-coa-table-wrap { overflow-x: auto; border: 1px solid var(--ingen-border-soft); border-radius: var(--ingen-radius-lg); background: var(--ingen-bg-2); box-shadow: var(--ingen-shadow-sm); }
.ingen-coa-table { width: 100%; border-collapse: collapse; font-size: var(--ingen-fs-sm); margin: 0; }
.ingen-coa-table th { background: var(--ingen-bg-3); font-size: var(--ingen-fs-xs); letter-spacing: 0.08em; text-transform: uppercase; color: var(--ingen-text-soft); padding: var(--ingen-space-4); text-align: left; white-space: nowrap; }
.ingen-coa-table td { padding: var(--ingen-space-4); border-top: 1px solid var(--ingen-border-soft); vertical-align: middle; color: var(--ingen-text); }
.ingen-coa-table tbody tr { transition: background var(--ingen-speed) var(--ingen-ease); }
.ingen-coa-table tbody tr:hover { background: var(--ingen-green-tint); }
.ingen-coa-table td:nth-child(3) { font-family: var(--ingen-font-mono); font-size: 0.8rem; color: var(--ingen-green-bright); }

@media (max-width: 760px) {
	.ingen-coa-table thead { display: none; }
	.ingen-coa-table, .ingen-coa-table tbody, .ingen-coa-table tr, .ingen-coa-table td { display: block; width: 100%; }
	.ingen-coa-table tr { border-top: 1px solid var(--ingen-border); padding: var(--ingen-space-2) 0; }
	.ingen-coa-table td { border: none; display: flex; justify-content: space-between; gap: var(--ingen-space-4); padding: 0.4rem var(--ingen-space-4); white-space: normal; }
	.ingen-coa-table td::before { content: attr(data-label); font-size: var(--ingen-fs-xs); text-transform: uppercase; letter-spacing: 0.05em; color: var(--ingen-text-faint); font-weight: 600; }
}

.ingen-coa-empty, .ingen-coa-empty-state { padding: var(--ingen-space-12) var(--ingen-space-4); text-align: center; color: var(--ingen-text-soft); background: var(--ingen-bg-2); border: 1px dashed var(--ingen-border); border-radius: var(--ingen-radius-lg); }
.ingen-coa-disclaimer { margin-top: var(--ingen-space-12); }

/* ===================== RESEARCH LIBRARY LANDING ===================== */
.ingen-lib-controls { display: grid; gap: var(--ingen-space-4); margin-bottom: var(--ingen-space-8); }
.ingen-lib-controls__cats { display: flex; flex-wrap: wrap; gap: var(--ingen-space-2); }
.ingen-lib-chip {
	background: var(--ingen-bg-2);
	border: 1px solid var(--ingen-border);
	color: var(--ingen-text-soft);
	border-radius: var(--ingen-radius-pill);
	padding: 0.5rem 1rem;
	min-height: 42px;
	font-size: var(--ingen-fs-sm);
	font-weight: 600;
	cursor: pointer;
	transition: all var(--ingen-speed) var(--ingen-ease);
}
.ingen-lib-chip:hover { border-color: var(--ingen-green); color: var(--ingen-green-bright); }
.ingen-lib-chip.is-active { background: var(--ingen-green); border-color: var(--ingen-green); color: #06130a; }

.ingen-lib-grid { display: grid; gap: var(--ingen-space-6); grid-template-columns: 1fr; }
@media (min-width: 620px) { .ingen-lib-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1040px) { .ingen-lib-grid { grid-template-columns: repeat(3, 1fr); } }

.ingen-lib-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--ingen-space-2);
	background: var(--ingen-bg-2);
	border: 1px solid var(--ingen-border-soft);
	border-radius: var(--ingen-radius-lg);
	padding: var(--ingen-space-6) var(--ingen-space-6) var(--ingen-space-6) calc(var(--ingen-space-6) + 4px);
	overflow: hidden;
	color: var(--ingen-text) !important;
	transition: transform var(--ingen-speed) var(--ingen-ease), box-shadow var(--ingen-speed) var(--ingen-ease);
}
.ingen-lib-card__accent { position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(180deg, var(--ingen-green-bright), var(--ingen-green-deep)); }
.ingen-lib-card:hover { transform: translateY(-3px); box-shadow: var(--ingen-shadow); }
.ingen-lib-card__cat { font-size: var(--ingen-fs-xs); text-transform: uppercase; letter-spacing: 0.08em; color: var(--ingen-green); font-weight: 700; }
.ingen-lib-card__title { font-size: var(--ingen-fs-lg); font-weight: 700; color: var(--ingen-text); line-height: 1.25; }
.ingen-lib-card__title em { font-style: normal; font-size: var(--ingen-fs-xs); color: var(--ingen-text-faint); font-weight: 600; margin-left: 4px; }
.ingen-lib-card__excerpt { font-size: var(--ingen-fs-sm); color: var(--ingen-text-soft); line-height: 1.55; flex: 1; }
.ingen-lib-card__more { font-size: var(--ingen-fs-sm); font-weight: 600; color: var(--ingen-green-bright); margin-top: var(--ingen-space-2); }
.ingen-lib-empty { padding: var(--ingen-space-12); text-align: center; color: var(--ingen-text-soft); }
.ingen-lib-links { display: flex; flex-wrap: wrap; gap: var(--ingen-space-3); justify-content: center; margin-top: var(--ingen-space-12); }

/* ===================== SINGLE RESEARCH GUIDE ===================== */
.ingen-guide__inner {
	display: grid;
	gap: var(--ingen-space-8);
	grid-template-columns: 1fr;
	grid-template-areas: "bc" "head" "body" "aside" "disc";
	text-align: left;
	max-width: 1120px;
}
.ingen-guide__breadcrumb { grid-area: bc; font-size: var(--ingen-fs-sm); color: var(--ingen-text-faint); display: flex; gap: 0.5rem; flex-wrap: wrap; }
.ingen-guide__breadcrumb a { color: var(--ingen-text-soft); }
.ingen-guide__breadcrumb a:hover { color: var(--ingen-green-bright); }
.ingen-guide__head { grid-area: head; }
.ingen-guide__eyebrow { display: inline-block; font-size: var(--ingen-fs-xs); text-transform: uppercase; letter-spacing: 0.1em; color: var(--ingen-green); font-weight: 700; margin-bottom: var(--ingen-space-2); }
.ingen-guide__head h1 { line-height: 1.15; }
.ingen-guide__label { display: inline-block; font-size: 0.5em; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ingen-text-faint); vertical-align: middle; border: 1px solid var(--ingen-border); border-radius: var(--ingen-radius-pill); padding: 0.25em 0.7em; margin-left: 0.4em; }
.ingen-guide__size { margin-top: var(--ingen-space-3); font-size: var(--ingen-fs-sm); color: var(--ingen-text-soft); }
.ingen-guide__body { grid-area: body; }
.ingen-guide__aside { grid-area: aside; display: grid; gap: var(--ingen-space-6); align-content: start; }
.ingen-guide__disclaimer { grid-area: disc; }

.ingen-guide__section { margin-bottom: var(--ingen-space-8); }
.ingen-guide__section h2 { font-size: var(--ingen-fs-h3); margin-bottom: var(--ingen-space-3); padding-left: var(--ingen-space-3); border-left: 3px solid var(--ingen-green); }
.ingen-guide__section p { color: var(--ingen-text-soft); line-height: 1.7; }
.ingen-guide__split { display: grid; gap: var(--ingen-space-6); grid-template-columns: 1fr; }
@media (min-width: 640px) { .ingen-guide__split { grid-template-columns: 1fr 1fr; } }
.ingen-guide__section--card { background: var(--ingen-bg-2); border: 1px solid var(--ingen-border-soft); border-radius: var(--ingen-radius-lg); padding: var(--ingen-space-6); margin-bottom: 0; }
.ingen-guide__section--card h2 { font-size: var(--ingen-fs-lg); border-left: none; padding-left: 0; }

.ingen-guide__refs ol { padding-left: 1.3rem; color: var(--ingen-text-soft); }
.ingen-guide__refs li { margin-bottom: var(--ingen-space-2); font-size: var(--ingen-fs-sm); line-height: 1.5; word-break: break-word; }
.ingen-guide__refnote { font-size: var(--ingen-fs-xs); color: var(--ingen-text-faint); margin-top: var(--ingen-space-3); }

.ingen-guide__widget { background: var(--ingen-bg-2); border: 1px solid var(--ingen-border-soft); border-radius: var(--ingen-radius-lg); padding: var(--ingen-space-6); }
.ingen-guide__widget h3 { font-size: var(--ingen-fs-lg); margin-bottom: var(--ingen-space-2); color: var(--ingen-text) !important; }
.ingen-guide__widget p { font-size: var(--ingen-fs-sm); color: var(--ingen-text-soft); margin-bottom: var(--ingen-space-4); line-height: 1.55; }
.ingen-guide__widget--cta { border-color: rgba(52,196,63,0.35); background: linear-gradient(160deg, rgba(35,156,43,0.08), var(--ingen-bg-2)); }
.ingen-guide__widget .ingen-btn { width: 100%; }
.ingen-guide__related { list-style: none; margin: 0 0 var(--ingen-space-3); padding: 0; }
.ingen-guide__related li { border-bottom: 1px solid var(--ingen-border-soft); }
.ingen-guide__related a { display: block; padding: 0.55rem 0; color: var(--ingen-text-soft); font-size: var(--ingen-fs-sm); }
.ingen-guide__related a:hover { color: var(--ingen-green-bright); }
.ingen-guide__catlink { font-size: var(--ingen-fs-sm); font-weight: 600; }
.ingen-guide__disclaimer { border-top: 1px solid var(--ingen-border); padding-top: var(--ingen-space-6); }

@media (min-width: 980px) {
	.ingen-guide__inner {
		grid-template-columns: minmax(0, 1fr) 320px;
		grid-template-areas: "bc bc" "head head" "body aside" "disc disc";
		column-gap: var(--ingen-space-12);
	}
}

/* =========================================================
   12. CALCULATOR
   ========================================================= */
.ingen-calculator {
	max-width: 640px; margin: 0 auto;
	background: var(--ingen-bg-2);
	border: 1px solid var(--ingen-border-soft);
	border-radius: var(--ingen-radius-lg);
	box-shadow: var(--ingen-shadow-sm);
	padding: var(--ingen-space-8);
}

.ingen-calculator__field { margin-bottom: var(--ingen-space-6); }
.ingen-calculator__field label { display: block; font-weight: 600; font-size: var(--ingen-fs-sm); margin-bottom: var(--ingen-space-2); color: var(--ingen-text); }
.ingen-calculator .ingen-btn { width: 100%; }

.ingen-calculator__result {
	margin-top: var(--ingen-space-6);
	padding: var(--ingen-space-6);
	background: var(--ingen-bg);
	border: 1px solid var(--ingen-border-soft);
	border-radius: var(--ingen-radius);
	text-align: center;
	min-height: 4rem;
	color: var(--ingen-text-soft);
	font-size: var(--ingen-fs-sm);
}

/* =========================================================
   13. FORMS — dark professional inputs
   ========================================================= */
input[type="text"], input[type="email"], input[type="tel"], input[type="url"],
input[type="password"], input[type="search"], input[type="number"], textarea, select {
	border: 1px solid var(--ingen-border) !important;
	border-radius: var(--ingen-radius) !important;
	padding: 0.7rem 1rem !important;
	font-size: var(--ingen-fs-sm) !important;
	background: var(--ingen-bg-2) !important;
	color: var(--ingen-text) !important;
	box-shadow: none !important;
	transition: border-color var(--ingen-speed) var(--ingen-ease), box-shadow var(--ingen-speed) var(--ingen-ease);
	min-height: 48px;
}

textarea { min-height: 120px; }

input::placeholder, textarea::placeholder { color: var(--ingen-text-faint); }

input:focus, textarea:focus, select:focus {
	border-color: var(--ingen-green) !important;
	box-shadow: 0 0 0 3px var(--ingen-green-tint) !important;
	outline: none;
}

label { font-weight: 600; font-size: var(--ingen-fs-sm); color: var(--ingen-text); }

.widget_product_search input[type="search"] { border-radius: var(--ingen-radius-pill) !important; }

.woocommerce-MyAccount-navigation ul {
	list-style: none; margin: 0;
	padding: var(--ingen-space-2);
	border: 1px solid var(--ingen-border-soft);
	border-radius: var(--ingen-radius-lg);
	background: var(--ingen-bg-2);
}

.woocommerce-MyAccount-navigation ul li a { display: block; padding: 0.65rem 1rem; border-radius: var(--ingen-radius-sm); color: var(--ingen-text-soft); font-weight: 500; }
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover { background: var(--ingen-bg-3); color: var(--ingen-green-bright); }

#customer_login .u-column1, #customer_login .u-column2,
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { margin-bottom: var(--ingen-space-6); }

/* Woo tables (cart, orders) */
table.shop_table { border: 1px solid var(--ingen-border-soft) !important; border-radius: var(--ingen-radius-lg); background: var(--ingen-bg-2); }
table.shop_table th, table.shop_table td { border-color: var(--ingen-border-soft) !important; color: var(--ingen-text); }

/* =========================================================
   14. NEWSLETTER
   ========================================================= */
.ingen-newsletter { text-align: center; max-width: 560px; margin: 0 auto; }
.ingen-newsletter h3 { font-size: var(--ingen-fs-h3); margin-bottom: var(--ingen-space-2); }
.ingen-newsletter p { color: var(--ingen-text-soft); }
.ingen-newsletter__form { display: flex; flex-direction: column; gap: var(--ingen-space-3); margin: var(--ingen-space-6) auto var(--ingen-space-3); }

@media (min-width: 600px) {
	.ingen-newsletter__form { flex-direction: row; }
	.ingen-newsletter__form input[type="email"] { flex: 1; }
}

.ingen-newsletter small { color: var(--ingen-text-faint); font-size: var(--ingen-fs-xs); }

/* =========================================================
   15. FOOTER — deep black, minimal
   ========================================================= */
.site-footer {
	background: var(--ingen-bg-deep) !important;
	color: var(--ingen-text-soft) !important;
	font-size: var(--ingen-fs-sm);
	border-top: 1px solid var(--ingen-border-soft);
}

.site-footer a { color: var(--ingen-text-soft) !important; text-decoration: none; }
.site-footer a:hover { color: var(--ingen-green-bright) !important; }

.ingen-footer {
	max-width: var(--ingen-content-max); margin: 0 auto;
	padding: var(--ingen-space-16) var(--ingen-space-4) var(--ingen-space-8);
	display: grid; gap: var(--ingen-space-8);
	grid-template-columns: 1fr;
}

@media (min-width: 700px) { .ingen-footer { grid-template-columns: 2fr 1fr 1fr 1fr; } }

.ingen-footer h4 { color: var(--ingen-text) !important; font-size: var(--ingen-fs-xs); letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: var(--ingen-space-4); }
.ingen-footer ul { list-style: none; margin: 0; padding: 0; }
.ingen-footer li { margin-bottom: var(--ingen-space-2); }
.ingen-footer__brand p { color: var(--ingen-text-faint); max-width: 34ch; font-size: var(--ingen-fs-sm); }
.ingen-footer__brand .site-logo-placeholder { color: #fff; font-weight: 800; font-size: 1.35rem; letter-spacing: -0.02em; margin-bottom: var(--ingen-space-3); display: block; }
.ingen-footer__brand img { max-height: 250px; width: auto; margin-bottom: var(--ingen-space-3); }
.site-footer .ingen-footer .ingen-footer__brand img,
.site-footer .ingen-footer__brand img { max-height: 250px !important; height: auto !important; width: auto !important; }
.ingen-footer__contact li { display: flex; gap: var(--ingen-space-2); align-items: center; color: var(--ingen-text-faint); }
.ingen-footer__contact svg { color: var(--ingen-green); }

.ingen-footer-bottom {
	border-top: 1px solid var(--ingen-border-soft);
	max-width: var(--ingen-content-max); margin: 0 auto;
	padding: var(--ingen-space-6) var(--ingen-space-4);
	display: flex; flex-direction: column; gap: var(--ingen-space-4);
	align-items: center; text-align: center;
}

@media (min-width: 700px) { .ingen-footer-bottom { flex-direction: row; justify-content: space-between; text-align: left; } }

.ingen-footer-bottom__disclaimer { font-size: var(--ingen-fs-xs); color: var(--ingen-text-faint); max-width: 62ch; margin: 0; }

.ingen-social-placeholders { display: flex; gap: var(--ingen-space-2); }

.ingen-social-placeholders a {
	display: inline-flex;
	width: 40px; height: 40px;
	align-items: center; justify-content: center;
	border-radius: var(--ingen-radius-pill);
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid var(--ingen-border-soft);
	color: var(--ingen-text-soft) !important;
	transition: all var(--ingen-speed) var(--ingen-ease);
}

.ingen-social-placeholders a:hover { background: var(--ingen-green-tint); border-color: rgba(35, 156, 43, 0.4); color: var(--ingen-green-bright) !important; transform: translateY(-2px); }
.ingen-social-placeholders svg { width: 18px; height: 18px; }

.site-info { text-align: center; padding: var(--ingen-space-4); color: var(--ingen-text-faint); font-size: var(--ingen-fs-xs); background: var(--ingen-bg-deep); }

/* =========================================================
   16. HOMEPAGE / HERO
   ========================================================= */
.ingen-hero {
	padding: var(--ingen-space-24) var(--ingen-space-4) var(--ingen-space-16);
	text-align: center;
	background: radial-gradient(ellipse 60% 45% at 50% 0%, rgba(35, 156, 43, 0.10), transparent 70%);
}

.ingen-hero h1 { max-width: 16ch; margin-left: auto; margin-right: auto; }

.ingen-img-placeholder {
	background:
		radial-gradient(ellipse at 30% 20%, rgba(35, 156, 43, 0.06), transparent 55%),
		var(--ingen-bg-2);
	border: 1px dashed var(--ingen-border);
	border-radius: var(--ingen-radius-lg);
	display: flex; align-items: center; justify-content: center;
	color: var(--ingen-text-faint);
	font-size: var(--ingen-fs-xs);
	letter-spacing: 0.04em;
	min-height: 220px;
}

/* =========================================================
   17. REVEAL ANIMATIONS
   ========================================================= */
.ingen-reveal { opacity: 0; transform: translateY(16px); transition: opacity 500ms var(--ingen-ease), transform 500ms var(--ingen-ease); }
.ingen-reveal.is-revealed { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .ingen-reveal { opacity: 1; transform: none; } }

/* =========================================================
   18. UTILITIES & MOBILE
   ========================================================= */
.ingen-mt-0 { margin-top: 0 !important; }
.ingen-text-center { text-align: center; }

@media (max-width: 767px) {
	.ingen-section { padding: var(--ingen-space-12) var(--ingen-space-4); }
	.ingen-hero { padding: var(--ingen-space-16) var(--ingen-space-4) var(--ingen-space-12); }
	.single-product div.product .product_title { font-size: var(--ingen-fs-h3); }
}

.ingen-footer-nav { display: none; }

/* Footer brand eyebrow (Phase 6 copy) */
.ingen-footer__brand .ingen-footer__eyebrow {
	color: var(--ingen-green-bright);
	font-size: var(--ingen-fs-xs);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 700;
	margin-bottom: var(--ingen-space-2);
}

/* =========================================================
   19. BRAND HERO (Phase 7) — mockup-matched, forest green
   ========================================================= */
.ingen-hero--brand {
	position: relative;
	padding: var(--ingen-space-16) var(--ingen-space-4) 0;
	text-align: center;
	overflow: hidden;
	background:
		radial-gradient(ellipse 70% 55% at 50% 0%, rgba(35, 156, 43, 0.14), transparent 68%),
		var(--ingen-bg);
}

/* Ghosted logo watermark behind the headline */
.ingen-hero--brand::before {
	content: "";
	position: absolute;
	top: 46%;
	left: 50%;
	width: min(620px, 82%);
	height: 48%;
	transform: translate(-50%, -50%);
	background: url("assets/img/logo-watermark.png") center/contain no-repeat;
	opacity: 0.72;
	pointer-events: none;
	z-index: 0;
}

.ingen-hero--brand > * { position: relative; z-index: 1; }

.ingen-hero__eyebrow {
	display: inline-block;
	color: var(--ingen-green-bright);
	font-size: var(--ingen-fs-xs);
	font-weight: 700;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	margin-bottom: var(--ingen-space-4);
}

.ingen-hero__title {
	font-size: clamp(2.75rem, 1.5rem + 6vw, 6rem);
	line-height: 0.98;
	letter-spacing: -0.03em;
	font-weight: 800;
	margin: 0 auto var(--ingen-space-4);
	max-width: 15ch;
}

.ingen-hero__title .accent { color: var(--ingen-green-bright); }

.ingen-hero__sub {
	font-size: var(--ingen-fs-lg);
	color: var(--ingen-text-soft);
	max-width: 40ch;
	margin: 0 auto var(--ingen-space-8);
}

.ingen-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ingen-space-3);
	justify-content: center;
	margin-bottom: var(--ingen-space-6);
}

.ingen-hero__badges {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ingen-space-3);
	justify-content: center;
	margin-bottom: var(--ingen-space-6);
}

.ingen-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.5rem 1.1rem;
	border-radius: var(--ingen-radius-pill);
	border: 1px solid rgba(35, 156, 43, 0.4);
	background: var(--ingen-green-tint);
	color: var(--ingen-text);
	font-size: var(--ingen-fs-sm);
	font-weight: 600;
}

.ingen-hero__badge svg { width: 16px; height: 16px; color: var(--ingen-green-bright); }

.ingen-hero__vials {
	display: block;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	height: auto;
}

@media (max-width: 767px) {
	.ingen-hero--brand { padding-top: var(--ingen-space-12); }
	.ingen-hero__badges { gap: var(--ingen-space-2); }
	.ingen-hero__badge { padding: 0.4rem 0.8rem; font-size: var(--ingen-fs-xs); }
}

/* =========================================================
   20. BRAND FILM (Phase 10) — full-bleed + real overlay buttons
   ========================================================= */
.ingen-film-full {
	position: relative;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	width: 100vw;
	height: clamp(420px, 46vw, 680px);
	background: #000;
	overflow: hidden;
}
.ingen-film-full__video {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover; object-position: 50% 38%;
	display: block;
}
.ingen-film-actions {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 7%;
	z-index: 2;
	display: flex;
	gap: var(--ingen-space-3);
	flex-wrap: wrap;
	justify-content: center;
}
@media (max-width: 900px) {
	.ingen-film-full { height: clamp(380px, 90vw, 600px); }
	.ingen-film-actions { left: 50%; transform: translateX(-50%); bottom: 8%; flex-direction: row; }
}

/* =========================================================
   21. GLOBAL CONTENT WIDTH (Phase 12) — widen Storefront's
   default ~1130px column to a roomier premium width.
   ========================================================= */
.col-full,
.storefront-full-width-content .col-full,
.site-content .col-full,
.site-header .col-full,
.storefront-breadcrumb .col-full,
.site-footer .col-full {
	max-width: var(--ingen-content-max) !important;
	padding-left: clamp(1rem, 3vw, 2.5rem);
	padding-right: clamp(1rem, 3vw, 2.5rem);
	box-sizing: border-box;
}

/* Research Categories — single row of 6, responsive (Phase 2.5) */
.ingen-section ul.products.columns-5 {
	display: grid !important;
	grid-template-columns: repeat(6, 1fr);
	gap: clamp(1.5rem, 3.5vw, 4rem);
	margin: 0;
	padding-inline: clamp(0px, 2vw, 2.5rem);
}
.ingen-section ul.products.columns-5 li.product-category {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	padding: var(--ingen-space-3) !important;
}
.ingen-section ul.products.columns-5 li.product-category img { margin: 0 0 var(--ingen-space-2); }
@media (max-width: 1024px) { .ingen-section ul.products.columns-5 { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .ingen-section ul.products.columns-5 { grid-template-columns: repeat(2, 1fr); } }

/* Fix: Storefront clearfix pseudo-elements were consuming grid cells */
.ingen-section ul.products.columns-5::before,
.ingen-section ul.products.columns-5::after { content: none !important; display: none !important; }

/* =========================================================
   22. RECONSTITUTION CALCULATOR (stepped, vertical)
   ========================================================= */
.ingen-calc { max-width: 780px; margin: 0 auto; display: flex; flex-direction: column; gap: var(--ingen-space-4); }
.ingen-calc__step {
	background: var(--ingen-bg-2);
	border: 1px solid var(--ingen-border-soft);
	border-radius: var(--ingen-radius-lg);
	padding: var(--ingen-space-6);
}
.ingen-calc__num { display: inline-block; font-size: var(--ingen-fs-xs); font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ingen-green-bright); margin-bottom: var(--ingen-space-1); }
.ingen-calc__step h3 { font-size: var(--ingen-fs-lg); margin: 0 0 var(--ingen-space-4); }
.ingen-calc__chips { display: flex; flex-wrap: wrap; gap: var(--ingen-space-2); align-items: center; }
.ingen-calc__chip {
	background: var(--ingen-bg-3); color: var(--ingen-text-soft);
	border: 1px solid var(--ingen-border); border-radius: var(--ingen-radius-pill);
	padding: 0.55rem 1.1rem; font-size: var(--ingen-fs-sm); font-weight: 600; cursor: pointer;
	transition: all var(--ingen-speed) var(--ingen-ease); min-height: 44px;
}
.ingen-calc__chip:hover { border-color: var(--ingen-green); color: var(--ingen-text); }
.ingen-calc__chip.is-active { background: var(--ingen-green); border-color: var(--ingen-green); color: #06130a; box-shadow: var(--ingen-glow); }
.ingen-calc__custom { width: 130px !important; min-height: 44px; }
.ingen-calc__toggle { display: inline-flex; background: var(--ingen-bg-3); border: 1px solid var(--ingen-border); border-radius: var(--ingen-radius-pill); padding: 3px; margin-right: var(--ingen-space-2); }
.ingen-calc__toggle button { background: transparent; border: 0; color: var(--ingen-text-soft); padding: 0.4rem 0.9rem; border-radius: var(--ingen-radius-pill); cursor: pointer; font-weight: 700; font-size: var(--ingen-fs-xs); }
.ingen-calc__toggle button.is-active { background: var(--ingen-green); color: #06130a; }

.ingen-calc__result {
	background: linear-gradient(180deg, rgba(35,156,43,0.08), transparent 60%), var(--ingen-bg-2);
	border: 1px solid rgba(35,156,43,0.3); border-radius: var(--ingen-radius-lg);
	padding: var(--ingen-space-8); text-align: left;
}
.ingen-calc__headline { display: flex; align-items: baseline; gap: 0.4rem; }
.ingen-calc__headline #calc-units { font-size: clamp(3rem, 2rem + 4vw, 4.5rem); font-weight: 800; line-height: 1; color: var(--ingen-text); letter-spacing: -0.03em; }
.ingen-calc__headline small { font-size: var(--ingen-fs-lg); color: var(--ingen-text-soft); font-weight: 600; }
.ingen-calc__result #calc-sub { color: var(--ingen-text-soft); font-size: var(--ingen-fs-sm); margin: var(--ingen-space-2) 0 var(--ingen-space-6); }
.ingen-calc__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--ingen-space-4); border-top: 1px solid var(--ingen-border-soft); padding-top: var(--ingen-space-6); }
.ingen-calc__stats > div { display: flex; flex-direction: column; gap: 4px; }
.ingen-calc__stats span { font-size: var(--ingen-fs-xs); letter-spacing: 0.06em; text-transform: uppercase; color: var(--ingen-text-faint); }
.ingen-calc__stats strong { font-size: var(--ingen-fs-lg); color: var(--ingen-green-bright); font-family: var(--ingen-font-mono); }
@media (max-width: 600px) { .ingen-calc__stats { grid-template-columns: repeat(2, 1fr); } }

/* Calculator result: two-column (numbers + syringe) */
.ingen-calc__result-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: var(--ingen-space-8); align-items: center; }
.ingen-calc__rlabel { display: block; font-size: var(--ingen-fs-xs); letter-spacing: 0.12em; text-transform: uppercase; color: var(--ingen-green-bright); font-weight: 700; margin-bottom: var(--ingen-space-2); }
.ingen-calc__syringe { border-left: 1px solid var(--ingen-border-soft); padding-left: var(--ingen-space-8); }
.ingen-calc__svg { width: 100%; height: auto; display: block; margin: var(--ingen-space-2) 0; }
.ingen-calc__scale { display: flex; justify-content: space-between; font-size: var(--ingen-fs-xs); color: var(--ingen-text-faint); font-family: var(--ingen-font-mono); padding: 0 2% 0 12%; }
@media (max-width: 720px) {
	.ingen-calc__result-grid { grid-template-columns: 1fr; gap: var(--ingen-space-6); }
	.ingen-calc__syringe { border-left: 0; padding-left: 0; border-top: 1px solid var(--ingen-border-soft); padding-top: var(--ingen-space-6); }
}

/* =========================================================
   14. PRODUCT SUMMARY — reference-modeled info blocks
   ========================================================= */
.ingen-research-summary { color: var(--ingen-text-soft); font-size: var(--ingen-fs-base); line-height: 1.6; margin: 0 0 var(--ingen-space-6); }

/* Certificate of Analysis callout */
.ingen-coa-callout {
	display: flex; align-items: center; gap: var(--ingen-space-4);
	background: linear-gradient(150deg, rgba(35,156,43,0.12), var(--ingen-bg-2));
	border: 1px solid rgba(52,196,63,0.4);
	border-radius: var(--ingen-radius-lg);
	padding: var(--ingen-space-4) var(--ingen-space-6);
	margin: 0 0 var(--ingen-space-6);
	color: var(--ingen-text) !important;
	transition: border-color var(--ingen-speed) var(--ingen-ease), box-shadow var(--ingen-speed) var(--ingen-ease);
}
.ingen-coa-callout:hover { border-color: var(--ingen-green-bright); box-shadow: 0 0 24px var(--ingen-green-glow); }
.ingen-coa-callout__icon { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: var(--ingen-radius); background: var(--ingen-green); color: #06130a; }
.ingen-coa-callout__icon svg { width: 24px; height: 24px; }
.ingen-coa-callout__body { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0; }
.ingen-coa-callout__body strong { font-size: var(--ingen-fs-base); color: var(--ingen-text); }
.ingen-coa-callout__body span { font-size: var(--ingen-fs-xs); color: var(--ingen-text-soft); line-height: 1.4; }
.ingen-coa-callout__cta { flex: 0 0 auto; font-size: var(--ingen-fs-xs); font-weight: 700; letter-spacing: 0.06em; color: var(--ingen-green-bright); white-space: nowrap; }
@media (max-width: 480px) { .ingen-coa-callout { flex-wrap: wrap; } .ingen-coa-callout__cta { width: 100%; } }

/* Trust badges */
.ingen-trust-badges { list-style: none; margin: var(--ingen-space-6) 0 0; padding: var(--ingen-space-4) var(--ingen-space-6); border: 1px solid var(--ingen-border-soft); border-radius: var(--ingen-radius-lg); background: var(--ingen-bg-2); display: grid; gap: var(--ingen-space-3); }
.ingen-trust-badges li { display: flex; align-items: center; gap: var(--ingen-space-3); font-size: var(--ingen-fs-sm); color: var(--ingen-text); margin: 0; }
.ingen-trust-badges li svg { width: 18px; height: 18px; color: var(--ingen-green-bright); flex: 0 0 auto; }

/* All sales are final notice */
.ingen-sales-final { display: flex; gap: var(--ingen-space-3); align-items: flex-start; margin: var(--ingen-space-6) 0 0; padding: var(--ingen-space-4) var(--ingen-space-6); border: 1px solid var(--ingen-border); border-left: 3px solid var(--ingen-green); border-radius: var(--ingen-radius); background: rgba(255,255,255,0.02); }
.ingen-sales-final__icon svg { width: 20px; height: 20px; color: var(--ingen-green-bright); }
.ingen-sales-final p { margin: 0; font-size: var(--ingen-fs-sm); color: var(--ingen-text-soft); line-height: 1.55; }
.ingen-sales-final strong { color: var(--ingen-text); }

/* Variation (MG) selector — dark themed */
.woocommerce div.product form.cart .variations { margin-bottom: var(--ingen-space-4); border: none; }
.woocommerce div.product form.cart .variations th.label { color: var(--ingen-text-soft); font-size: var(--ingen-fs-xs); text-transform: uppercase; letter-spacing: 0.08em; padding-top: var(--ingen-space-3); }
.woocommerce div.product form.cart .variations td.value select,
.woocommerce div.product form.cart .variations select {
	width: 100%; min-height: 52px; background: var(--ingen-bg-2); color: var(--ingen-text);
	border: 1px solid var(--ingen-border); border-radius: var(--ingen-radius);
	padding: 0.7rem 0.9rem; font-size: var(--ingen-fs-base);
}
.woocommerce div.product form.cart .variations select:focus { outline: none; border-color: var(--ingen-green); box-shadow: 0 0 0 3px var(--ingen-green-tint); }
.woocommerce div.product form.cart .reset_variations { color: var(--ingen-text-faint); font-size: var(--ingen-fs-xs); }
.woocommerce div.product .single_variation .price { color: var(--ingen-green-bright); font-weight: 700; }

/* =========================================================
   15. PHASE 3B — merchandising, reviews, guide links, marquee
   ========================================================= */

/* Product-card trust chips */
.ingen-card-chips { font-size: var(--ingen-fs-xs); color: var(--ingen-text-faint); letter-spacing: 0.02em; margin: 0.25rem 0 0.4rem; }

/* Sale + Sold-out badges on cards */
ul.products li.product { position: relative; }
ul.products li.product .onsale,
.ingen-soldout {
	position: absolute; top: 0.9rem; left: 0.9rem; z-index: 3;
	font-size: var(--ingen-fs-xs); font-weight: 700; letter-spacing: 0.04em;
	padding: 0.3rem 0.7rem; border-radius: var(--ingen-radius-pill);
	min-height: 0; line-height: 1.3; margin: 0;
	background: var(--ingen-green); color: #06130a;
}
.ingen-soldout { left: auto; right: 0.9rem; background: rgba(255,255,255,0.08); color: var(--ingen-text-soft); border: 1px solid var(--ingen-border); }

/* "Read the research guide" link in product summary */
.ingen-guide-link { display: flex; flex-direction: column; gap: 2px; margin: 0 0 var(--ingen-space-6); padding: var(--ingen-space-3) var(--ingen-space-4); border: 1px dashed var(--ingen-border); border-radius: var(--ingen-radius); color: var(--ingen-text) !important; transition: border-color var(--ingen-speed) var(--ingen-ease), background var(--ingen-speed) var(--ingen-ease); }
.ingen-guide-link:hover { border-color: var(--ingen-green); background: var(--ingen-green-tint); }
.ingen-guide-link__label { font-size: var(--ingen-fs-xs); text-transform: uppercase; letter-spacing: 0.08em; color: var(--ingen-green); font-weight: 700; }
.ingen-guide-link__text { font-size: var(--ingen-fs-sm); color: var(--ingen-text-soft); }

/* Enriched description "From the Research Library" */
.ingen-from-library { margin-top: var(--ingen-space-8); padding-top: var(--ingen-space-6); border-top: 1px solid var(--ingen-border); }
.ingen-from-library__eyebrow { font-size: var(--ingen-fs-xs); text-transform: uppercase; letter-spacing: 0.1em; color: var(--ingen-green); font-weight: 700; margin-bottom: var(--ingen-space-2); }
.ingen-from-library h3 { font-size: var(--ingen-fs-lg); margin: var(--ingen-space-4) 0 var(--ingen-space-2); }
.ingen-from-library p { color: var(--ingen-text-soft); }

/* Benefits marquee */
.ingen-marquee { width: 100vw; margin-left: calc(50% - 50vw); overflow: hidden; background: var(--ingen-bg-2); border-top: 1px solid var(--ingen-border-soft); border-bottom: 1px solid var(--ingen-border-soft); padding: 0.7rem 0; }
.ingen-marquee__track { display: inline-flex; align-items: center; white-space: nowrap; will-change: transform; animation: ingen-marquee 34s linear infinite; }
.ingen-marquee__item { color: var(--ingen-text-soft); font-size: var(--ingen-fs-xs); text-transform: uppercase; letter-spacing: 0.14em; font-weight: 700; padding: 0 1rem; }
.ingen-marquee__dot { color: var(--ingen-green-bright); }
@keyframes ingen-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .ingen-marquee__track { animation: none; } }

/* Reviews — dark theme */
.woocommerce #reviews h2, .woocommerce #reviews h3, .woocommerce #reviews #comments ol.commentlist li .comment-text p { color: var(--ingen-text); }
.woocommerce #reviews #comments ol.commentlist li .comment-text { background: var(--ingen-bg-2); border: 1px solid var(--ingen-border-soft); border-radius: var(--ingen-radius); padding: var(--ingen-space-4); color: var(--ingen-text-soft); }
.woocommerce #reviews #comments ol.commentlist li img.avatar { border: 1px solid var(--ingen-border); background: var(--ingen-bg-3); }
.woocommerce #review_form_wrapper { margin-top: var(--ingen-space-6); }
.woocommerce #reviews .comment-form label, .woocommerce #reviews .comment-reply-title { color: var(--ingen-text-soft); }
.woocommerce #reviews .comment-form input[type="text"], .woocommerce #reviews .comment-form input[type="email"], .woocommerce #reviews .comment-form textarea { background: var(--ingen-bg-2); border: 1px solid var(--ingen-border); color: var(--ingen-text); border-radius: var(--ingen-radius); padding: 0.7rem 0.9rem; }
.woocommerce .star-rating span::before, .woocommerce p.stars a::before, .woocommerce p.stars a:hover~a::before { color: var(--ingen-green-bright); }
.woocommerce .star-rating::before { color: var(--ingen-text-faint); }
.woocommerce-product-rating a.woocommerce-review-link { color: var(--ingen-text-soft); }

/* =========================================================
   16. MOBILE REFINEMENTS (<=768 / <=480)
   ========================================================= */
@media (max-width: 768px) {
	html, body { overflow-x: hidden; max-width: 100%; }
	img, video, svg, iframe { max-width: 100%; height: auto; }

	/* Header — smaller logo, tighter padding, no giant nav */
	.site-header .site-branding a img.custom-logo,
	.site-header .site-branding img.custom-logo,
	.site-header .custom-logo-link img.custom-logo,
	.site-branding .site-logo-anchor img { max-height: 58px !important; margin: 0.35rem 0 !important; }
	.site-header .col-full { padding-left: 1rem !important; padding-right: 1rem !important; }
	button.menu-toggle { min-height: 46px; border-radius: var(--ingen-radius); font-weight: 600; }

	/* Hero */
	.ingen-hero--brand { padding: var(--ingen-space-12) var(--ingen-space-4) 0; }
	.ingen-hero__title { font-size: clamp(2rem, 9.5vw, 2.75rem) !important; line-height: 1.08; }
	.ingen-hero__sub { font-size: var(--ingen-fs-base); }
	.ingen-hero--brand::before { opacity: 0.5; width: min(560px, 155%); height: 60%; }
	.ingen-hero__actions { flex-direction: column; align-items: stretch; gap: var(--ingen-space-3); }
	.ingen-hero__actions .ingen-btn { width: 100%; }
	.ingen-hero__badges { flex-wrap: wrap; justify-content: center; gap: var(--ingen-space-2); }

	/* Film */
	.ingen-film-full { height: clamp(320px, 74vw, 460px); }
	.ingen-film-actions { flex-direction: column; align-items: stretch; width: min(88%, 360px); }
	.ingen-film-actions .ingen-btn { width: 100%; }

	/* Sections + generic */
	.ingen-section { padding: var(--ingen-space-12) var(--ingen-space-4); }
	.ingen-btn { min-height: 48px; }

	/* Product page */
	.single-product div.product .woocommerce-product-gallery { margin-bottom: var(--ingen-space-6); }
	.ingen-coa-callout { flex-wrap: wrap; }
	.ingen-coa-callout__cta { width: 100%; }
	.woocommerce-tabs ul.tabs { display: flex; overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; padding-bottom: 4px; }
	.woocommerce-tabs ul.tabs li { flex: 0 0 auto; }

	/* Libraries — stack controls, full-width */
	.ingen-coa-controls { gap: var(--ingen-space-3); }
	.ingen-coa-controls__filters { grid-template-columns: 1fr 1fr; }
	.ingen-coa-controls__view { width: 100%; }
	.ingen-coa-controls__view button { flex: 1; }
	.ingen-lib-links { flex-direction: column; }
	.ingen-lib-links .ingen-btn { width: 100%; }

	/* Marquee — a touch tighter */
	.ingen-marquee { padding: 0.55rem 0; }
}

@media (max-width: 480px) {
	.ingen-hero__title { font-size: clamp(1.75rem, 9.5vw, 2.25rem) !important; }
	.ingen-hero__badge { font-size: 0.72rem; }
	.ingen-coa-controls__filters { grid-template-columns: 1fr; }
	.ingen-coa-cards, .ingen-lib-grid { grid-template-columns: 1fr; }
	.ingen-marquee__item { font-size: 0.7rem; padding: 0 0.7rem; letter-spacing: 0.1em; }
	.ingen-guide__head h1 { font-size: var(--ingen-fs-h2); }
	.ingen-coa-card, .ingen-guide__section--card, .ingen-guide__widget { padding: var(--ingen-space-4); }
}

/* =========================================================
   17. RESEARCH STACKS — component cards
   ========================================================= */
.ingen-stack-components { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--ingen-space-4, 1.25rem); margin: 0.5rem 0 0; }
.ingen-stack-comp { display: flex; gap: 1rem; align-items: flex-start; background: var(--ingen-surface, #1A1F26); border: 1px solid rgba(255,255,255,0.08); border-radius: 14px; padding: 1rem; }
.ingen-stack-comp__img { flex: 0 0 84px; width: 84px; border-radius: 10px; overflow: hidden; background: #fff; display: block; }
.ingen-stack-comp__img img { width: 100%; height: auto; display: block; }
.ingen-stack-comp__body { flex: 1 1 auto; min-width: 0; }
.ingen-stack-comp__body h3 { margin: 0 0 0.25rem; font-size: var(--ingen-fs-sm, 1rem); line-height: 1.25; }
.ingen-stack-comp__body h3 a { color: var(--ingen-text, #F2F5F7); text-decoration: none; }
.ingen-stack-comp__body h3 a:hover { color: var(--ingen-green, #34C43F); }
.ingen-stack-comp__price { margin: 0 0 0.6rem; color: var(--ingen-green, #34C43F); font-weight: 600; }
.ingen-stack-comp__price del { color: var(--ingen-text-dim, #A8B2BD); font-weight: 400; opacity: 0.7; margin-right: 0.4rem; }
.ingen-stack-comp__links { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0; }
@media (max-width: 480px) { .ingen-stack-comp { flex-direction: column; } .ingen-stack-comp__img { width: 100%; flex-basis: auto; max-width: 140px; } }

/* =========================================================
   18. ORAL DISSOLVING STRIPS — premium category
   ========================================================= */
.ingen-os { --os-accent: var(--ingen-green, #34C43F); --os-accent-rgb: 52,196,63; }
.ingen-os-eyebrow { display:inline-block; font-size:var(--ingen-fs-xs,.8rem); letter-spacing:.18em; text-transform:uppercase; font-weight:700; color:var(--os-accent); margin:0 0 1rem; }
.ingen-os-grad { background:linear-gradient(100deg,#fff 0%, var(--os-accent) 120%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ingen-os-sectionhead { text-align:center; max-width:760px; margin:0 auto clamp(2rem,4vw,3.5rem); }
.ingen-os-sectionhead h2 { font-size:clamp(1.8rem,3.2vw,2.6rem); line-height:1.1; margin:0; }

/* HERO (landing) */
.ingen-os-hero { position:relative; overflow:hidden; padding:clamp(3rem,7vw,6.5rem) 0 clamp(2.5rem,5vw,4.5rem); }
.ingen-os-hero__glow { position:absolute; inset:-30% 0 auto -10%; height:120%; background:radial-gradient(60% 60% at 30% 20%, rgba(var(--os-accent-rgb),.16), transparent 70%); pointer-events:none; z-index:0; }
.ingen-os-hero__inner { position:relative; z-index:1; max-width:var(--ingen-content-max,1400px); margin:0 auto; padding-inline:clamp(1.25rem,4vw,3rem); display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,4rem); align-items:center; }
.ingen-os-hero__inner--center { grid-template-columns:1fr; text-align:center; max-width:900px; }
.ingen-os-hero__title { font-size:clamp(2.6rem,6vw,4.6rem); line-height:1.02; letter-spacing:-.02em; margin:0 0 1.25rem; font-weight:800; }
.ingen-os-hero__sub { font-size:clamp(1.05rem,1.6vw,1.3rem); color:var(--ingen-text-dim,#A8B2BD); max-width:38ch; margin:0 0 2rem; line-height:1.5; }
.ingen-os-hero__inner--center .ingen-os-hero__sub { margin-inline:auto; }
.ingen-os-hero__actions { display:flex; flex-wrap:wrap; gap:.85rem; }
.ingen-os-hero__note { margin:1.5rem 0 0; font-size:var(--ingen-fs-xs,.8rem); color:var(--ingen-text-dim,#A8B2BD); opacity:.75; letter-spacing:.02em; }
.ingen-os-hero__stage { position:relative; }
.ingen-os-hero__render { position:relative; border-radius:26px; overflow:hidden; border:1px solid rgba(255,255,255,.1); box-shadow:0 40px 90px -30px rgba(0,0,0,.7), 0 0 0 1px rgba(var(--os-accent-rgb),.12) inset; background:linear-gradient(160deg,#f4f6f8,#dfe4ea); }
.ingen-os-hero__render img { display:block; width:100%; height:auto; }
.ingen-os-hero__render--ph { display:grid; place-items:center; aspect-ratio:1; color:var(--os-accent); }
.ingen-os-hero__render--ph svg { width:34%; height:34%; opacity:.5; }
.ingen-os-hero__slots { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1rem; justify-content:center; }
.ingen-os-slot { font-size:var(--ingen-fs-xs,.72rem); letter-spacing:.04em; text-transform:uppercase; color:var(--ingen-text-dim,#A8B2BD); padding:.35rem .7rem; border:1px dashed rgba(255,255,255,.16); border-radius:999px; }

/* DELIVERY WORKFLOW */
.ingen-os-tech { background:linear-gradient(180deg, rgba(255,255,255,.015), transparent); }
.ingen-os-flow { list-style:none; margin:0 auto; padding:0; max-width:1100px; display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(1rem,2.5vw,2rem); counter-reset:none; }
.ingen-os-flow__step { position:relative; text-align:center; padding:1.5rem 1rem; background:var(--ingen-surface,#1A1F26); border:1px solid rgba(255,255,255,.07); border-radius:18px; }
.ingen-os-flow__step:not(:last-child)::after { content:"→"; position:absolute; right:-1.15rem; top:50%; transform:translateY(-50%); color:var(--os-accent); font-size:1.2rem; z-index:2; }
.ingen-os-flow__num { display:grid; place-items:center; width:44px; height:44px; margin:0 auto .9rem; border-radius:50%; background:rgba(var(--os-accent-rgb),.14); color:var(--os-accent); font-weight:800; border:1px solid rgba(var(--os-accent-rgb),.4); }
.ingen-os-flow__step h3 { font-size:1.05rem; margin:0 0 .4rem; }
.ingen-os-flow__step p { font-size:.9rem; color:var(--ingen-text-dim,#A8B2BD); margin:0; line-height:1.45; }
.ingen-os-pills { display:flex; flex-wrap:wrap; gap:.6rem; justify-content:center; margin-top:clamp(1.5rem,3vw,2.5rem); }
.ingen-os-pill { font-size:.82rem; font-weight:600; letter-spacing:.03em; color:var(--ingen-text,#F2F5F7); padding:.5rem 1rem; border-radius:999px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); }

/* PRODUCT GRID + CARDS */
.ingen-os-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:clamp(1.25rem,2.5vw,2rem); }
.ingen-os-grid--rel { grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); }
.ingen-os-card { --os-accent:var(--ingen-green,#34C43F); position:relative; display:flex; flex-direction:column; background:var(--ingen-surface,#1A1F26); border:1px solid rgba(255,255,255,.08); border-radius:22px; overflow:hidden; text-decoration:none; color:inherit; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.ingen-os-card:hover { transform:translateY(-6px); border-color:rgba(var(--os-accent-rgb),.55); box-shadow:0 30px 60px -30px rgba(0,0,0,.7), 0 0 0 1px rgba(var(--os-accent-rgb),.25); }
.ingen-os-card__media { position:relative; aspect-ratio:1/.86; background:linear-gradient(160deg,#f4f6f8,#e3e7ec); display:grid; place-items:center; overflow:hidden; }
.ingen-os-card__media::after { content:""; position:absolute; inset:0; background:radial-gradient(120% 80% at 50% 120%, rgba(var(--os-accent-rgb),.18), transparent 60%); pointer-events:none; }
.ingen-os-card__img { width:100%; height:100%; object-fit:cover; display:block; }
.ingen-os-card__ph { color:var(--os-accent); opacity:.4; } .ingen-os-card__ph svg { width:64px; height:64px; }
.ingen-os-card__cat { position:absolute; top:.85rem; left:.85rem; z-index:2; font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#fff; background:var(--os-accent); padding:.32rem .7rem; border-radius:999px; }
.ingen-os-card__soon { position:absolute; top:.85rem; right:.85rem; z-index:2; font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#0b0d10; background:rgba(255,255,255,.9); padding:.32rem .7rem; border-radius:999px; }
.ingen-os-card.is-coming .ingen-os-card__media { filter:saturate(.85); }
.ingen-os-card__body { padding:1.35rem 1.35rem 1.5rem; display:flex; flex-direction:column; gap:.6rem; flex:1; }
.ingen-os-card__title { font-size:1.3rem; margin:0; letter-spacing:-.01em; }
.ingen-os-card__tag { margin:0; font-size:.82rem; color:var(--os-accent); font-weight:600; }
.ingen-os-card__desc { margin:0; font-size:.9rem; color:var(--ingen-text-dim,#A8B2BD); line-height:1.5; flex:1; }
.ingen-os-card__actions { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.4rem; }
.ingen-os-card--rel { flex-direction:column; }
.ingen-os-card--rel .ingen-os-card__body { padding:1.1rem; }
.ingen-os-card__more { color:var(--os-accent); font-weight:600; font-size:.9rem; }

/* accent chips */
.ingen-os-chips { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:.4rem; }
.ingen-os-chips li { font-size:.72rem; font-weight:600; letter-spacing:.02em; color:var(--os-accent); background:rgba(var(--os-accent-rgb),.1); border:1px solid rgba(var(--os-accent-rgb),.3); padding:.28rem .6rem; border-radius:999px; }
.ingen-os-chips--lg li { font-size:.85rem; padding:.4rem .85rem; }

/* accent button */
.ingen-os-btn { background:var(--os-accent) !important; border-color:var(--os-accent) !important; color:#fff !important; box-shadow:0 8px 24px -8px rgba(var(--os-accent-rgb),.6) !important; }
.ingen-os-btn:hover { filter:brightness(1.08); }

/* SINGLE hero */
.ingen-os-shero { position:relative; overflow:hidden; padding:clamp(2.5rem,5vw,4.5rem) 0 clamp(2rem,4vw,3.5rem); }
.ingen-os-shero__glow { position:absolute; inset:-20% -10% auto auto; width:70%; height:120%; background:radial-gradient(50% 55% at 70% 25%, rgba(var(--os-accent-rgb),.18), transparent 70%); z-index:0; pointer-events:none; }
.ingen-os-shero__inner { position:relative; z-index:1; max-width:var(--ingen-content-max,1400px); margin:0 auto; padding-inline:clamp(1.25rem,4vw,3rem); display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2rem,4vw,3.5rem); align-items:center; }
.ingen-os-breadcrumb { margin:0 0 1rem; font-size:.82rem; }
.ingen-os-breadcrumb a { color:var(--ingen-text-dim,#A8B2BD); text-decoration:none; }
.ingen-os-breadcrumb a:hover { color:var(--os-accent); }
.ingen-os-eyebrow--cat { color:var(--os-accent); }
.ingen-os-shero__title { font-size:clamp(2.4rem,5vw,3.8rem); line-height:1.03; letter-spacing:-.02em; margin:0 0 .75rem; font-weight:800; }
.ingen-os-shero__tag { font-size:1.05rem; color:var(--os-accent); font-weight:600; margin:0 0 1rem; }
.ingen-os-shero__lead { font-size:1.05rem; color:var(--ingen-text-dim,#A8B2BD); line-height:1.6; margin:0 0 1.5rem; max-width:52ch; }
.ingen-os-shero__meta { display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 1.75rem; }
.ingen-os-tagchip { font-size:.75rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--ingen-text,#F2F5F7); background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); padding:.35rem .8rem; border-radius:999px; }
.ingen-os-shero__stage { border-radius:26px; overflow:hidden; border:1px solid rgba(255,255,255,.1); box-shadow:0 40px 90px -30px rgba(0,0,0,.7); background:linear-gradient(160deg,#f4f6f8,#dfe4ea); }
.ingen-os-shero__img { display:block; width:100%; height:auto; }

/* SINGLE body */
.ingen-os-body { display:grid; grid-template-columns:1fr 340px; gap:clamp(2rem,4vw,3.5rem); align-items:start; }
.ingen-os-block { margin:0 0 clamp(2rem,3.5vw,3rem); }
.ingen-os-block h2 { font-size:1.5rem; margin:0 0 1rem; position:relative; padding-left:1rem; }
.ingen-os-block h2::before { content:""; position:absolute; left:0; top:.15em; bottom:.15em; width:4px; border-radius:3px; background:var(--os-accent); }
.ingen-os-block p { color:var(--ingen-text-dim,#A8B2BD); line-height:1.7; }
.ingen-os-block--card { background:var(--ingen-surface,#1A1F26); border:1px solid rgba(255,255,255,.08); border-radius:18px; padding:1.5rem 1.75rem; }
.ingen-os-minitech { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; margin-top:1.1rem; }
.ingen-os-minitech span { font-size:.82rem; font-weight:600; color:var(--ingen-text,#F2F5F7); background:rgba(var(--os-accent-rgb),.1); border:1px solid rgba(var(--os-accent-rgb),.3); padding:.4rem .8rem; border-radius:999px; }
.ingen-os-minitech i { color:var(--os-accent); font-style:normal; }
/* FAQ accordion */
.ingen-os-faq { border-top:1px solid rgba(255,255,255,.08); }
.ingen-os-faq__item { border-bottom:1px solid rgba(255,255,255,.08); }
.ingen-os-faq__item summary { cursor:pointer; list-style:none; padding:1.1rem .25rem; font-weight:600; font-size:1.02rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.ingen-os-faq__item summary::-webkit-details-marker { display:none; }
.ingen-os-faq__item summary::after { content:"+"; color:var(--os-accent); font-size:1.4rem; font-weight:400; transition:transform .25s ease; }
.ingen-os-faq__item[open] summary::after { transform:rotate(45deg); }
.ingen-os-faq__a { padding:0 .25rem 1.2rem; } .ingen-os-faq__a p { margin:0; }
/* aside */
.ingen-os-aside { display:flex; flex-direction:column; gap:1.25rem; position:sticky; top:100px; }
.ingen-os-widget { background:var(--ingen-surface,#1A1F26); border:1px solid rgba(255,255,255,.08); border-radius:18px; padding:1.5rem; }
.ingen-os-widget h3 { margin:0 0 .5rem; font-size:1.1rem; }
.ingen-os-widget p { margin:0 0 1rem; font-size:.9rem; color:var(--ingen-text-dim,#A8B2BD); line-height:1.5; }
.ingen-os-widget--cta { border-color:rgba(var(--os-accent-rgb),.4); background:linear-gradient(160deg, rgba(var(--os-accent-rgb),.08), var(--ingen-surface,#1A1F26)); }
.ingen-os-related { background:linear-gradient(180deg, rgba(255,255,255,.015), transparent); }

/* TECH page */
.ingen-os-prose { max-width:820px; margin:0 auto; }
.ingen-os-prose h2 { font-size:1.9rem; margin:0 0 1rem; }
.ingen-os-prose p { color:var(--ingen-text-dim,#A8B2BD); line-height:1.75; font-size:1.05rem; }
.ingen-os-compare { max-width:900px; margin:0 auto; overflow-x:auto; }
.ingen-os-compare table { width:100%; border-collapse:separate; border-spacing:0; }
.ingen-os-compare th, .ingen-os-compare td { text-align:left; padding:1rem 1.25rem; border-bottom:1px solid rgba(255,255,255,.08); }
.ingen-os-compare thead th { font-size:.8rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ingen-text-dim,#A8B2BD); }
.ingen-os-compare th.is-accent { color:var(--os-accent); }
.ingen-os-compare td.is-accent { color:var(--ingen-text,#F2F5F7); font-weight:600; background:rgba(var(--os-accent-rgb),.06); }
.ingen-os-compare__note { font-size:.82rem; color:var(--ingen-text-dim,#A8B2BD); opacity:.8; margin-top:1rem; text-align:center; }
.ingen-os-featgrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1.25rem; max-width:1000px; margin:0 auto; }
.ingen-os-feat { text-align:center; padding:1.75rem 1.25rem; background:var(--ingen-surface,#1A1F26); border:1px solid rgba(255,255,255,.07); border-radius:18px; }
.ingen-os-feat__ic { display:grid; place-items:center; width:52px; height:52px; margin:0 auto 1rem; border-radius:14px; background:rgba(var(--os-accent-rgb),.12); color:var(--os-accent); } .ingen-os-feat__ic svg{width:26px;height:26px;}
.ingen-os-feat h3 { font-size:1.05rem; margin:0 0 .4rem; }
.ingen-os-feat p { font-size:.88rem; color:var(--ingen-text-dim,#A8B2BD); margin:0; line-height:1.5; }

/* responsive */
@media (max-width:900px){
	.ingen-os-hero__inner, .ingen-os-shero__inner { grid-template-columns:1fr; }
	.ingen-os-hero__stage, .ingen-os-shero__stage { order:-1; max-width:460px; margin:0 auto; }
	.ingen-os-body { grid-template-columns:1fr; }
	.ingen-os-aside { position:static; }
	.ingen-os-flow { grid-template-columns:repeat(2,1fr); }
	.ingen-os-flow__step:nth-child(2)::after { content:none; }
}
@media (max-width:520px){
	.ingen-os-flow { grid-template-columns:1fr; }
	.ingen-os-flow__step::after { content:none !important; }
	.ingen-os-hero__actions { flex-direction:column; align-items:stretch; }
	.ingen-os-hero__actions .ingen-btn { width:100%; text-align:center; }
}

/* =========================================================
   19. HEADER — larger green nav tabs + cart icon
   ========================================================= */
.main-navigation ul.menu > li > a,
.main-navigation ul.nav-menu > li > a,
.main-navigation ul li a,
.main-navigation a {
	font-size: 17px !important;
	color: var(--ingen-green, #34C43F) !important;
	font-weight: 600 !important;
}
.main-navigation a:hover,
.main-navigation ul li a:hover,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a {
	color: var(--ingen-green-bright, #46D854) !important;
}
/* Cart basket icon (Font Awesome ::after) — bigger + green */
.site-header-cart .cart-contents::after,
.site-header .cart-contents::after {
	font-size: 24px !important;
	color: var(--ingen-green, #34C43F) !important;
	vertical-align: middle !important;
}

/* Product catch-phrase tagline (section 20) */
.ingen-product-tagline { color: var(--ingen-green, #34C43F); font-weight: 600; font-size: 1.1rem; letter-spacing: .01em; margin: -0.35rem 0 0.9rem; }
