:root {
	--aa-blue-900: #12375f;
	--aa-blue-800: #153f70;
	--aa-blue-700: #1b4f8c;
	--aa-blue-600: #1763a6;
	--aa-blue-100: #eaf2fa;
	--aa-blue-050: #f5f9fd;
	--aa-slate-900: #172536;
	--aa-slate-700: #374151;
	--aa-slate-500: #64748b;
	--aa-border: #d7e2ed;
	--aa-emerald: #239867;
	--aa-white: #fff;
	--aa-shadow: 0 18px 48px rgba(20, 54, 88, .09);
	--aa-radius: 12px;
	--aa-page: 1320px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html.aa-menu-is-open { overflow: hidden; }
body.aa-store {
	margin: 0;
	background: #fff;
	color: var(--aa-slate-900);
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.55;
}
.aa-store h1,.aa-store h2,.aa-store h3,.aa-store h4 {
	color: var(--aa-blue-900);
	font-weight: 750;
	letter-spacing: -.025em;
}
.aa-store a { color: var(--aa-blue-700); }
.aa-store img { max-width: 100%; height: auto; }
.aa-store button,.aa-store input,.aa-store select,.aa-store textarea { font: inherit; }
.aa-skip-link {
	position: fixed;
	z-index: 100000;
	top: 8px;
	left: 8px;
	padding: 10px 14px;
	transform: translateY(-150%);
	background: #fff;
}
.aa-skip-link:focus { transform: translateY(0); }
.aa-research-bar {
	display: flex;
	min-height: 34px;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 6px 18px;
	background: var(--aa-blue-700);
	color: #fff;
	font-size: 12px;
	letter-spacing: .01em;
	text-align: center;
}
.aa-header {
	position: relative;
	z-index: 1000;
	border-bottom: 1px solid var(--aa-border);
	background: rgba(255,255,255,.98);
}
.aa-header__main {
	display: grid;
	width: min(var(--aa-page), calc(100% - 40px));
	min-height: 96px;
	margin: auto;
	grid-template-columns: 270px minmax(280px, 580px) 1fr;
	gap: 38px;
	align-items: center;
}
.aa-brand { display:inline-flex; align-items:center; gap:12px; color:var(--aa-blue-900); text-decoration:none; }
.aa-brand__mark { display:block; width:56px; height:56px; flex:0 0 56px; }
.aa-brand__mark svg { display:block; width:100%; height:100%; fill:none; stroke:var(--aa-blue-900); stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
.aa-brand__mark svg .accent { stroke:#168fb2; stroke-width:3; }
.aa-brand__copy { display:flex; min-width:0; flex-direction:column; line-height:1; }
.aa-brand__copy strong { color:var(--aa-blue-900); font-size:22px; font-weight:850; letter-spacing:.075em; text-transform:uppercase; white-space:nowrap; }
.aa-brand__copy small { margin-top:7px; color:var(--aa-slate-500); font-size:10px; font-weight:750; letter-spacing:.16em; text-transform:uppercase; white-space:nowrap; }
.aa-header-search form,.aa-mobile-drawer__search form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
}
.aa-header-search input,.aa-mobile-drawer__search input {
	width: 100%;
	min-height: 48px;
	padding: 0 16px;
	border: 1px solid var(--aa-border);
	border-radius: 8px 0 0 8px;
	background: #fff;
}
.aa-header-search button,.aa-mobile-drawer__search button {
	min-width: 50px;
	border: 1px solid var(--aa-border);
	border-left: 0;
	border-radius: 0 8px 8px 0;
	background: #fff;
	color: var(--aa-blue-700);
}
.aa-header-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 24px;
}
.aa-account-link,.aa-cart-control {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--aa-slate-900);
	font-size: 14px;
	font-weight: 650;
	text-decoration: none;
}
.aa-account-link svg,.aa-cart-control svg,.aa-icon-button svg {
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
}
.aa-cart-control { position: relative; }
.aa-cart-control__count {
	position: absolute;
	top: -12px;
	left: 17px;
	display: grid;
	width: 19px;
	height: 19px;
	place-items: center;
	border-radius: 50%;
	background: var(--aa-blue-700);
	color: #fff;
	font-size: 10px;
}
.aa-header__nav {
	border-top: 1px solid #edf2f7;
}
.aa-header__nav nav {
	display:flex;
	align-items:center;
	gap:34px;
	width: min(var(--aa-page), calc(100% - 40px));
	margin: auto;
}
.aa-primary-menu,.aa-mobile-menu,.aa-footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.aa-primary-menu { display: flex; gap: 34px; }
.aa-primary-menu li { position:relative; }
.aa-primary-menu a {
	display: block;
	padding: 17px 0;
	color: var(--aa-slate-900);
	font-size: 14px;
	font-weight: 650;
	text-decoration: none;
}
.aa-primary-menu a:hover { color: var(--aa-blue-700); }
.aa-primary-menu .sub-menu {
	position:absolute;
	z-index:20;
	top:calc(100% - 4px);
	left:-16px;
	display:none;
	width:240px;
	margin:0;
	padding:9px;
	list-style:none;
	border:1px solid var(--aa-border);
	border-radius:9px;
	background:#fff;
	box-shadow:var(--aa-shadow);
}
.aa-primary-menu li:hover > .sub-menu,.aa-primary-menu li:focus-within > .sub-menu { display:block; }
.aa-primary-menu .sub-menu a { padding:10px 12px; border-radius:5px; }
.aa-primary-menu .sub-menu a:hover { background:var(--aa-blue-050); }
.aa-icon-button {
	display: inline-grid;
	width: 44px;
	height: 44px;
	padding: 0;
	place-items: center;
	border: 0;
	background: transparent;
	color: var(--aa-blue-900);
	cursor: pointer;
}
.aa-menu-toggle { display: none; }
.aa-mobile-drawer {
	position: fixed;
	z-index: 10002;
	inset: 0 auto 0 0;
	width: min(86vw, 390px);
	padding: 24px;
	overflow-y: auto;
	transform: translateX(-102%);
	background: #fff;
	box-shadow: 20px 0 60px rgba(7,29,51,.24);
	transition: transform .22s ease;
}
.aa-mobile-drawer.is-open { transform: translateX(0); }
.aa-drawer-backdrop {
	position: fixed;
	z-index: 10001;
	inset: 0;
	background: rgba(8,23,38,.62);
}
.aa-mobile-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--aa-border);
}
.aa-mobile-drawer__head .aa-brand__mark { width:46px; height:46px; flex-basis:46px; }
.aa-mobile-drawer__head .aa-brand__copy strong { font-size:17px; }
.aa-mobile-drawer__head .aa-brand__copy small { font-size:8px; }
.aa-mobile-drawer__search { margin: 22px 0; }
.aa-mobile-menu li { border-bottom: 1px solid #edf2f7; }
.aa-mobile-menu a {
	display: flex;
	min-height: 58px;
	align-items: center;
	justify-content: space-between;
	color: var(--aa-blue-900);
	font-weight: 700;
	text-decoration: none;
}
.aa-mobile-menu a::after { content: "›"; font-size: 24px; }
.aa-mobile-drawer__actions {
	display: grid;
	gap: 12px;
	margin-top: 26px;
}
.aa-mobile-drawer__actions > a {
	padding: 14px;
	border: 1px solid var(--aa-border);
	border-radius: 8px;
	text-decoration: none;
}
.aa-site { min-height: 50vh; }
.aa-home { width: min(var(--aa-page), 100%); margin: auto; }
.aa-hero {
	display: grid;
	min-height: 510px;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	overflow: hidden;
	background: linear-gradient(90deg,#f8fbfe 0%,#f2f7fb 52%,#e5eff7 100%);
}
.aa-hero__copy { padding: clamp(42px,6vw,84px); }
.aa-kicker {
	margin: 0 0 10px;
	color: var(--aa-blue-600);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.aa-hero h1 {
	max-width: 650px;
	margin: 0;
	font-size: clamp(42px,5vw,66px);
	line-height: 1.05;
}
.aa-hero__lede {
	max-width: 650px;
	margin: 24px 0;
	color: var(--aa-slate-500);
	font-size: 19px;
}
.aa-hero__ruo {
	display: grid;
	max-width: 600px;
	grid-template-columns: auto 1fr;
	gap: 4px 12px;
	padding: 14px 16px;
	border-left: 3px solid var(--aa-blue-700);
	background: rgba(255,255,255,.7);
}
.aa-hero__ruo strong { color: var(--aa-blue-900); font-size: 12px; }
.aa-hero__ruo span { color: var(--aa-slate-500); font-size: 12px; }
.aa-button-row { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
.aa-button,.aa-store .button,.aa-store button.button,.aa-store input.button {
	display: inline-flex;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	padding: 11px 20px;
	border: 1px solid var(--aa-blue-700);
	border-radius: 6px;
	font-weight: 750;
	text-decoration: none;
}
.aa-button--primary,.aa-store .button.alt,.aa-store button.button.alt {
	background: var(--aa-blue-700);
	color: #fff;
}
.aa-button--secondary { background: #fff; color: var(--aa-blue-700); }
.aa-hero__visual {
	position: relative;
	height: 100%;
	min-height: 510px;
	background: radial-gradient(circle at 55% 48%,rgba(255,255,255,.95),rgba(218,232,243,.5) 45%,transparent 70%);
}
.aa-vial {
	position: absolute;
	bottom: 64px;
	display: flex;
	width: 150px;
	height: 295px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border: 5px solid #dce5ec;
	border-top: 34px solid var(--aa-blue-700);
	border-radius: 17px 17px 25px 25px;
	background: linear-gradient(90deg,rgba(255,255,255,.55),#fff 50%,rgba(210,226,237,.55));
	box-shadow: 0 24px 40px rgba(25,55,84,.18);
}
.aa-vial::before {
	position: absolute;
	top: 45px;
	right: 12px;
	left: 12px;
	height: 120px;
	border: 1px solid #ccd8e1;
	background: #fff;
	content: "";
}
.aa-vial span,.aa-vial small { position: relative; z-index: 1; color: var(--aa-slate-900); }
.aa-vial span { font-size: 18px; font-weight: 800; }
.aa-vial small { font-weight: 700; }
.aa-vial--one { left: 9%; transform: rotate(-2deg); }
.aa-vial--two { left: 38%; height: 315px; }
.aa-vial--three { left: 68%; width: 135px; height: 270px; transform: rotate(2deg); }
.aa-trust-strip {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	border-block: 1px solid var(--aa-border);
	background: #fff;
}
.aa-trust-strip article {
	display: grid;
	grid-template-columns: 54px 1fr;
	gap: 14px;
	padding: 26px 40px;
	border-right: 1px solid var(--aa-border);
}
.aa-trust-strip article:last-child { border-right: 0; }
.aa-line-icon {
	display: grid;
	width: 48px;
	height: 48px;
	place-items: center;
	color: var(--aa-blue-700);
	font-size: 30px;
}
.aa-trust-strip strong { color: var(--aa-blue-900); }
.aa-trust-strip p { margin: 3px 0 0; color: var(--aa-slate-500); font-size: 13px; }
.aa-home-section { padding: 56px 28px 0; }
.aa-section-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 24px;
}
.aa-section-heading h2 { margin: 0; font-size: 28px; }
.aa-section-heading a { font-size: 14px; font-weight: 700; text-decoration: none; }
.aa-store ul.products {
	display: grid !important;
	grid-template-columns: repeat(4,minmax(0,1fr));
	gap: 22px !important;
	margin: 0 !important;
}
.aa-store ul.products::before,.aa-store ul.products::after { display: none !important; }
.aa-store ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	padding: 16px !important;
	border: 1px solid var(--aa-border);
	border-radius: var(--aa-radius);
	background: #fff;
	transition: transform .18s ease,box-shadow .18s ease;
}
.aa-store ul.products li.product:hover { transform: translateY(-3px); box-shadow: var(--aa-shadow); }
.aa-store ul.products li.product img { border-radius: 8px; }
.aa-store ul.products li.product.instock::before,.aa-store ul.products li.product.outofstock::before {
	position:absolute;
	z-index:3;
	top:12px;
	left:12px;
	padding:5px 8px;
	border-radius:5px;
	font-size:10px;
	font-weight:800;
	letter-spacing:.04em;
}
.aa-store ul.products li.product.instock::before { border:1px solid #a8d9bf; background:#f0fbf5; color:#167548; content:"IN STOCK"; }
.aa-store ul.products li.product.outofstock::before { background:#f5f6f8; color:var(--aa-slate-500); content:"OUT OF STOCK"; }
.aa-store .woocommerce-loop-product__title { min-height: 2.7em; color: var(--aa-blue-900); font-size: 16px !important; }
.aa-store ul.products li.product .category,.aa-store ul.products li.product .ast-woo-product-category { color:var(--aa-slate-500); font-size:12px; }
.aa-store .price { color: var(--aa-blue-900) !important; font-weight: 800 !important; }
.aa-store ul.products .button { width: 100%; margin-top: 14px !important; background: var(--aa-blue-700); color: #fff; }
.aa-home-section ul.products li.product-category { min-height:150px; padding:24px 18px !important; text-align:center; background:linear-gradient(145deg,#fff,var(--aa-blue-050)); }
.aa-home-section ul.products li.product-category a { display:flex; height:100%; flex-direction:column; align-items:center; justify-content:center; text-decoration:none; }
.aa-home-section ul.products li.product-category img { display:none; }
.aa-home-section ul.products li.product-category a::before { display:grid; width:52px; height:52px; margin-bottom:14px; place-items:center; border:1px solid #bcd2e5; border-radius:12px; color:var(--aa-blue-700); content:"⌬"; font-size:30px; }
.aa-home-section .woocommerce-loop-category__title { margin:0; color:var(--aa-blue-900); font-size:15px !important; }
.aa-home-section .woocommerce-loop-category__title .count { display:block; margin-top:5px; background:transparent; color:var(--aa-slate-500); font-size:11px; font-weight:500; }
.aa-coa-feature {
	display: grid;
	margin: 64px 28px 0;
	padding: clamp(30px,5vw,58px);
	grid-template-columns: .9fr 1.1fr;
	gap: 60px;
	align-items: center;
	border: 1px solid var(--aa-border);
	border-radius: 16px;
	background: linear-gradient(120deg,#f8fbfd,#edf5fb);
}
.aa-coa-sheet {
	position: relative;
	display: grid;
	gap: 13px;
	min-height: 260px;
	padding: 30px;
	border: 1px solid #c8d5df;
	background: #fff;
	box-shadow: var(--aa-shadow);
}
.aa-coa-sheet span { height: 16px; background: linear-gradient(90deg,#e6edf3 40%,transparent 40%); }
.aa-coa-sheet em {
	position: absolute;
	right: 20px;
	bottom: 20px;
	display: grid;
	width: 90px;
	height: 90px;
	place-items: center;
	border: 4px double var(--aa-emerald);
	border-radius: 50%;
	color: var(--aa-emerald);
	font-weight: 800;
	transform: rotate(-10deg);
}
.aa-coa-feature h2 { margin: 0; font-size: clamp(30px,4vw,46px); }
.aa-coa-feature li::marker { color: var(--aa-emerald); }
.aa-ordering { padding: 64px 28px; text-align: center; }
.aa-ordering > div { display: grid; margin-top: 28px; grid-template-columns: repeat(3,1fr); gap: 30px; text-align: left; }
.aa-ordering article { display: grid; grid-template-columns: 48px 1fr; gap: 8px 16px; }
.aa-ordering article > span { grid-row: 1/3; display:grid; width:44px;height:44px;place-items:center;border:2px solid var(--aa-blue-700);border-radius:50%;color:var(--aa-blue-700);font-weight:800; }
.aa-ordering p { margin: 0; color: var(--aa-slate-500); font-size: 14px; }
.aa-faq-preview { padding: 0 28px 70px; }
.aa-faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 22px; }
.aa-faq-grid details { padding: 17px 18px; border: 1px solid var(--aa-border); border-radius: 8px; background:#fff; }
.aa-faq-grid summary { color: var(--aa-blue-900); font-weight: 700; cursor: pointer; }
.aa-faq-grid p { margin-bottom: 0; color: var(--aa-slate-500); }
.aa-footer { padding: 58px max(24px,calc((100% - var(--aa-page))/2)); background: var(--aa-blue-900); color: #dbe7f2; }
.aa-footer__grid { display: grid; grid-template-columns: 1.5fr repeat(4,1fr); gap: 46px; }
.aa-footer__brand .aa-brand__mark svg { stroke:#fff; }
.aa-footer__brand .aa-brand__mark svg .accent { stroke:#67d4dd; }
.aa-footer__brand .aa-brand__copy strong,.aa-footer__brand .aa-brand__copy small { color:#fff; }
.aa-footer h2 { margin: 0 0 14px; color:#fff; font-size:15px; }
.aa-footer p,.aa-footer a { color:#dbe7f2; font-size:13px; }
.aa-footer a { text-decoration:none; }
.aa-footer li { margin: 7px 0; }
.aa-footer__ruo { font-size:11px !important; }
.aa-footer__bottom { display:flex; justify-content:space-between; gap:20px; margin-top:42px; padding-top:20px; border-top:1px solid rgba(255,255,255,.18); font-size:12px; }
.aa-footer__bottom nav { display:flex; flex-wrap:wrap; gap:18px; }
.aa-footer__bottom nav ul { display:flex; flex-wrap:wrap; gap:18px; }

/* Shared WooCommerce page frame. */
.aa-store:not(.home) .aa-site { background: var(--aa-blue-050); }
.aa-store:not(.home) .site-main,.aa-store:not(.home) main#primary,.aa-store:not(.home) .woocommerce {
	width: min(var(--aa-page),calc(100% - 40px));
	margin-inline: auto;
	padding-block: 48px 70px;
}
.aa-store-checkout #secondary { display:none !important; }
.aa-store-checkout main#primary { width:min(1240px,calc(100% - 40px)); }
.aa-store-checkout .woocommerce-checkout {
	display:grid;
	max-width:1180px;
	margin:auto;
	grid-template-columns:minmax(0,1.05fr) minmax(440px,.95fr);
	gap:24px 32px;
	align-items:start;
}
.aa-store-checkout .woocommerce-NoticeGroup-checkout,
.aa-store-checkout .woocommerce-form-coupon-toggle,
.aa-store-checkout .checkout_coupon { grid-column:1/-1; }
.aa-store-checkout #customer_details { grid-column:1; grid-row:2; width:100%; }
.aa-store-checkout #customer_details .col-1,.aa-store-checkout #customer_details .col-2 { width:100%; float:none; }
.aa-store-checkout #customer_details .col-2 { margin-top:20px; }
.aa-store-checkout #order_review_heading { grid-column:2; grid-row:2; margin:0 0 -76px; padding:24px 28px 0; position:relative; z-index:1; pointer-events:none; }
.aa-store-checkout #order_review { grid-column:2; grid-row:2; display:block; padding:76px 28px 28px; border:1px solid var(--aa-border); border-radius:14px; background:#fff; }
.aa-store-checkout #order_review > table { width:100%; margin:0 0 24px; table-layout:auto; }
.aa-store-checkout .woocommerce-checkout-review-order,.aa-store-checkout #customer_details .col-1,.aa-store-checkout #customer_details .col-2 {
	padding:26px;
	border:1px solid var(--aa-border);
	border-radius:14px;
	background:#fff;
}
.aa-store-checkout #order_review.woocommerce-checkout-review-order { padding:76px 28px 28px; }
.aa-store-checkout #order_review > table th.product-name { width:auto; }
.aa-store-checkout #order_review > table th.product-total { width:130px; }
.aa-store-checkout #order_review .product-name { line-height:1.35; overflow-wrap:normal; word-break:normal; }
.aa-store-checkout #order_review .product-total { text-align:right; white-space:nowrap; }
.aa-store-checkout #payment { margin-top:24px; padding-top:22px; border-top:1px solid var(--aa-border); background:#fff; }
.aa-store-checkout #payment ul.payment_methods { padding:0; border:0; }
.aa-store-checkout #payment div.payment_box { margin:12px 0; border:1px solid var(--aa-border); border-radius:9px; background:var(--aa-blue-050); }
.aa-store-checkout #payment .place-order { padding:20px 0 0; }
.aa-store-checkout #payment #place_order { width:100%; }
/* The Route widget intentionally receives no positioning rules here. Its own
 * selected WooCommerce hook remains authoritative across AJAX refreshes. */

/* Content, catalog, account, and cart surfaces. */
.aa-content-card,.aa-store .woocommerce-cart-form,.aa-store .cart_totals,
.aa-store .woocommerce-MyAccount-navigation,.aa-store .woocommerce-MyAccount-content {
	border:1px solid var(--aa-border);
	border-radius:var(--aa-radius);
	background:#fff;
	box-shadow:0 8px 28px rgba(20,54,88,.04);
}
.aa-content-card { padding:clamp(24px,4vw,54px); }
.aa-page-heading h1 { margin-top:0; font-size:clamp(32px,4vw,48px); }
.aa-commerce-page .woocommerce-products-header__title { margin:0 0 28px; font-size:clamp(38px,5vw,58px); }
.aa-commerce-page--browse { display:grid; grid-template-columns:260px minmax(0,1fr); gap:34px; align-items:start; }
.aa-commerce-page--browse .aa-shop-sidebar { position:sticky; top:24px; }
.aa-shop-widget { margin-bottom:18px; padding:20px; border:1px solid var(--aa-border); border-radius:var(--aa-radius); background:#fff; }
.aa-shop-widget__title { margin:0 0 14px; font-size:18px; }
.aa-shop-widget form.woocommerce-product-search { display:grid; grid-template-columns:minmax(0,1fr) auto; }
.aa-shop-widget input[type="search"] { min-width:0; min-height:44px; padding:8px 10px; border:1px solid var(--aa-border); border-radius:5px 0 0 5px; }
.aa-shop-widget button { min-height:44px; padding:8px 12px; border:0; border-radius:0 5px 5px 0; background:var(--aa-blue-700); color:#fff; }
.aa-shop-widget ul.products { grid-template-columns:1fr !important; gap:8px !important; }
.aa-shop-widget ul.products li.product { padding:10px !important; }
.aa-shop-widget ul.products li.product img,.aa-shop-widget ul.products li.product .button,.aa-shop-widget ul.products li.product .price { display:none; }
.aa-store ul.products li.product { position:relative; }
.aa-favorite { position:absolute; z-index:4; top:12px; right:12px; display:grid; width:38px; min-height:38px !important; padding:0 !important; place-items:center; border:1px solid var(--aa-border) !important; border-radius:50% !important; background:rgba(255,255,255,.94) !important; color:var(--aa-slate-500); cursor:pointer; }
.aa-favorite svg { width:20px; height:20px; fill:transparent; stroke:currentColor; stroke-width:1.8; }
.aa-favorite[aria-pressed="true"] { color:#d84665; }
.aa-favorite[aria-pressed="true"] svg { fill:currentColor; }
.aa-store :focus-visible { outline:3px solid rgba(23,99,166,.35); outline-offset:3px; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior:auto; }
	.aa-mobile-drawer,.aa-store ul.products li.product { transition:none; }
}
.aa-store .woocommerce-result-count,.aa-store .woocommerce-ordering { margin-bottom:32px; }
.aa-store .woocommerce-ordering select { min-height:44px; padding:8px 34px 8px 12px; border:1px solid var(--aa-border); border-radius:6px; background:#fff; }
.aa-store div.product { display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.8fr); gap:clamp(32px,6vw,80px); padding:clamp(24px,4vw,54px); border:1px solid var(--aa-border); border-radius:16px; background:#fff; }
.aa-store div.product div.images,.aa-store div.product div.summary { width:auto; float:none; margin:0; }
.aa-store div.product .product_title { font-size:clamp(32px,4vw,52px); line-height:1.08; }
.aa-store div.product form.cart { display:flex; gap:12px; }
.aa-store div.product form.cart .qty { min-height:46px; border:1px solid var(--aa-border); }
.aa-store div.product .woocommerce-tabs,.aa-store div.product .related { grid-column:1/-1; }
.aa-store .woocommerce-cart-form { padding:24px; }
.aa-store table.shop_table { border:0; border-collapse:collapse; background:#fff; }
.aa-store table.shop_table th,.aa-store table.shop_table td { padding:16px 12px; border-color:var(--aa-border); }
.aa-store .cart-collaterals { margin-top:26px; }
.aa-store .cart_totals { width:min(100%,520px) !important; padding:26px; }
.aa-store .cart_totals h2 { margin-top:0; }
.aa-store .woocommerce-MyAccount-navigation { width:250px; padding:16px; }
.aa-store .woocommerce-MyAccount-navigation ul { margin:0; padding:0; list-style:none; }
.aa-store .woocommerce-MyAccount-navigation li + li { border-top:1px solid var(--aa-border); }
.aa-store .woocommerce-MyAccount-navigation a { display:block; padding:12px; text-decoration:none; font-weight:700; }
.aa-store .woocommerce-MyAccount-content { width:calc(100% - 280px); padding:30px; }
.aa-store .woocommerce form .form-row input.input-text,.aa-store .woocommerce form .form-row textarea,
.aa-store .woocommerce form .form-row select { min-height:46px; padding:10px 12px; border:1px solid var(--aa-border); border-radius:5px; background:#fff; }

/* Live floating cart. */
.aa-floating-cart { position:fixed; z-index:9000; right:22px; bottom:20px; }
.aa-floating-cart.is-empty { display:none; }
.aa-floating-cart__toggle { display:flex; min-width:220px; min-height:52px; align-items:center; justify-content:space-between; gap:18px; padding:12px 20px; border:0; border-radius:999px; background:var(--aa-blue-900); color:#fff; box-shadow:0 14px 35px rgba(7,34,61,.3); cursor:pointer; }
.aa-floating-cart__panel { position:absolute; right:0; bottom:64px; width:min(390px,calc(100vw - 28px)); max-height:min(620px,70vh); padding:20px; overflow:auto; border:1px solid var(--aa-border); border-radius:14px; background:#fff; box-shadow:0 22px 65px rgba(7,34,61,.24); }
.aa-floating-cart__panel > header { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; color:var(--aa-blue-900); font-size:18px; }
.aa-floating-cart__panel > header button { border:0; background:transparent; font-size:28px; cursor:pointer; }
.aa-floating-cart .woocommerce-mini-cart { margin:0; padding:0; list-style:none; }
.aa-floating-cart .woocommerce-mini-cart-item { min-height:74px; padding:10px 24px 10px 0 !important; border-bottom:1px solid var(--aa-border); }
.aa-floating-cart .woocommerce-mini-cart-item img { width:52px; margin-right:12px; float:left; }
.aa-floating-cart .woocommerce-mini-cart__buttons { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.aa-floating-cart .woocommerce-mini-cart__buttons .button { margin:0; padding-inline:10px; }
.aa-floating-cart .woocommerce-mini-cart__buttons .checkout { background:var(--aa-blue-700); color:#fff; }

@media (max-width: 959px) {
	.aa-header__main {
		min-height: 76px;
		grid-template-columns: 48px minmax(160px,1fr) auto;
		gap: 12px;
	}
	.aa-menu-toggle { display: inline-grid; }
	.aa-brand__mark { width:48px; height:48px; flex-basis:48px; }
	.aa-brand__copy strong { font-size:18px; }
	.aa-brand__copy small { font-size:8px; }
	.aa-header-search,.aa-header__nav,.aa-account-link span,.aa-cart-control__total { display:none; }
	.aa-header-actions { gap:12px; }
	.aa-hero { grid-template-columns:1fr; }
	.aa-hero__visual { min-height:390px; }
	.aa-trust-strip { grid-template-columns:1fr; }
	.aa-trust-strip article { border-right:0; border-bottom:1px solid var(--aa-border); }
	.aa-store ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.aa-footer__grid { grid-template-columns:repeat(2,1fr); }
	.aa-footer__brand { grid-column:1/-1; }
	.aa-store div.product { grid-template-columns:1fr; }
	.aa-store .woocommerce-MyAccount-navigation,.aa-store .woocommerce-MyAccount-content { width:100%; float:none; }
	.aa-store .woocommerce-MyAccount-content { margin-top:20px; }
	.aa-store-checkout .woocommerce-checkout { display:block; }
	.aa-store-checkout .woocommerce-NoticeGroup-checkout,.aa-store-checkout .woocommerce-form-coupon-toggle,.aa-store-checkout .checkout_coupon { margin-bottom:20px; }
	.aa-store-checkout #customer_details { margin-bottom:24px; }
	.aa-store-checkout #order_review_heading { margin:0 0 -76px; }
	.aa-store-checkout #order_review { padding-top:76px; }
	.aa-commerce-page--browse { grid-template-columns:1fr; }
	.aa-commerce-page--browse .aa-shop-sidebar { position:static; display:grid; grid-template-columns:1fr 1fr; gap:16px; }
}

@media (max-width: 640px) {
	.aa-research-bar span:last-child { display:none; }
	.aa-header__main { width:calc(100% - 20px); }
	.aa-brand { gap:8px; }
	.aa-brand__mark { width:42px; height:42px; flex-basis:42px; }
	.aa-brand__copy strong { font-size:15px; letter-spacing:.04em; }
	.aa-brand__copy small { max-width:120px; overflow:hidden; text-overflow:ellipsis; }
	.aa-account-link { display:none; }
	.aa-hero__copy { padding:40px 22px 28px; }
	.aa-hero h1 { font-size:40px; }
	.aa-hero__lede { font-size:16px; }
	.aa-hero__ruo { grid-template-columns:1fr; }
	.aa-hero__visual { min-height:330px; }
	.aa-vial { bottom:35px; width:105px; height:220px; border-top-width:27px; }
	.aa-vial--one { left:6%; }
	.aa-vial--two { left:36%; height:235px; }
	.aa-vial--three { left:67%; width:95px; height:205px; }
	.aa-vial span { font-size:13px; }
	.aa-trust-strip article { padding:22px; }
	.aa-home-section { padding:44px 14px 0; }
	.aa-section-heading { align-items:flex-end; }
	.aa-section-heading h2 { font-size:23px; }
	.aa-section-heading a { font-size:12px; }
	.aa-store ul.products { gap:12px !important; }
	.aa-store ul.products li.product { padding:11px !important; }
	.aa-store .woocommerce-loop-product__title { font-size:14px !important; }
	.aa-coa-feature { margin:48px 14px 0; padding:25px; grid-template-columns:1fr; gap:30px; }
	.aa-ordering { padding:48px 18px; }
	.aa-ordering > div,.aa-faq-grid { grid-template-columns:1fr; }
	.aa-faq-preview { padding:0 14px 50px; }
	.aa-footer { padding:46px 24px; }
	.aa-footer__grid { grid-template-columns:1fr 1fr; gap:30px 20px; }
	.aa-footer__bottom { flex-direction:column; }
	.aa-store:not(.home) .site-main,.aa-store:not(.home) main#primary,.aa-store:not(.home) .woocommerce { width:calc(100% - 20px); }
	.aa-store ul.products { grid-template-columns:1fr 1fr; }
	.aa-store .woocommerce-cart-form { padding:10px; overflow-x:auto; }
	.aa-store .woocommerce-cart-form table { min-width:640px; }
	.aa-floating-cart { right:12px; bottom:12px; }
	.aa-floating-cart__toggle { min-width:190px; }
	.aa-floating-cart__panel { right:0; bottom:62px; }
	.aa-commerce-page--browse .aa-shop-sidebar { grid-template-columns:1fr; }
	.aa-store-checkout main#primary { width:calc(100% - 20px); }
	.aa-store-checkout #order_review,.aa-store-checkout #customer_details .col-1,.aa-store-checkout #customer_details .col-2 { padding-inline:18px; }
}
