/*
Theme Name: Iluma Astra Child
Template: astra
Version: 0.1.0
*/

:root {
	/* Copy exact hex values from src/app/globals.css; these names are the contract. */
	--iluma-bg: #0A0E14;
	--iluma-fg: #E8EAED;
	--iluma-accent: #0898F8;
	--iluma-accent-blue: #2575D6;
	--iluma-accent-green: #3DA67D;
	--iluma-accent-purple: #8B5CF6;
	--iluma-accent-amber: #F59E0B;

	/* Base typography, from src/app/globals.css @theme font tokens. */
	--iluma-font-display: 'Montserrat', ui-sans-serif, system-ui, sans-serif;
	--iluma-font-body: 'Inter', ui-sans-serif, system-ui, sans-serif;
	--iluma-font-weight-display: 800;
	--iluma-font-weight-body: 400;

	/* Derived surfaces, computed from the tokens above (no new hex values). */
	--iluma-card: color-mix(in srgb, var(--iluma-fg) 6%, var(--iluma-bg) 94%);
	--iluma-card-hi: color-mix(in srgb, var(--iluma-fg) 10%, var(--iluma-bg) 90%);
	--iluma-line: color-mix(in srgb, var(--iluma-fg) 14%, var(--iluma-bg) 86%);
	--iluma-line-hi: color-mix(in srgb, var(--iluma-fg) 24%, var(--iluma-bg) 76%);
	--iluma-fg-soft: color-mix(in srgb, var(--iluma-fg) 78%, var(--iluma-bg) 22%);
	--iluma-muted: color-mix(in srgb, var(--iluma-fg) 55%, var(--iluma-bg) 45%);
	--iluma-faint: color-mix(in srgb, var(--iluma-fg) 40%, var(--iluma-bg) 60%);
}

/* ==========================================================================
   Base
   ========================================================================== */

html, body {
	background: var(--iluma-bg);
	color: var(--iluma-fg);
	font-family: var(--iluma-font-body), sans-serif;
	font-weight: var(--iluma-font-weight-body);
}

body,
.ast-separate-container,
.site-content,
.ast-container,
#content,
.site,
#page {
	background: var(--iluma-bg);
}

/* Astra's default "boxed" layout draws a light card behind the content;
   flatten it to the brand background so the page reads full-bleed dark. */
.ast-separate-container {
	box-shadow: none;
	border: none;
}

/* Hide entry-header on static pages only (they carry their own heading); posts keep it since the post title is the only h1. */
body.page .entry-header {
	display: none;
}

a {
	color: var(--iluma-accent);
	text-decoration: none;
}
a:hover,
a:focus {
	color: var(--iluma-fg);
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.page-title,
.woocommerce-products-header__title,
.product_title {
	font-family: var(--iluma-font-display), sans-serif;
	font-weight: var(--iluma-font-weight-display);
	letter-spacing: -0.02em;
	line-height: 1.1;
	color: var(--iluma-fg);
}

p, li, label, span, td, th {
	color: var(--iluma-fg-soft);
}

h1 { font-size: clamp(2.5rem, 5vw + 1rem, 4.5rem); letter-spacing: -0.03em; }
h2 { font-size: clamp(2rem, 3.5vw + 0.5rem, 3rem); }
h3 { font-size: clamp(1.375rem, 1.5vw + 0.75rem, 1.75rem); font-weight: 700; }

hr, .wp-block-separator {
	border: none;
	border-top: 1px solid var(--iluma-line);
	opacity: 1;
	margin-block: 3rem;
}

::selection {
	background: color-mix(in srgb, var(--iluma-accent) 40%, transparent);
	color: #fff;
}

/* ==========================================================================
   Buttons (shared by CTAs, add-to-cart, checkout actions)
   ========================================================================== */

.wp-block-button__link,
.wp-element-button,
button:not(.menu-toggle):not(.ast-mobile-menu-trigger-minimal),
input[type="submit"],
input[type="button"],
.button,
.add_to_cart_button,
.single_add_to_cart_button,
.checkout-button,
.wc-block-components-button,
.wc-block-cart__submit-button,
#place_order,
a.wc-forward {
	font-family: var(--iluma-font-body), sans-serif;
	font-weight: 600;
	font-size: 0.9375rem;
	letter-spacing: 0.01em;
	background: var(--iluma-accent);
	color: #fff;
	border: none;
	border-radius: 999px;
	padding: 0.85rem 1.75rem;
	cursor: pointer;
	transition: background 180ms ease, transform 180ms ease, box-shadow 180ms ease;
	box-shadow: 0 0 20px color-mix(in srgb, var(--iluma-accent) 35%, transparent);
}
.wp-block-button__link:hover,
.wp-element-button:hover,
button:hover:not(.menu-toggle):not(.ast-mobile-menu-trigger-minimal),
input[type="submit"]:hover,
.button:hover,
.add_to_cart_button:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
.wc-block-components-button:hover,
#place_order:hover,
a.wc-forward:hover {
	background: var(--iluma-accent-blue);
	color: #fff;
	transform: translateY(-1px);
}
.button.disabled,
.wc-block-components-button.is-loading,
button:disabled,
input[type="submit"]:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	transform: none;
}

/* Secondary / outline buttons (variation reset, "view cart", loop "select options") */
.reset_variations,
.added_to_cart,
a.added_to_cart {
	background: transparent;
	color: var(--iluma-accent);
	border: 1px solid var(--iluma-line-hi);
	box-shadow: none;
}

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

.site-header,
.ast-primary-header-bar,
.main-header-bar {
	background-color: color-mix(in srgb, var(--iluma-bg) 95%, transparent) !important;
	border-color: var(--iluma-line) !important;
	backdrop-filter: blur(10px);
}

.main-header-bar-navigation .main-header-menu li > a,
.ast-builder-menu-1 a {
	font-family: var(--iluma-font-body), sans-serif;
	font-weight: 600;
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--iluma-fg-soft) !important;
}
.main-header-bar-navigation .main-header-menu li > a:hover,
.main-header-bar-navigation .main-header-menu li.current-menu-item > a {
	color: var(--iluma-accent) !important;
}

.ast-header-break-point .menu-toggle,
.ast-mobile-menu-trigger-minimal svg,
.ast-mobile-menu-trigger-minimal {
	color: var(--iluma-fg) !important;
	fill: var(--iluma-fg) !important;
}

.ast-mobile-popup-drawer,
.ast-mobile-header-content {
	background: var(--iluma-bg) !important;
}
.ast-mobile-popup-drawer .main-header-menu li > a {
	color: var(--iluma-fg-soft) !important;
}

/* Site logo / title fallback (in case no image logo is set) */
.ast-site-title a,
.site-title a {
	font-family: var(--iluma-font-display), sans-serif;
	font-weight: var(--iluma-font-weight-display);
	color: var(--iluma-fg) !important;
	letter-spacing: -0.02em;
}
.site-description {
	color: var(--iluma-muted);
}

/* ==========================================================================
   Eyebrow / editorial helpers carried over from the ported page copy
   ========================================================================== */

.iluma-eyebrow {
	font-family: var(--iluma-font-display), sans-serif;
	font-size: 0.8125rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--iluma-accent);
	margin-bottom: 0.5rem;
}

.wp-block-quote {
	border-left: 3px solid var(--iluma-accent);
	padding-left: 1.5rem;
	margin-inline: 0;
	font-style: italic;
	color: var(--iluma-fg);
}
.wp-block-quote cite {
	display: block;
	margin-top: 0.75rem;
	font-style: normal;
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--iluma-muted);
}

.wp-block-list li::marker {
	color: var(--iluma-accent);
}
.wp-block-list strong {
	color: var(--iluma-fg);
}

/* Numbered stat / benefit columns on the homepage (By the numbers, Problem,
   Why Iluma, The offer sections all reuse core column blocks). */
.wp-block-columns {
	gap: 2rem;
}
.wp-block-columns .wp-block-column {
	background: var(--iluma-card);
	border: 1px solid var(--iluma-line);
	border-radius: 1rem;
	padding: 1.75rem;
	text-align: center;
	transition: border-color 200ms ease, background 200ms ease;
}
.wp-block-columns .wp-block-column:hover {
	border-color: var(--iluma-accent);
	background: var(--iluma-card-hi);
}
.wp-block-columns .wp-block-column h3 {
	color: var(--iluma-accent);
	margin-bottom: 0.5rem;
}

/* ==========================================================================
   Shop grid / product cards (matches ProductCard.tsx: image, name, category
   accent bar, size pills, price range, bulk-offer line)
   ========================================================================== */

.woocommerce-products-header {
	margin-bottom: 2rem;
}

ul.products {
	gap: 1.5rem;
}
ul.products li.product {
	background: var(--iluma-card);
	border: 1px solid var(--iluma-line);
	border-radius: 1rem;
	overflow: hidden;
	padding: 0 !important;
	margin: 0 !important;
	position: relative;
	transition: border-color 200ms ease, transform 250ms cubic-bezier(0.22, 1, 0.36, 1), background 200ms ease, box-shadow 250ms ease;
}
ul.products li.product::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: var(--iluma-accent);
	z-index: 2;
}
ul.products li.product.product_cat-weight-loss::before { background: var(--iluma-accent-blue); }
ul.products li.product.product_cat-healing::before { background: var(--iluma-accent-green); }
ul.products li.product.product_cat-energy-longevity::before { background: var(--iluma-accent-purple); }
ul.products li.product.product_cat-cellular-repair::before { background: var(--iluma-accent-amber); }
ul.products li.product.product_cat-research-supplies::before { background: var(--iluma-accent); }

ul.products li.product:hover {
	border-color: var(--iluma-accent);
	background: var(--iluma-card-hi);
	transform: translateY(-4px);
	box-shadow: 0 24px 48px -12px color-mix(in srgb, var(--iluma-accent) 40%, transparent);
}

ul.products li.product a {
	color: inherit;
}
ul.products li.product img {
	background: var(--iluma-bg);
	border-bottom: 1px solid var(--iluma-line);
	aspect-ratio: 1 / 1;
	object-fit: cover;
	width: 100%;
}
ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--iluma-font-display), sans-serif;
	font-weight: 700;
	font-size: 1.125rem;
	color: var(--iluma-fg);
	margin: 1rem 1.25rem 0.25rem;
	padding: 0;
}
ul.products li.product .price {
	margin: 0.5rem 1.25rem 1.25rem;
	font-weight: 600;
	color: var(--iluma-fg-soft);
}
ul.products li.product .price ins {
	text-decoration: none;
	color: var(--iluma-accent);
}
ul.products li.product .price del {
	color: var(--iluma-faint);
	opacity: 1;
}
ul.products li.product .button {
	margin: 0 1.25rem 1.25rem;
	display: inline-block;
	width: calc(100% - 2.5rem);
	text-align: center;
	padding: 0.65rem 1rem;
	font-size: 0.8125rem;
}
ul.products li.product .onsale {
	background: var(--iluma-accent) !important;
	color: #fff !important;
	font-weight: 700;
	top: 0.75rem;
	right: 0.75rem;
	left: auto;
}
ul.products li.product .star-rating {
	margin: 0.5rem 1.25rem 0;
}

/* Out of stock badge, mirrors ProductCard.tsx pill */
.stock.out-of-stock {
	display: inline-block;
	margin: 0.5rem 1.25rem 0;
	border: 1px solid var(--iluma-line);
	background: color-mix(in srgb, var(--iluma-bg) 80%, transparent);
	color: var(--iluma-faint);
	font-size: 0.625rem;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	border-radius: 999px;
	padding: 0.25rem 0.75rem;
}

/* ==========================================================================
   Single product page (PDP): gallery, buy box, variations, tabs, related
   ========================================================================== */

.single-product .product .woocommerce-product-gallery {
	background: var(--iluma-card);
	border: 1px solid var(--iluma-line);
	border-radius: 1rem;
	overflow: hidden;
}
.woocommerce-product-gallery__image img {
	background: var(--iluma-bg);
}

.woocommerce-breadcrumb {
	color: var(--iluma-muted);
	font-size: 0.8125rem;
	margin-bottom: 2rem;
}
.woocommerce-breadcrumb a {
	color: var(--iluma-muted);
}
.woocommerce-breadcrumb a:hover {
	color: var(--iluma-accent);
}

.single-product .summary.entry-summary {
	background: linear-gradient(
		145deg,
		color-mix(in srgb, var(--iluma-card) 90%, var(--iluma-accent) 10%),
		color-mix(in srgb, var(--iluma-bg) 85%, transparent)
	);
	border: 1px solid color-mix(in srgb, var(--iluma-accent) 20%, transparent);
	border-radius: 1.25rem;
	padding: 2rem;
	box-shadow: 0 24px 48px -12px rgba(0, 0, 0, 0.5);
}

.single-product .price,
.single-product .woocommerce-Price-amount {
	color: var(--iluma-accent);
	font-family: var(--iluma-font-display), sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
}
.single-product .price del .woocommerce-Price-amount {
	color: var(--iluma-faint);
	font-size: 1rem;
	font-weight: 400;
}

.woocommerce-product-details__short-description {
	color: var(--iluma-fg-soft);
	margin-block: 1rem 1.5rem;
}

/* Variation ("Size") selector */
table.variations {
	width: 100%;
	margin-bottom: 1.5rem;
}
table.variations td.label {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--iluma-muted);
	padding-bottom: 0.5rem;
}
table.variations select,
.woocommerce form .form-row select,
.woocommerce form .form-row input.input-text,
.woocommerce table.shop_table td select,
.woocommerce-page input[type="text"],
.woocommerce-page input[type="email"],
.woocommerce-page input[type="tel"],
.woocommerce-page input[type="number"],
.woocommerce-page input[type="password"],
.woocommerce-page input[type="search"],
.woocommerce-page select,
.woocommerce-page textarea,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
input[type="search"],
select,
textarea {
	background: var(--iluma-bg) !important;
	border: 1px solid var(--iluma-line-hi);
	border-radius: 0.5rem;
	color: var(--iluma-fg) !important;
	padding: 0.65rem 0.9rem;
	font-family: var(--iluma-font-body), sans-serif;
}
table.variations select:focus,
input:focus,
select:focus,
textarea:focus {
	outline: none;
	border-color: var(--iluma-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--iluma-accent) 25%, transparent);
}

.quantity .qty {
	background: var(--iluma-bg) !important;
	border: 1px solid var(--iluma-line-hi);
	color: var(--iluma-fg) !important;
	border-radius: 0.5rem;
	width: 4rem;
	padding: 0.65rem 0.5rem;
	text-align: center;
}

.single_variation_wrap .price {
	margin-bottom: 1rem;
}

.woocommerce-tabs ul.tabs {
	border-bottom: 1px solid var(--iluma-line);
	margin-bottom: 1.5rem;
	padding-left: 0;
}
.woocommerce-tabs ul.tabs li {
	background: none;
	border: none;
	margin-right: 1.5rem;
}
.woocommerce-tabs ul.tabs li a {
	color: var(--iluma-muted);
	font-weight: 600;
	text-transform: uppercase;
	font-size: 0.8125rem;
	letter-spacing: 0.08em;
	padding: 0 0 0.75rem;
}
.woocommerce-tabs ul.tabs li.active a {
	color: var(--iluma-accent);
	border-bottom: 2px solid var(--iluma-accent);
}
.woocommerce-tabs .panel {
	color: var(--iluma-fg-soft);
}

.related.products {
	margin-top: 4rem;
	padding-top: 3rem;
	border-top: 1px solid var(--iluma-line);
}
.related.products > h2 {
	margin-bottom: 1.5rem;
}

/* ==========================================================================
   Cart / Checkout: classic shortcode fallback (my-account, legacy templates)
   ========================================================================== */

table.shop_table,
table.cart {
	border-collapse: collapse;
	width: 100%;
	border: 1px solid var(--iluma-line);
	border-radius: 0.75rem;
	overflow: hidden;
}
table.shop_table th,
table.cart th {
	background: var(--iluma-card-hi);
	color: var(--iluma-fg);
	text-transform: uppercase;
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	padding: 1rem;
	text-align: left;
}
table.shop_table td,
table.cart td {
	border-top: 1px solid var(--iluma-line);
	padding: 1rem;
}
.cart_totals,
#order_review {
	background: var(--iluma-card);
	border: 1px solid var(--iluma-line);
	border-radius: 1rem;
	padding: 1.5rem;
}

/* ==========================================================================
   Cart / Checkout: WooCommerce Blocks (React-rendered, default on cart/checkout)
   ========================================================================== */

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.wc-block-cart,
.wc-block-checkout {
	color: var(--iluma-fg-soft);
}

.wc-block-components-panel,
.wc-block-components-order-summary,
.wc-block-cart__totals-title,
.wc-block-components-totals-wrapper,
.wc-block-checkout__sidebar .wc-block-components-panel,
.wp-block-woocommerce-cart-order-summary-block,
.wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-shipping-calculator {
	background: var(--iluma-card);
	border: 1px solid var(--iluma-line);
	border-radius: 1rem;
}

.wc-block-cart-items,
.wc-block-components-totals-item {
	color: var(--iluma-fg-soft);
	border-color: var(--iluma-line) !important;
}
.wc-block-components-product-name {
	color: var(--iluma-fg);
	font-weight: 600;
}
.wc-block-components-totals-item__value,
.wc-block-components-product-price,
.wc-block-components-formatted-money-amount {
	color: var(--iluma-fg);
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--iluma-accent);
	font-weight: 700;
}

.wc-block-components-quantity-selector {
	border: 1px solid var(--iluma-line-hi);
	border-radius: 0.5rem;
	background: var(--iluma-bg);
}
.wc-block-components-quantity-selector__input,
.wc-block-components-quantity-selector__button {
	background: transparent;
	color: var(--iluma-fg);
}

.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-select select,
.wc-block-components-address-form input,
.wc-block-components-combobox input {
	background: var(--iluma-bg);
	border: 1px solid var(--iluma-line-hi) !important;
	color: var(--iluma-fg);
	border-radius: 0.5rem;
}
.wc-block-components-text-input label,
.wc-block-components-select label {
	color: var(--iluma-muted);
}

.wc-block-components-radio-control__option {
	border: 1px solid var(--iluma-line);
	border-radius: 0.5rem;
	background: var(--iluma-card);
	color: var(--iluma-fg-soft);
}
.wc-block-components-radio-control__option[aria-checked="true"] {
	border-color: var(--iluma-accent);
	background: var(--iluma-card-hi);
}

.wc-block-components-checkbox svg,
.wc-block-components-radio-control__input {
	accent-color: var(--iluma-accent);
}

.wc-block-cart__empty-cart__title,
.wc-empty-cart-block-heading {
	color: var(--iluma-fg);
}

.wc-block-components-notice-banner {
	background: var(--iluma-card-hi);
	border: 1px solid var(--iluma-line-hi);
	color: var(--iluma-fg-soft);
	border-radius: 0.75rem;
}

/* Classic WooCommerce notices (my-account, order confirmation) */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info,
.woocommerce-notice {
	background: var(--iluma-card-hi) !important;
	border-top-color: var(--iluma-accent) !important;
	color: var(--iluma-fg) !important;
}
.woocommerce-error {
	border-top-color: var(--iluma-accent-amber) !important;
}

/* ==========================================================================
   Sidebars / widgets (kept legible if a default Astra sidebar renders)
   ========================================================================== */

.widget {
	background: var(--iluma-card);
	border: 1px solid var(--iluma-line);
	border-radius: 1rem;
	padding: 1.5rem;
}
.widget-title,
.widget h2, .widget h3 {
	font-size: 1rem;
	margin-bottom: 1rem;
}

/* ==========================================================================
   Footer + disclaimer
   ========================================================================== */

.site-footer,
.site-below-footer-wrap,
footer.site-footer {
	background: var(--iluma-bg) !important;
	border-top: 1px solid var(--iluma-line);
	color: var(--iluma-muted);
}
.site-footer a {
	color: var(--iluma-fg-soft);
}
.site-footer a:hover {
	color: var(--iluma-accent);
}
.ast-footer-copyright,
.ast-footer-copyright p {
	color: var(--iluma-faint);
	font-size: 0.8125rem;
}

.iluma-disclaimer {
	background: var(--iluma-fg);
	color: var(--iluma-bg);
	text-align: center;
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	padding: 0.6rem 1rem;
	text-transform: uppercase;
}

/* ==========================================================================
   Entry gate modal (age/research-use acknowledgment, matches GateModal.tsx)
   ========================================================================== */

#iluma-gate[hidden] {
	display: none;
}

.iluma-gate {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.85);
	padding: 1.5rem 1rem;
}

.iluma-gate-card {
	width: 100%;
	max-width: 42rem;
	max-height: 90vh;
	overflow-y: auto;
	border-radius: 1rem;
	border: 1px solid var(--iluma-line);
	background: var(--iluma-card);
	box-shadow: 0 0 60px rgba(8, 152, 248, 0.15);
}

.iluma-gate-title {
	margin: 0;
	padding: 1rem 1.5rem;
	border-top-left-radius: 1rem;
	border-top-right-radius: 1rem;
	background: color-mix(in srgb, var(--iluma-accent) 10%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--iluma-accent) 30%, transparent);
	font-family: var(--iluma-font-display), sans-serif;
	font-size: 0.9375rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--iluma-accent);
}

.iluma-gate-body {
	padding: 1.5rem;
	font-size: 0.875rem;
	line-height: 1.6;
	color: var(--iluma-fg-soft);
}

.iluma-gate-body p {
	margin: 0 0 1rem;
}

.iluma-gate-body p:last-of-type {
	margin-bottom: 0;
	color: var(--iluma-muted);
}

.iluma-gate-body strong {
	color: var(--iluma-fg);
	font-weight: 600;
}

.iluma-gate-agree {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin-top: 1rem;
	cursor: pointer;
	user-select: none;
}

.iluma-gate-agree input[type="checkbox"] {
	margin-top: 0.2rem;
	width: 1rem;
	height: 1rem;
	accent-color: var(--iluma-accent);
}

.iluma-gate-agree span {
	color: var(--iluma-fg-soft);
}

#iluma-gate-enter {
	display: block;
	width: calc(100% - 3rem);
	margin: 0 1.5rem 1.5rem;
	border: 0;
	border-radius: 9999px;
	background: var(--iluma-accent);
	color: #fff;
	font-family: var(--iluma-font-body), sans-serif;
	font-weight: 600;
	font-size: 0.875rem;
	padding: 0.75rem 1.5rem;
	cursor: pointer;
	box-shadow: 0 0 24px rgba(8, 152, 248, 0.45);
	transition: background 0.15s ease;
}

#iluma-gate-enter:hover:not(:disabled) {
	background: var(--iluma-accent-blue);
}

#iluma-gate-enter:disabled {
	background: var(--iluma-line);
	color: var(--iluma-faint);
	cursor: not-allowed;
	box-shadow: none;
}

.iluma-research-ack label {
	color: var(--iluma-fg-soft);
	font-size: 0.875rem;
}

/* ==========================================================================
   Bulk pricing notice (cart page, Task 7 fallback)
   ========================================================================== */

.iluma-bulk-pricing-notice {
	margin: 0 0 1.5rem;
	padding: 1rem 1.25rem;
	background: var(--iluma-card);
	border: 1px solid var(--iluma-line);
	border-left: 3px solid var(--iluma-accent);
	border-radius: 8px;
	color: var(--iluma-fg-soft);
	font-size: 0.9375rem;
	line-height: 1.5;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 600px) {
	.wp-block-columns {
		flex-wrap: wrap;
	}
	.wp-block-columns .wp-block-column {
		flex-basis: 100% !important;
	}
	ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
	}
	.single-product .summary.entry-summary {
		padding: 1.25rem;
	}
}
