/* ═══════════════════════════════════════════════════════════════════
   AquaStasis Theme — Main Stylesheet
   Premium one-product WooCommerce theme for sterile 6ML bacteriostatic water.
   FOR RESEARCH / LABORATORY USE ONLY. NOT FOR HUMAN CONSUMPTION.
   ═══════════════════════════════════════════════════════════════════ */

/* ── 1. DESIGN TOKENS ─────────────────────────────────────────────── */
:root {
	/* Brand colors — matched to the vial */
	--aq-navy:         #1d2b5f;
	--aq-navy-deep:    #0e1638;
	--aq-navy-soft:    #2a3a78;
	--aq-teal:         #6fb8b8;
	--aq-teal-bright:  #8ed1d0;
	--aq-teal-deep:    #4a9494;
	--aq-silver:       #c8cdd3;
	--aq-silver-light: #e8ecf0;
	--aq-white:        #ffffff;
	--aq-bg:           #f7f9fc;
	--aq-bg-alt:       #eef2f8;
	--aq-text:         #0a1530;
	--aq-text-soft:    #4a5670;
	--aq-text-muted:   #7c869a;
	--aq-black:        #0a0a0a;
	--aq-border:       #dde3ec;

	/* Gradients */
	--aq-grad-navy:    linear-gradient(135deg, #1d2b5f 0%, #0e1638 100%);
	--aq-grad-teal:    linear-gradient(135deg, #8ed1d0 0%, #6fb8b8 100%);
	--aq-grad-hero:    linear-gradient(180deg, #f7f9fc 0%, #eef2f8 100%);
	--aq-grad-dark:    linear-gradient(180deg, #0e1638 0%, #1d2b5f 100%);

	/* Typography */
	--aq-font-sans:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
	--aq-font-display: 'Cormorant Garamond', 'Inter', Georgia, serif;

	/* Spacing & shape */
	--aq-radius-sm:  8px;
	--aq-radius:     14px;
	--aq-radius-lg:  20px;
	--aq-radius-xl:  28px;
	--aq-shadow-sm:  0 2px 6px rgba(10,21,48,0.06);
	--aq-shadow:     0 8px 24px rgba(10,21,48,0.08);
	--aq-shadow-lg:  0 24px 60px rgba(10,21,48,0.12);
	--aq-shadow-glow: 0 0 0 4px rgba(111,184,184,0.15), 0 12px 32px rgba(29,43,95,0.18);

	/* Motion */
	--aq-ease:       cubic-bezier(0.22, 0.61, 0.36, 1);
	--aq-ease-out:   cubic-bezier(0.16, 1, 0.3, 1);
	--aq-dur-fast:   180ms;
	--aq-dur:        320ms;
	--aq-dur-slow:   520ms;

	/* Layout */
	--aq-container: 1240px;
	--aq-header-h:  72px;
}

/* ── 2. RESET & BASE ──────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body.aq-body {
	margin: 0;
	font-family: var(--aq-font-sans);
	font-size: 16px;
	line-height: 1.6;
	color: var(--aq-text);
	background: var(--aq-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

body.aq-body[data-gate="locked"] { overflow: hidden; }

img, svg { max-width: 100%; display: block; }
img { height: auto; }

a { color: var(--aq-navy); text-decoration: none; transition: color var(--aq-dur-fast) var(--aq-ease); }
a:hover { color: var(--aq-teal); }

button { font-family: inherit; cursor: pointer; }

h1, h2, h3, h4, h5, h6 { margin: 0 0 .5em; color: var(--aq-text); font-weight: 700; line-height: 1.2; }
p { margin: 0 0 1em; }

::selection { background: var(--aq-teal); color: var(--aq-white); }

/* ── 3. LAYOUT PRIMITIVES ─────────────────────────────────────────── */
.aq-container {
	width: 100%;
	max-width: var(--aq-container);
	margin: 0 auto;
	padding: 0 24px;
}

.aq-skip {
	position: absolute;
	top: -100px;
	left: 12px;
	background: var(--aq-navy);
	color: #fff;
	padding: 10px 18px;
	border-radius: var(--aq-radius-sm);
	z-index: 9999;
	font-weight: 600;
}
.aq-skip:focus { top: 12px; }

.aq-text-teal { color: var(--aq-teal); }

.aq-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--aq-teal-deep);
}
.aq-eyebrow--light { color: var(--aq-teal-bright); }
.aq-eyebrow .aq-dot,
.aq-eyebrow::before {
	content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--aq-teal);
}

.aq-section-head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 56px;
}
.aq-section-title {
	font-family: var(--aq-font-display);
	font-weight: 600;
	font-size: clamp(28px, 4.4vw, 48px);
	line-height: 1.1;
	margin: 14px 0 16px;
	letter-spacing: -0.01em;
}
.aq-section-sub {
	font-size: 17px;
	color: var(--aq-text-soft);
	max-width: 620px;
	margin: 0 auto;
}

.aq-fineprint {
	font-size: 12px;
	letter-spacing: 0.06em;
	color: var(--aq-text-muted);
	margin: 0;
}
.aq-fineprint--center { text-align: center; padding: 32px 0; }

/* ── 4. WORDMARK ──────────────────────────────────────────────────── */
.aq-wordmark {
	display: inline-flex;
	align-items: baseline;
	font-family: var(--aq-font-display);
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1;
}
.aq-wordmark--sm { font-size: 20px; }
.aq-wordmark--md { font-size: 24px; }
.aq-wordmark--lg { font-size: 32px; }
.aq-wordmark__a { color: var(--aq-navy); }
.aq-wordmark__b { color: var(--aq-teal); font-style: italic; }

/* ── 5. LAB-GRID BACKGROUND ───────────────────────────────────────── */
.aq-lab-grid {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	color: var(--aq-navy);
	opacity: 0.06;
	pointer-events: none;
}

/* ── 6. TOP STRIP ─────────────────────────────────────────────────── */
.aq-topstrip {
	background: var(--aq-grad-dark);
	color: #fff;
	font-size: 12px;
	letter-spacing: 0.04em;
}
.aq-topstrip__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 9px 0;
}
.aq-topstrip__item { display: inline-flex; align-items: center; gap: 6px; opacity: .94; }
.aq-topstrip__item--center { font-weight: 700; letter-spacing: 0.08em; }
@media (max-width: 768px) {
	.aq-topstrip__inner { font-size: 10.5px; flex-direction: row; flex-wrap: wrap; justify-content: center; }
	.aq-topstrip__item:not(.aq-topstrip__item--center) { display: none; }
}

/* ── 7. HEADER ────────────────────────────────────────────────────── */
.aq-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(247, 249, 252, 0.85);
	backdrop-filter: saturate(180%) blur(14px);
	-webkit-backdrop-filter: saturate(180%) blur(14px);
	border-bottom: 1px solid transparent;
	transition: border-color var(--aq-dur) var(--aq-ease), box-shadow var(--aq-dur) var(--aq-ease), background-color var(--aq-dur) var(--aq-ease);
}
.aq-header.is-scrolled {
	background: rgba(255, 255, 255, 0.92);
	border-bottom-color: var(--aq-border);
	box-shadow: 0 1px 0 rgba(10,21,48,0.04), 0 8px 24px rgba(10,21,48,0.04);
}
.aq-header__inner {
	display: flex;
	align-items: center;
	gap: 24px;
	min-height: var(--aq-header-h);
	padding: 12px 24px;
}
.aq-logo { display: inline-flex; align-items: center; }
.aq-logo img { max-height: 40px; width: auto; }

.aq-nav { flex: 1; }
.aq-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 28px;
	justify-content: center;
}
.aq-nav__list a {
	font-size: 14px;
	font-weight: 500;
	color: var(--aq-text);
	letter-spacing: 0.01em;
	position: relative;
	padding: 6px 0;
}
.aq-nav__list a::after {
	content: '';
	position: absolute; left: 50%; right: 50%; bottom: -2px;
	height: 2px;
	background: var(--aq-teal);
	transition: left var(--aq-dur) var(--aq-ease), right var(--aq-dur) var(--aq-ease);
}
.aq-nav__list a:hover { color: var(--aq-navy); }
.aq-nav__list a:hover::after { left: 0; right: 0; }

.aq-header__actions { display: flex; align-items: center; gap: 12px; }

.aq-cart {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px; height: 40px;
	border-radius: 50%;
	color: var(--aq-text);
	background: transparent;
	border: 1px solid var(--aq-border);
	transition: all var(--aq-dur) var(--aq-ease);
}
.aq-cart:hover { background: var(--aq-navy); color: #fff; border-color: var(--aq-navy); transform: translateY(-1px); }
.aq-cart__count {
	position: absolute; top: -6px; right: -6px;
	min-width: 18px; height: 18px;
	padding: 0 5px;
	border-radius: 9px;
	background: var(--aq-teal);
	color: var(--aq-navy-deep);
	font-size: 10px; font-weight: 800;
	display: inline-flex; align-items: center; justify-content: center;
}

.aq-burger {
	display: none;
	width: 40px; height: 40px;
	border: 1px solid var(--aq-border);
	background: transparent;
	border-radius: 10px;
	padding: 0;
	flex-direction: column;
	align-items: center; justify-content: center;
	gap: 4px;
}
.aq-burger span { display: block; width: 18px; height: 2px; background: var(--aq-text); border-radius: 2px; transition: transform var(--aq-dur) var(--aq-ease); }
.aq-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.aq-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.aq-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 920px) {
	.aq-nav { display: none; }
	.aq-burger { display: flex; }
}

/* ── 8. MOBILE DRAWER ─────────────────────────────────────────────── */
.aq-drawer-veil {
	position: fixed;
	inset: 0;
	background: rgba(14, 22, 56, 0.45);
	backdrop-filter: blur(4px);
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--aq-dur) var(--aq-ease);
	z-index: 120;
}
.aq-drawer-veil.is-open { opacity: 1; pointer-events: auto; }

.aq-drawer {
	position: fixed;
	top: 0; right: 0;
	width: min(380px, 88vw);
	height: 100vh;
	background: var(--aq-white);
	box-shadow: -20px 0 60px rgba(10,21,48,0.15);
	transform: translateX(100%);
	transition: transform var(--aq-dur-slow) var(--aq-ease-out);
	z-index: 130;
	display: flex;
	flex-direction: column;
}
.aq-drawer.is-open { transform: translateX(0); }
.aq-drawer__head {
	display: flex; align-items: center; justify-content: space-between;
	padding: 22px 24px;
	border-bottom: 1px solid var(--aq-border);
}
.aq-drawer__close {
	width: 36px; height: 36px;
	border: 1px solid var(--aq-border);
	background: transparent;
	border-radius: 10px;
	font-size: 22px; line-height: 1;
	color: var(--aq-text);
}
.aq-drawer__nav { flex: 1; padding: 14px 0; overflow-y: auto; }
.aq-drawer__nav a {
	display: block;
	padding: 14px 24px;
	color: var(--aq-text);
	font-weight: 500;
	border-bottom: 1px solid var(--aq-border);
}
.aq-drawer__nav a:hover { background: var(--aq-bg); color: var(--aq-navy); }
.aq-drawer__foot { padding: 18px 24px; background: var(--aq-bg); }

/* ── 9. BUTTONS ───────────────────────────────────────────────────── */
.aq-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 13px 22px;
	font-family: var(--aq-font-sans);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1;
	border-radius: 12px;
	border: 1px solid transparent;
	cursor: pointer;
	text-decoration: none;
	transition: transform var(--aq-dur) var(--aq-ease), box-shadow var(--aq-dur) var(--aq-ease), background-color var(--aq-dur) var(--aq-ease), color var(--aq-dur) var(--aq-ease);
	position: relative;
	overflow: hidden;
	white-space: nowrap;
}
.aq-btn:disabled,
.aq-btn[disabled] { opacity: 0.5; cursor: not-allowed; transform: none !important; }

.aq-btn--primary {
	background: var(--aq-grad-navy);
	color: #fff;
	box-shadow: 0 8px 24px rgba(29,43,95,0.25), inset 0 1px 0 rgba(255,255,255,0.08);
}
.aq-btn--primary::before {
	content: '';
	position: absolute;
	top: 0; left: -100%;
	width: 100%; height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,0.18), transparent);
	transition: left var(--aq-dur-slow) var(--aq-ease);
}
.aq-btn--primary:hover { transform: translateY(-2px); box-shadow: 0 14px 36px rgba(29,43,95,0.32), inset 0 1px 0 rgba(255,255,255,0.1); color: #fff; }
.aq-btn--primary:hover::before { left: 100%; }

.aq-btn--ghost {
	background: transparent;
	color: var(--aq-navy);
	border-color: var(--aq-navy);
}
.aq-btn--ghost:hover { background: var(--aq-navy); color: #fff; transform: translateY(-1px); }

.aq-btn--ghost-light {
	background: rgba(255,255,255,0.06);
	color: #fff;
	border-color: rgba(255,255,255,0.32);
	backdrop-filter: blur(8px);
}
.aq-btn--ghost-light:hover { background: rgba(255,255,255,0.15); color: #fff; border-color: rgba(255,255,255,0.6); }

.aq-btn--pill { border-radius: 999px; padding: 9px 18px; font-size: 13px; }
.aq-btn--lg   { padding: 16px 28px; font-size: 16px; border-radius: 14px; }
.aq-btn--xl   { padding: 20px 32px; font-size: 17px; border-radius: 16px; }
.aq-btn--full { width: 100%; }

/* ── 10. HERO ─────────────────────────────────────────────────────── */
.aq-hero {
	position: relative;
	padding: 80px 0 100px;
	background: var(--aq-grad-hero);
	overflow: hidden;
	isolation: isolate;
}
.aq-hero .aq-lab-grid { opacity: 0.045; z-index: 0; }
.aq-hero__glow {
	position: absolute;
	top: -200px; right: -200px;
	width: 700px; height: 700px;
	background: radial-gradient(circle, rgba(142,209,208,0.35) 0%, transparent 70%);
	filter: blur(60px);
	z-index: 0;
}
.aq-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 56px;
	align-items: center;
}
.aq-hero__text { max-width: 620px; }
.aq-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 7px 14px;
	background: rgba(111,184,184,0.12);
	border: 1px solid rgba(111,184,184,0.35);
	border-radius: 999px;
	color: var(--aq-teal-deep);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin-bottom: 22px;
}
.aq-hero__eyebrow .aq-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--aq-teal); box-shadow: 0 0 0 4px rgba(111,184,184,0.2); animation: aq-pulse 2.4s ease-in-out infinite; }
@keyframes aq-pulse { 0%,100% { box-shadow: 0 0 0 4px rgba(111,184,184,0.2);} 50% { box-shadow: 0 0 0 10px rgba(111,184,184,0.06);} }

.aq-hero__title {
	font-family: var(--aq-font-display);
	font-weight: 600;
	font-size: clamp(38px, 6vw, 72px);
	line-height: 1.04;
	letter-spacing: -0.02em;
	margin: 0 0 20px;
}
.aq-hero__accent { color: var(--aq-teal); font-style: italic; }

.aq-hero__sub {
	font-size: 18px;
	color: var(--aq-text-soft);
	line-height: 1.6;
	margin-bottom: 32px;
	max-width: 540px;
}

.aq-hero__cta {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	margin-bottom: 36px;
}

.aq-hero__badges {
	list-style: none;
	padding: 0; margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
}
.aq-hero__badges li {
	font-size: 13px;
	color: var(--aq-text-soft);
	display: inline-flex; align-items: center; gap: 6px;
}
.aq-hero__badges span { color: var(--aq-teal); }

/* hero visual */
.aq-hero__visual {
	position: relative;
	height: 560px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.aq-hero__halo {
	position: absolute;
	width: 460px; height: 460px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(142,209,208,0.45) 0%, rgba(111,184,184,0.18) 40%, transparent 70%);
	filter: blur(20px);
	z-index: 0;
}
.aq-hero__halo--soft {
	width: 600px; height: 600px;
	background: radial-gradient(circle, rgba(29,43,95,0.08) 0%, transparent 60%);
	animation: aq-haloRot 22s linear infinite;
}
@keyframes aq-haloRot { to { transform: rotate(360deg); } }

.aq-vial {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
}
.aq-vial__img {
	width: auto;
	max-width: 100%;
	filter: drop-shadow(0 30px 50px rgba(29,43,95,0.25));
}
.aq-vial__glow {
	position: absolute;
	inset: 0;
	background: radial-gradient(circle, rgba(142,209,208,0.5) 0%, transparent 60%);
	filter: blur(40px);
	z-index: -1;
}
.aq-vial--hero .aq-vial__img { max-height: 540px; }
.aq-vial--product .aq-vial__img { max-height: 460px; }
.aq-vial--mini .aq-vial__img { max-height: 280px; }

.aq-float { animation: aq-float 5s ease-in-out infinite; will-change: transform; }
.aq-float--slow { animation-duration: 7s; }
@keyframes aq-float {
	0%, 100% { transform: translateY(0) rotate(0deg); }
	50%      { transform: translateY(-14px) rotate(-1deg); }
}

/* floating chips */
.aq-hero__chip {
	position: absolute;
	z-index: 3;
	background: #fff;
	color: var(--aq-text);
	font-size: 12px;
	font-weight: 600;
	padding: 9px 14px;
	border-radius: 999px;
	box-shadow: var(--aq-shadow);
	display: inline-flex; align-items: center; gap: 8px;
	animation: aq-float 6s ease-in-out infinite;
}
.aq-hero__chip--a { top: 14%; left: 4%; animation-delay: -1s; }
.aq-hero__chip--b { top: 50%; right: -2%; animation-delay: -2.5s; }
.aq-hero__chip--c { bottom: 14%; left: 8%;  animation-delay: -3.5s; }
.aq-chip-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--aq-teal); box-shadow: 0 0 0 3px rgba(111,184,184,0.2); }

@media (max-width: 920px) {
	.aq-hero { padding: 48px 0 60px; }
	.aq-hero__inner { grid-template-columns: 1fr; gap: 32px; }
	.aq-hero__text { max-width: none; text-align: center; margin: 0 auto; }
	.aq-hero__cta { justify-content: center; }
	.aq-hero__badges { justify-content: center; }
	.aq-hero__eyebrow { margin: 0 auto 22px; }
	.aq-hero__visual { height: 380px; order: -1; }
	.aq-vial--hero .aq-vial__img { max-height: 380px; }
	.aq-hero__halo { width: 320px; height: 320px; }
	.aq-hero__halo--soft { width: 400px; height: 400px; }
	.aq-hero__chip { font-size: 11px; padding: 7px 11px; }
	.aq-hero__chip--a { top: 6%; left: 2%; }
	.aq-hero__chip--b { top: 46%; right: 2%; }
	.aq-hero__chip--c { bottom: 6%; left: 6%; }
}

/* ── 11. MARQUEE ──────────────────────────────────────────────────── */
.aq-marquee {
	background: var(--aq-navy-deep);
	color: var(--aq-silver-light);
	padding: 14px 0;
	overflow: hidden;
}
.aq-marquee__track {
	display: inline-flex;
	gap: 28px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	white-space: nowrap;
	animation: aq-marquee 40s linear infinite;
}
.aq-marquee__track span { display: inline-block; }
@keyframes aq-marquee { to { transform: translateX(-50%); } }

/* ── 12. SHOP / PACK GRID ─────────────────────────────────────────── */
.aq-shop {
	padding: 100px 0;
	background: var(--aq-white);
	position: relative;
}

.aq-packgrid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 18px;
	margin-bottom: 36px;
}
.aq-packgrid--compact { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
@media (max-width: 580px) {
	.aq-packgrid { grid-template-columns: repeat(2, 1fr); }
	.aq-packgrid--compact { grid-template-columns: repeat(2, 1fr); }
}

.aq-pack {
	position: relative;
	background: var(--aq-white);
	border: 2px solid var(--aq-border);
	border-radius: var(--aq-radius-lg);
	padding: 24px 18px 20px;
	cursor: pointer;
	transition: transform var(--aq-dur) var(--aq-ease), border-color var(--aq-dur) var(--aq-ease), box-shadow var(--aq-dur) var(--aq-ease);
	text-align: left;
	overflow: hidden;
	font-family: inherit;
}
.aq-pack:hover:not(:disabled) { transform: translateY(-4px); border-color: var(--aq-teal); box-shadow: var(--aq-shadow); }
.aq-pack[aria-pressed="true"] {
	border-color: var(--aq-teal);
	background: linear-gradient(180deg, rgba(142,209,208,0.06) 0%, #fff 100%);
	box-shadow: var(--aq-shadow-glow);
}
.aq-pack[aria-pressed="true"] .aq-pack__check { opacity: 1; transform: scale(1); }
.aq-pack--disabled { opacity: 0.5; cursor: not-allowed; }

.aq-pack__ribbon {
	position: absolute;
	top: 10px; right: 10px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 4px 9px;
	border-radius: 999px;
	background: var(--aq-grad-teal);
	color: var(--aq-navy-deep);
}

.aq-pack__head {
	display: flex;
	align-items: baseline;
	gap: 6px;
	margin-bottom: 12px;
}
.aq-pack__count {
	font-family: var(--aq-font-display);
	font-weight: 600;
	font-size: 46px;
	line-height: 1;
	color: var(--aq-navy);
	letter-spacing: -0.02em;
}
.aq-pack__unit {
	font-size: 13px;
	font-weight: 600;
	color: var(--aq-text-soft);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}
.aq-pack__label {
	font-size: 13px;
	font-weight: 700;
	color: var(--aq-teal-deep);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin-bottom: 6px;
}
.aq-pack__desc {
	font-size: 13px;
	color: var(--aq-text-soft);
	line-height: 1.5;
	margin: 0 0 14px;
	min-height: 38px;
}
.aq-pack__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding-top: 14px;
	border-top: 1px solid var(--aq-border);
}
.aq-pack__price {
	font-size: 17px;
	font-weight: 800;
	color: var(--aq-navy);
}
.aq-pack__price .woocommerce-Price-currencySymbol { font-weight: 700; }
.aq-pack__price-soon { font-size: 11px; color: var(--aq-text-muted); font-weight: 500; }
.aq-pack__ship {
	font-size: 11px;
	font-weight: 600;
	color: var(--aq-teal-deep);
	letter-spacing: 0.04em;
}
.aq-pack__soon {
	display: inline-block;
	margin-top: 8px;
	font-size: 11px;
	font-weight: 600;
	color: var(--aq-text-muted);
}
.aq-pack__check {
	position: absolute;
	bottom: 12px; right: 12px;
	width: 22px; height: 22px;
	border-radius: 50%;
	background: var(--aq-teal);
	color: #fff;
	display: inline-flex; align-items: center; justify-content: center;
	opacity: 0;
	transform: scale(0.6);
	transition: opacity var(--aq-dur) var(--aq-ease), transform var(--aq-dur) var(--aq-ease);
}
.aq-packgrid--compact .aq-pack { padding: 16px 14px 14px; }
.aq-packgrid--compact .aq-pack__count { font-size: 34px; }
.aq-packgrid--compact .aq-pack__desc { display: none; }

/* add-to-cart form */
.aq-add-form {
	max-width: 720px;
	margin: 0 auto;
	background: var(--aq-bg);
	border: 1px solid var(--aq-border);
	border-radius: var(--aq-radius-lg);
	padding: 24px;
}
.aq-add-form__selected {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding: 14px 16px;
	background: #fff;
	border-radius: var(--aq-radius);
	border: 1px dashed var(--aq-border);
	margin-bottom: 14px;
	font-size: 14px;
}
.aq-selected__label { font-weight: 600; color: var(--aq-text-soft); }
.aq-selected__value { font-weight: 700; color: var(--aq-navy); }
.aq-selected__price { margin-left: auto; font-weight: 800; color: var(--aq-teal-deep); }
.aq-selected__price:empty { display: none; }
.aq-add-form__fineprint {
	font-size: 12px;
	color: var(--aq-text-muted);
	text-align: center;
	margin: 14px 0 0;
	letter-spacing: 0.02em;
}

.aq-qty-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 14px;
}
.aq-qty-label {
	font-size: 13px;
	font-weight: 600;
	color: var(--aq-text-soft);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}
.aq-qty {
	display: inline-flex;
	border: 1px solid var(--aq-border);
	border-radius: 999px;
	background: #fff;
	overflow: hidden;
}
.aq-qty__btn {
	width: 36px; height: 36px;
	border: 0; background: transparent;
	font-size: 18px; font-weight: 600;
	color: var(--aq-navy);
}
.aq-qty__btn:hover { background: var(--aq-bg-alt); }
.aq-qty input {
	width: 50px; height: 36px;
	border: 0;
	text-align: center;
	font-weight: 700;
	font-family: inherit;
	font-size: 14px;
	color: var(--aq-text);
	background: transparent;
	-moz-appearance: textfield;
}
.aq-qty input::-webkit-outer-spin-button,
.aq-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.aq-empty {
	max-width: 540px;
	margin: 0 auto;
	background: #fff;
	border: 1px dashed var(--aq-border);
	border-radius: var(--aq-radius);
	padding: 24px;
	text-align: center;
	color: var(--aq-text-soft);
}

/* ── 13. WHY / FEATURE GRID ───────────────────────────────────────── */
.aq-why { padding: 100px 0; background: var(--aq-bg); }
.aq-feat-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 18px;
}
.aq-feat {
	background: #fff;
	border: 1px solid var(--aq-border);
	border-radius: var(--aq-radius);
	padding: 28px;
	transition: transform var(--aq-dur) var(--aq-ease), border-color var(--aq-dur) var(--aq-ease), box-shadow var(--aq-dur) var(--aq-ease);
}
.aq-feat:hover { transform: translateY(-4px); border-color: var(--aq-teal); box-shadow: var(--aq-shadow); }
.aq-feat__icon {
	width: 52px; height: 52px;
	border-radius: 14px;
	background: var(--aq-grad-teal);
	color: var(--aq-navy-deep);
	display: inline-flex; align-items: center; justify-content: center;
	font-size: 22px;
	margin-bottom: 16px;
	box-shadow: 0 8px 24px rgba(111,184,184,0.25);
}
.aq-feat__title { font-size: 17px; margin-bottom: 8px; }
.aq-feat__body { font-size: 14px; color: var(--aq-text-soft); margin: 0; line-height: 1.6; }

/* ── 14. COA SECTION & PLACEHOLDER ────────────────────────────────── */
.aq-coa { padding: 100px 0; background: var(--aq-white); }
.aq-coa__card {
	position: relative;
	background: var(--aq-grad-dark);
	color: #fff;
	border-radius: var(--aq-radius-xl);
	padding: 56px 48px;
	overflow: hidden;
	isolation: isolate;
}
.aq-coa__card .aq-lab-grid { color: #8ed1d0; opacity: 0.12; }
.aq-coa__head { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.aq-coa__badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	background: rgba(255,255,255,0.1);
	border: 1px solid rgba(255,255,255,0.2);
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #fff;
}
.aq-coa__badge--live { background: rgba(111,184,184,0.25); border-color: rgba(142,209,208,0.5); color: var(--aq-teal-bright); }
.aq-coa__title {
	font-family: var(--aq-font-display);
	font-weight: 600;
	font-size: clamp(26px, 3.4vw, 38px);
	line-height: 1.15;
	margin: 0 0 16px;
	color: #fff;
}
.aq-coa__body {
	color: rgba(255,255,255,0.78);
	font-size: 16px;
	max-width: 620px;
	margin-bottom: 28px;
}

.aq-coa__placeholder {
	display: flex;
	justify-content: center;
	margin: 32px 0;
}
.aq-coa__placeholder--page { margin: 40px 0; }
.aq-coa__doc {
	position: relative;
	background: rgba(255,255,255,0.05);
	border: 1px solid rgba(255,255,255,0.15);
	border-radius: var(--aq-radius);
	padding: 28px 28px 32px;
	width: 100%;
	max-width: 420px;
	backdrop-filter: blur(8px);
}
.aq-coa__doc-bar {
	height: 10px;
	width: 60%;
	background: var(--aq-teal-bright);
	border-radius: 4px;
	margin-bottom: 18px;
	opacity: 0.6;
}
.aq-coa__doc-line {
	height: 8px;
	background: rgba(255,255,255,0.15);
	border-radius: 4px;
	margin-bottom: 10px;
	width: 80%;
}
.aq-coa__doc-line--med  { width: 65%; }
.aq-coa__doc-line--long { width: 92%; }
.aq-coa__doc-stamp {
	position: absolute;
	top: 24px; right: 24px;
	width: 56px; height: 56px;
	border-radius: 50%;
	border: 2px dashed var(--aq-teal-bright);
	color: var(--aq-teal-bright);
	display: inline-flex; align-items: center; justify-content: center;
	opacity: 0.65;
	transform: rotate(-12deg);
}

.aq-coa__points {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
	margin: 30px 0;
}
.aq-coa__point {
	background: rgba(255,255,255,0.05);
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: var(--aq-radius);
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.aq-coa__point strong { color: var(--aq-teal-bright); font-size: 13px; letter-spacing: 0.04em; text-transform: uppercase; }
.aq-coa__point span { font-size: 13px; color: rgba(255,255,255,0.72); }

.aq-coa-embed { aspect-ratio: 4 / 5; background: #fff; border: 1px solid var(--aq-border); border-radius: var(--aq-radius); overflow: hidden; }
.aq-coa-embed iframe, .aq-coa-embed img { width: 100%; height: 100%; border: 0; display: block; object-fit: contain; }
.aq-coa-embed--lg { aspect-ratio: 1 / 1; max-width: 720px; margin: 0 auto; }

.aq-coa-placeholder {
	padding: 24px;
	background: var(--aq-bg);
	border: 1px dashed var(--aq-border);
	border-radius: var(--aq-radius);
	text-align: center;
}
.aq-coa-placeholder .aq-coa__badge { background: var(--aq-bg-alt); color: var(--aq-navy); border-color: var(--aq-border); }

@media (max-width: 768px) {
	.aq-coa__card { padding: 36px 24px; }
}

/* ── 15. COMPLIANCE STRIP ─────────────────────────────────────────── */
.aq-compliance {
	background: var(--aq-navy-deep);
	color: #fff;
	padding: 36px 0;
}
.aq-compliance__inner {
	display: flex;
	align-items: center;
	gap: 22px;
	max-width: 880px;
	margin: 0 auto;
}
.aq-compliance__icon {
	flex-shrink: 0;
	width: 52px; height: 52px;
	border-radius: 50%;
	background: rgba(255, 204, 80, 0.15);
	border: 1px solid rgba(255, 204, 80, 0.4);
	color: #ffcc50;
	display: inline-flex; align-items: center; justify-content: center;
	font-size: 22px;
}
.aq-compliance__title { color: #fff; font-size: 19px; margin: 0 0 4px; }
.aq-compliance__body  { color: rgba(255,255,255,0.78); margin: 0; font-size: 14px; }
@media (max-width: 580px) { .aq-compliance__inner { flex-direction: column; text-align: center; gap: 14px; } }

/* ── 16. DETAILS SECTION ──────────────────────────────────────────── */
.aq-details { padding: 100px 0; background: var(--aq-bg); }
.aq-details__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: center;
}
.aq-details__visual {
	position: relative;
	min-height: 360px;
	display: flex; align-items: center; justify-content: center;
}
.aq-details__list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	background: #fff;
	border: 1px solid var(--aq-border);
	border-radius: var(--aq-radius);
	overflow: hidden;
	margin: 0;
}
.aq-spec {
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: 16px;
	padding: 16px 22px;
	border-bottom: 1px solid var(--aq-border);
}
.aq-spec:last-child { border-bottom: 0; }
.aq-spec dt {
	font-size: 12px;
	font-weight: 700;
	color: var(--aq-teal-deep);
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.aq-spec dd { font-size: 14px; color: var(--aq-text); margin: 0; }
@media (max-width: 768px) {
	.aq-details__grid { grid-template-columns: 1fr; }
	.aq-spec { grid-template-columns: 1fr; gap: 4px; }
}

/* ── 17. STORAGE ──────────────────────────────────────────────────── */
.aq-storage { padding: 100px 0; background: #fff; }
.aq-storage__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 18px;
}
.aq-storage__card {
	background: var(--aq-bg);
	border: 1px solid var(--aq-border);
	border-radius: var(--aq-radius);
	padding: 24px;
	transition: transform var(--aq-dur) var(--aq-ease), border-color var(--aq-dur) var(--aq-ease);
}
.aq-storage__card:hover { transform: translateY(-3px); border-color: var(--aq-teal); }
.aq-storage__icon {
	width: 42px; height: 42px;
	border-radius: 50%;
	background: var(--aq-navy);
	color: #fff;
	display: inline-flex; align-items: center; justify-content: center;
	font-size: 20px;
	margin-bottom: 14px;
}
.aq-storage__card h3 { font-size: 15px; margin-bottom: 6px; }
.aq-storage__card p  { font-size: 13px; color: var(--aq-text-soft); margin: 0; line-height: 1.6; }

/* ── 18. FAQ ──────────────────────────────────────────────────────── */
.aq-faq { padding: 100px 0; background: var(--aq-bg); }
.aq-faq__list { max-width: 820px; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }
.aq-faq__list--page { max-width: 880px; }
.aq-faq__item {
	background: #fff;
	border: 1px solid var(--aq-border);
	border-radius: var(--aq-radius);
	overflow: hidden;
	transition: border-color var(--aq-dur) var(--aq-ease), box-shadow var(--aq-dur) var(--aq-ease);
}
.aq-faq__item[open] { border-color: var(--aq-teal); box-shadow: var(--aq-shadow); }
.aq-faq__item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 24px;
	cursor: pointer;
	list-style: none;
	font-weight: 600;
	color: var(--aq-text);
	font-size: 16px;
}
.aq-faq__item summary::-webkit-details-marker { display: none; }
.aq-faq__icon {
	width: 30px; height: 30px;
	border-radius: 50%;
	background: var(--aq-bg);
	color: var(--aq-navy);
	display: inline-flex; align-items: center; justify-content: center;
	transition: transform var(--aq-dur) var(--aq-ease), background-color var(--aq-dur) var(--aq-ease);
	flex-shrink: 0;
}
.aq-faq__item[open] .aq-faq__icon { transform: rotate(180deg); background: var(--aq-teal); color: #fff; }
.aq-faq__a { padding: 0 24px 22px; color: var(--aq-text-soft); font-size: 15px; }
.aq-faq__a p { margin: 0; }

/* ── 19. FINAL CTA ────────────────────────────────────────────────── */
.aq-final {
	position: relative;
	background: var(--aq-grad-dark);
	color: #fff;
	padding: 100px 0;
	overflow: hidden;
	isolation: isolate;
}
.aq-final .aq-lab-grid { color: #8ed1d0; opacity: 0.07; }
.aq-final__inner {
	display: grid;
	grid-template-columns: 0.7fr 1.3fr;
	gap: 56px;
	align-items: center;
	position: relative;
	z-index: 1;
}
.aq-final__vial { display: flex; justify-content: center; }
.aq-final__title {
	font-family: var(--aq-font-display);
	font-weight: 600;
	font-size: clamp(28px, 4vw, 46px);
	margin: 12px 0 16px;
	color: #fff;
	line-height: 1.1;
}
.aq-final__sub { color: rgba(255,255,255,0.78); font-size: 17px; margin-bottom: 28px; max-width: 540px; }
.aq-final__cta { margin-bottom: 24px; }
.aq-final__fineprint { font-size: 12px; color: rgba(255,255,255,0.55); letter-spacing: 0.06em; }
@media (max-width: 768px) {
	.aq-final__inner { grid-template-columns: 1fr; text-align: center; }
	.aq-final__sub { margin-left: auto; margin-right: auto; }
}

/* ── 20. FOOTER ───────────────────────────────────────────────────── */
.aq-footer {
	position: relative;
	background: var(--aq-navy-deep);
	color: rgba(255,255,255,0.78);
	overflow: hidden;
	isolation: isolate;
}
.aq-footer .aq-lab-grid { color: #8ed1d0; opacity: 0.06; }
.aq-footer__top {
	position: relative; z-index: 1;
	display: grid;
	grid-template-columns: 1.2fr 2fr;
	gap: 56px;
	padding: 80px 24px 56px;
}
.aq-footer__brand {}
.aq-footer__logo .aq-wordmark__a { color: #fff; }
.aq-footer__logo .aq-wordmark__b { color: var(--aq-teal-bright); }
.aq-footer__tag { font-size: 14px; margin: 18px 0 14px; color: rgba(255,255,255,0.74); max-width: 380px; }
.aq-footer__ship { color: var(--aq-teal-bright); font-size: 13px; font-weight: 600; margin: 0 0 14px; letter-spacing: 0.02em; }
.aq-footer__email {
	display: inline-flex;
	color: var(--aq-teal-bright);
	font-weight: 600;
	border-bottom: 1px solid rgba(142,209,208,0.4);
}
.aq-footer__email:hover { color: #fff; border-color: #fff; }

.aq-footer__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.aq-footer__col h4 { color: #fff; font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 14px; }
.aq-footer__col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 9px; }
.aq-footer__col a { color: rgba(255,255,255,0.7); font-size: 14px; }
.aq-footer__col a:hover { color: var(--aq-teal-bright); }

.aq-footer__bottom { position: relative; z-index: 1; padding: 22px 0; border-top: 1px solid rgba(255,255,255,0.08); background: rgba(0,0,0,0.18); }
.aq-footer__bottom-inner { display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; align-items: center; }
.aq-footer__compliance { margin: 0; color: var(--aq-teal-bright); font-size: 11px; font-weight: 700; letter-spacing: 0.12em; }
.aq-footer__legal { margin: 0; font-size: 12px; color: rgba(255,255,255,0.55); max-width: 540px; }
.aq-footer__copy { margin: 0; font-size: 12px; color: rgba(255,255,255,0.45); }

@media (max-width: 880px) {
	.aq-footer__top { grid-template-columns: 1fr; gap: 32px; padding: 60px 24px 32px; }
	.aq-footer__cols { grid-template-columns: repeat(2, 1fr); }
	.aq-footer__bottom-inner { flex-direction: column; text-align: center; }
}
@media (max-width: 480px) { .aq-footer__cols { grid-template-columns: 1fr; } }

/* ── 21. SCROLL REVEAL ────────────────────────────────────────────── */
.aq-reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 700ms var(--aq-ease-out), transform 700ms var(--aq-ease-out);
	will-change: opacity, transform;
}
.aq-reveal.is-revealed { opacity: 1; transform: translateY(0); }

/* ── 22. AGE GATE ─────────────────────────────────────────────────── */
.aq-gate {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 300ms var(--aq-ease);
}
.aq-gate[data-state="show"] { opacity: 1; pointer-events: auto; }
.aq-gate[data-state="hide"] { opacity: 0; pointer-events: none; }
.aq-gate__veil {
	position: absolute;
	inset: 0;
	background: rgba(14, 22, 56, 0.62);
	backdrop-filter: saturate(160%) blur(12px);
	-webkit-backdrop-filter: saturate(160%) blur(12px);
}
.aq-gate__card {
	position: relative;
	background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
	border: 1px solid var(--aq-border);
	border-radius: var(--aq-radius-xl);
	padding: 40px 36px;
	max-width: 480px;
	width: 100%;
	text-align: center;
	box-shadow: 0 40px 100px rgba(10,21,48,0.4);
	overflow: hidden;
}
.aq-gate__glow {
	position: absolute;
	top: -100px; left: 50%;
	width: 360px; height: 360px;
	background: radial-gradient(circle, rgba(142,209,208,0.4) 0%, transparent 70%);
	transform: translateX(-50%);
	filter: blur(40px);
	pointer-events: none;
}
.aq-gate__mark {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-bottom: 18px;
}
.aq-gate__divider { width: 1px; height: 22px; background: var(--aq-border); }
.aq-gate__chip {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--aq-teal-deep);
	background: rgba(111,184,184,0.1);
	border: 1px solid rgba(111,184,184,0.3);
	padding: 5px 11px;
	border-radius: 999px;
}
.aq-gate__headline {
	font-family: var(--aq-font-display);
	font-weight: 600;
	font-size: 28px;
	margin: 6px 0 12px;
}
.aq-gate__body { font-size: 14px; color: var(--aq-text-soft); line-height: 1.6; }
.aq-gate__checks {
	list-style: none;
	padding: 0; margin: 18px 0 24px;
	text-align: left;
	display: flex; flex-direction: column; gap: 8px;
}
.aq-gate__checks li {
	font-size: 13px;
	color: var(--aq-text);
	padding-left: 30px;
	position: relative;
}
.aq-gate__checks li::before {
	content: '';
	position: absolute;
	left: 0; top: 2px;
	width: 18px; height: 18px;
	border-radius: 5px;
	background: var(--aq-teal);
	background-image: linear-gradient(135deg, #8ed1d0 0%, #6fb8b8 100%);
	box-shadow: 0 2px 6px rgba(111,184,184,0.4);
}
.aq-gate__checks li::after {
	content: '✓';
	position: absolute;
	left: 4px; top: 0;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.4;
}
.aq-gate__actions { display: flex; flex-direction: column; gap: 10px; }
.aq-gate__fineprint { margin: 18px 0 0; font-size: 10.5px; letter-spacing: 0.08em; color: var(--aq-text-muted); }

@media (max-width: 480px) {
	.aq-gate__card { padding: 28px 22px; }
	.aq-gate__headline { font-size: 22px; }
}

/* ── 23. SINGLE PRODUCT ───────────────────────────────────────────── */
.aq-product { padding: 60px 0 100px; background: var(--aq-white); }
.aq-product__inner {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 56px;
	align-items: flex-start;
}
.aq-product__gallery { position: sticky; top: 100px; }
.aq-gallery {
	position: relative;
	background: var(--aq-grad-hero);
	border-radius: var(--aq-radius-xl);
	overflow: hidden;
	aspect-ratio: 1 / 1;
	display: flex; align-items: center; justify-content: center;
	isolation: isolate;
}
.aq-gallery .aq-lab-grid { opacity: 0.05; z-index: 0; }
.aq-gallery__halo {
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 50% 50%, rgba(142,209,208,0.32) 0%, transparent 60%);
	z-index: 0;
}
.aq-gallery .aq-vial { z-index: 2; }
.aq-gallery__chip {
	position: absolute;
	background: #fff;
	color: var(--aq-text);
	font-size: 12px;
	font-weight: 600;
	padding: 8px 12px;
	border-radius: 999px;
	box-shadow: var(--aq-shadow);
	display: inline-flex; align-items: center; gap: 8px;
	z-index: 3;
	animation: aq-float 6s ease-in-out infinite;
}
.aq-gallery__chip--a { top: 10%; left: 6%; }
.aq-gallery__chip--b { bottom: 12%; right: 6%; animation-delay: -2s; }

.aq-thumbs {
	display: flex;
	gap: 10px;
	margin-top: 14px;
	flex-wrap: wrap;
}
.aq-thumb {
	width: 72px; height: 72px;
	border: 1px solid var(--aq-border);
	border-radius: 10px;
	overflow: hidden;
	padding: 0;
	background: #fff;
	cursor: pointer;
}
.aq-thumb img { width: 100%; height: 100%; object-fit: cover; }
.aq-thumb:hover { border-color: var(--aq-teal); }

.aq-product__summary {}
.aq-product__badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.aq-tag {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 5px 12px;
	border-radius: 999px;
	background: var(--aq-navy);
	color: #fff;
}
.aq-tag--soft { background: var(--aq-bg-alt); color: var(--aq-navy); }
.aq-product__title {
	font-family: var(--aq-font-display);
	font-weight: 600;
	font-size: clamp(28px, 3.6vw, 40px);
	line-height: 1.1;
	margin-bottom: 12px;
}
.aq-product__lede { color: var(--aq-text-soft); font-size: 16px; margin-bottom: 22px; }
.aq-product__price-row { display: flex; align-items: baseline; gap: 10px; margin-bottom: 22px; }
.aq-product__price-label { font-size: 12px; font-weight: 600; color: var(--aq-text-muted); letter-spacing: 0.1em; text-transform: uppercase; }
.aq-product__price { font-size: 24px; font-weight: 800; color: var(--aq-navy); }

.aq-product__compliance {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 14px 16px;
	background: rgba(255, 204, 80, 0.07);
	border: 1px solid rgba(255, 204, 80, 0.3);
	border-radius: var(--aq-radius);
	margin: 14px 0 22px;
}
.aq-product__compliance-icon { color: #b88410; font-size: 18px; }
.aq-product__compliance p { margin: 0; font-size: 12.5px; color: var(--aq-text); font-weight: 600; letter-spacing: 0.04em; }

.aq-acc { display: flex; flex-direction: column; gap: 10px; margin-top: 6px; }
.aq-acc__item {
	background: #fff;
	border: 1px solid var(--aq-border);
	border-radius: var(--aq-radius);
	overflow: hidden;
}
.aq-acc__item summary {
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 18px;
	cursor: pointer;
	font-weight: 600;
	color: var(--aq-text);
}
.aq-acc__item summary::-webkit-details-marker { display: none; }
.aq-acc__item[open] { border-color: var(--aq-teal); }
.aq-acc__item[open] .aq-faq__icon { transform: rotate(180deg); background: var(--aq-teal); color: #fff; }
.aq-acc__body { padding: 0 18px 18px; color: var(--aq-text-soft); font-size: 14.5px; }
.aq-acc__body p { margin: 0 0 8px; }
.aq-acc__body ul { margin: 0; padding-left: 18px; }
.aq-acc__body li { margin-bottom: 6px; }

@media (max-width: 920px) {
	.aq-product__inner { grid-template-columns: 1fr; gap: 32px; }
	.aq-product__gallery { position: static; }
}

/* ── 24. STICKY MOBILE BUY ────────────────────────────────────────── */
.aq-sticky-buy {
	position: fixed;
	left: 0; right: 0; bottom: 0;
	z-index: 80;
	background: #fff;
	border-top: 1px solid var(--aq-border);
	box-shadow: 0 -10px 30px rgba(10,21,48,0.08);
	padding: 12px 16px;
	display: none;
	align-items: center;
	gap: 12px;
	transform: translateY(100%);
	transition: transform var(--aq-dur) var(--aq-ease);
}
.aq-sticky-buy.is-visible { transform: translateY(0); }
.aq-sticky-buy__info { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.aq-sticky-buy__pack { font-size: 13px; font-weight: 700; color: var(--aq-navy); }
.aq-sticky-buy__price { font-size: 12px; color: var(--aq-text-soft); }
.aq-sticky-buy .aq-btn { padding: 12px 18px; font-size: 14px; }

@media (max-width: 768px) { .aq-sticky-buy { display: flex; } main { padding-bottom: 80px; } }

/* ── 25. ABOUT / CONTACT / FAQ / TERMS / COA PAGE ─────────────────── */
.aq-page { padding: 80px 0; }
.aq-page__title {
	font-family: var(--aq-font-display);
	font-weight: 600;
	font-size: clamp(32px, 4.4vw, 48px);
	margin-bottom: 24px;
}
.aq-page__body { font-size: 16px; color: var(--aq-text-soft); }

.aq-about { padding: 80px 0 100px; background: var(--aq-bg); }
.aq-about__inner { display: grid; grid-template-columns: 1.2fr 1fr; gap: 56px; align-items: center; }
.aq-about__text p { font-size: 16px; color: var(--aq-text-soft); }
.aq-about__pills { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 26px; }
.aq-pill {
	display: inline-flex; align-items: center; gap: 6px;
	font-size: 12px; font-weight: 600;
	padding: 7px 14px;
	background: #fff;
	border: 1px solid var(--aq-border);
	border-radius: 999px;
	color: var(--aq-navy);
	letter-spacing: 0.04em;
}
.aq-about__cta { display: flex; flex-wrap: wrap; gap: 12px; }
.aq-about__visual { position: relative; min-height: 420px; display: flex; align-items: center; justify-content: center; border-radius: var(--aq-radius-xl); background: var(--aq-grad-hero); overflow: hidden; isolation: isolate; }
.aq-about__visual .aq-lab-grid { opacity: 0.05; }
@media (max-width: 880px) { .aq-about__inner { grid-template-columns: 1fr; } .aq-about__visual { min-height: 320px; } }

.aq-contact { padding: 80px 0 100px; background: var(--aq-bg); }
.aq-contact__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; }
.aq-contact__card { background: #fff; border: 1px solid var(--aq-border); border-radius: var(--aq-radius); padding: 28px; text-align: center; }
.aq-contact__card:hover { border-color: var(--aq-teal); box-shadow: var(--aq-shadow); }
.aq-contact__icon { width: 52px; height: 52px; border-radius: 50%; background: var(--aq-grad-teal); color: var(--aq-navy-deep); display: inline-flex; align-items: center; justify-content: center; font-size: 22px; margin-bottom: 12px; }
.aq-contact__card h3 { margin-bottom: 8px; }
.aq-contact__card p { font-size: 14px; color: var(--aq-text-soft); margin-bottom: 14px; }
.aq-contact__cta { text-align: center; margin: 40px 0; }

.aq-faqpage { padding: 80px 0 60px; background: var(--aq-bg); }
.aq-faqpage__cta { text-align: center; margin: 40px 0 20px; }
.aq-faqpage__cta p { color: var(--aq-text-soft); margin-bottom: 14px; }

.aq-terms { padding: 80px 0 60px; background: var(--aq-bg); }
.aq-terms__inner { max-width: 780px; margin: 0 auto; }
.aq-terms__body { background: #fff; border: 1px solid var(--aq-border); border-radius: var(--aq-radius-lg); padding: 36px 32px; }
.aq-terms__body h2 { font-size: 19px; margin: 24px 0 10px; color: var(--aq-navy); }
.aq-terms__body h2:first-of-type { margin-top: 0; }
.aq-terms__body p { color: var(--aq-text-soft); font-size: 15px; }
.aq-terms__notice {
	background: var(--aq-navy-deep);
	color: #fff;
	padding: 14px 18px;
	border-radius: var(--aq-radius);
	font-size: 13px;
	letter-spacing: 0.06em;
	text-align: center;
	margin-bottom: 22px;
}

.aq-coapage { padding: 60px 0; background: var(--aq-bg); }
.aq-coapage__card { position: relative; background: var(--aq-grad-dark); color: #fff; border-radius: var(--aq-radius-xl); padding: 48px 40px; overflow: hidden; isolation: isolate; }
.aq-coapage__card .aq-lab-grid { color: #8ed1d0; opacity: 0.1; }
.aq-coapage__head { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 16px; }
.aq-coapage__head h2 { color: #fff; margin: 0; font-family: var(--aq-font-display); font-weight: 600; font-size: clamp(24px, 3.2vw, 32px); }
.aq-coapage__body { color: rgba(255,255,255,0.78); font-size: 16px; max-width: 620px; }
.aq-coapage__note { color: rgba(255,255,255,0.55); font-size: 13px; }
.aq-coapage__cta { margin-top: 26px; }
@media (max-width: 720px) { .aq-coapage__card { padding: 32px 22px; } }

.aq-shoparch { padding: 60px 0 100px; }
.aq-shoparch__featured {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: center;
	background: var(--aq-grad-hero);
	border: 1px solid var(--aq-border);
	border-radius: var(--aq-radius-xl);
	padding: 48px;
	margin-top: 36px;
	overflow: hidden;
	isolation: isolate;
}
.aq-shoparch__visual { position: relative; min-height: 320px; display: flex; align-items: center; justify-content: center; }
.aq-shoparch__text h2 { font-family: var(--aq-font-display); font-weight: 600; font-size: 28px; margin-bottom: 8px; }
.aq-shoparch__price { font-size: 22px; font-weight: 800; color: var(--aq-navy); margin: 14px 0 22px; }
@media (max-width: 880px) { .aq-shoparch__featured { grid-template-columns: 1fr; padding: 28px; } }

/* ── 26. REDUCED MOTION ───────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
	.aq-float, .aq-marquee__track, .aq-hero__halo--soft, .aq-hero__chip, .aq-gallery__chip, .aq-hero__eyebrow .aq-dot { animation: none !important; }
	.aq-reveal { opacity: 1; transform: none; }
}

/* ── 27. UTILITIES ────────────────────────────────────────────────── */
.aq-site-main { display: block; }
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
}

/* ═══════════════════════════════════════════════════════════════════
   28. ENHANCED ANIMATION SYSTEM (v1.1)
   Adds: duo showcase, animated counters, magnetic buttons,
   tilt cards, gradient mesh, scan lines, more chip motion,
   richer hero, stronger hover states.
   ═══════════════════════════════════════════════════════════════════ */

/* ── 28.1 Hero — richer motion ────────────────────────────────────── */
.aq-hero { background: radial-gradient(ellipse 80% 60% at 70% 40%, rgba(142,209,208,0.18) 0%, transparent 60%), var(--aq-grad-hero); }
.aq-hero::before {
	content: '';
	position: absolute;
	inset: -50%;
	background:
		radial-gradient(circle at 20% 30%, rgba(142,209,208,0.12), transparent 35%),
		radial-gradient(circle at 80% 70%, rgba(29,43,95,0.10), transparent 40%),
		radial-gradient(circle at 50% 100%, rgba(111,184,184,0.10), transparent 50%);
	animation: aq-mesh 18s ease-in-out infinite alternate;
	z-index: 0;
	pointer-events: none;
}
@keyframes aq-mesh { 0% { transform: translate(0,0) rotate(0); } 100% { transform: translate(-3%,-2%) rotate(8deg); } }

/* Cursor-reactive glow on the hero vial (set via JS variable) */
.aq-hero__visual { --mx: 50%; --my: 50%; }
.aq-hero__halo {
	background: radial-gradient(circle at var(--mx) var(--my), rgba(142,209,208,0.55) 0%, rgba(111,184,184,0.18) 40%, transparent 72%);
	transition: background-position 0.4s var(--aq-ease);
}

/* Vial tilt — subtle continuous tilt + float */
.aq-tilt { animation: aq-float 5s ease-in-out infinite, aq-tilt 9s ease-in-out infinite; }
@keyframes aq-tilt {
	0%, 100% { transform: rotate(-1.5deg); }
	50%      { transform: rotate(1.5deg); }
}
/* aq-float already exists — extend the chip animations to be more varied */
.aq-hero__chip { transition: transform 0.4s var(--aq-ease); }
.aq-hero__chip:hover { transform: scale(1.05) translateY(-2px); }

/* Particle dots floating in hero */
.aq-hero__particles {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
}
.aq-particle {
	position: absolute;
	width: 4px; height: 4px;
	border-radius: 50%;
	background: var(--aq-teal);
	box-shadow: 0 0 12px var(--aq-teal-bright);
	opacity: 0.6;
	animation: aq-rise 12s linear infinite;
}
.aq-particle:nth-child(1) { left: 12%; bottom: -10px; animation-duration: 14s; animation-delay: 0s; }
.aq-particle:nth-child(2) { left: 28%; bottom: -10px; animation-duration: 16s; animation-delay: -3s; opacity: 0.4; }
.aq-particle:nth-child(3) { left: 44%; bottom: -10px; animation-duration: 13s; animation-delay: -6s; }
.aq-particle:nth-child(4) { left: 62%; bottom: -10px; animation-duration: 18s; animation-delay: -2s; opacity: 0.5; }
.aq-particle:nth-child(5) { left: 78%; bottom: -10px; animation-duration: 15s; animation-delay: -8s; }
.aq-particle:nth-child(6) { left: 90%; bottom: -10px; animation-duration: 17s; animation-delay: -4s; opacity: 0.45; }
@keyframes aq-rise {
	0%   { transform: translateY(0) translateX(0); opacity: 0; }
	10%  { opacity: 0.6; }
	90%  { opacity: 0.4; }
	100% { transform: translateY(-100vh) translateX(20px); opacity: 0; }
}

/* ── 28.2 Buttons — magnetic + animated gradient + shine refresh ─── */
.aq-btn--primary { background-size: 200% 200%; animation: aq-grad 8s ease-in-out infinite; }
@keyframes aq-grad { 0%,100% { background-position: 0% 0%; } 50% { background-position: 100% 100%; } }

.aq-btn--magnetic { transition: transform 0.18s var(--aq-ease); will-change: transform; }
.aq-btn--magnetic:hover { transform: translateY(-3px) scale(1.02); }

/* Soft glow ring under primary button on hover */
.aq-btn--primary { position: relative; }
.aq-btn--primary::after {
	content: '';
	position: absolute;
	inset: -3px;
	border-radius: inherit;
	background: var(--aq-grad-teal);
	z-index: -1;
	opacity: 0;
	filter: blur(14px);
	transition: opacity 0.35s var(--aq-ease);
}
.aq-btn--primary:hover::after { opacity: 0.55; }

/* ── 28.3 Pack cards — tilt + animated border ─────────────────────── */
.aq-pack { transition: transform 0.4s var(--aq-ease), border-color 0.3s var(--aq-ease), box-shadow 0.4s var(--aq-ease); }
.aq-pack::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 2px;
	background: conic-gradient(from var(--angle, 0deg), transparent 0%, var(--aq-teal-bright) 15%, transparent 30%);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	opacity: 0;
	transition: opacity 0.4s var(--aq-ease);
	pointer-events: none;
}
.aq-pack[aria-pressed="true"]::before { opacity: 1; animation: aq-angle 4s linear infinite; }
@property --angle {
	syntax: '<angle>';
	initial-value: 0deg;
	inherits: false;
}
@keyframes aq-angle { to { --angle: 360deg; } }

.aq-pack[aria-pressed="true"] .aq-pack__count {
	background: var(--aq-grad-teal);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	animation: aq-bounce 0.4s var(--aq-ease);
}
@keyframes aq-bounce { 0% { transform: scale(0.92); } 50% { transform: scale(1.08); } 100% { transform: scale(1); } }

.aq-pack:hover:not(:disabled) .aq-pack__count { color: var(--aq-teal-deep); transition: color 0.3s var(--aq-ease); }

/* ── 28.4 Feature cards — 3D-feel tilt + icon spin ────────────────── */
.aq-feat { transition: transform 0.4s var(--aq-ease), border-color 0.3s var(--aq-ease), box-shadow 0.4s var(--aq-ease); transform-style: preserve-3d; }
.aq-feat:hover .aq-feat__icon {
	transform: rotateY(180deg) scale(1.08);
	background: linear-gradient(135deg, var(--aq-navy) 0%, var(--aq-teal-deep) 100%);
	color: #fff;
}
.aq-feat__icon { transition: transform 0.6s var(--aq-ease), background 0.4s var(--aq-ease), color 0.4s var(--aq-ease); transform-style: preserve-3d; }

/* ── 28.5 COA card — scan line + stamp pulse ──────────────────────── */
.aq-coa__card { position: relative; }
.aq-coa__card::after {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 2px;
	background: linear-gradient(90deg, transparent 0%, var(--aq-teal-bright) 50%, transparent 100%);
	box-shadow: 0 0 24px var(--aq-teal-bright);
	animation: aq-scan 4s ease-in-out infinite;
}
@keyframes aq-scan {
	0%   { transform: translateY(0); opacity: 0; }
	10%  { opacity: 1; }
	90%  { opacity: 1; }
	100% { transform: translateY(400px); opacity: 0; }
}
.aq-coa__doc-stamp { animation: aq-stamp 6s ease-in-out infinite; }
@keyframes aq-stamp {
	0%, 100% { transform: rotate(-12deg) scale(1); }
	50%      { transform: rotate(-8deg)  scale(1.06); }
}
.aq-coa__doc-line { position: relative; overflow: hidden; }
.aq-coa__doc-line::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.18) 50%, transparent 100%);
	animation: aq-shimmer 3s ease-in-out infinite;
}
@keyframes aq-shimmer { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }

/* ── 28.6 Compliance — animated diagonal warning band ─────────────── */
.aq-compliance {
	background:
		repeating-linear-gradient(135deg, rgba(255,204,80,0.04) 0 12px, transparent 12px 28px),
		var(--aq-navy-deep);
	position: relative;
}
.aq-compliance__icon { animation: aq-warn 2.4s ease-in-out infinite; }
@keyframes aq-warn {
	0%, 100% { transform: scale(1);    box-shadow: 0 0 0 0 rgba(255,204,80,0.4); }
	50%      { transform: scale(1.06); box-shadow: 0 0 0 8px rgba(255,204,80,0); }
}

/* ── 28.7 Storage cards — stagger + icon flip ─────────────────────── */
.aq-storage__card { transition: transform 0.4s var(--aq-ease), border-color 0.3s var(--aq-ease); }
.aq-storage__card:hover .aq-storage__icon { transform: rotate(360deg); }
.aq-storage__icon { transition: transform 0.7s var(--aq-ease); }

/* ── 28.8 Final CTA — glow shift ──────────────────────────────────── */
.aq-final::before {
	content: '';
	position: absolute;
	inset: -50%;
	background: radial-gradient(circle at 30% 50%, rgba(142,209,208,0.18), transparent 40%);
	animation: aq-mesh 24s linear infinite;
	z-index: 0;
	pointer-events: none;
}
.aq-final__title { animation: none; }

/* ── 28.9 Marquee — dual direction strip ──────────────────────────── */
.aq-marquee { position: relative; overflow: hidden; }
.aq-marquee::before, .aq-marquee::after {
	content: '';
	position: absolute;
	top: 0; bottom: 0;
	width: 80px;
	z-index: 2;
	pointer-events: none;
}
.aq-marquee::before { left: 0;  background: linear-gradient(90deg, var(--aq-navy-deep), transparent); }
.aq-marquee::after  { right: 0; background: linear-gradient(270deg, var(--aq-navy-deep), transparent); }

/* ── 28.10 Section dividers — soft wave between sections ──────────── */
.aq-divider {
	position: relative;
	height: 60px;
	overflow: hidden;
	margin: -1px 0;
}
.aq-divider svg { width: 100%; height: 100%; }

/* ── 28.11 Animated text — typing-cursor effect for accent words ──── */
.aq-text-italic { font-style: italic; }
.aq-hero__accent {
	position: relative;
	display: inline-block;
}
.aq-hero__accent::after {
	content: '';
	position: absolute;
	bottom: 0.04em;
	left: 0; right: 0;
	height: 3px;
	background: var(--aq-grad-teal);
	border-radius: 3px;
	transform: scaleX(0);
	transform-origin: left center;
	animation: aq-underline 1.6s 0.5s var(--aq-ease-out) forwards;
}
@keyframes aq-underline { to { transform: scaleX(1); } }

/* ── 28.12 DUO SHOWCASE SECTION ───────────────────────────────────── */
.aq-duo {
	position: relative;
	padding: 100px 0 120px;
	background: var(--aq-grad-dark);
	color: #fff;
	overflow: hidden;
	isolation: isolate;
}
.aq-duo .aq-lab-grid { color: #8ed1d0; opacity: 0.07; }
.aq-duo__bg-glow {
	position: absolute;
	top: 20%; left: -10%;
	width: 800px; height: 800px;
	background: radial-gradient(circle, rgba(142,209,208,0.22) 0%, transparent 60%);
	filter: blur(60px);
	z-index: 0;
	animation: aq-mesh 22s ease-in-out infinite alternate;
}
.aq-duo__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: 64px;
	align-items: center;
}
.aq-duo__text .aq-eyebrow { color: var(--aq-teal-bright); }
.aq-duo__text .aq-eyebrow .aq-dot { background: var(--aq-teal-bright); }
.aq-duo__text .aq-section-title { color: #fff; text-align: left; margin: 16px 0 18px; max-width: 100%; }
.aq-section-sub--left { text-align: left; max-width: 540px; margin: 0 0 32px; color: rgba(255,255,255,0.78); }
.aq-duo__cta { margin-top: 32px; }

.aq-duo__stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	margin: 28px 0 0;
}
.aq-duo__stat {
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: var(--aq-radius);
	padding: 18px 16px;
	text-align: left;
	backdrop-filter: blur(6px);
	transition: transform 0.4s var(--aq-ease), border-color 0.3s var(--aq-ease), background-color 0.3s var(--aq-ease);
}
.aq-duo__stat:hover { transform: translateY(-3px); border-color: rgba(142,209,208,0.5); background: rgba(255,255,255,0.07); }
.aq-duo__stat-n {
	display: block;
	font-family: var(--aq-font-display);
	font-weight: 600;
	font-size: 38px;
	line-height: 1;
	color: var(--aq-teal-bright);
	letter-spacing: -0.02em;
	margin-bottom: 6px;
}
.aq-duo__stat-l {
	display: block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.6);
}

.aq-duo__visual {
	position: relative;
	min-height: 520px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.aq-duo__img {
	position: relative;
	z-index: 2;
	max-width: 100%;
	max-height: 540px;
	width: auto;
	filter: drop-shadow(0 40px 60px rgba(0,0,0,0.45));
}
.aq-duo__halo {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	filter: blur(30px);
}
.aq-duo__halo--a {
	width: 500px; height: 500px;
	background: radial-gradient(circle, rgba(142,209,208,0.35) 0%, transparent 65%);
	animation: aq-pulse-halo 6s ease-in-out infinite;
}
.aq-duo__halo--b {
	width: 320px; height: 320px;
	background: radial-gradient(circle, rgba(29,43,95,0.4) 0%, transparent 65%);
	animation: aq-pulse-halo 8s ease-in-out infinite reverse;
	bottom: 6%; right: 6%;
}
@keyframes aq-pulse-halo {
	0%, 100% { opacity: 0.7; transform: scale(1); }
	50%      { opacity: 1;   transform: scale(1.08); }
}
.aq-duo__rings {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
}
.aq-duo__rings span {
	position: absolute;
	border-radius: 50%;
	border: 1px solid rgba(142,209,208,0.25);
	animation: aq-ring-pulse 4s ease-out infinite;
}
.aq-duo__rings span:nth-child(1) { width: 320px; height: 320px; animation-delay: 0s; }
.aq-duo__rings span:nth-child(2) { width: 320px; height: 320px; animation-delay: 1.3s; }
.aq-duo__rings span:nth-child(3) { width: 320px; height: 320px; animation-delay: 2.6s; }
@keyframes aq-ring-pulse {
	0%   { transform: scale(0.6); opacity: 0.8; }
	100% { transform: scale(1.8); opacity: 0; }
}
.aq-duo__chip {
	position: absolute;
	z-index: 3;
	background: rgba(255,255,255,0.96);
	color: var(--aq-text);
	font-size: 12px;
	font-weight: 600;
	padding: 9px 14px;
	border-radius: 999px;
	box-shadow: 0 12px 28px rgba(0,0,0,0.25);
	display: inline-flex; align-items: center; gap: 8px;
	animation: aq-float 6s ease-in-out infinite;
}
.aq-duo__chip--a { top: 8%;  left: 0%;  animation-delay: -1s; }
.aq-duo__chip--b { top: 48%; right: -2%; animation-delay: -2.5s; }
.aq-duo__chip--c { bottom: 10%; left: 8%; animation-delay: -3.8s; }

@media (max-width: 920px) {
	.aq-duo { padding: 60px 0 80px; }
	.aq-duo__inner { grid-template-columns: 1fr; gap: 36px; }
	.aq-duo__text .aq-section-title { text-align: center; }
	.aq-section-sub--left { text-align: center; margin-left: auto; margin-right: auto; }
	.aq-duo__cta { display: flex; justify-content: center; }
	.aq-duo__stats { grid-template-columns: repeat(2, 1fr); }
	.aq-duo__visual { min-height: 380px; order: -1; }
	.aq-duo__img { max-height: 360px; }
	.aq-duo__halo--a { width: 320px; height: 320px; }
	.aq-duo__rings span { width: 220px !important; height: 220px !important; }
}

/* ── 28.13 Stat counter — emphasis ────────────────────────────────── */
.aq-duo__stat-n.is-counting { color: #fff; }

/* ── 28.14 Cart icon pulse on add ─────────────────────────────────── */
.aq-cart.is-bump { animation: aq-cart-bump 0.55s var(--aq-ease); }
@keyframes aq-cart-bump {
	0%   { transform: scale(1);    }
	30%  { transform: scale(1.18); }
	60%  { transform: scale(0.96); }
	100% { transform: scale(1);    }
}

/* ── 28.15 Section title underline accent ─────────────────────────── */
.aq-section-title { position: relative; }
.aq-section-head .aq-section-title::after {
	content: '';
	display: block;
	width: 56px;
	height: 3px;
	background: var(--aq-grad-teal);
	border-radius: 3px;
	margin: 18px auto 0;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 0.6s var(--aq-ease), transform 0.6s var(--aq-ease);
}
.aq-reveal.is-revealed .aq-section-title::after,
.aq-section-head.is-revealed .aq-section-title::after { opacity: 1; transform: translateY(0); }

/* ── 28.16 Drawer link hover slide ────────────────────────────────── */
.aq-drawer__nav a { position: relative; transition: padding-left 0.3s var(--aq-ease), color 0.3s var(--aq-ease); }
.aq-drawer__nav a:hover { padding-left: 32px; }
.aq-drawer__nav a::before {
	content: '→';
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%) translateX(-12px);
	color: var(--aq-teal);
	opacity: 0;
	transition: transform 0.3s var(--aq-ease), opacity 0.3s var(--aq-ease);
}
.aq-drawer__nav a:hover::before { transform: translateY(-50%) translateX(0); opacity: 1; }

/* ── 28.17 Cart count bounce on update ────────────────────────────── */
.aq-cart__count.is-bump { animation: aq-bounce 0.4s var(--aq-ease); }

/* ── 28.18 Topstrip subtle motion ─────────────────────────────────── */
.aq-topstrip__item--center { position: relative; overflow: hidden; }
.aq-topstrip__item--center::after {
	content: '';
	position: absolute; left: -100%; top: 0; bottom: 0; width: 60%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,0.08), transparent);
	animation: aq-strip-shine 8s ease-in-out infinite;
}
@keyframes aq-strip-shine {
	0%, 60%, 100% { left: -100%; }
	75%           { left: 130%; }
}

/* ── 28.19 Reduced motion overrides for new animations ────────────── */
@media (prefers-reduced-motion: reduce) {
	.aq-hero::before, .aq-final::before, .aq-duo__bg-glow,
	.aq-tilt, .aq-particle, .aq-duo__halo--a, .aq-duo__halo--b,
	.aq-duo__rings span, .aq-coa__card::after, .aq-coa__doc-stamp,
	.aq-coa__doc-line::after, .aq-compliance__icon, .aq-storage__card:hover .aq-storage__icon,
	.aq-feat:hover .aq-feat__icon, .aq-btn--primary, .aq-pack[aria-pressed="true"]::before,
	.aq-topstrip__item--center::after, .aq-hero__accent::after { animation: none !important; }
}

/* ═══════════════════════════════════════════════════════════════════
   29. NEW VIAL VARIANTS — duo & trio sizing
   ═══════════════════════════════════════════════════════════════════ */
.aq-vial--trio,
.aq-vial--duo {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 100%;
}
.aq-vial--trio .aq-vial__img { max-height: 380px; max-width: 100%; width: auto; }
.aq-vial--duo  .aq-vial__img { max-height: 440px; max-width: 100%; width: auto; }
.aq-vial--trio .aq-vial__glow,
.aq-vial--duo  .aq-vial__glow {
	position: absolute;
	inset: 8% 8%;
	background: radial-gradient(circle, rgba(142,209,208,0.32) 0%, transparent 65%);
	filter: blur(36px);
	z-index: -1;
}
@media (max-width: 768px) {
	.aq-vial--trio .aq-vial__img { max-height: 280px; }
	.aq-vial--duo  .aq-vial__img { max-height: 320px; }
}
@media (max-width: 480px) {
	.aq-vial--trio .aq-vial__img { max-height: 240px; }
	.aq-vial--duo  .aq-vial__img { max-height: 280px; }
}

/* ═══════════════════════════════════════════════════════════════════
   30. MOBILE RESCUE — pack cards, hero, sections, no overflow
   ═══════════════════════════════════════════════════════════════════ */

/* Universal overflow protection */
html, body.aq-body { max-width: 100vw; overflow-x: hidden; }
img, svg { max-width: 100%; height: auto; }

/* Pack card — fix the clipping reported in screenshots */
@media (max-width: 768px) {
	.aq-pack {
		padding: 18px 14px 16px;
		border-width: 1.5px;
	}
	.aq-pack__count { font-size: 34px; }
	.aq-pack__unit  { font-size: 11px; }
	.aq-pack__label { font-size: 11.5px; letter-spacing: 0.05em; }
	.aq-pack__desc  {
		font-size: 12.5px;
		min-height: 0;
		margin-bottom: 10px;
		line-height: 1.45;
	}
	.aq-pack__ribbon {
		font-size: 9px;
		padding: 3px 8px;
		top: 8px; right: 8px;
		letter-spacing: 0.08em;
	}
	/* CRITICAL — stack price + ship vertically so neither clips */
	.aq-pack__meta {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
		padding-top: 10px;
	}
	.aq-pack__price { font-size: 16px; }
	.aq-pack__ship  { font-size: 10.5px; letter-spacing: 0.06em; }
	.aq-pack__check {
		width: 18px; height: 18px;
		bottom: 10px; right: 10px;
	}
}
@media (max-width: 480px) {
	.aq-pack { padding: 16px 12px 14px; }
	.aq-pack__count { font-size: 30px; }
	.aq-pack__desc  { display: none; }
	.aq-pack__head  { margin-bottom: 8px; gap: 4px; }
	.aq-pack__label { margin-bottom: 4px; }
}
@media (max-width: 360px) {
	.aq-packgrid { grid-template-columns: 1fr; }
}

/* Add-to-cart form on mobile */
@media (max-width: 768px) {
	.aq-add-form { padding: 18px 14px; }
	.aq-add-form__selected {
		padding: 12px 14px;
		font-size: 13px;
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}
	.aq-selected__price { margin-left: 0; font-size: 16px; }
	.aq-add-form__fineprint { font-size: 11px; }
}

/* Hero mobile tightening */
@media (max-width: 768px) {
	.aq-hero { padding: 40px 0 56px; }
	.aq-hero__title { font-size: clamp(30px, 8vw, 46px); }
	.aq-hero__sub   { font-size: 15.5px; padding: 0 4px; }
	.aq-hero__badges { justify-content: center; gap: 6px 14px; }
	.aq-hero__badges li { font-size: 12px; }
	.aq-hero__cta { gap: 10px; flex-wrap: wrap; justify-content: center; }
	.aq-hero__cta .aq-btn { flex: 1 1 auto; min-width: 0; }
	.aq-hero__eyebrow { font-size: 11px; padding: 6px 12px; }
}
@media (max-width: 480px) {
	.aq-hero__cta .aq-btn { font-size: 14px; padding: 13px 18px; }
}

/* Section heads on mobile */
@media (max-width: 768px) {
	.aq-section-head { margin-bottom: 36px; padding: 0 8px; }
	.aq-section-title { font-size: clamp(24px, 7vw, 36px); }
	.aq-section-sub { font-size: 15px; }
}

/* Shop section */
@media (max-width: 768px) {
	.aq-shop { padding: 60px 0; }
}

/* Why grid */
@media (max-width: 768px) {
	.aq-why { padding: 60px 0; }
	.aq-feat-grid { gap: 14px; }
	.aq-feat { padding: 22px 20px; }
	.aq-feat__title { font-size: 16px; }
	.aq-feat__body  { font-size: 13.5px; }
}
@media (max-width: 480px) {
	.aq-feat-grid { grid-template-columns: 1fr; }
}

/* COA card mobile */
@media (max-width: 768px) {
	.aq-coa { padding: 60px 0; }
	.aq-coa__card { padding: 30px 22px; border-radius: var(--aq-radius-lg); }
	.aq-coa__title { font-size: clamp(22px, 6.4vw, 30px); }
	.aq-coa__points { grid-template-columns: 1fr; }
	.aq-coa__head { flex-direction: column; align-items: flex-start; gap: 12px; }
	.aq-coa__placeholder { margin: 20px 0; }
	.aq-coa__doc { padding: 22px 22px 26px; }
}

/* Compliance band */
@media (max-width: 580px) {
	.aq-compliance { padding: 28px 0; }
	.aq-compliance__title { font-size: 17px; }
	.aq-compliance__body  { font-size: 13.5px; }
}

/* Details section + trio image */
@media (max-width: 768px) {
	.aq-details { padding: 60px 0; }
	.aq-details__grid { gap: 32px; }
	.aq-details__visual { min-height: 280px; }
}

/* Storage cards */
@media (max-width: 768px) {
	.aq-storage { padding: 60px 0; }
	.aq-storage__card { padding: 22px 20px; }
	.aq-storage__card h3 { font-size: 14.5px; }
	.aq-storage__card p  { font-size: 13px; }
}

/* Final CTA with duo image */
@media (max-width: 768px) {
	.aq-final { padding: 60px 0; }
	.aq-final__inner { gap: 28px; text-align: center; }
	.aq-final__vial  { display: flex; justify-content: center; }
	.aq-final__title { font-size: clamp(24px, 7vw, 36px); }
	.aq-final__sub   { font-size: 15px; }
	.aq-final__cta   { display: flex; justify-content: center; }
	.aq-final__cta .aq-btn { width: 100%; justify-content: center; }
}

/* Footer mobile */
@media (max-width: 768px) {
	.aq-footer__top { padding: 48px 20px 28px; gap: 28px; }
	.aq-footer__cols { gap: 22px; }
	.aq-footer__col h4 { font-size: 12px; }
	.aq-footer__col a  { font-size: 13px; }
	.aq-footer__bottom-inner { gap: 10px; text-align: center; }
}

/* Marquee mobile */
@media (max-width: 580px) {
	.aq-marquee { padding: 11px 0; }
	.aq-marquee__track { font-size: 11px; gap: 18px; }
}

/* Topstrip mobile */
@media (max-width: 580px) {
	.aq-topstrip__inner { padding: 7px 0; font-size: 10px; }
	.aq-topstrip__item--center { letter-spacing: 0.04em; font-size: 10px; }
}

/* Header mobile — wordmark + actions */
@media (max-width: 580px) {
	.aq-header__inner { padding: 10px 16px; gap: 10px; }
	.aq-wordmark--md { font-size: 22px; }
	.aq-header__actions { gap: 8px; }
	.aq-header__actions .aq-btn--pill { display: none; }
}

/* Container padding on phones */
@media (max-width: 480px) {
	.aq-container { padding: 0 16px; }
}

/* Page templates mobile */
@media (max-width: 768px) {
	.aq-about__inner { gap: 30px; }
	.aq-about__visual { min-height: 280px; }
	.aq-coapage__card { padding: 30px 22px; }
	.aq-contact__grid { gap: 14px; }
	.aq-terms__body { padding: 24px 20px; }
}

/* ═══════════════════════════════════════════════════════════════════
   v2 — ROTATING TRUST BAR (replaces topstrip visually, keeps compliance)
   ═══════════════════════════════════════════════════════════════════ */
.aq-trustbar {
	background: var(--aq-grad-dark);
	color: var(--aq-white);
	font-size: 12px;
	letter-spacing: 0.04em;
	border-bottom: 1px solid rgba(255,255,255,0.06);
	overflow: hidden;
}
.aq-trustbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 10px 0;
	min-height: 38px;
}
.aq-trustbar__track {
	display: flex;
	align-items: center;
	gap: 32px;
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
	animation: aq-trustbar-scroll 30s linear infinite;
}
.aq-trustbar__item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
	opacity: 0.92;
	color: var(--aq-teal-bright);
}
.aq-trustbar__item span { color: var(--aq-white); }
.aq-trustbar__compliance {
	font-size: 10.5px;
	letter-spacing: 0.10em;
	color: var(--aq-teal-bright);
	white-space: nowrap;
	flex-shrink: 0;
}
@keyframes aq-trustbar-scroll {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}
@media (max-width: 580px) {
	.aq-trustbar__inner { padding: 8px 0; }
	.aq-trustbar__compliance { display: none; }
	.aq-trustbar__track { animation-duration: 18s; gap: 22px; }
	.aq-trustbar__item { font-size: 11px; }
}
/* Hide legacy top compliance strip if it still gets rendered */
.aq-topstrip { display: none !important; }

/* ═══════════════════════════════════════════════════════════════════
   v2 — MOBILE FLOATING CART (top-right corner)
   ═══════════════════════════════════════════════════════════════════ */
.aq-cart--mobile-float {
	display: none;
	position: fixed;
	top: 14px;
	right: 14px;
	z-index: 80;
	width: 46px;
	height: 46px;
	border-radius: 14px;
	background: var(--aq-grad-navy);
	color: var(--aq-white);
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 22px rgba(10,21,48,0.28);
	transition: transform 200ms var(--aq-ease);
}
.aq-cart--mobile-float:hover { transform: translateY(-2px); }
.aq-cart--mobile-float svg { stroke: var(--aq-white); }
.aq-cart--mobile-float .aq-cart__count {
	position: absolute;
	top: -4px;
	right: -4px;
	min-width: 20px;
	height: 20px;
	border-radius: 999px;
	background: var(--aq-teal-bright);
	color: var(--aq-navy-deep);
	font-size: 11px;
	font-weight: 800;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 6px;
}
@media (max-width: 768px) {
	.aq-cart--mobile-float { display: inline-flex; }
	.aq-cart--desktop { display: none !important; }
	.aq-header__shop { display: none !important; }
	.aq-header__account { display: none !important; }
}

/* ═══════════════════════════════════════════════════════════════════
   v2 — SHIPPING PROMISE COMPONENT
   ═══════════════════════════════════════════════════════════════════ */
.aq-ship-promise {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 18px;
	margin: 18px 0 22px;
	background: linear-gradient(180deg, rgba(111,184,184,0.08), rgba(111,184,184,0.04));
	border: 1px solid rgba(111,184,184,0.28);
	border-radius: var(--aq-radius);
	color: var(--aq-navy-deep);
	position: relative;
	overflow: hidden;
}
.aq-ship-promise::before {
	content: '';
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 3px;
	background: var(--aq-grad-teal);
}
.aq-ship-promise__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px; height: 38px;
	border-radius: 12px;
	background: var(--aq-grad-teal);
	color: var(--aq-navy-deep);
	flex-shrink: 0;
}
.aq-ship-promise__body { flex: 1 1 auto; min-width: 0; }
.aq-ship-promise__line {
	display: flex;
	align-items: baseline;
	gap: 6px;
	flex-wrap: wrap;
}
.aq-ship-promise__lead {
	font-weight: 700;
	font-size: 15px;
	color: var(--aq-navy-deep);
}
.aq-ship-promise__countdown {
	display: inline-block;
	background: var(--aq-navy-deep);
	color: var(--aq-teal-bright);
	padding: 3px 10px;
	border-radius: 8px;
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.02em;
	min-width: 56px;
	text-align: center;
}
.aq-ship-promise__lead-sub {
	font-size: 14px;
	color: var(--aq-text-soft);
}
.aq-ship-promise__sub {
	margin-top: 4px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: var(--aq-text-soft);
	letter-spacing: 0.02em;
}
.aq-ship-promise__dot {
	width: 6px; height: 6px;
	border-radius: 50%;
	background: var(--aq-teal-deep);
	box-shadow: 0 0 0 4px rgba(111,184,184,0.18);
	animation: aq-pulse-dot 2s ease-in-out infinite;
}
@keyframes aq-pulse-dot {
	0%, 100% { box-shadow: 0 0 0 4px rgba(111,184,184,0.18); }
	50% { box-shadow: 0 0 0 8px rgba(111,184,184,0.05); }
}
.aq-ship-promise__free {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 6px 10px;
	border-radius: 999px;
	background: var(--aq-navy-deep);
	color: var(--aq-teal-bright);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.aq-ship-promise--compact { padding: 10px 14px; margin: 12px 0; }
.aq-ship-promise--wide { padding: 16px 22px; margin: 22px 0 0; }
@media (max-width: 580px) {
	.aq-ship-promise { gap: 12px; padding: 12px 14px; }
	.aq-ship-promise__icon { width: 34px; height: 34px; }
	.aq-ship-promise__lead { font-size: 14px; }
	.aq-ship-promise__lead-sub { font-size: 13px; }
	.aq-ship-promise__free { display: none; }
}

/* ═══════════════════════════════════════════════════════════════════
   v2 — SUBSCRIBE POPUP (after age gate)
   ═══════════════════════════════════════════════════════════════════ */
.aq-subpop {
	position: fixed;
	inset: 0;
	z-index: 9998;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 240ms var(--aq-ease);
}
.aq-subpop[data-state="visible"] { opacity: 1; pointer-events: auto; }
.aq-subpop__veil {
	position: absolute;
	inset: 0;
	background: rgba(10,21,48,0.78);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}
.aq-subpop__card {
	position: relative;
	display: grid;
	grid-template-columns: 240px 1fr;
	max-width: 760px;
	width: 100%;
	background: var(--aq-white);
	border-radius: var(--aq-radius-xl);
	overflow: hidden;
	box-shadow: 0 40px 80px rgba(0,0,0,0.42);
	transform: scale(0.96) translateY(12px);
	transition: transform 320ms var(--aq-ease-out);
}
.aq-subpop[data-state="visible"] .aq-subpop__card { transform: scale(1) translateY(0); }
.aq-subpop__glow {
	position: absolute;
	top: -120px; left: 50%;
	transform: translateX(-50%);
	width: 320px; height: 320px;
	background: radial-gradient(circle, rgba(142,209,208,0.35), transparent 70%);
	pointer-events: none;
}
.aq-subpop__close {
	position: absolute;
	top: 12px; right: 14px;
	width: 30px; height: 30px;
	border-radius: 999px;
	background: rgba(10,21,48,0.06);
	color: var(--aq-text);
	border: 0;
	cursor: pointer;
	font-size: 22px;
	line-height: 1;
	font-weight: 400;
	z-index: 2;
	transition: background 160ms var(--aq-ease);
}
.aq-subpop__close:hover { background: rgba(10,21,48,0.14); }
.aq-subpop__media {
	background: var(--aq-grad-dark);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 36px 20px;
	position: relative;
	overflow: hidden;
}
.aq-subpop__halo {
	position: absolute;
	width: 240px; height: 240px;
	background: radial-gradient(circle, rgba(142,209,208,0.45), transparent 70%);
	border-radius: 50%;
}
.aq-subpop__media img {
	max-width: 100%;
	max-height: 240px;
	object-fit: contain;
	position: relative;
	filter: drop-shadow(0 18px 24px rgba(0,0,0,0.4));
	animation: aq-float 6s ease-in-out infinite;
}
.aq-subpop__content {
	padding: 40px 36px 32px;
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.aq-subpop__eyebrow {
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--aq-teal-deep);
	font-weight: 700;
	margin-bottom: 8px;
}
.aq-subpop__head {
	font-family: var(--aq-font-display);
	font-size: 32px;
	line-height: 1.1;
	color: var(--aq-navy-deep);
	margin: 0 0 8px;
	font-weight: 600;
}
.aq-subpop__sub {
	color: var(--aq-text-soft);
	margin: 0 0 18px;
	font-size: 14px;
	line-height: 1.5;
}
.aq-subpop__form { display: flex; flex-direction: column; gap: 12px; }
.aq-subpop__field { display: flex; flex-direction: column; gap: 5px; }
.aq-subpop__label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--aq-text-soft);
}
.aq-subpop__field input {
	padding: 12px 14px;
	border-radius: 10px;
	border: 1.5px solid var(--aq-border);
	background: var(--aq-white);
	font-family: inherit;
	font-size: 14px;
	color: var(--aq-text);
	transition: border-color 160ms var(--aq-ease), box-shadow 160ms var(--aq-ease);
}
.aq-subpop__field input:focus {
	outline: 0;
	border-color: var(--aq-teal-deep);
	box-shadow: 0 0 0 3px rgba(111,184,184,0.18);
}
.aq-subpop__consent {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 11.5px;
	color: var(--aq-text-soft);
	line-height: 1.5;
	margin: 4px 0 4px;
}
.aq-subpop__consent input { margin-top: 2px; flex-shrink: 0; }
.aq-subpop__nope {
	background: transparent;
	border: 0;
	color: var(--aq-text-muted);
	cursor: pointer;
	font-size: 12px;
	margin-top: 4px;
	padding: 6px;
	transition: color 160ms var(--aq-ease);
}
.aq-subpop__nope:hover { color: var(--aq-text-soft); }
.aq-subpop__fineprint {
	margin: 8px 0 0;
	font-size: 9.5px;
	letter-spacing: 0.10em;
	color: var(--aq-text-muted);
	text-align: center;
}
.aq-subpop__success {
	padding: 12px 0;
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: center;
}
.aq-subpop__success h3 {
	margin: 0;
	font-family: var(--aq-font-display);
	font-size: 28px;
	color: var(--aq-navy-deep);
}
.aq-subpop__check {
	width: 64px; height: 64px;
	border-radius: 50%;
	background: var(--aq-grad-teal);
	color: var(--aq-navy-deep);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	animation: aq-pop 360ms var(--aq-ease-out);
}
@keyframes aq-pop {
	0% { transform: scale(0.3); opacity: 0; }
	100% { transform: scale(1); opacity: 1; }
}
.aq-subpop__code-wrap {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 14px;
	background: var(--aq-bg);
	border: 1.5px dashed var(--aq-teal-deep);
	border-radius: 12px;
	width: 100%;
}
.aq-subpop__code {
	flex: 1 1 auto;
	font-family: 'SFMono-Regular', Consolas, monospace;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--aq-navy-deep);
	text-align: left;
}
.aq-subpop__copy {
	background: var(--aq-navy-deep);
	color: var(--aq-white);
	border: 0;
	padding: 8px 14px;
	border-radius: 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	cursor: pointer;
	transition: background 160ms var(--aq-ease);
}
.aq-subpop__copy:hover { background: var(--aq-navy); }
.aq-subpop__success-sub { font-size: 13px; color: var(--aq-text-soft); margin: 0; }

@media (max-width: 640px) {
	.aq-subpop__card { grid-template-columns: 1fr; max-width: 460px; }
	.aq-subpop__media { padding: 24px 20px; }
	.aq-subpop__media img { max-height: 140px; }
	.aq-subpop__content { padding: 24px 22px; }
	.aq-subpop__head { font-size: 24px; }
	.aq-subpop__halo { width: 200px; height: 200px; }
}

/* ═══════════════════════════════════════════════════════════════════
   v2 — STARS
   ═══════════════════════════════════════════════════════════════════ */
.aq-stars { display: inline-flex; gap: 1px; color: #d8a526; font-size: 16px; line-height: 1; }
.aq-stars--sm { font-size: 13px; }
.aq-stars__star { color: rgba(0,0,0,0.12); }
.aq-stars__star.is-full { color: #f4b923; }
.aq-stars__star.is-half {
	background: linear-gradient(90deg, #f4b923 50%, rgba(0,0,0,0.12) 50%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

.aq-pulse {
	display: inline-block;
	width: 7px; height: 7px;
	border-radius: 50%;
	background: #2ecc71;
	box-shadow: 0 0 0 0 rgba(46, 204, 113, 0.55);
	animation: aq-live-pulse 1.6s ease-in-out infinite;
	flex-shrink: 0;
}
@keyframes aq-live-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(46, 204, 113, 0.55); }
	50% { box-shadow: 0 0 0 6px rgba(46, 204, 113, 0); }
}

/* ═══════════════════════════════════════════════════════════════════
   v2 — PRODUCT PAGE additions: social / trust strip / price-ship
   ═══════════════════════════════════════════════════════════════════ */
.aq-product__price-ship {
	margin-left: 12px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: var(--aq-teal-deep);
	text-transform: uppercase;
}
.aq-product__social {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: var(--aq-text-soft);
	margin: -8px 0 4px;
	flex-wrap: wrap;
}
.aq-product__social-count { font-weight: 600; color: var(--aq-text); }
.aq-product__social-sep { color: var(--aq-text-muted); }
.aq-product__social-live {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--aq-navy);
	font-weight: 600;
}
.aq-product__trust {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	padding: 14px;
	background: var(--aq-bg);
	border: 1px solid var(--aq-border);
	border-radius: var(--aq-radius);
	margin-bottom: 22px;
}
.aq-product__trust-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: var(--aq-navy-deep);
	text-align: center;
}
.aq-product__trust-item svg { color: var(--aq-teal-deep); }
@media (max-width: 580px) {
	.aq-product__trust { grid-template-columns: repeat(3, 1fr); padding: 12px 8px; gap: 6px; }
	.aq-product__trust-item { font-size: 10.5px; }
}

/* Restock notify button on disabled pack cards */
.aq-pack__notify {
	position: absolute;
	bottom: 8px; left: 50%;
	transform: translateX(-50%);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--aq-teal-deep);
	background: rgba(111, 184, 184, 0.12);
	padding: 4px 9px;
	border-radius: 999px;
	cursor: pointer;
	pointer-events: auto;
	white-space: nowrap;
}
.aq-pack { position: relative; }

/* Product card "borderless float" cleanup — softer edges, no harsh border */
.aq-pack:not(.aq-pack--disabled) {
	background: var(--aq-white);
	border: 1px solid transparent;
	box-shadow: 0 4px 16px rgba(10,21,48,0.06);
	transition: transform 0.25s var(--aq-ease), box-shadow 0.25s var(--aq-ease), border-color 0.25s var(--aq-ease);
}
.aq-pack:not(.aq-pack--disabled):hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 32px rgba(10,21,48,0.12);
	border-color: rgba(111,184,184,0.45);
}
.aq-pack.is-selected,
.aq-pack[aria-pressed="true"] {
	border-color: var(--aq-teal-deep);
	box-shadow: 0 0 0 3px rgba(111,184,184,0.18), 0 12px 28px rgba(10,21,48,0.14);
}

/* 200-pack support — 3x2 grid on desktop */
.aq-packgrid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
}
@media (max-width: 980px) {
	.aq-packgrid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
	.aq-packgrid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 380px) {
	.aq-packgrid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════════════
   v2 — HERO additions: 3-icon strip + price strip
   ═══════════════════════════════════════════════════════════════════ */
.aq-hero__icons {
	display: flex;
	gap: 18px;
	margin: 18px 0 14px;
	flex-wrap: wrap;
}
.aq-hero__icon-item {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--aq-navy-deep);
	text-transform: uppercase;
}
.aq-hero__icon-item svg { color: var(--aq-teal-deep); }
.aq-hero__price-strip {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 16px;
	margin: 4px 0 20px;
	background: var(--aq-white);
	border: 1.5px solid var(--aq-border);
	border-radius: 999px;
	font-size: 14px;
	flex-wrap: wrap;
	box-shadow: 0 4px 14px rgba(10,21,48,0.06);
}
.aq-hero__price-from { font-size: 11px; font-weight: 700; letter-spacing: 0.10em; text-transform: uppercase; color: var(--aq-text-muted); }
.aq-hero__price-amt { font-weight: 800; color: var(--aq-navy-deep); font-size: 17px; }
.aq-hero__price-sep { color: var(--aq-text-muted); }
.aq-hero__price-free { font-weight: 700; color: var(--aq-teal-deep); }
.aq-hero__price-stars { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--aq-text-soft); }
.aq-section-social {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(46,204,113,0.10);
	color: #1e8c4d;
	font-size: 12px;
	font-weight: 600;
}

/* ═══════════════════════════════════════════════════════════════════
   v2 — REVIEWS SECTION
   ═══════════════════════════════════════════════════════════════════ */
.aq-reviews {
	padding: 80px 0;
	background: var(--aq-bg);
}
.aq-reviews__head {
	text-align: center;
	margin-bottom: 38px;
}
.aq-reviews__head h2 {
	font-family: var(--aq-font-display);
	font-size: 36px;
	font-weight: 600;
	color: var(--aq-navy-deep);
	margin: 8px 0;
}
.aq-reviews__head .aq-stars { font-size: 22px; }
.aq-reviews__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 18px;
}
.aq-review {
	background: var(--aq-white);
	padding: 24px 22px 20px;
	border-radius: var(--aq-radius);
	box-shadow: 0 6px 18px rgba(10,21,48,0.06);
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.aq-review__body {
	font-family: var(--aq-font-display);
	font-style: italic;
	font-size: 18px;
	color: var(--aq-text);
	line-height: 1.45;
	margin: 0;
	flex: 1 1 auto;
}
.aq-review__author { display: flex; flex-direction: column; gap: 2px; }
.aq-review__author strong { color: var(--aq-navy-deep); font-size: 13.5px; }
.aq-review__author span { color: var(--aq-text-muted); font-size: 12px; }

/* ═══════════════════════════════════════════════════════════════════
   v2 — COMPARISON TABLE
   ═══════════════════════════════════════════════════════════════════ */
.aq-compare {
	padding: 80px 0;
	background: var(--aq-white);
}
.aq-compare__wrap {
	max-width: 880px;
	margin: 0 auto;
	background: var(--aq-bg);
	border-radius: var(--aq-radius-lg);
	padding: 30px;
	overflow-x: auto;
}
.aq-compare__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}
.aq-compare__table th,
.aq-compare__table td {
	padding: 14px 16px;
	text-align: left;
	border-bottom: 1px solid var(--aq-border);
	vertical-align: middle;
}
.aq-compare__table th {
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--aq-text-muted);
	font-weight: 700;
	background: transparent;
}
.aq-compare__table td:nth-child(2),
.aq-compare__table th:nth-child(2),
.aq-compare__table td:nth-child(3),
.aq-compare__table th:nth-child(3) {
	text-align: center;
	width: 110px;
}
.aq-compare__table th.aq-compare__us,
.aq-compare__table td.aq-compare__us {
	background: linear-gradient(180deg, rgba(111,184,184,0.10), rgba(111,184,184,0.04));
	border-left: 1px solid rgba(111,184,184,0.22);
	border-right: 1px solid rgba(111,184,184,0.22);
}
.aq-compare__yes {
	color: var(--aq-teal-deep);
	font-weight: 800;
	font-size: 18px;
}
.aq-compare__no {
	color: rgba(10,21,48,0.28);
	font-size: 18px;
}
.aq-compare__table tr:last-child td { border-bottom: 0; }

/* ═══════════════════════════════════════════════════════════════════
   v2 — CUSTOMER ACCOUNT PORTAL
   ═══════════════════════════════════════════════════════════════════ */
.aq-account { display: flex; flex-direction: column; gap: 24px; }
.aq-account__welcome {
	background: var(--aq-grad-dark);
	color: var(--aq-white);
	padding: 32px 28px;
	border-radius: var(--aq-radius-lg);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	position: relative;
	overflow: hidden;
}
.aq-account__welcome::before {
	content: '';
	position: absolute;
	right: -80px; top: -80px;
	width: 280px; height: 280px;
	background: radial-gradient(circle, rgba(142,209,208,0.25), transparent 70%);
	pointer-events: none;
}
.aq-account__welcome-body { position: relative; z-index: 1; flex: 1 1 auto; min-width: 0; }
.aq-account__welcome-body h2 {
	font-family: var(--aq-font-display);
	font-size: 32px;
	color: var(--aq-white);
	margin: 6px 0;
}
.aq-account__welcome-sub { color: rgba(255,255,255,0.78); margin: 0; font-size: 13.5px; }
.aq-account__welcome-tier { position: relative; z-index: 1; }
.aq-account__tier-badge {
	display: inline-flex;
	align-items: center;
	padding: 8px 16px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	border-radius: 999px;
	border: 1.5px solid transparent;
}
.aq-account__tier-badge--researcher {
	background: rgba(255,255,255,0.10);
	color: var(--aq-teal-bright);
	border-color: rgba(142,209,208,0.4);
}
.aq-account__tier-badge--lab_partner {
	background: var(--aq-grad-teal);
	color: var(--aq-navy-deep);
}
.aq-account__tier-badge--principal {
	background: linear-gradient(135deg, #f4b923, #d99518);
	color: var(--aq-navy-deep);
	box-shadow: 0 6px 20px rgba(244,185,35,0.4);
}

.aq-account__stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}
.aq-account__stat {
	background: var(--aq-white);
	border: 1px solid var(--aq-border);
	border-radius: var(--aq-radius);
	padding: 18px 16px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.aq-account__stat-label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--aq-text-muted);
}
.aq-account__stat-value {
	font-size: 22px;
	font-weight: 800;
	color: var(--aq-navy-deep);
	font-family: var(--aq-font-display);
}

.aq-account__loyalty {
	background: var(--aq-white);
	border: 1px solid var(--aq-border);
	border-radius: var(--aq-radius);
	padding: 22px 24px;
}
.aq-account__loyalty-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 18px;
	margin-bottom: 14px;
	flex-wrap: wrap;
}
.aq-account__loyalty-head h3 {
	font-family: var(--aq-font-display);
	font-size: 22px;
	color: var(--aq-navy-deep);
	margin: 0 0 4px;
}
.aq-account__loyalty-head p { margin: 0; color: var(--aq-text-soft); font-size: 13.5px; }
.aq-account__loyalty-foot {
	display: flex;
	justify-content: space-between;
	margin-top: 8px;
	font-size: 11.5px;
	color: var(--aq-text-muted);
}

.aq-progress {
	height: 10px;
	background: var(--aq-bg-alt);
	border-radius: 999px;
	overflow: hidden;
}
.aq-progress__fill {
	height: 100%;
	background: var(--aq-grad-teal);
	border-radius: 999px;
	transition: width 800ms var(--aq-ease-out);
	position: relative;
}
.aq-progress__fill::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,0.45), transparent);
	animation: aq-progress-shimmer 2s linear infinite;
}
@keyframes aq-progress-shimmer {
	0%   { transform: translateX(-100%); }
	100% { transform: translateX(100%); }
}

.aq-account__reward {
	display: flex;
	gap: 18px;
	padding: 22px 24px;
	background: linear-gradient(135deg, rgba(244,185,35,0.10), rgba(244,185,35,0.04));
	border: 1.5px solid rgba(244,185,35,0.32);
	border-radius: var(--aq-radius);
	align-items: center;
}
.aq-account__reward-icon {
	width: 52px; height: 52px;
	background: linear-gradient(135deg, #f4b923, #d99518);
	color: var(--aq-navy-deep);
	border-radius: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.aq-account__reward h3 {
	margin: 0 0 4px;
	font-family: var(--aq-font-display);
	font-size: 22px;
	color: var(--aq-navy-deep);
}
.aq-account__reward p { margin: 0 0 6px; color: var(--aq-text-soft); font-size: 13.5px; }
.aq-account__code-wrap {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
.aq-account__code-wrap code {
	font-family: 'SFMono-Regular', Consolas, monospace;
	background: var(--aq-navy-deep);
	color: var(--aq-teal-bright);
	padding: 6px 12px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.06em;
}
.aq-account__code-meta { font-size: 11px; color: var(--aq-text-muted); }

.aq-account__quick {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}
.aq-account__quick-card {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 18px 16px;
	background: var(--aq-white);
	border: 1px solid var(--aq-border);
	border-radius: var(--aq-radius);
	color: var(--aq-navy-deep);
	text-decoration: none;
	transition: transform 200ms var(--aq-ease), box-shadow 200ms var(--aq-ease), border-color 200ms var(--aq-ease);
}
.aq-account__quick-card:hover {
	transform: translateY(-2px);
	border-color: rgba(111,184,184,0.45);
	box-shadow: 0 8px 22px rgba(10,21,48,0.08);
}
.aq-account__quick-card svg { color: var(--aq-teal-deep); }
.aq-account__quick-card span {
	font-weight: 700;
	font-size: 14px;
	color: var(--aq-navy-deep);
}
.aq-account__quick-card small { color: var(--aq-text-muted); font-size: 12px; }

@media (max-width: 780px) {
	.aq-account__stats { grid-template-columns: repeat(2, 1fr); }
	.aq-account__quick { grid-template-columns: repeat(2, 1fr); }
	.aq-account__welcome { flex-direction: column; align-items: flex-start; padding: 24px 20px; }
}

/* Rewards endpoint page */
.aq-rewards { display: flex; flex-direction: column; gap: 26px; }
.aq-rewards__head h2 {
	font-family: var(--aq-font-display);
	font-size: 38px;
	color: var(--aq-navy-deep);
	margin: 8px 0;
}
.aq-rewards__head p { color: var(--aq-text-soft); margin: 0; max-width: 640px; }
.aq-rewards__current {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 20px 22px;
	background: var(--aq-white);
	border: 1px solid var(--aq-border);
	border-radius: var(--aq-radius);
}
.aq-rewards__current strong { display: block; color: var(--aq-navy-deep); font-size: 17px; }
.aq-rewards__current span { color: var(--aq-text-soft); font-size: 13px; }
.aq-rewards__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
}
.aq-rewards__tier {
	background: var(--aq-white);
	border: 1.5px solid var(--aq-border);
	border-radius: var(--aq-radius);
	padding: 22px 20px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	transition: border-color 200ms var(--aq-ease), transform 200ms var(--aq-ease);
	position: relative;
}
.aq-rewards__tier.is-unlocked { border-color: rgba(111,184,184,0.5); }
.aq-rewards__tier.is-current {
	border-color: var(--aq-teal-deep);
	box-shadow: 0 0 0 3px rgba(111,184,184,0.16), 0 16px 36px rgba(10,21,48,0.10);
	transform: translateY(-3px);
}
.aq-rewards__tier-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
}
.aq-rewards__tier-name {
	font-family: var(--aq-font-display);
	font-size: 22px;
	color: var(--aq-navy-deep);
	font-weight: 600;
}
.aq-rewards__tier-thresh {
	font-size: 13px;
	font-weight: 800;
	color: var(--aq-teal-deep);
}
.aq-rewards__tier-perk {
	color: var(--aq-text-soft);
	font-size: 13.5px;
	line-height: 1.5;
	margin: 0;
}
.aq-rewards__tier-reward {
	background: rgba(244,185,35,0.12);
	color: #b07300;
	padding: 8px 12px;
	border-radius: 8px;
	font-size: 12px;
	font-weight: 700;
}
.aq-rewards__tier-status {
	margin-top: 6px;
	font-size: 12px;
	font-weight: 700;
	color: var(--aq-teal-deep);
	letter-spacing: 0.04em;
}
.aq-rewards__tier-status--locked { color: var(--aq-text-muted); }

.aq-rewards__pi {
	background: var(--aq-grad-dark);
	color: var(--aq-white);
	padding: 28px;
	border-radius: var(--aq-radius);
	text-align: center;
}
.aq-rewards__pi h3 { font-family: var(--aq-font-display); color: var(--aq-white); margin: 0 0 6px; font-size: 28px; }
.aq-rewards__pi p { color: rgba(255,255,255,0.8); margin: 0 0 14px; }
.aq-rewards__pi-code {
	display: inline-block;
	font-family: 'SFMono-Regular', Consolas, monospace;
	background: rgba(255,255,255,0.10);
	border: 1.5px dashed var(--aq-teal-bright);
	color: var(--aq-teal-bright);
	padding: 10px 22px;
	border-radius: 10px;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.08em;
}
.aq-rewards__fineprint {
	font-size: 11.5px;
	color: var(--aq-text-muted);
	line-height: 1.5;
}
@media (max-width: 780px) {
	.aq-rewards__grid { grid-template-columns: 1fr; }
}

.aq-login-hero {
	background: var(--aq-grad-dark);
	color: var(--aq-white);
	padding: 40px 32px;
	border-radius: var(--aq-radius-lg);
	margin-bottom: 24px;
	position: relative;
	overflow: hidden;
}
.aq-login-hero__glow {
	position: absolute;
	right: -80px; top: -80px;
	width: 280px; height: 280px;
	background: radial-gradient(circle, rgba(142,209,208,0.32), transparent 70%);
}
.aq-login-hero__inner { position: relative; z-index: 1; }
.aq-login-hero h1 {
	font-family: var(--aq-font-display);
	font-size: 34px;
	color: var(--aq-white);
	margin: 8px 0 6px;
}
.aq-login-hero p { color: rgba(255,255,255,0.78); margin: 0; max-width: 480px; }

/* Account navigation sidebar */
.aq-acct-nav {
	background: var(--aq-white);
	border: 1px solid var(--aq-border);
	border-radius: var(--aq-radius);
	padding: 16px 14px;
}
.aq-acct-nav__head {
	padding: 8px 6px 14px;
	border-bottom: 1px solid var(--aq-border);
	margin-bottom: 10px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.aq-acct-nav__name { font-weight: 700; color: var(--aq-navy-deep); font-size: 14px; }
.aq-acct-nav__list { list-style: none; padding: 0; margin: 0; }
.aq-acct-nav__list li { margin: 0; }
.aq-acct-nav__list a {
	display: block;
	padding: 9px 12px;
	color: var(--aq-text);
	text-decoration: none;
	border-radius: 8px;
	font-size: 14px;
	transition: background 160ms var(--aq-ease);
}
.aq-acct-nav__list a:hover { background: var(--aq-bg); }
.aq-acct-nav__list .is-active a {
	background: var(--aq-navy-deep);
	color: var(--aq-white);
}

/* ═══════════════════════════════════════════════════════════════════
   v2 — ORDER TRACKING PAGE
   ═══════════════════════════════════════════════════════════════════ */
.aq-track {
	padding: 80px 0;
	background: var(--aq-bg);
	min-height: 60vh;
}
.aq-track__head { text-align: center; margin-bottom: 32px; }
.aq-track__head h1 {
	font-family: var(--aq-font-display);
	font-size: 42px;
	color: var(--aq-navy-deep);
	margin: 8px 0;
}
.aq-track__head p { color: var(--aq-text-soft); max-width: 580px; margin: 0 auto; }
.aq-track__form {
	max-width: 540px;
	margin: 0 auto 32px;
	background: var(--aq-white);
	padding: 26px;
	border-radius: var(--aq-radius-lg);
	box-shadow: 0 10px 30px rgba(10,21,48,0.06);
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.aq-track__field { display: flex; flex-direction: column; gap: 6px; }
.aq-track__field span {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--aq-text-muted);
}
.aq-track__field input {
	padding: 12px 14px;
	border: 1.5px solid var(--aq-border);
	border-radius: 10px;
	font-size: 14px;
}
.aq-track__field input:focus {
	outline: 0;
	border-color: var(--aq-teal-deep);
	box-shadow: 0 0 0 3px rgba(111,184,184,0.18);
}
.aq-track__result {
	max-width: 720px;
	margin: 0 auto;
	background: var(--aq-white);
	padding: 30px;
	border-radius: var(--aq-radius-lg);
	box-shadow: 0 10px 30px rgba(10,21,48,0.08);
}
.aq-track__status { text-align: center; margin-bottom: 24px; }
.aq-track__status h2 { font-family: var(--aq-font-display); font-size: 30px; color: var(--aq-navy-deep); margin: 10px 0 4px; }
.aq-track__status p { color: var(--aq-text-muted); font-size: 13px; margin: 0; }
.aq-track__status-pill {
	display: inline-block;
	padding: 6px 16px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.aq-track__status-pill--processing { background: rgba(111,184,184,0.16); color: var(--aq-teal-deep); }
.aq-track__status-pill--completed  { background: rgba(46,204,113,0.16); color: #1e8c4d; }
.aq-track__status-pill--on-hold,
.aq-track__status-pill--pending    { background: rgba(244,185,35,0.16); color: #b07300; }
.aq-track__status-pill--cancelled,
.aq-track__status-pill--failed     { background: rgba(220,53,69,0.14); color: #b32d3a; }
.aq-track__items { display: flex; flex-direction: column; gap: 12px; margin-bottom: 18px; padding-top: 18px; border-top: 1px solid var(--aq-border); }
.aq-track__item {
	display: grid;
	grid-template-columns: 60px 1fr auto;
	gap: 14px;
	align-items: center;
}
.aq-track__item img { width: 60px; height: 60px; border-radius: 8px; object-fit: cover; }
.aq-track__item strong { display: block; color: var(--aq-navy-deep); font-size: 14px; }
.aq-track__item span { font-size: 12px; color: var(--aq-text-muted); }
.aq-track__total {
	display: flex;
	justify-content: space-between;
	padding-top: 14px;
	border-top: 1px solid var(--aq-border);
	font-size: 16px;
}
.aq-track__total strong { color: var(--aq-navy-deep); }
.aq-track__tracking {
	margin-top: 18px;
	padding: 12px 16px;
	background: var(--aq-bg);
	border-radius: var(--aq-radius);
	display: flex;
	gap: 10px;
	align-items: center;
}
.aq-track__tracking span { font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--aq-text-muted); }
.aq-track__tracking code { font-family: 'SFMono-Regular', Consolas, monospace; font-weight: 700; color: var(--aq-navy-deep); }
.aq-track__error {
	max-width: 540px;
	margin: 16px auto 0;
	padding: 14px;
	background: rgba(220,53,69,0.08);
	color: #b32d3a;
	border-radius: var(--aq-radius);
	text-align: center;
}
.aq-track__help { text-align: center; margin-top: 32px; color: var(--aq-text-muted); }
.aq-track__help a { color: var(--aq-teal-deep); margin-left: 8px; }

/* ═══════════════════════════════════════════════════════════════════
   v2 — CART UPSELL + SAVINGS LINE
   ═══════════════════════════════════════════════════════════════════ */
.aq-cart-upsell {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 22px;
	margin-top: 20px;
	background: linear-gradient(180deg, rgba(111,184,184,0.10), rgba(111,184,184,0.04));
	border: 1.5px dashed rgba(111,184,184,0.45);
	border-radius: var(--aq-radius);
}
.aq-cart-upsell__icon {
	width: 44px; height: 44px;
	background: var(--aq-grad-teal);
	color: var(--aq-navy-deep);
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.aq-cart-upsell__body { flex: 1 1 auto; display: flex; flex-direction: column; gap: 2px; }
.aq-cart-upsell__body strong { color: var(--aq-navy-deep); font-size: 14.5px; }
.aq-cart-upsell__body span { color: var(--aq-text-soft); font-size: 13px; }
.aq-cart-savings strong { color: var(--aq-teal-deep); }

/* ═══════════════════════════════════════════════════════════════════
   v2 — FAQ page
   ═══════════════════════════════════════════════════════════════════ */
.aq-page-hero {
	background: var(--aq-grad-dark);
	color: var(--aq-white);
	padding: 80px 0 60px;
	position: relative;
	overflow: hidden;
	text-align: center;
}
.aq-page-hero h1 {
	font-family: var(--aq-font-display);
	font-size: 52px;
	color: var(--aq-white);
	margin: 10px 0 8px;
}
.aq-page-hero p { color: rgba(255,255,255,0.78); max-width: 580px; margin: 0 auto; }
.aq-faqpage { padding: 70px 0; background: var(--aq-bg); }
.aq-faqpage__list { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 10px; }
.aq-faqpage__item {
	background: var(--aq-white);
	border: 1px solid var(--aq-border);
	border-radius: var(--aq-radius);
	transition: box-shadow 200ms var(--aq-ease);
}
.aq-faqpage__item[open] { box-shadow: 0 10px 26px rgba(10,21,48,0.06); }
.aq-faqpage__item summary {
	cursor: pointer;
	padding: 20px 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	font-weight: 600;
	color: var(--aq-navy-deep);
	font-size: 15.5px;
	list-style: none;
}
.aq-faqpage__item summary::-webkit-details-marker { display: none; }
.aq-faqpage__item summary svg { transition: transform 200ms var(--aq-ease); color: var(--aq-text-muted); flex-shrink: 0; }
.aq-faqpage__item[open] summary svg { transform: rotate(180deg); }
.aq-faqpage__body {
	padding: 0 24px 22px;
	color: var(--aq-text-soft);
	font-size: 14.5px;
	line-height: 1.6;
}
.aq-faqpage__help {
	text-align: center;
	margin-top: 40px;
	max-width: 540px;
	margin-left: auto;
	margin-right: auto;
}
.aq-faqpage__help p { color: var(--aq-text-soft); margin: 0 0 14px; }

/* ═══════════════════════════════════════════════════════════════════
   v2 — ABOUT page
   ═══════════════════════════════════════════════════════════════════ */
.aq-about-hero {
	background: var(--aq-grad-dark);
	color: var(--aq-white);
	padding: 80px 0 60px;
	position: relative;
	overflow: hidden;
}
.aq-about-hero h1 {
	font-family: var(--aq-font-display);
	font-size: 52px;
	color: var(--aq-white);
	margin: 10px 0 14px;
	max-width: 800px;
}
.aq-about-hero p { color: rgba(255,255,255,0.78); max-width: 640px; font-size: 17px; line-height: 1.6; }
.aq-about-pillars { padding: 80px 0; background: var(--aq-white); }
.aq-about-pillars__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}
.aq-about-pillar {
	padding: 32px 28px;
	background: var(--aq-bg);
	border-radius: var(--aq-radius-lg);
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.aq-about-pillar__icon {
	width: 56px; height: 56px;
	background: var(--aq-grad-teal);
	color: var(--aq-navy-deep);
	border-radius: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 4px;
}
.aq-about-pillar h2 { font-family: var(--aq-font-display); font-size: 28px; color: var(--aq-navy-deep); margin: 0; }
.aq-about-pillar p { color: var(--aq-text-soft); margin: 0; line-height: 1.6; }
.aq-about-cta { padding: 60px 0 100px; background: var(--aq-bg); }
.aq-about-cta__card {
	background: var(--aq-grad-dark);
	color: var(--aq-white);
	padding: 50px 40px;
	border-radius: var(--aq-radius-xl);
	text-align: center;
}
.aq-about-cta__card h2 {
	font-family: var(--aq-font-display);
	font-size: 38px;
	color: var(--aq-white);
	margin: 0 0 10px;
}
.aq-about-cta__card p { color: rgba(255,255,255,0.78); margin: 0 0 24px; }
@media (max-width: 780px) {
	.aq-about-pillars__grid { grid-template-columns: 1fr; }
	.aq-about-hero h1 { font-size: 36px; }
}

/* ═══════════════════════════════════════════════════════════════════
   v2 — PREMIUM FOOTER
   ═══════════════════════════════════════════════════════════════════ */
.aq-footer__newsletter {
	background: var(--aq-grad-dark);
	color: var(--aq-white);
	padding: 36px 0;
	border-bottom: 1px solid rgba(255,255,255,0.06);
}
.aq-footer__newsletter-inner {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 30px;
	align-items: center;
}
.aq-footer__newsletter-copy h3 {
	font-family: var(--aq-font-display);
	font-size: 26px;
	color: var(--aq-white);
	margin: 6px 0 4px;
}
.aq-footer__newsletter-copy p { color: rgba(255,255,255,0.7); margin: 0; font-size: 13px; }
.aq-footer__newsletter-form {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 8px;
}
.aq-footer__newsletter-form input {
	padding: 14px 16px;
	border-radius: 10px;
	border: 1.5px solid rgba(255,255,255,0.15);
	background: rgba(255,255,255,0.05);
	color: var(--aq-white);
	font-size: 14px;
}
.aq-footer__newsletter-form input::placeholder { color: rgba(255,255,255,0.4); }
.aq-footer__newsletter-form input:focus { outline: 0; border-color: var(--aq-teal-bright); }

.aq-footer__main {
	padding: 56px 0 36px;
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1fr;
	gap: 40px;
}
.aq-footer__brand .aq-wordmark--lg { font-size: 36px; margin-bottom: 12px; display: inline-block; }
.aq-footer__tagline { color: rgba(255,255,255,0.7); margin: 0 0 18px; max-width: 320px; line-height: 1.55; font-size: 13.5px; }
.aq-footer__trust-mini {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.aq-footer__trust-mini span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: rgba(255,255,255,0.55);
}
.aq-footer__trust-mini svg { color: var(--aq-teal-bright); }
.aq-footer__col h4 {
	color: var(--aq-white);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	margin: 0 0 14px;
}
.aq-footer__col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 9px; }
.aq-footer__col a {
	color: rgba(255,255,255,0.65);
	text-decoration: none;
	font-size: 13.5px;
	transition: color 160ms var(--aq-ease);
}
.aq-footer__col a:hover { color: var(--aq-teal-bright); }

.aq-footer__pay {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 22px 0;
	border-top: 1px solid rgba(255,255,255,0.06);
	flex-wrap: wrap;
	gap: 18px;
}
.aq-footer__pay-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.aq-footer__pay-label {
	font-size: 11px;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.45);
	font-weight: 600;
}
.aq-footer__pay-icons { display: flex; gap: 6px; flex-wrap: wrap; }
.aq-pay {
	background: rgba(255,255,255,0.08);
	color: var(--aq-white);
	padding: 5px 10px;
	border-radius: 6px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.05em;
	border: 1px solid rgba(255,255,255,0.10);
}
.aq-pay--visa { color: #1a1f71; background: var(--aq-white); }
.aq-pay--mc   { color: #eb001b; background: var(--aq-white); }
.aq-pay--amex { color: #006fcf; background: var(--aq-white); }
.aq-pay--disc { color: #ff6000; background: var(--aq-white); }
.aq-footer__social { display: flex; gap: 8px; }
.aq-footer__social a {
	width: 36px; height: 36px;
	border-radius: 999px;
	background: rgba(255,255,255,0.06);
	color: rgba(255,255,255,0.7);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background 160ms var(--aq-ease), color 160ms var(--aq-ease);
}
.aq-footer__social a:hover { background: var(--aq-teal-bright); color: var(--aq-navy-deep); }

.aq-footer__bottom { background: rgba(0,0,0,0.16); padding: 14px 0; }
.aq-footer__bottom-inner { display: flex; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
.aq-footer__copy { font-size: 12px; color: rgba(255,255,255,0.45); margin: 0; }
.aq-footer__compliance { font-size: 10.5px; letter-spacing: 0.08em; color: var(--aq-teal-bright); margin: 0; }

@media (max-width: 980px) {
	.aq-footer__main { grid-template-columns: 1.4fr 1fr 1fr; }
	.aq-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 580px) {
	.aq-footer__main { grid-template-columns: 1fr 1fr; gap: 30px; padding: 40px 0 26px; }
	.aq-footer__brand { grid-column: 1 / -1; }
	.aq-footer__newsletter-inner { grid-template-columns: 1fr; gap: 18px; }
	.aq-footer__pay { flex-direction: column; align-items: flex-start; }
	.aq-footer__newsletter-copy h3 { font-size: 22px; }
}


/* ═══════════════════════════════════════════════════════════════════════════
   v2.0 ADDITIONS — Trust bar, mobile cart, shipping promise, popup, portal,
   loyalty, rewards, login, order tracking, stars, premium footer, payments
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── PRODUCT CARD BLEND FIX (borderless float, Glossier/Hims style) ────── */
.aq-product-card,
.aq-pack {
	border: none !important;
	background: #ffffff;
	box-shadow: 0 2px 8px rgba(14,22,56,0.04), 0 12px 32px rgba(14,22,56,0.06);
	transition: transform 0.28s ease, box-shadow 0.28s ease;
}
.aq-product-card:hover,
.aq-pack:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 18px rgba(14,22,56,0.08), 0 24px 48px rgba(14,22,56,0.12);
}

/* ─── ROTATING TRUST BAR (replaces static topstrip) ─────────────────────── */
.aq-trustbar {
	background: var(--aq-navy);
	color: #fff;
	overflow: hidden;
	position: relative;
	font-family: 'Inter', sans-serif;
}
.aq-trustbar__viewport {
	height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
.aq-trustbar__track {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.05em;
	white-space: nowrap;
	opacity: 1;
	transition: opacity 0.35s ease;
}
.aq-trustbar__track.is-leaving { opacity: 0; }
.aq-trustbar__icon {
	display: inline-flex;
	width: 16px;
	height: 16px;
	color: var(--aq-teal-bright);
}
.aq-trustbar__icon svg { width: 100%; height: 100%; }
@media (max-width: 580px) {
	.aq-trustbar__viewport { height: 34px; }
	.aq-trustbar__track { font-size: 10.5px; letter-spacing: 0.04em; }
}

/* ─── MOBILE FLOATING CART (top-right corner) ───────────────────────────── */
.aq-cart--mobile-float { display: none; }
@media (max-width: 820px) {
	.aq-cart--mobile-float {
		display: inline-flex;
		position: fixed;
		top: 50px;
		right: 14px;
		z-index: 95;
		width: 46px;
		height: 46px;
		border-radius: 50%;
		background: var(--aq-navy);
		color: #fff;
		align-items: center;
		justify-content: center;
		box-shadow: 0 6px 18px rgba(14,22,56,0.28), 0 2px 6px rgba(14,22,56,0.18);
		text-decoration: none;
		transition: transform 0.2s ease, box-shadow 0.2s ease;
	}
	.aq-cart--mobile-float:hover { transform: scale(1.05); }
	.aq-cart--mobile-float svg { width: 20px; height: 20px; }
	.aq-cart--mobile-float .aq-cart__count {
		position: absolute;
		top: -4px;
		right: -4px;
		min-width: 20px;
		height: 20px;
		padding: 0 5px;
		background: var(--aq-teal-bright);
		color: var(--aq-navy-deep);
		font-size: 11px;
		font-weight: 700;
		border-radius: 999px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border: 2px solid #fff;
	}
	/* Hide desktop cart + shop button on mobile */
	.aq-header__cart--desktop,
	.aq-header__shop { display: none !important; }
}
@media (min-width: 821px) {
	.aq-cart--mobile-float { display: none !important; }
}

/* ─── SHIPPING PROMISE COMPONENT ─────────────────────────────────────────── */
.aq-ship-promise {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 18px;
	background: linear-gradient(135deg, rgba(111,184,184,0.08) 0%, rgba(142,209,208,0.04) 100%);
	border: 1px solid rgba(111,184,184,0.22);
	border-radius: 12px;
	margin: 18px 0;
	animation: aq-ship-fade 0.5s ease;
}
@keyframes aq-ship-fade {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: translateY(0); }
}
.aq-ship-promise__icon {
	flex-shrink: 0;
	width: 38px;
	height: 38px;
	background: var(--aq-navy);
	color: var(--aq-teal-bright);
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.aq-ship-promise__icon svg { width: 18px; height: 18px; }
.aq-ship-promise__body { flex: 1; min-width: 0; }
.aq-ship-promise__title {
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: var(--aq-navy-deep);
	letter-spacing: -0.01em;
	line-height: 1.3;
	margin: 0 0 3px;
}
.aq-ship-promise__title .aq-ship-promise__countdown {
	color: var(--aq-navy);
	font-variant-numeric: tabular-nums;
}
.aq-ship-promise__sub {
	font-size: 12.5px;
	color: #4a5478;
	letter-spacing: 0.01em;
	margin: 0;
}
.aq-ship-promise__sub strong { color: var(--aq-navy); font-weight: 600; }
.aq-ship-promise--compact { padding: 10px 14px; margin: 12px 0; gap: 10px; }
.aq-ship-promise--compact .aq-ship-promise__icon { width: 32px; height: 32px; }
.aq-ship-promise--compact .aq-ship-promise__icon svg { width: 14px; height: 14px; }
.aq-ship-promise--compact .aq-ship-promise__title { font-size: 13px; }
.aq-ship-promise--compact .aq-ship-promise__sub   { font-size: 11.5px; }
.aq-ship-promise--wide { padding: 18px 22px; }
.aq-ship-promise--inactive { background: rgba(241,243,247,0.6); border-color: rgba(120,130,160,0.18); }
.aq-ship-promise--inactive .aq-ship-promise__icon { background: #7e8aa6; color: #fff; }

/* ─── SUBSCRIBE POPUP (post-age-gate) ────────────────────────────────────── */
.aq-subpop {
	position: fixed; inset: 0;
	z-index: 9998;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
.aq-subpop[data-state="visible"] { display: flex; }
.aq-subpop__veil {
	position: absolute; inset: 0;
	background: rgba(14,22,56,0.7);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	animation: aq-subpop-veil 0.35s ease;
}
@keyframes aq-subpop-veil { from { opacity: 0; } to { opacity: 1; } }
.aq-subpop__card {
	position: relative;
	max-width: 460px;
	width: 100%;
	background: #fff;
	border-radius: 18px;
	padding: 36px 32px 30px;
	box-shadow: 0 30px 80px rgba(14,22,56,0.4);
	animation: aq-subpop-card 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
	max-height: 90vh;
	overflow-y: auto;
}
@keyframes aq-subpop-card {
	from { opacity: 0; transform: translateY(20px) scale(0.94); }
	to   { opacity: 1; transform: translateY(0) scale(1); }
}
.aq-subpop__close {
	position: absolute;
	top: 14px; right: 14px;
	width: 34px; height: 34px;
	background: rgba(14,22,56,0.06);
	border: none; border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: var(--aq-navy);
	font-size: 18px;
	line-height: 1;
	transition: background 0.2s ease;
}
.aq-subpop__close:hover { background: rgba(14,22,56,0.12); }
.aq-subpop__eyebrow {
	display: inline-block;
	color: var(--aq-teal);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin-bottom: 8px;
}
.aq-subpop__title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 30px;
	line-height: 1.15;
	color: var(--aq-navy-deep);
	margin: 0 0 6px;
	letter-spacing: -0.01em;
}
.aq-subpop__title em { color: var(--aq-teal); font-style: italic; }
.aq-subpop__sub {
	font-size: 14px;
	color: #525d80;
	margin: 0 0 20px;
	line-height: 1.5;
}
.aq-subpop__form { display: flex; flex-direction: column; gap: 10px; }
.aq-subpop__input {
	width: 100%;
	padding: 13px 14px;
	border: 1.5px solid rgba(14,22,56,0.12);
	border-radius: 10px;
	font-family: 'Inter', sans-serif;
	font-size: 14.5px;
	color: var(--aq-navy-deep);
	background: #fbfcfe;
	transition: border-color 0.18s ease, background 0.18s ease;
}
.aq-subpop__input:focus {
	outline: none;
	border-color: var(--aq-teal);
	background: #fff;
}
.aq-subpop__consent {
	display: flex; align-items: flex-start; gap: 9px;
	font-size: 11.5px; color: #6b7595;
	line-height: 1.4;
	margin-top: 4px;
}
.aq-subpop__consent input { margin-top: 2px; flex-shrink: 0; accent-color: var(--aq-navy); }
.aq-subpop__submit {
	margin-top: 8px;
	background: var(--aq-navy);
	color: #fff;
	border: none;
	padding: 14px 22px;
	border-radius: 10px;
	font-family: 'Inter', sans-serif;
	font-size: 14.5px;
	font-weight: 600;
	letter-spacing: 0.02em;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.18s ease;
}
.aq-subpop__submit:hover { background: var(--aq-navy-deep); transform: translateY(-1px); }
.aq-subpop__submit:disabled { opacity: 0.55; cursor: not-allowed; transform: none; }
.aq-subpop__skip {
	background: none; border: none; cursor: pointer;
	color: #8893b3; font-size: 12px;
	text-decoration: underline;
	margin: 12px auto 0;
	display: block;
	transition: color 0.18s ease;
}
.aq-subpop__skip:hover { color: var(--aq-navy); }
.aq-subpop__fineprint {
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid rgba(14,22,56,0.06);
	font-size: 10.5px;
	color: #8893b3;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0.02em;
}
.aq-subpop__success { text-align: center; padding: 8px 0; }
.aq-subpop__success-icon {
	width: 56px; height: 56px;
	background: linear-gradient(135deg, var(--aq-teal) 0%, var(--aq-teal-bright) 100%);
	border-radius: 50%;
	margin: 0 auto 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
}
.aq-subpop__success-icon svg { width: 28px; height: 28px; }
.aq-subpop__success h3 {
	font-family: 'Cormorant Garamond', serif;
	font-size: 26px;
	margin: 0 0 6px;
	color: var(--aq-navy-deep);
}
.aq-subpop__success p { font-size: 14px; color: #525d80; margin: 0 0 18px; }
.aq-subpop__code {
	display: flex; align-items: stretch;
	gap: 0;
	max-width: 320px;
	margin: 0 auto 14px;
	border: 1.5px dashed var(--aq-teal);
	border-radius: 10px;
	overflow: hidden;
	background: rgba(111,184,184,0.06);
}
.aq-subpop__code-val {
	flex: 1;
	padding: 14px 12px;
	font-family: 'JetBrains Mono', 'Courier New', monospace;
	font-size: 17px;
	font-weight: 600;
	color: var(--aq-navy-deep);
	letter-spacing: 0.08em;
	text-align: center;
}
.aq-subpop__copy {
	background: var(--aq-teal);
	border: none;
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	padding: 0 16px;
	cursor: pointer;
	transition: background 0.18s ease;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.aq-subpop__copy:hover { background: var(--aq-teal-bright); color: var(--aq-navy-deep); }
.aq-subpop__copy.is-copied { background: #2ea36d; }
@media (max-width: 480px) {
	.aq-subpop__card { padding: 28px 22px 24px; }
	.aq-subpop__title { font-size: 25px; }
}

/* ─── CUSTOMER ACCOUNT PORTAL ────────────────────────────────────────────── */
.aq-account { padding: 8px 0 60px; }
.aq-account__welcome {
	background: linear-gradient(135deg, var(--aq-navy) 0%, var(--aq-navy-deep) 100%);
	color: #fff;
	border-radius: 16px;
	padding: 28px 30px;
	margin-bottom: 24px;
	position: relative;
	overflow: hidden;
}
.aq-account__welcome::after {
	content: ''; position: absolute;
	top: -40px; right: -40px;
	width: 200px; height: 200px;
	background: radial-gradient(circle, rgba(142,209,208,0.18) 0%, transparent 70%);
	pointer-events: none;
}
.aq-account__hello {
	font-family: 'Cormorant Garamond', serif;
	font-size: 30px;
	margin: 0 0 4px;
	letter-spacing: -0.01em;
}
.aq-account__hello em { color: var(--aq-teal-bright); font-style: italic; }
.aq-account__welcome-sub {
	font-size: 14px;
	color: rgba(255,255,255,0.78);
	margin: 0;
}
.aq-tier-badge {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: 14px;
	padding: 7px 13px;
	background: rgba(255,255,255,0.12);
	border: 1px solid rgba(255,255,255,0.22);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.aq-tier-badge::before {
	content: ''; width: 7px; height: 7px;
	border-radius: 50%;
	background: var(--aq-teal-bright);
}
.aq-tier-badge--principal {
	background: linear-gradient(135deg, rgba(255,215,130,0.22), rgba(255,170,80,0.18));
	border-color: rgba(255,215,130,0.4);
}
.aq-tier-badge--principal::before { background: #ffd97a; box-shadow: 0 0 0 3px rgba(255,217,122,0.22); }

.aq-account__stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin-bottom: 22px;
}
.aq-account__stat {
	background: #fff;
	border: 1px solid rgba(14,22,56,0.06);
	border-radius: 12px;
	padding: 18px 18px 16px;
	box-shadow: 0 2px 8px rgba(14,22,56,0.03);
}
.aq-account__stat-label {
	display: block;
	font-size: 11px;
	font-weight: 600;
	color: #8893b3;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 6px;
}
.aq-account__stat-val {
	font-family: 'Cormorant Garamond', serif;
	font-size: 28px;
	color: var(--aq-navy-deep);
	letter-spacing: -0.01em;
	line-height: 1.1;
}
.aq-account__stat-val small { font-size: 14px; color: #8893b3; font-family: 'Inter', sans-serif; }

.aq-account__loyalty {
	background: #fff;
	border: 1px solid rgba(14,22,56,0.06);
	border-radius: 14px;
	padding: 22px 24px;
	margin-bottom: 22px;
}
.aq-account__loyalty-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 14px;
	flex-wrap: wrap;
}
.aq-account__loyalty-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 22px;
	color: var(--aq-navy-deep);
	margin: 0;
}
.aq-account__loyalty-sub { font-size: 13px; color: #525d80; margin: 0 0 16px; }
.aq-account__loyalty-link {
	font-size: 13px;
	color: var(--aq-navy);
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px solid var(--aq-teal);
	padding-bottom: 1px;
}

.aq-progress {
	position: relative;
	height: 10px;
	background: rgba(14,22,56,0.06);
	border-radius: 999px;
	overflow: hidden;
	margin-bottom: 10px;
}
.aq-progress__fill {
	height: 100%;
	background: linear-gradient(90deg, var(--aq-teal) 0%, var(--aq-teal-bright) 100%);
	border-radius: 999px;
	transition: width 0.8s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: 0 0 0 1px rgba(111,184,184,0.3);
}
.aq-progress__label {
	display: flex;
	justify-content: space-between;
	font-size: 12px;
	color: #6b7595;
	font-family: 'Inter', sans-serif;
}
.aq-progress__label strong { color: var(--aq-navy-deep); font-weight: 600; }

.aq-account__reward {
	margin-top: 16px;
	padding: 16px 18px;
	background: linear-gradient(135deg, rgba(255,215,130,0.14), rgba(255,170,80,0.06));
	border: 1px solid rgba(255,215,130,0.36);
	border-radius: 12px;
	display: flex;
	align-items: flex-start;
	gap: 14px;
}
.aq-account__reward-icon {
	flex-shrink: 0;
	width: 38px; height: 38px;
	background: linear-gradient(135deg, #ffd97a 0%, #ffaa50 100%);
	color: #5a3d12;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.aq-account__reward-icon svg { width: 18px; height: 18px; }
.aq-account__reward-body { flex: 1; min-width: 0; }
.aq-account__reward-title {
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 700;
	color: var(--aq-navy-deep);
	margin: 0 0 4px;
}
.aq-account__reward-code {
	display: inline-block;
	padding: 4px 10px;
	background: #fff;
	border: 1.5px dashed #d4a45e;
	border-radius: 6px;
	font-family: 'JetBrains Mono', monospace;
	font-size: 13px;
	font-weight: 700;
	color: var(--aq-navy-deep);
	letter-spacing: 0.06em;
	margin-top: 4px;
}
.aq-account__reward-meta { font-size: 12px; color: #6b7595; margin: 6px 0 0; }

.aq-account__quick {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}
.aq-account__quick-card {
	background: #fff;
	border: 1px solid rgba(14,22,56,0.06);
	border-radius: 12px;
	padding: 22px 18px 20px;
	text-decoration: none;
	color: var(--aq-navy-deep);
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.aq-account__quick-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 32px rgba(14,22,56,0.08);
	border-color: rgba(111,184,184,0.4);
}
.aq-account__quick-icon {
	width: 36px; height: 36px;
	background: rgba(111,184,184,0.14);
	color: var(--aq-navy);
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.aq-account__quick-icon svg { width: 18px; height: 18px; }
.aq-account__quick-title { font-size: 14.5px; font-weight: 600; margin: 0; }
.aq-account__quick-sub { font-size: 12.5px; color: #6b7595; margin: 0; line-height: 1.4; }

@media (max-width: 768px) {
	.aq-account__stats { grid-template-columns: repeat(2, 1fr); }
	.aq-account__quick { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
	.aq-account__welcome { padding: 22px 22px; }
	.aq-account__hello { font-size: 25px; }
}

/* ─── REWARDS ENDPOINT PAGE ──────────────────────────────────────────────── */
.aq-rewards { padding: 8px 0 50px; }
.aq-rewards__head { text-align: center; margin-bottom: 28px; }
.aq-rewards__eyebrow {
	display: inline-block;
	color: var(--aq-teal);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}
.aq-rewards__title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 38px;
	color: var(--aq-navy-deep);
	margin: 6px 0 6px;
	letter-spacing: -0.015em;
}
.aq-rewards__title em { color: var(--aq-teal); font-style: italic; }
.aq-rewards__sub { font-size: 15px; color: #525d80; max-width: 540px; margin: 0 auto; line-height: 1.55; }
.aq-rewards__current {
	background: linear-gradient(135deg, var(--aq-navy) 0%, var(--aq-navy-deep) 100%);
	color: #fff;
	border-radius: 16px;
	padding: 26px 28px;
	margin-bottom: 28px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}
.aq-rewards__current-label {
	font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
	color: var(--aq-teal-bright); margin-bottom: 6px;
}
.aq-rewards__current-tier {
	font-family: 'Cormorant Garamond', serif;
	font-size: 30px; margin: 0;
}
.aq-rewards__current-spend { font-size: 14px; color: rgba(255,255,255,0.75); margin: 4px 0 0; }
.aq-rewards__progress-wrap { flex: 1; min-width: 240px; }
.aq-rewards__progress {
	height: 10px;
	background: rgba(255,255,255,0.14);
	border-radius: 999px;
	overflow: hidden;
	margin-bottom: 8px;
}
.aq-rewards__progress-fill {
	height: 100%;
	background: linear-gradient(90deg, var(--aq-teal) 0%, var(--aq-teal-bright) 100%);
	border-radius: 999px;
	transition: width 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.aq-rewards__progress-label { font-size: 12.5px; color: rgba(255,255,255,0.85); }

.aq-rewards__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
}
.aq-rewards__tier {
	background: #fff;
	border: 1.5px solid rgba(14,22,56,0.07);
	border-radius: 14px;
	padding: 24px 22px 22px;
	position: relative;
	transition: transform 0.22s ease;
}
.aq-rewards__tier--current {
	border-color: var(--aq-teal);
	box-shadow: 0 8px 24px rgba(111,184,184,0.22);
}
.aq-rewards__tier--locked { opacity: 0.6; background: #fafbfd; }
.aq-rewards__tier-flag {
	position: absolute;
	top: -10px; left: 22px;
	padding: 4px 10px;
	background: var(--aq-teal);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border-radius: 999px;
}
.aq-rewards__tier-name {
	font-family: 'Cormorant Garamond', serif;
	font-size: 22px;
	color: var(--aq-navy-deep);
	margin: 0 0 4px;
}
.aq-rewards__tier-threshold {
	font-size: 12px;
	color: #8893b3;
	letter-spacing: 0.04em;
	margin-bottom: 14px;
}
.aq-rewards__tier-perks {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.aq-rewards__tier-perks li {
	font-size: 13px;
	color: #4a5478;
	padding-left: 22px;
	position: relative;
	line-height: 1.45;
}
.aq-rewards__tier-perks li::before {
	content: '';
	position: absolute;
	left: 0; top: 5px;
	width: 14px; height: 14px;
	background: var(--aq-teal);
	border-radius: 50%;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2l-3.5-3.5L4 14.2l5 5 11-11-1.4-1.4z'/></svg>") center/10px no-repeat;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2l-3.5-3.5L4 14.2l5 5 11-11-1.4-1.4z'/></svg>") center/10px no-repeat;
}

.aq-rewards__pi-callout {
	margin-top: 24px;
	padding: 22px 24px;
	background: linear-gradient(135deg, rgba(255,215,130,0.16), rgba(255,170,80,0.08));
	border: 1.5px solid rgba(255,215,130,0.4);
	border-radius: 14px;
	display: flex;
	gap: 18px;
	align-items: flex-start;
}
.aq-rewards__pi-icon {
	flex-shrink: 0;
	width: 48px; height: 48px;
	background: linear-gradient(135deg, #ffd97a, #ffaa50);
	color: #5a3d12;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.aq-rewards__pi-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 22px;
	margin: 0 0 4px;
	color: var(--aq-navy-deep);
}
.aq-rewards__pi-body { font-size: 14px; color: #525d80; line-height: 1.5; margin: 0; }
.aq-rewards__pi-code {
	display: inline-block;
	margin-top: 10px;
	padding: 6px 14px;
	background: #fff;
	border: 1.5px dashed #d4a45e;
	border-radius: 8px;
	font-family: 'JetBrains Mono', monospace;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--aq-navy-deep);
}

.aq-rewards__fineprint {
	margin-top: 26px;
	padding-top: 18px;
	border-top: 1px solid rgba(14,22,56,0.07);
	font-size: 11.5px;
	color: #8893b3;
	line-height: 1.55;
	text-align: center;
}

@media (max-width: 820px) {
	.aq-rewards__grid { grid-template-columns: 1fr; }
	.aq-rewards__current { flex-direction: column; align-items: flex-start; }
	.aq-rewards__progress-wrap { width: 100%; }
}

/* ─── LOGIN HERO (branded WC login wrap) ─────────────────────────────────── */
.aq-login-hero {
	background: linear-gradient(135deg, var(--aq-navy) 0%, var(--aq-navy-deep) 100%);
	color: #fff;
	padding: 50px 0 40px;
	margin-bottom: 38px;
	text-align: center;
}
.aq-login-hero__inner { max-width: 560px; margin: 0 auto; padding: 0 22px; }
.aq-login-hero__eyebrow {
	color: var(--aq-teal-bright);
	font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
	font-weight: 700;
}
.aq-login-hero__title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 40px;
	letter-spacing: -0.015em;
	margin: 8px 0 8px;
}
.aq-login-hero__sub { font-size: 15px; color: rgba(255,255,255,0.75); line-height: 1.55; margin: 0; }

/* ─── ORDER TRACKING PAGE ────────────────────────────────────────────────── */
.aq-track { padding: 50px 0 70px; }
.aq-track__head { text-align: center; margin-bottom: 30px; }
.aq-track__title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 40px;
	color: var(--aq-navy-deep);
	margin: 8px 0 8px;
	letter-spacing: -0.015em;
}
.aq-track__sub { font-size: 15px; color: #525d80; max-width: 480px; margin: 0 auto; }
.aq-track__form {
	max-width: 480px; margin: 0 auto 32px;
	background: #fff;
	border: 1px solid rgba(14,22,56,0.07);
	border-radius: 14px;
	padding: 26px 28px;
	box-shadow: 0 4px 18px rgba(14,22,56,0.04);
}
.aq-track__field { margin-bottom: 14px; }
.aq-track__label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: var(--aq-navy-deep);
	letter-spacing: 0.04em;
	margin-bottom: 6px;
	text-transform: uppercase;
}
.aq-track__input {
	width: 100%;
	padding: 12px 14px;
	border: 1.5px solid rgba(14,22,56,0.12);
	border-radius: 10px;
	font-family: 'Inter', sans-serif;
	font-size: 14.5px;
	color: var(--aq-navy-deep);
	background: #fbfcfe;
}
.aq-track__input:focus { outline: none; border-color: var(--aq-teal); background: #fff; }
.aq-track__result {
	max-width: 720px;
	margin: 0 auto;
	background: #fff;
	border: 1px solid rgba(14,22,56,0.07);
	border-radius: 14px;
	padding: 24px 28px;
	box-shadow: 0 4px 18px rgba(14,22,56,0.04);
}
.aq-track__result-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding-bottom: 16px;
	border-bottom: 1px solid rgba(14,22,56,0.07);
	margin-bottom: 16px;
	flex-wrap: wrap;
}
.aq-track__order-num {
	font-family: 'Cormorant Garamond', serif;
	font-size: 22px;
	color: var(--aq-navy-deep);
	margin: 0;
}
.aq-track__pill {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 13px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.aq-track__pill::before {
	content: '';
	width: 7px; height: 7px;
	border-radius: 50%;
	background: currentColor;
}
.aq-track__pill--pending    { background: rgba(255,170,50,0.14); color: #c87a10; }
.aq-track__pill--processing { background: rgba(80,140,220,0.14); color: #2a6cba; }
.aq-track__pill--shipped    { background: rgba(80,180,140,0.16); color: #1f8a5e; }
.aq-track__pill--completed  { background: rgba(80,180,140,0.16); color: #1f8a5e; }
.aq-track__pill--on-hold    { background: rgba(255,140,80,0.14); color: #b95a18; }
.aq-track__pill--cancelled  { background: rgba(200,80,80,0.14); color: #a02828; }
.aq-track__pill--refunded   { background: rgba(120,120,120,0.14); color: #5a5a5a; }
.aq-track__pill--failed     { background: rgba(200,80,80,0.14); color: #a02828; }
.aq-track__tracking-num {
	display: inline-block;
	padding: 8px 14px;
	background: rgba(111,184,184,0.1);
	border: 1px solid rgba(111,184,184,0.3);
	border-radius: 8px;
	font-family: 'JetBrains Mono', monospace;
	font-size: 13.5px;
	letter-spacing: 0.04em;
	color: var(--aq-navy-deep);
	font-weight: 600;
}
.aq-track__items { display: flex; flex-direction: column; gap: 10px; margin: 16px 0; }
.aq-track__item {
	display: flex;
	justify-content: space-between;
	padding: 10px 14px;
	background: #fafbfd;
	border-radius: 8px;
	font-size: 13.5px;
}
.aq-track__item-name { color: var(--aq-navy-deep); font-weight: 500; }
.aq-track__item-qty { color: #6b7595; }
.aq-track__total {
	display: flex;
	justify-content: space-between;
	padding-top: 14px;
	border-top: 1px solid rgba(14,22,56,0.07);
	font-family: 'Inter', sans-serif;
}
.aq-track__total-label { font-size: 13px; color: #525d80; }
.aq-track__total-val {
	font-family: 'Cormorant Garamond', serif;
	font-size: 22px;
	color: var(--aq-navy-deep);
}
.aq-track__error {
	max-width: 480px; margin: 0 auto;
	padding: 16px 18px;
	background: rgba(200,80,80,0.06);
	border: 1px solid rgba(200,80,80,0.22);
	border-radius: 10px;
	color: #a02828;
	font-size: 14px;
	text-align: center;
}

/* ─── CART UPSELL + SAVINGS ──────────────────────────────────────────────── */
.aq-cart-savings {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 11px 14px;
	margin: 12px 0;
	background: rgba(80,180,140,0.08);
	border: 1px solid rgba(80,180,140,0.22);
	border-radius: 9px;
	font-size: 13.5px;
	color: #1f8a5e;
	font-weight: 600;
}
.aq-cart-savings::before {
	content: ''; width: 16px; height: 16px;
	flex-shrink: 0;
	background: currentColor;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2l-3.5-3.5L4 14.2l5 5 11-11-1.4-1.4z'/></svg>") center/contain no-repeat;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2l-3.5-3.5L4 14.2l5 5 11-11-1.4-1.4z'/></svg>") center/contain no-repeat;
}
.aq-cart-upsell {
	margin: 22px 0;
	padding: 22px 24px;
	background: linear-gradient(135deg, rgba(111,184,184,0.07), rgba(142,209,208,0.04));
	border: 1px solid rgba(111,184,184,0.22);
	border-radius: 14px;
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
}
.aq-cart-upsell__icon {
	flex-shrink: 0;
	width: 44px; height: 44px;
	background: var(--aq-navy);
	color: var(--aq-teal-bright);
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.aq-cart-upsell__body { flex: 1; min-width: 220px; }
.aq-cart-upsell__title {
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: var(--aq-navy-deep);
	margin: 0 0 4px;
}
.aq-cart-upsell__sub { font-size: 13.5px; color: #525d80; margin: 0; line-height: 1.45; }
.aq-cart-upsell__cta {
	flex-shrink: 0;
	background: var(--aq-navy);
	color: #fff;
	padding: 11px 18px;
	border-radius: 9px;
	text-decoration: none;
	font-size: 13.5px;
	font-weight: 600;
	transition: background 0.2s ease, transform 0.2s ease;
}
.aq-cart-upsell__cta:hover { background: var(--aq-navy-deep); transform: translateY(-1px); color: #fff; }

/* ─── REVIEW STARS ───────────────────────────────────────────────────────── */
.aq-stars {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	color: #f4b34a;
}
.aq-stars--sm { font-size: 13px; }
.aq-stars__icon { width: 16px; height: 16px; }
.aq-stars--sm .aq-stars__icon { width: 13px; height: 13px; }
.aq-stars__count {
	margin-left: 8px;
	font-size: 13px;
	color: #6b7595;
	font-weight: 500;
}
.aq-reviews-block { padding: 50px 0; }
.aq-reviews-block__head {
	text-align: center;
	margin-bottom: 28px;
}
.aq-reviews-block__title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 34px;
	color: var(--aq-navy-deep);
	letter-spacing: -0.015em;
	margin: 0 0 6px;
}
.aq-reviews-block__title em { color: var(--aq-teal); font-style: italic; }
.aq-reviews-block__meta { font-size: 14px; color: #525d80; }
.aq-reviews-block__meta strong { color: var(--aq-navy-deep); }
.aq-reviews-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 16px;
	margin-top: 26px;
}
.aq-review {
	background: #fff;
	border: 1px solid rgba(14,22,56,0.07);
	border-radius: 12px;
	padding: 22px 22px 20px;
	box-shadow: 0 2px 12px rgba(14,22,56,0.04);
}
.aq-review__stars { margin-bottom: 10px; }
.aq-review__body {
	font-size: 14px;
	color: #4a5478;
	line-height: 1.55;
	margin: 0 0 14px;
	font-style: italic;
}
.aq-review__name {
	font-size: 13px;
	font-weight: 600;
	color: var(--aq-navy-deep);
}
.aq-review__name-role { font-weight: 400; color: #8893b3; }
.aq-orders-counter {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	background: rgba(80,180,140,0.08);
	border: 1px solid rgba(80,180,140,0.22);
	color: #1f8a5e;
	border-radius: 999px;
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 0.02em;
}
.aq-orders-counter::before {
	content: ''; width: 8px; height: 8px;
	border-radius: 50%;
	background: #2bb67a;
	box-shadow: 0 0 0 4px rgba(43,182,122,0.22);
	animation: aq-pulse 2s ease-in-out infinite;
}

/* ─── COMPARISON TABLE (homepage) ───────────────────────────────────────── */
.aq-compare-block { padding: 56px 0; background: linear-gradient(180deg, #fafbfd 0%, #fff 100%); }
.aq-compare-block__head { text-align: center; margin-bottom: 32px; }
.aq-compare-block__title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 36px;
	color: var(--aq-navy-deep);
	margin: 0 0 6px;
	letter-spacing: -0.015em;
}
.aq-compare-block__title em { color: var(--aq-teal); font-style: italic; }
.aq-compare-block__sub { font-size: 15px; color: #525d80; max-width: 540px; margin: 0 auto; }
.aq-compare {
	max-width: 880px; margin: 0 auto;
	background: #fff;
	border: 1px solid rgba(14,22,56,0.07);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 6px 24px rgba(14,22,56,0.05);
}
.aq-compare__row {
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr;
	border-bottom: 1px solid rgba(14,22,56,0.06);
}
.aq-compare__row:last-child { border-bottom: none; }
.aq-compare__row--head {
	background: var(--aq-navy);
	color: #fff;
	font-family: 'Inter', sans-serif;
	font-weight: 600;
	font-size: 13.5px;
	letter-spacing: 0.02em;
}
.aq-compare__row--head .aq-compare__cell { padding: 16px 18px; }
.aq-compare__cell { padding: 14px 18px; font-size: 14px; color: #4a5478; }
.aq-compare__cell--label { font-weight: 600; color: var(--aq-navy-deep); }
.aq-compare__cell--us {
	background: rgba(111,184,184,0.08);
	color: var(--aq-navy-deep);
	font-weight: 600;
	text-align: center;
}
.aq-compare__cell--them { text-align: center; color: #8893b3; }
.aq-compare__check  { color: #2bb67a; font-weight: 700; }
.aq-compare__cross  { color: #c87878; }
@media (max-width: 580px) {
	.aq-compare__row { grid-template-columns: 1.4fr 1fr 1fr; }
	.aq-compare__cell { padding: 12px 10px; font-size: 12.5px; }
}

/* ─── FAQ PAGE ACCORDION ─────────────────────────────────────────────────── */
.aq-faq-page { padding: 50px 0 70px; }
.aq-faq-page__head { text-align: center; margin-bottom: 32px; }
.aq-faq-page__title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 42px;
	color: var(--aq-navy-deep);
	margin: 8px 0 8px;
	letter-spacing: -0.015em;
}
.aq-faq-page__title em { color: var(--aq-teal); font-style: italic; }
.aq-faq-page__sub { font-size: 15px; color: #525d80; max-width: 540px; margin: 0 auto; line-height: 1.55; }
.aq-faq-list { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 10px; }
.aq-faq-item {
	background: #fff;
	border: 1px solid rgba(14,22,56,0.07);
	border-radius: 12px;
	overflow: hidden;
	transition: box-shadow 0.22s ease, border-color 0.22s ease;
}
.aq-faq-item[open] {
	border-color: rgba(111,184,184,0.4);
	box-shadow: 0 6px 22px rgba(14,22,56,0.06);
}
.aq-faq-item__q {
	cursor: pointer;
	padding: 18px 24px 18px 22px;
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: var(--aq-navy-deep);
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	transition: color 0.2s ease;
}
.aq-faq-item__q::-webkit-details-marker { display: none; }
.aq-faq-item__q::after {
	content: '';
	width: 14px; height: 14px;
	flex-shrink: 0;
	background: var(--aq-navy);
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M7 10l5 5 5-5z'/></svg>") center/contain no-repeat;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M7 10l5 5 5-5z'/></svg>") center/contain no-repeat;
	transition: transform 0.22s ease;
}
.aq-faq-item[open] .aq-faq-item__q::after { transform: rotate(180deg); }
.aq-faq-item__q:hover { color: var(--aq-navy); }
.aq-faq-item__a {
	padding: 0 24px 20px 22px;
	font-size: 14px;
	color: #525d80;
	line-height: 1.65;
}

/* ─── PREMIUM FOOTER ─────────────────────────────────────────────────────── */
.aq-footer { background: var(--aq-navy-deep); color: rgba(255,255,255,0.85); }
.aq-footer__newsletter {
	padding: 38px 0;
	background: linear-gradient(135deg, var(--aq-navy) 0%, var(--aq-navy-deep) 100%);
	border-bottom: 1px solid rgba(255,255,255,0.08);
}
.aq-footer__newsletter-inner {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 22px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	flex-wrap: wrap;
}
.aq-footer__newsletter-text { flex: 1; min-width: 240px; }
.aq-footer__newsletter-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 28px;
	color: #fff;
	margin: 0 0 4px;
	letter-spacing: -0.01em;
}
.aq-footer__newsletter-sub { font-size: 14px; color: rgba(255,255,255,0.7); margin: 0; }
.aq-footer__newsletter-form {
	display: flex;
	gap: 8px;
	flex: 1.2;
	min-width: 320px;
	max-width: 440px;
}
.aq-footer__newsletter-input {
	flex: 1;
	padding: 13px 16px;
	background: rgba(255,255,255,0.08);
	border: 1.5px solid rgba(255,255,255,0.18);
	border-radius: 10px;
	color: #fff;
	font-family: 'Inter', sans-serif;
	font-size: 14.5px;
	transition: background 0.18s ease, border-color 0.18s ease;
}
.aq-footer__newsletter-input::placeholder { color: rgba(255,255,255,0.45); }
.aq-footer__newsletter-input:focus {
	outline: none;
	background: rgba(255,255,255,0.12);
	border-color: var(--aq-teal-bright);
}
.aq-footer__newsletter-btn {
	background: var(--aq-teal);
	color: var(--aq-navy-deep);
	border: none;
	padding: 0 22px;
	border-radius: 10px;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.04em;
	cursor: pointer;
	transition: background 0.18s ease, transform 0.18s ease;
}
.aq-footer__newsletter-btn:hover { background: var(--aq-teal-bright); transform: translateY(-1px); }

.aq-footer__main { padding: 50px 0 28px; }
.aq-footer__main-inner {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 22px;
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: 38px;
}
.aq-footer__brand-name {
	font-family: 'Cormorant Garamond', serif;
	font-size: 26px;
	color: #fff;
	margin: 0 0 10px;
	letter-spacing: -0.01em;
}
.aq-footer__brand-tag { font-size: 13.5px; color: rgba(255,255,255,0.65); line-height: 1.55; margin: 0 0 16px; max-width: 320px; }
.aq-footer__brand-mini { display: flex; flex-wrap: wrap; gap: 8px; }
.aq-footer__brand-chip {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 5px 10px;
	background: rgba(255,255,255,0.07);
	border: 1px solid rgba(255,255,255,0.14);
	border-radius: 999px;
	font-size: 11px;
	color: rgba(255,255,255,0.78);
	font-weight: 500;
	letter-spacing: 0.04em;
}
.aq-footer__brand-chip::before {
	content: ''; width: 6px; height: 6px;
	border-radius: 50%;
	background: var(--aq-teal-bright);
}
.aq-footer__col h4 {
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin: 0 0 14px;
}
.aq-footer__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.aq-footer__col a {
	font-size: 13.5px;
	color: rgba(255,255,255,0.7);
	text-decoration: none;
	transition: color 0.18s ease;
}
.aq-footer__col a:hover { color: var(--aq-teal-bright); }

.aq-footer__pay-row {
	padding: 22px 0;
	border-top: 1px solid rgba(255,255,255,0.08);
	border-bottom: 1px solid rgba(255,255,255,0.08);
}
.aq-footer__pay-inner {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 22px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	flex-wrap: wrap;
}
.aq-footer__pay { display: flex; gap: 7px; flex-wrap: wrap; }
.aq-pay {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 46px;
	height: 28px;
	padding: 0 9px;
	background: rgba(255,255,255,0.09);
	border: 1px solid rgba(255,255,255,0.14);
	border-radius: 5px;
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: rgba(255,255,255,0.85);
}
.aq-footer__social { display: flex; gap: 10px; }
.aq-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px; height: 34px;
	background: rgba(255,255,255,0.07);
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 50%;
	color: rgba(255,255,255,0.85);
	transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}
.aq-footer__social a:hover {
	background: var(--aq-teal);
	color: var(--aq-navy-deep);
	transform: translateY(-2px);
}
.aq-footer__social svg { width: 15px; height: 15px; }

.aq-footer__bottom { padding: 22px 0 26px; }
.aq-footer__bottom-inner {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 22px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	flex-wrap: wrap;
	font-size: 12px;
	color: rgba(255,255,255,0.55);
}
.aq-footer__compliance { letter-spacing: 0.04em; }

@media (max-width: 880px) {
	.aq-footer__main-inner { grid-template-columns: 1fr 1fr; gap: 30px; }
}
@media (max-width: 520px) {
	.aq-footer__main-inner { grid-template-columns: 1fr; gap: 26px; }
	.aq-footer__newsletter-form { flex-direction: column; }
	.aq-footer__newsletter-btn { padding: 13px 22px; }
}

/* ─── PACK GRID — 6-pack reflow (with 200 added) ─────────────────────────── */
@media (min-width: 980px) {
	.aq-packgrid--six {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (min-width: 640px) and (max-width: 979px) {
	.aq-packgrid--six { grid-template-columns: repeat(2, 1fr); }
}

/* ─── RESTOCK NOTIFY BUTTON ──────────────────────────────────────────────── */
.aq-restock-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 13px;
	background: rgba(14,22,56,0.06);
	border: 1px solid rgba(14,22,56,0.12);
	color: var(--aq-navy);
	border-radius: 8px;
	font-size: 12.5px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.18s ease;
}
.aq-restock-btn:hover { background: rgba(14,22,56,0.1); }
.aq-restock-btn.is-active { background: rgba(80,180,140,0.12); color: #1f8a5e; border-color: rgba(80,180,140,0.3); }

/* ─── HEADER TWEAKS (shop button visibility) ─────────────────────────────── */
.aq-header__shop {
	display: inline-flex;
	margin-right: 6px;
}
@media (max-width: 820px) {
	.aq-header__shop { display: none !important; }
}

/* ─── ACCOUNT LIVE COUNTER PULSE ─────────────────────────────────────────── */
@keyframes aq-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(43,182,122,0.4); }
	50%      { box-shadow: 0 0 0 6px rgba(43,182,122,0); }
}

/* ─── FAQ PAGE TRUST STRIP UNDER HERO ────────────────────────────────────── */
.aq-trust-strip {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	max-width: 720px;
	margin: 0 auto 28px;
}
.aq-trust-strip__item {
	display: flex; flex-direction: column; align-items: center; text-align: center;
	padding: 14px 12px;
	background: #fff;
	border: 1px solid rgba(14,22,56,0.07);
	border-radius: 11px;
}
.aq-trust-strip__icon { width: 28px; height: 28px; margin-bottom: 6px; color: var(--aq-navy); }
.aq-trust-strip__label { font-size: 12px; font-weight: 600; color: var(--aq-navy-deep); letter-spacing: 0.02em; }
@media (max-width: 580px) {
	.aq-trust-strip { grid-template-columns: 1fr; }
	.aq-trust-strip__item { flex-direction: row; gap: 12px; padding: 12px 14px; }
	.aq-trust-strip__icon { margin-bottom: 0; width: 22px; height: 22px; }
}


/* ═══════════════════════════════════════════════════════════════════
   v2.1 — POPUP REBUILD: single-column, balanced, mobile-clean
   ═══════════════════════════════════════════════════════════════════ */

/* Hard-reset old popup grid */
.aq-subpop .aq-subpop__card {
	display: block !important;
	grid-template-columns: none !important;
	max-width: 460px !important;
	width: 100% !important;
	padding: 0;
	border-radius: 20px;
	overflow: hidden;
	position: relative;
	box-shadow: 0 30px 70px rgba(0,0,0,0.45);
	transform: scale(0.96) translateY(12px);
	transition: transform 280ms var(--aq-ease-out);
}
.aq-subpop[data-state="visible"] .aq-subpop__card { transform: scale(1) translateY(0); }
.aq-subpop .aq-subpop__inner {
	padding: 36px 30px 28px;
	position: relative;
	z-index: 1;
	background: var(--aq-white);
	display: flex;
	flex-direction: column;
	gap: 14px;
}
/* Decorative glow at top */
.aq-subpop .aq-subpop__glow {
	position: absolute;
	top: -160px; left: 50%;
	transform: translateX(-50%);
	width: 360px; height: 360px;
	background: radial-gradient(circle, rgba(142,209,208,0.30), transparent 70%);
	pointer-events: none;
	z-index: 0;
}
.aq-subpop .aq-subpop__close {
	position: absolute;
	top: 12px; right: 14px;
	width: 30px; height: 30px;
	border-radius: 999px;
	background: rgba(10,21,48,0.07);
	color: var(--aq-text);
	border: 0;
	cursor: pointer;
	font-size: 22px;
	line-height: 1;
	font-weight: 400;
	z-index: 2;
	transition: background 160ms var(--aq-ease);
}
.aq-subpop .aq-subpop__close:hover { background: rgba(10,21,48,0.14); }

.aq-subpop__badge {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	align-self: flex-start;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(111,184,184,0.14);
	color: var(--aq-teal-deep);
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: 0.10em;
	text-transform: uppercase;
}
.aq-subpop__badge-dot {
	width: 6px; height: 6px;
	border-radius: 50%;
	background: var(--aq-teal-deep);
	box-shadow: 0 0 0 3px rgba(111,184,184,0.20);
}

.aq-subpop .aq-subpop__head {
	font-family: var(--aq-font-display);
	font-size: 28px;
	line-height: 1.15;
	color: var(--aq-navy-deep);
	margin: 0;
	font-weight: 600;
	letter-spacing: -0.01em;
}
.aq-subpop__head-accent {
	color: var(--aq-teal-deep);
	font-style: italic;
}

.aq-subpop .aq-subpop__sub {
	color: var(--aq-text-soft);
	margin: 0 0 4px;
	font-size: 13.5px;
	line-height: 1.5;
}

.aq-subpop .aq-subpop__form {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
}
.aq-subpop__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
.aq-subpop .aq-subpop__field {
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.aq-subpop .aq-subpop__field span {
	font-size: 10.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.10em;
	color: var(--aq-text-muted);
}
.aq-subpop .aq-subpop__field input {
	padding: 12px 14px;
	border-radius: 10px;
	border: 1.5px solid var(--aq-border);
	background: var(--aq-white);
	font-family: inherit;
	font-size: 14px;
	color: var(--aq-text);
	transition: border-color 160ms var(--aq-ease), box-shadow 160ms var(--aq-ease);
	width: 100%;
}
.aq-subpop .aq-subpop__field input:focus {
	outline: 0;
	border-color: var(--aq-teal-deep);
	box-shadow: 0 0 0 3px rgba(111,184,184,0.18);
}

.aq-subpop__submit {
	width: 100%;
	padding: 14px 22px;
	border: 0;
	border-radius: 12px;
	background: var(--aq-grad-navy);
	color: var(--aq-white);
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.02em;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	transition: transform 180ms var(--aq-ease), box-shadow 180ms var(--aq-ease);
	margin-top: 2px;
}
.aq-subpop__submit:hover { transform: translateY(-1px); box-shadow: 0 14px 30px rgba(10,21,48,0.22); }
.aq-subpop__submit:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }

.aq-subpop__legal {
	margin: 4px 0 0;
	font-size: 10.5px;
	line-height: 1.5;
	color: var(--aq-text-muted);
	text-align: center;
}

.aq-subpop__nope {
	background: transparent;
	border: 0;
	color: var(--aq-text-muted);
	cursor: pointer;
	font-size: 12px;
	padding: 4px;
	text-decoration: underline;
	margin: 0 auto;
}
.aq-subpop__nope:hover { color: var(--aq-text-soft); }

.aq-subpop .aq-subpop__success {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	text-align: center;
}
.aq-subpop .aq-subpop__success h3 {
	margin: 0;
	font-family: var(--aq-font-display);
	font-size: 26px;
	color: var(--aq-navy-deep);
}
.aq-subpop .aq-subpop__check {
	width: 56px; height: 56px;
	border-radius: 50%;
	background: var(--aq-grad-teal);
	color: var(--aq-navy-deep);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	animation: aq-pop 360ms var(--aq-ease-out);
}
.aq-subpop__success-lead { margin: 0; color: var(--aq-text-soft); font-size: 13.5px; }
.aq-subpop .aq-subpop__code-wrap {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 14px;
	background: var(--aq-bg);
	border: 1.5px dashed var(--aq-teal-deep);
	border-radius: 12px;
	width: 100%;
}
.aq-subpop .aq-subpop__code {
	flex: 1 1 auto;
	font-family: 'SFMono-Regular', Consolas, monospace;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--aq-navy-deep);
	text-align: left;
}
.aq-subpop .aq-subpop__copy {
	background: var(--aq-navy-deep);
	color: var(--aq-white);
	border: 0;
	padding: 8px 14px;
	border-radius: 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	cursor: pointer;
}
.aq-subpop__success-sub { font-size: 12.5px; color: var(--aq-text-soft); margin: 0; }

/* Mobile popup */
@media (max-width: 480px) {
	.aq-subpop { padding: 12px; }
	.aq-subpop .aq-subpop__inner { padding: 28px 22px 22px; gap: 12px; }
	.aq-subpop .aq-subpop__head { font-size: 23px; }
	.aq-subpop__row { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════════════
   v2.1 — PERSISTENT "GET 15% OFF" TAB (bottom-right corner)
   ═══════════════════════════════════════════════════════════════════ */
.aq-discount-tab {
	position: fixed;
	bottom: 18px;
	right: 18px;
	z-index: 70;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 11px 17px;
	border: 0;
	border-radius: 999px;
	background: var(--aq-grad-navy);
	color: var(--aq-white);
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	cursor: pointer;
	box-shadow: 0 12px 28px rgba(10,21,48,0.32), 0 0 0 4px rgba(142,209,208,0.18);
	transition: transform 200ms var(--aq-ease), box-shadow 200ms var(--aq-ease);
	animation: aq-tab-bounce-in 500ms var(--aq-ease-out);
}
.aq-discount-tab:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 34px rgba(10,21,48,0.42), 0 0 0 5px rgba(142,209,208,0.24);
}
.aq-discount-tab svg { color: var(--aq-teal-bright); }
@keyframes aq-tab-bounce-in {
	0%   { transform: translateY(40px); opacity: 0; }
	60%  { transform: translateY(-4px); opacity: 1; }
	100% { transform: translateY(0); opacity: 1; }
}
@media (max-width: 480px) {
	.aq-discount-tab { bottom: 14px; right: 14px; padding: 10px 14px; font-size: 12px; }
}

/* ═══════════════════════════════════════════════════════════════════
   v2.1 — MOBILE HEADER: cart + burger grouped on right (no floater)
   ═══════════════════════════════════════════════════════════════════ */
.aq-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.aq-header__actions {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-left: auto;
}
.aq-header__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 12px;
	background: rgba(10,21,48,0.04);
	color: var(--aq-navy-deep);
	border: 0;
	cursor: pointer;
	position: relative;
	transition: background 160ms var(--aq-ease);
	text-decoration: none;
}
.aq-header__action:hover { background: rgba(10,21,48,0.08); }
.aq-header__action svg { color: var(--aq-navy-deep); }

/* Cart count badge */
.aq-header__actions .aq-cart .aq-cart__count {
	position: absolute;
	top: -4px;
	right: -4px;
	min-width: 18px;
	height: 18px;
	border-radius: 999px;
	background: var(--aq-teal-deep);
	color: var(--aq-white);
	font-size: 10px;
	font-weight: 800;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 5px;
	border: 2px solid var(--aq-white);
}

/* Override old burger to fit the new action group */
.aq-header__actions .aq-burger {
	width: 38px; height: 38px;
	padding: 0;
	background: rgba(10,21,48,0.04);
	border: 0;
	border-radius: 12px;
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 4px;
	cursor: pointer;
}
.aq-header__actions .aq-burger span {
	display: block;
	width: 16px;
	height: 1.8px;
	background: var(--aq-navy-deep);
	border-radius: 2px;
	transition: transform .2s var(--aq-ease);
}
.aq-header__actions .aq-burger:hover { background: rgba(10,21,48,0.08); }

/* Kill the old floating mobile cart entirely */
.aq-cart--mobile-float { display: none !important; }

/* Mobile: hide desktop nav, keep actions tight on right */
@media (max-width: 980px) {
	.aq-nav { display: none; }
}
@media (max-width: 580px) {
	.aq-header__inner { padding: 10px 14px; gap: 8px; }
	.aq-header__actions { gap: 6px; }
	.aq-header__action { width: 36px; height: 36px; }
	.aq-wordmark--md { font-size: 21px; }
	/* Don't show account icon on tight phones — keep it compact */
	.aq-header__account { display: none; }
}

/* ═══════════════════════════════════════════════════════════════════
   v2.1 — SHOP SECTION: pure white background, cards blend cleanly
   ═══════════════════════════════════════════════════════════════════ */
.aq-shop {
	background: var(--aq-white);
}
.aq-shop .aq-pack:not(.aq-pack--disabled) {
	background: var(--aq-white);
	border: 1px solid var(--aq-border);
	box-shadow: 0 1px 0 rgba(10,21,48,0.02);
	transition: transform 0.22s var(--aq-ease), border-color 0.22s var(--aq-ease), box-shadow 0.22s var(--aq-ease);
}
.aq-shop .aq-pack:not(.aq-pack--disabled):hover {
	transform: translateY(-3px);
	border-color: rgba(111,184,184,0.55);
	box-shadow: 0 16px 36px rgba(10,21,48,0.10);
}
.aq-shop .aq-pack.is-selected,
.aq-shop .aq-pack[aria-pressed="true"] {
	border-color: var(--aq-teal-deep);
	box-shadow: 0 0 0 3px rgba(111,184,184,0.18), 0 14px 32px rgba(10,21,48,0.12);
}

/* Single product page pack grid — same treatment */
.aq-product .aq-pack:not(.aq-pack--disabled) {
	background: var(--aq-white);
	border: 1px solid var(--aq-border);
	box-shadow: 0 1px 0 rgba(10,21,48,0.02);
}
.aq-product .aq-pack:not(.aq-pack--disabled):hover {
	border-color: rgba(111,184,184,0.55);
	box-shadow: 0 14px 30px rgba(10,21,48,0.10);
}

/* ═══════════════════════════════════════════════════════════════════
   v2.1 — CART: tighter, no empty space, premium feel
   ═══════════════════════════════════════════════════════════════════ */
.aq-checkout-hero {
	background: linear-gradient(135deg, var(--aq-navy-deep) 0%, var(--aq-navy) 100%);
	color: var(--aq-white);
	padding: 36px 0 28px;
	position: relative;
	overflow: hidden;
}
.aq-checkout-hero__glow {
	position: absolute;
	right: -120px; top: -120px;
	width: 360px; height: 360px;
	background: radial-gradient(circle, rgba(142,209,208,0.28), transparent 70%);
	pointer-events: none;
}
.aq-checkout-hero__inner {
	position: relative;
	z-index: 1;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 20px;
}
.aq-checkout-hero__title {
	font-family: var(--aq-font-display);
	font-size: 38px;
	color: var(--aq-white);
	margin: 6px 0 4px;
	font-weight: 600;
}
.aq-checkout-hero__sub {
	color: rgba(255,255,255,0.72);
	margin: 0 0 16px;
	font-size: 14px;
}
.aq-checkout-trust {
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
	font-size: 12px;
	color: rgba(255,255,255,0.85);
}
.aq-checkout-trust span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.aq-checkout-trust svg { color: var(--aq-teal-bright); }
@media (max-width: 580px) {
	.aq-checkout-hero { padding: 26px 0 22px; }
	.aq-checkout-hero__title { font-size: 28px; }
	.aq-checkout-trust { gap: 12px; font-size: 11.5px; }
}

/* Tighten the cart wrap */
.aq-cart-ship-wrap { padding: 14px 0 6px; }
.aq-cart-wrap { padding-top: 18px; padding-bottom: 50px; }

/* Checkout steps pill row */
.aq-steps {
	list-style: none;
	display: flex;
	gap: 10px;
	padding: 0;
	margin: 8px 0 14px;
	flex-wrap: wrap;
}
.aq-steps li {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 12px;
	color: rgba(255,255,255,0.55);
}
.aq-steps li.is-done, .aq-steps li.is-active { color: var(--aq-white); }
.aq-step__n {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px; height: 22px;
	border-radius: 999px;
	background: rgba(255,255,255,0.08);
	font-size: 11px;
	font-weight: 800;
}
.aq-steps li.is-done .aq-step__n { background: var(--aq-grad-teal); color: var(--aq-navy-deep); }
.aq-steps li.is-active .aq-step__n { background: var(--aq-white); color: var(--aq-navy-deep); }

/* Eyebrow on dark hero */
.aq-eyebrow--light { color: var(--aq-teal-bright); }

/* ═══════════════════════════════════════════════════════════════════
   v2.1 — CUSTOMER PORTAL: fix wrapping, breathing room, mobile polish
   ═══════════════════════════════════════════════════════════════════ */
/* Wider sidebar so "Gift Cards" / "Account details" stop wrapping */
.woocommerce-account .woocommerce {
	grid-template-columns: 260px 1fr !important;
}

/* Sidebar nav text on a single line */
.aq-acct-nav__list a {
	white-space: nowrap;
	font-size: 13.5px;
	padding: 10px 13px;
}

/* Stat cards: flexible auto-fit grid, no more squished labels */
.aq-account__stats {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
	gap: 12px !important;
}
.aq-account__stat {
	min-width: 0;
	padding: 16px 14px;
}
.aq-account__stat-label {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 10.5px;
}
.aq-account__stat-value {
	font-size: 20px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Welcome card: cap content width, prevent badge overflow */
.aq-account__welcome { padding: 26px 24px; }
.aq-account__welcome-body h2 { font-size: 28px; margin: 4px 0; }
.aq-account__welcome-sub { font-size: 13px; line-height: 1.5; }

/* Loyalty progress block: clean spacing */
.aq-account__loyalty-head h3 { font-size: 20px; }
.aq-account__loyalty-head p  { font-size: 13px; }

/* Quick action cards: 2-col minimum */
.aq-account__quick {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
	gap: 10px !important;
}
.aq-account__quick-card { padding: 16px 14px; }
.aq-account__quick-card span { font-size: 13.5px; }
.aq-account__quick-card small { font-size: 11.5px; line-height: 1.4; }

/* Mobile: stack sidebar above content */
@media (max-width: 880px) {
	.woocommerce-account .woocommerce {
		grid-template-columns: 1fr !important;
		gap: 18px;
		padding: 0 16px;
	}
	.aq-acct-nav__list {
		display: flex;
		gap: 4px;
		overflow-x: auto;
		flex-wrap: nowrap;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 4px;
	}
	.aq-acct-nav__list li { flex: 0 0 auto; }
	.aq-acct-nav__list a {
		padding: 8px 14px;
		border-radius: 999px;
		background: var(--aq-bg);
		font-size: 13px;
	}
	.aq-acct-nav__list .is-active a {
		background: var(--aq-navy-deep);
		color: var(--aq-white);
	}
	.woocommerce-account .woocommerce-MyAccount-content { padding: 22px 18px; }
	.aq-account__welcome { flex-direction: column; align-items: flex-start; padding: 22px 18px; }
	.aq-account__welcome-body h2 { font-size: 24px; }
	.aq-account__stat-value { font-size: 18px; }
}

/* Reward callout: stack on small screens */
@media (max-width: 580px) {
	.aq-account__reward { flex-direction: column; align-items: flex-start; padding: 20px; }
	.aq-account__reward-icon { width: 44px; height: 44px; }
	.aq-account__code-wrap { flex-wrap: wrap; }
}


/* ═══════════════════════════════════════════════════════════════════
   v2.2 — POPUP FIX: hidden attribute respected + success polish
   ═══════════════════════════════════════════════════════════════════ */

/* CRITICAL: respect the HTML hidden attribute regardless of view's display rule */
.aq-subpop .aq-subpop__view[hidden],
.aq-subpop__view--success[hidden],
.aq-subpop__view--form[hidden] {
	display: none !important;
}

.aq-subpop__view--success {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	text-align: center;
	padding: 8px 0 4px;
}
.aq-subpop__success-head {
	font-family: var(--aq-font-display);
	font-size: 32px;
	color: var(--aq-navy-deep);
	margin: 0;
	letter-spacing: -0.01em;
}
.aq-subpop__success-sub {
	color: var(--aq-text-soft);
	margin: 0;
	font-size: 14px;
}

/* Premium code display box */
.aq-subpop__code-display {
	display: flex;
	align-items: stretch;
	gap: 0;
	background: var(--aq-bg);
	border: 2px dashed var(--aq-teal-deep);
	border-radius: 14px;
	padding: 4px;
	width: 100%;
	margin: 4px 0 2px;
}
.aq-subpop .aq-subpop__code {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'SFMono-Regular', Consolas, monospace;
	font-size: 19px;
	font-weight: 800;
	letter-spacing: 0.08em;
	color: var(--aq-navy-deep);
	padding: 10px 12px;
	text-align: center;
}
.aq-subpop .aq-subpop__copy {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 16px;
	background: var(--aq-navy-deep);
	color: var(--aq-white);
	border: 0;
	border-radius: 10px;
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	cursor: pointer;
	transition: background 160ms var(--aq-ease);
	flex-shrink: 0;
}
.aq-subpop .aq-subpop__copy:hover { background: var(--aq-navy); }
.aq-subpop__success-meta {
	font-size: 12px;
	color: var(--aq-text-muted);
	margin: 0;
}

.aq-subpop__submit--success { margin-top: 6px; }

/* ═══════════════════════════════════════════════════════════════════
   v2.2 — CART REDESIGN: premium DTC hero + 2-column
   ═══════════════════════════════════════════════════════════════════ */

.aq-cart-hero {
	background: linear-gradient(135deg, var(--aq-navy-deep) 0%, var(--aq-navy) 60%, var(--aq-navy-soft) 100%);
	color: var(--aq-white);
	padding: 44px 0 38px;
	position: relative;
	overflow: hidden;
}
.aq-cart-hero__glow {
	position: absolute;
	right: -160px; top: -160px;
	width: 460px; height: 460px;
	background: radial-gradient(circle, rgba(142,209,208,0.32), transparent 70%);
	pointer-events: none;
}
.aq-cart-hero__inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
	flex-wrap: wrap;
	position: relative;
	z-index: 1;
}
.aq-cart-hero__copy h1 {
	font-family: var(--aq-font-display);
	font-size: 44px;
	color: var(--aq-white);
	margin: 6px 0 6px;
	font-weight: 600;
	letter-spacing: -0.02em;
}
.aq-cart-hero__copy p {
	color: rgba(255,255,255,0.75);
	margin: 0;
	font-size: 14px;
}

/* Step indicator */
.aq-cart-hero__steps {
	display: flex;
	align-items: center;
	gap: 8px;
}
.aq-cart-step {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	color: rgba(255,255,255,0.45);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.aq-cart-step span {
	width: 28px; height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: rgba(255,255,255,0.08);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0;
	color: rgba(255,255,255,0.55);
	border: 1.5px solid rgba(255,255,255,0.10);
}
.aq-cart-step.is-active { color: var(--aq-white); }
.aq-cart-step.is-active span { background: var(--aq-white); color: var(--aq-navy-deep); border-color: transparent; }
.aq-cart-step.is-done { color: var(--aq-teal-bright); }
.aq-cart-step.is-done span { background: var(--aq-grad-teal); color: var(--aq-navy-deep); border-color: transparent; }
.aq-cart-step__line {
	width: 40px; height: 1.5px;
	background: rgba(255,255,255,0.12);
	margin-bottom: 16px;
}
.aq-cart-step__line.is-done { background: var(--aq-teal-bright); }

/* Wrap layout */
.aq-cart-wrap {
	max-width: 1180px;
	margin: -20px auto 60px;
	padding: 0 20px;
	display: grid;
	grid-template-columns: 1.55fr 1fr;
	gap: 28px;
	position: relative;
	z-index: 2;
	align-items: start;
}

/* Cart items card */
.aq-cart-items-card {
	background: var(--aq-white);
	border-radius: 20px;
	padding: 26px 28px;
	box-shadow: 0 18px 44px rgba(10,21,48,0.10);
}
.aq-cart-items-card__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 16px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--aq-border);
}
.aq-cart-items-card__head h2 {
	font-family: var(--aq-font-display);
	font-size: 22px;
	color: var(--aq-navy-deep);
	margin: 0;
	font-weight: 600;
}
.aq-cart-items-card__count {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--aq-text-muted);
}

.aq-cart-items { display: flex; flex-direction: column; }
.aq-cart-item {
	display: grid;
	grid-template-columns: 84px 1fr auto;
	gap: 18px;
	padding: 18px 0;
	border-bottom: 1px solid var(--aq-border);
	align-items: center;
}
.aq-cart-item:last-child { border-bottom: 0; }
.aq-cart-item__img img,
.aq-cart-item__img a img {
	width: 84px;
	height: 84px;
	border-radius: 14px;
	object-fit: cover;
	background: var(--aq-bg);
}
.aq-cart-item__main { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.aq-cart-item__name {
	font-weight: 700;
	font-size: 15px;
	color: var(--aq-navy-deep);
	text-decoration: none;
	line-height: 1.3;
}
.aq-cart-item__name:hover { color: var(--aq-teal-deep); }
.aq-cart-item__meta {
	font-size: 12px;
	color: var(--aq-text-muted);
}
.aq-cart-item__meta dl { margin: 0; display: flex; gap: 4px; flex-wrap: wrap; }
.aq-cart-item__meta dt,
.aq-cart-item__meta dd { margin: 0; display: inline; font-size: 12px; }
.aq-cart-item__price-row {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin-top: 4px;
}
.aq-cart-item__unit { font-size: 12px; color: var(--aq-text-muted); }
.aq-cart-item__sub { font-weight: 700; font-size: 16px; color: var(--aq-navy-deep); }

.aq-cart-item__actions {
	display: flex;
	align-items: center;
	gap: 12px;
}
.aq-cart-item__qty .quantity { display: flex; align-items: center; }
.aq-cart-item__qty input[type="number"] {
	width: 56px;
	padding: 8px 6px;
	border: 1.5px solid var(--aq-border);
	border-radius: 10px;
	text-align: center;
	font-size: 14px;
	font-weight: 600;
	font-family: inherit;
}
.aq-cart-item__qty input:focus {
	outline: 0;
	border-color: var(--aq-teal-deep);
	box-shadow: 0 0 0 3px rgba(111,184,184,0.18);
}
.aq-cart-item__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px; height: 32px;
	border-radius: 999px;
	background: var(--aq-bg);
	color: var(--aq-text-muted);
	text-decoration: none;
	transition: background 160ms var(--aq-ease), color 160ms var(--aq-ease);
}
.aq-cart-item__remove:hover { background: rgba(220,53,69,0.10); color: #b32d3a; }

.aq-cart-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--aq-border);
}
.aq-cart-actions__back {
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

/* Promise card */
.aq-cart-promise-card {
	margin-top: 16px;
	background: var(--aq-white);
	border-radius: 20px;
	padding: 6px 14px 14px;
	box-shadow: 0 18px 44px rgba(10,21,48,0.06);
}
.aq-cart-promise-card .aq-ship-promise {
	margin: 0;
	border: 0;
	background: transparent;
}
.aq-cart-promise-card .aq-ship-promise::before { display: none; }

/* Summary sidebar */
.aq-cart-summary { min-width: 0; }
.aq-cart-summary__sticky {
	position: sticky;
	top: 90px;
	background: var(--aq-white);
	border-radius: 20px;
	padding: 26px 26px 22px;
	box-shadow: 0 18px 44px rgba(10,21,48,0.10);
}
.aq-cart-summary__head { margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--aq-border); }
.aq-cart-summary__head h2 {
	font-family: var(--aq-font-display);
	font-size: 22px;
	color: var(--aq-navy-deep);
	margin: 0;
	font-weight: 600;
}

/* Override default WC totals table */
.aq-cart-summary__table .shop_table,
.aq-cart-summary__table table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 14px;
}
.aq-cart-summary__table th,
.aq-cart-summary__table td {
	padding: 9px 0 !important;
	border: 0 !important;
	font-size: 14px;
	background: transparent !important;
}
.aq-cart-summary__table th {
	color: var(--aq-text-soft);
	font-weight: 500;
	text-align: left;
}
.aq-cart-summary__table td {
	text-align: right;
	font-weight: 600;
	color: var(--aq-navy-deep);
}
.aq-cart-summary__table .order-total th,
.aq-cart-summary__table .order-total td {
	font-size: 19px;
	font-weight: 800;
	color: var(--aq-navy-deep);
	border-top: 1.5px solid var(--aq-border) !important;
	padding-top: 14px !important;
}
.aq-cart-summary__table .woocommerce-shipping-totals .woocommerce-Price-amount { color: var(--aq-teal-deep); }
.aq-cart-summary__table .aq-cart-savings th { color: var(--aq-teal-deep); font-weight: 700; }

/* Coupon collapsible */
.aq-cart-coupon {
	border: 1.5px dashed var(--aq-border);
	border-radius: 12px;
	padding: 10px 14px;
	margin-bottom: 14px;
}
.aq-cart-coupon summary {
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 600;
	color: var(--aq-navy-deep);
	list-style: none;
}
.aq-cart-coupon summary::-webkit-details-marker { display: none; }
.aq-cart-coupon summary > span { flex: 1 1 auto; }
.aq-cart-coupon__chev { transition: transform 200ms var(--aq-ease); }
.aq-cart-coupon[open] .aq-cart-coupon__chev { transform: rotate(180deg); }
.aq-cart-coupon .aq-coupon-form { margin-top: 10px; }

/* CTA button */
.aq-cart-summary__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	padding: 16px 22px;
	background: var(--aq-grad-navy);
	color: var(--aq-white);
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.02em;
	border: 0;
	border-radius: 14px;
	cursor: pointer;
	text-decoration: none;
	transition: transform 200ms var(--aq-ease), box-shadow 200ms var(--aq-ease);
}
.aq-cart-summary__cta:hover {
	transform: translateY(-1px);
	box-shadow: 0 14px 32px rgba(10,21,48,0.20);
}

/* Trust under CTA */
.aq-cart-trust {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 16px 0 6px;
	font-size: 12px;
	color: var(--aq-text-soft);
}
.aq-cart-trust span { display: inline-flex; align-items: center; gap: 8px; }
.aq-cart-trust svg { color: var(--aq-teal-deep); flex-shrink: 0; }
.aq-cart-summary__fine {
	font-size: 10px;
	color: var(--aq-text-muted);
	letter-spacing: 0.08em;
	margin: 8px 0 0;
	text-align: center;
}

@media (max-width: 900px) {
	.aq-cart-hero__inner { flex-direction: column; align-items: flex-start; gap: 16px; }
	.aq-cart-wrap { grid-template-columns: 1fr; margin-top: -10px; }
	.aq-cart-summary__sticky { position: static; }
}
@media (max-width: 580px) {
	.aq-cart-hero { padding: 32px 0 28px; }
	.aq-cart-hero__copy h1 { font-size: 32px; }
	.aq-cart-step__line { width: 24px; }
	.aq-cart-hero__steps { gap: 4px; }
	.aq-cart-items-card { padding: 20px 18px; border-radius: 16px; }
	.aq-cart-item { grid-template-columns: 64px 1fr; gap: 12px; padding: 14px 0; }
	.aq-cart-item__img img, .aq-cart-item__img a img { width: 64px; height: 64px; }
	.aq-cart-item__actions { grid-column: 2; padding-top: 6px; justify-content: space-between; }
	.aq-cart-summary__sticky { padding: 22px 18px; border-radius: 16px; }
}

/* ═══════════════════════════════════════════════════════════════════
   v2.2 — CHECKOUT REDESIGN
   ═══════════════════════════════════════════════════════════════════ */
.aq-checkout-wrap {
	max-width: 1180px;
	margin: -20px auto 60px;
	padding: 0 20px;
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 28px;
	position: relative;
	z-index: 2;
	align-items: start;
}
.aq-checkout-main {
	background: var(--aq-white);
	padding: 30px 32px;
	border-radius: 20px;
	box-shadow: 0 18px 44px rgba(10,21,48,0.10);
}
.aq-checkout-side__sticky {
	position: sticky;
	top: 90px;
	background: var(--aq-white);
	padding: 26px 26px 22px;
	border-radius: 20px;
	box-shadow: 0 18px 44px rgba(10,21,48,0.10);
}
.aq-checkout-side__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--aq-border);
}
.aq-checkout-side__head h3 {
	font-family: var(--aq-font-display);
	font-size: 22px;
	color: var(--aq-navy-deep);
	margin: 0;
	font-weight: 600;
}
.aq-checkout-side__head span {
	font-size: 12px;
	font-weight: 700;
	color: var(--aq-text-muted);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.aq-checkout__section-title {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: var(--aq-font-display);
	font-size: 22px;
	color: var(--aq-navy-deep);
	margin: 6px 0 16px;
	font-weight: 600;
}
.aq-checkout__section-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px; height: 28px;
	border-radius: 999px;
	background: var(--aq-grad-teal);
	color: var(--aq-navy-deep);
	font-family: var(--aq-font-sans);
	font-size: 12px;
	font-weight: 800;
}

.aq-checkout-col + .aq-checkout-col { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--aq-border); }

.aq-checkout-form .form-row {
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin-bottom: 14px;
}
.aq-checkout-form .form-row label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--aq-text-muted);
}
.aq-checkout-form input[type="text"],
.aq-checkout-form input[type="email"],
.aq-checkout-form input[type="tel"],
.aq-checkout-form input[type="number"],
.aq-checkout-form input[type="password"],
.aq-checkout-form select,
.aq-checkout-form textarea {
	padding: 13px 14px;
	border: 1.5px solid var(--aq-border);
	border-radius: 10px;
	font-size: 14px;
	font-family: inherit;
	background: var(--aq-white);
	color: var(--aq-text);
	width: 100%;
}
.aq-checkout-form input:focus,
.aq-checkout-form select:focus,
.aq-checkout-form textarea:focus {
	outline: 0;
	border-color: var(--aq-teal-deep);
	box-shadow: 0 0 0 3px rgba(111,184,184,0.18);
}

#place_order {
	display: block;
	width: 100%;
	padding: 17px 24px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.02em;
	background: var(--aq-grad-navy);
	color: var(--aq-white);
	border: 0;
	border-radius: 14px;
	cursor: pointer;
	transition: transform 200ms var(--aq-ease), box-shadow 200ms var(--aq-ease);
	margin-top: 16px;
}
#place_order:hover { transform: translateY(-1px); box-shadow: 0 14px 32px rgba(10,21,48,0.20); }

@media (max-width: 900px) {
	.aq-checkout-wrap { grid-template-columns: 1fr; margin-top: -10px; }
	.aq-checkout-side__sticky { position: static; }
}
@media (max-width: 580px) {
	.aq-checkout-main { padding: 22px 18px; border-radius: 16px; }
	.aq-checkout-side__sticky { padding: 22px 18px; border-radius: 16px; }
}

/* ═══════════════════════════════════════════════════════════════════
   v2.2 — FAQ REDESIGN: hero + search + category tabs
   ═══════════════════════════════════════════════════════════════════ */
.aq-faq-hero {
	background: linear-gradient(135deg, var(--aq-navy-deep) 0%, var(--aq-navy) 100%);
	color: var(--aq-white);
	padding: 80px 0 60px;
	position: relative;
	overflow: hidden;
	text-align: center;
}
.aq-faq-hero__glow {
	position: absolute;
	left: 50%; top: -160px;
	transform: translateX(-50%);
	width: 600px; height: 460px;
	background: radial-gradient(circle, rgba(142,209,208,0.25), transparent 70%);
	pointer-events: none;
}
.aq-faq-hero h1 {
	font-family: var(--aq-font-display);
	font-size: 56px;
	color: var(--aq-white);
	margin: 10px 0 12px;
	font-weight: 600;
	letter-spacing: -0.02em;
}
.aq-faq-hero p {
	color: rgba(255,255,255,0.78);
	max-width: 580px;
	margin: 0 auto 24px;
	font-size: 16px;
	line-height: 1.55;
}
.aq-faq-search {
	max-width: 480px;
	margin: 0 auto;
	background: var(--aq-white);
	border-radius: 999px;
	padding: 4px 4px 4px 18px;
	display: flex;
	align-items: center;
	gap: 10px;
	box-shadow: 0 14px 38px rgba(0,0,0,0.30), 0 0 0 4px rgba(142,209,208,0.18);
	position: relative;
	z-index: 1;
}
.aq-faq-search svg { color: var(--aq-text-muted); flex-shrink: 0; }
.aq-faq-search input {
	flex: 1 1 auto;
	border: 0;
	background: transparent;
	padding: 12px 0;
	font-family: inherit;
	font-size: 14px;
	color: var(--aq-text);
}
.aq-faq-search input:focus { outline: 0; }

.aq-faqpage { padding: 60px 0 80px; background: var(--aq-bg); }
.aq-faqpage__cats {
	display: flex;
	gap: 8px;
	margin-bottom: 22px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 4px;
}
.aq-faqpage__cat {
	flex-shrink: 0;
	padding: 8px 16px;
	border: 1.5px solid var(--aq-border);
	background: var(--aq-white);
	border-radius: 999px;
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	color: var(--aq-navy-deep);
	cursor: pointer;
	transition: all 160ms var(--aq-ease);
}
.aq-faqpage__cat:hover { border-color: var(--aq-teal-deep); }
.aq-faqpage__cat.is-active {
	background: var(--aq-navy-deep);
	border-color: var(--aq-navy-deep);
	color: var(--aq-white);
}

.aq-faqpage__list {
	max-width: 780px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.aq-faqpage__item {
	background: var(--aq-white);
	border: 1px solid var(--aq-border);
	border-radius: 14px;
	transition: box-shadow 200ms var(--aq-ease), border-color 200ms var(--aq-ease);
}
.aq-faqpage__item[open] {
	box-shadow: 0 14px 32px rgba(10,21,48,0.08);
	border-color: rgba(111,184,184,0.4);
}
.aq-faqpage__item summary {
	cursor: pointer;
	padding: 20px 22px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	font-weight: 600;
	color: var(--aq-navy-deep);
	font-size: 15px;
	list-style: none;
}
.aq-faqpage__item summary::-webkit-details-marker { display: none; }
.aq-faqpage__q { flex: 1 1 auto; }
.aq-faqpage__chev {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px; height: 30px;
	border-radius: 999px;
	background: var(--aq-bg);
	color: var(--aq-text-muted);
	flex-shrink: 0;
	transition: transform 220ms var(--aq-ease), background 200ms var(--aq-ease);
}
.aq-faqpage__item[open] .aq-faqpage__chev {
	transform: rotate(180deg);
	background: var(--aq-grad-teal);
	color: var(--aq-navy-deep);
}
.aq-faqpage__body {
	padding: 0 22px 22px;
	color: var(--aq-text-soft);
	font-size: 14.5px;
	line-height: 1.65;
}
.aq-faqpage__empty {
	text-align: center;
	padding: 30px;
	color: var(--aq-text-muted);
}
.aq-faqpage__help {
	max-width: 780px;
	margin: 40px auto 0;
	background: var(--aq-grad-dark);
	color: var(--aq-white);
	border-radius: 20px;
	padding: 32px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
	position: relative;
	overflow: hidden;
}
.aq-faqpage__help::before {
	content: '';
	position: absolute;
	right: -80px; top: -80px;
	width: 240px; height: 240px;
	background: radial-gradient(circle, rgba(142,209,208,0.25), transparent 70%);
	pointer-events: none;
}
.aq-faqpage__help h3 {
	font-family: var(--aq-font-display);
	font-size: 26px;
	color: var(--aq-white);
	margin: 6px 0 4px;
}
.aq-faqpage__help p { color: rgba(255,255,255,0.75); margin: 0; }
.aq-faqpage__help > div { position: relative; z-index: 1; }
.aq-faqpage__help .aq-btn { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 8px; }

@media (max-width: 580px) {
	.aq-faq-hero { padding: 56px 0 44px; }
	.aq-faq-hero h1 { font-size: 36px; }
	.aq-faqpage__help { padding: 24px; flex-direction: column; align-items: flex-start; }
}

/* ═══════════════════════════════════════════════════════════════════
   v2.2 — ABOUT REDESIGN: Star Nutra story
   ═══════════════════════════════════════════════════════════════════ */
.aq-about-hero {
	background: linear-gradient(135deg, var(--aq-navy-deep) 0%, var(--aq-navy) 100%);
	color: var(--aq-white);
	padding: 90px 0 70px;
	position: relative;
	overflow: hidden;
}
.aq-about-hero__glow {
	position: absolute;
	right: -160px; top: -100px;
	width: 460px; height: 460px;
	background: radial-gradient(circle, rgba(142,209,208,0.28), transparent 70%);
	pointer-events: none;
}
.aq-about-hero h1 {
	font-family: var(--aq-font-display);
	font-size: 58px;
	color: var(--aq-white);
	margin: 10px 0 18px;
	max-width: 920px;
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: -0.02em;
}
.aq-about-hero p {
	color: rgba(255,255,255,0.78);
	max-width: 720px;
	font-size: 17px;
	line-height: 1.6;
	margin: 0 0 22px;
}
.aq-about-hero__chips { display: flex; gap: 10px; flex-wrap: wrap; }
.aq-about-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 14px;
	border-radius: 999px;
	background: rgba(255,255,255,0.08);
	border: 1.5px solid rgba(142,209,208,0.35);
	color: var(--aq-teal-bright);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.05em;
}
.aq-about-chip svg { color: var(--aq-teal-bright); }

.aq-about-story {
	background: var(--aq-white);
	padding: 90px 0;
}
.aq-about-story__inner {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 60px;
	align-items: center;
}
.aq-about-story__copy h2 {
	font-family: var(--aq-font-display);
	font-size: 42px;
	color: var(--aq-navy-deep);
	margin: 10px 0 16px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.01em;
}
.aq-about-story__copy p {
	color: var(--aq-text-soft);
	font-size: 15.5px;
	line-height: 1.7;
	margin: 0 0 14px;
}
.aq-about-checks {
	list-style: none;
	padding: 0;
	margin: 22px 0 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.aq-about-checks li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: var(--aq-navy-deep);
	font-size: 14.5px;
	font-weight: 600;
}
.aq-about-checks svg {
	width: 22px; height: 22px;
	padding: 4px;
	background: var(--aq-grad-teal);
	color: var(--aq-navy-deep);
	border-radius: 999px;
	flex-shrink: 0;
}
.aq-about-story__visual { position: relative; }
.aq-about-story__vial {
	position: relative;
	background: var(--aq-grad-hero);
	border-radius: 24px;
	padding: 60px 40px;
	min-height: 460px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.aq-about-story__vial .aq-vial--about {
	position: relative;
	width: 100%;
	max-width: 280px;
}
.aq-about-story__vial .aq-vial__img { width: 100%; height: auto; filter: drop-shadow(0 30px 40px rgba(10,21,48,0.18)); }
.aq-about-story__vial .aq-vial__glow {
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at center, rgba(142,209,208,0.4), transparent 60%);
	border-radius: 50%;
	z-index: -1;
}
.aq-about-story__seal {
	position: absolute;
	top: 30px; right: 30px;
	color: var(--aq-navy-deep);
	opacity: 0.55;
}

.aq-about-pillars { background: var(--aq-bg); padding: 90px 0; }
.aq-about-pillars__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
	margin-top: 32px;
}
.aq-about-pillar {
	background: var(--aq-white);
	padding: 32px 28px;
	border-radius: 18px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	transition: transform 220ms var(--aq-ease), box-shadow 220ms var(--aq-ease);
}
.aq-about-pillar:hover {
	transform: translateY(-3px);
	box-shadow: 0 18px 40px rgba(10,21,48,0.08);
}
.aq-about-pillar__icon {
	width: 52px; height: 52px;
	background: var(--aq-grad-teal);
	color: var(--aq-navy-deep);
	border-radius: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 4px;
}
.aq-about-pillar h3 {
	font-family: var(--aq-font-display);
	font-size: 26px;
	color: var(--aq-navy-deep);
	margin: 0;
	font-weight: 600;
}
.aq-about-pillar p {
	color: var(--aq-text-soft);
	margin: 0;
	line-height: 1.6;
	font-size: 14.5px;
}

.aq-about-promise { background: var(--aq-white); padding: 30px 0 110px; }
.aq-about-promise__card {
	max-width: 1080px;
	margin: 0 auto;
	background: var(--aq-grad-dark);
	color: var(--aq-white);
	border-radius: 28px;
	padding: 56px 48px;
	position: relative;
	overflow: hidden;
	text-align: center;
}
.aq-about-promise__card::before {
	content: '';
	position: absolute;
	left: 50%; top: -180px;
	transform: translateX(-50%);
	width: 600px; height: 600px;
	background: radial-gradient(circle, rgba(142,209,208,0.20), transparent 70%);
	pointer-events: none;
}
.aq-about-promise__card > * { position: relative; z-index: 1; }
.aq-about-promise__card h2 {
	font-family: var(--aq-font-display);
	font-size: 42px;
	color: var(--aq-white);
	margin: 10px 0 12px;
	font-weight: 600;
}
.aq-about-promise__card > p {
	color: rgba(255,255,255,0.75);
	margin: 0 auto 28px;
	max-width: 580px;
	font-size: 16px;
}
.aq-about-promise__stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	margin: 0 0 30px;
}
.aq-about-promise__stats > div {
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.10);
	border-radius: 14px;
	padding: 18px 12px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.aq-about-promise__stats strong {
	font-family: var(--aq-font-display);
	font-size: 30px;
	color: var(--aq-teal-bright);
}
.aq-about-promise__stats span {
	font-size: 11px;
	letter-spacing: 0.06em;
	color: rgba(255,255,255,0.65);
	text-transform: uppercase;
}

@media (max-width: 880px) {
	.aq-about-story__inner { grid-template-columns: 1fr; gap: 36px; }
	.aq-about-story__vial { min-height: 320px; padding: 36px 20px; }
	.aq-about-pillars__grid { grid-template-columns: 1fr; }
	.aq-about-promise__stats { grid-template-columns: repeat(2, 1fr); }
	.aq-about-promise__card { padding: 40px 24px; }
}
@media (max-width: 580px) {
	.aq-about-hero h1 { font-size: 38px; }
	.aq-about-story__copy h2 { font-size: 30px; }
	.aq-about-promise__card h2 { font-size: 30px; }
	.aq-about-pillars { padding: 60px 0; }
}

/* ═══════════════════════════════════════════════════════════════════
   v2.2 — CUSTOMER PORTAL DESKTOP POLISH
   ═══════════════════════════════════════════════════════════════════ */
@media (min-width: 881px) {
	.aq-account__stats {
		grid-template-columns: repeat(4, 1fr) !important;
	}
	.aq-account__stat {
		padding: 18px 16px;
		min-height: 86px;
	}
	.aq-account__stat-label {
		font-size: 10px;
		letter-spacing: 0.10em;
		line-height: 1.3;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.aq-account__stat-value {
		font-size: 22px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.aq-account__welcome {
		padding: 32px 32px;
	}
	.aq-account__welcome-body h2 { font-size: 32px; }
	.aq-account__loyalty { padding: 24px 26px; }
	.aq-account__reward { padding: 22px 26px; }
	.aq-account__quick {
		grid-template-columns: repeat(4, 1fr) !important;
	}
}

/* USPS tracking display */
.aq-track__tracking {
	margin-top: 22px;
	padding: 20px 22px;
	background: var(--aq-white);
	border: 1.5px solid var(--aq-border);
	border-radius: 14px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.aq-track__tracking-head {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.10em;
	color: var(--aq-text-muted);
}
.aq-track__tracking-head svg { color: var(--aq-teal-deep); }
.aq-track__tracking-code {
	font-family: 'SFMono-Regular', Consolas, monospace;
	background: var(--aq-bg);
	color: var(--aq-navy-deep);
	padding: 10px 14px;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.04em;
	display: block;
	border: 1px dashed var(--aq-border);
}
.aq-track__usps-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	align-self: flex-start;
}
.aq-track__tracking--pending {
	background: var(--aq-bg);
	border-style: dashed;
}
.aq-track__tracking--pending p {
	font-size: 13px;
	color: var(--aq-text-soft);
	margin: 0;
}


/* ═══════════════════════════════════════════════════════════════════
   v2.3 — CART / CHECKOUT SHELL (renders ABOVE CentryOS via the_content)
   The_content filter injects a hero, then opens a shell div. Whatever
   CentryOS / WC default puts out renders inside, framed nicely.
   ═══════════════════════════════════════════════════════════════════ */

.aq-page-cart-shell,
.aq-page-checkout-shell {
	max-width: 1180px;
	margin: -32px auto 60px;
	padding: 36px 40px;
	background: var(--aq-white);
	border-radius: 22px;
	box-shadow: 0 24px 56px rgba(10,21,48,0.10);
	position: relative;
	z-index: 2;
}

/* Style common patterns inside the shell — works whether the inner
 * content is CentryOS, WC default, or my template. Targets generic
 * tags so we get a polished look without knowing exact class names. */

.aq-page-cart-shell h1,
.aq-page-cart-shell h2,
.aq-page-cart-shell h3,
.aq-page-checkout-shell h1,
.aq-page-checkout-shell h2,
.aq-page-checkout-shell h3 {
	font-family: var(--aq-font-sans);
	color: var(--aq-navy-deep);
	font-weight: 700;
	letter-spacing: -0.005em;
}
.aq-page-cart-shell h2,
.aq-page-checkout-shell h2 { font-size: 22px; margin: 6px 0 14px; }
.aq-page-cart-shell h3,
.aq-page-checkout-shell h3 { font-size: 17px; margin: 6px 0 12px; }

/* Inputs */
.aq-page-cart-shell input[type="text"],
.aq-page-cart-shell input[type="email"],
.aq-page-cart-shell input[type="tel"],
.aq-page-cart-shell input[type="number"],
.aq-page-cart-shell select,
.aq-page-checkout-shell input[type="text"],
.aq-page-checkout-shell input[type="email"],
.aq-page-checkout-shell input[type="tel"],
.aq-page-checkout-shell input[type="number"],
.aq-page-checkout-shell input[type="password"],
.aq-page-checkout-shell select,
.aq-page-checkout-shell textarea {
	padding: 13px 14px;
	border: 1.5px solid var(--aq-border);
	border-radius: 10px;
	font-size: 14px;
	font-family: inherit;
	background: var(--aq-white);
	color: var(--aq-text);
	transition: border-color 160ms var(--aq-ease), box-shadow 160ms var(--aq-ease);
}
.aq-page-cart-shell input:focus,
.aq-page-cart-shell select:focus,
.aq-page-checkout-shell input:focus,
.aq-page-checkout-shell select:focus,
.aq-page-checkout-shell textarea:focus {
	outline: 0;
	border-color: var(--aq-teal-deep);
	box-shadow: 0 0 0 3px rgba(111,184,184,0.18);
}

/* Buttons (skin CTAs in both shells uniformly) */
.aq-page-cart-shell button[type="submit"],
.aq-page-cart-shell a.button,
.aq-page-cart-shell .button.alt,
.aq-page-checkout-shell button[type="submit"],
.aq-page-checkout-shell a.button,
.aq-page-checkout-shell #place_order {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 22px;
	background: var(--aq-grad-navy);
	color: var(--aq-white);
	font-family: inherit;
	font-size: 14.5px;
	font-weight: 700;
	letter-spacing: 0.02em;
	border: 0;
	border-radius: 12px;
	cursor: pointer;
	text-decoration: none;
	transition: transform 180ms var(--aq-ease), box-shadow 180ms var(--aq-ease);
}
.aq-page-cart-shell button[type="submit"]:hover,
.aq-page-cart-shell a.button:hover,
.aq-page-checkout-shell button[type="submit"]:hover,
.aq-page-checkout-shell a.button:hover,
.aq-page-checkout-shell #place_order:hover {
	transform: translateY(-1px);
	box-shadow: 0 14px 30px rgba(10,21,48,0.20);
}

/* Trash / remove icon buttons stay small */
.aq-page-cart-shell .remove,
.aq-page-cart-shell button[aria-label*="emove"],
.aq-page-cart-shell button[aria-label*="elete"] {
	background: var(--aq-bg);
	color: var(--aq-text-muted);
	padding: 8px;
	border-radius: 999px;
	font-size: 14px;
}

/* Quantity input refinement */
.aq-page-cart-shell input[type="number"][name*="qty"],
.aq-page-cart-shell input[type="number"][name*="quantity"] {
	width: 60px;
	text-align: center;
	font-weight: 600;
}

/* Pill-style summary lines */
.aq-page-cart-shell hr,
.aq-page-checkout-shell hr {
	border: 0;
	height: 1px;
	background: var(--aq-border);
	margin: 18px 0;
}

/* Coupon / collapse / details */
.aq-page-cart-shell details summary,
.aq-page-checkout-shell details summary {
	cursor: pointer;
	font-weight: 600;
	color: var(--aq-navy-deep);
	padding: 10px 0;
}

/* Tighten down empty notice wrappers WC always pumps out */
.aq-page-cart-shell .woocommerce-notices-wrapper:empty,
.aq-page-cart-shell .woocommerce-message:empty,
.aq-page-cart-shell .woocommerce-info:empty,
.aq-page-cart-shell .woocommerce-error:empty,
.aq-page-checkout-shell .woocommerce-notices-wrapper:empty {
	display: none !important;
}

@media (max-width: 880px) {
	.aq-page-cart-shell,
	.aq-page-checkout-shell {
		margin: -16px 16px 40px;
		padding: 24px 20px;
		border-radius: 16px;
	}
}

/* ═══════════════════════════════════════════════════════════════════
   v2.3 — FAQ DESKTOP POLISH: wider list, centered cats, clearer chevrons
   ═══════════════════════════════════════════════════════════════════ */

/* Wider list container at desktop sizes so we don't get marooned in
 * whitespace on big monitors. Mobile stays as-is. */
@media (min-width: 768px) {
	.aq-faqpage__list { max-width: 920px; }
}

/* Center category tabs on desktop, scrollable on mobile */
.aq-faqpage__cats {
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 28px;
}
@media (max-width: 580px) {
	.aq-faqpage__cats {
		justify-content: flex-start;
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 4px;
	}
}

/* Chevron states must be visually distinct — was too subtle before.
 * Closed: subtle gray pill, muted icon.
 * Open: teal gradient pill, navy icon, rotated 180°. */
.aq-faqpage__chev {
	background: rgba(10,21,48,0.05) !important;
	color: var(--aq-text-muted) !important;
}
.aq-faqpage__item[open] .aq-faqpage__chev {
	background: var(--aq-grad-teal) !important;
	color: var(--aq-navy-deep) !important;
	transform: rotate(180deg);
}

/* Track Order page styling */
.aq-track-hero {
	background: linear-gradient(135deg, var(--aq-navy-deep) 0%, var(--aq-navy) 100%);
	color: var(--aq-white);
	padding: 80px 0 64px;
	position: relative;
	overflow: hidden;
	text-align: center;
}
.aq-track-hero__glow {
	position: absolute;
	left: 50%; top: -160px;
	transform: translateX(-50%);
	width: 540px; height: 440px;
	background: radial-gradient(circle, rgba(142,209,208,0.25), transparent 70%);
	pointer-events: none;
}
.aq-track-hero h1 {
	font-family: var(--aq-font-display);
	font-size: 52px;
	color: var(--aq-white);
	margin: 10px 0 12px;
	font-weight: 600;
	letter-spacing: -0.02em;
}
.aq-track-hero p {
	color: rgba(255,255,255,0.78);
	max-width: 600px;
	margin: 0 auto;
	font-size: 15.5px;
	line-height: 1.6;
}

.aq-track { background: var(--aq-bg); padding: 50px 0 80px; }
.aq-track__form {
	background: var(--aq-white);
	border-radius: 18px;
	padding: 28px 30px;
	max-width: 880px;
	margin: 0 auto 28px;
	box-shadow: 0 14px 36px rgba(10,21,48,0.08);
}
.aq-track__form-row {
	display: grid;
	grid-template-columns: 1fr 1.4fr auto;
	gap: 14px;
	align-items: end;
}
.aq-track__field {
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.aq-track__field span {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--aq-text-muted);
}
.aq-track__field input {
	padding: 12px 14px;
	border: 1.5px solid var(--aq-border);
	border-radius: 10px;
	font-size: 14px;
	font-family: inherit;
	background: var(--aq-white);
	transition: border-color 160ms var(--aq-ease), box-shadow 160ms var(--aq-ease);
}
.aq-track__field input:focus {
	outline: 0;
	border-color: var(--aq-teal-deep);
	box-shadow: 0 0 0 3px rgba(111,184,184,0.18);
}
.aq-track__submit {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 22px;
	height: 44px;
}

.aq-track__error {
	display: flex;
	align-items: center;
	gap: 10px;
	max-width: 880px;
	margin: 0 auto 22px;
	padding: 14px 18px;
	background: rgba(220,53,69,0.08);
	color: #b32d3a;
	border-radius: 12px;
	border: 1.5px solid rgba(220,53,69,0.18);
	font-size: 14px;
}

.aq-track__result {
	max-width: 880px;
	margin: 0 auto;
	background: var(--aq-white);
	border-radius: 18px;
	padding: 30px 32px;
	box-shadow: 0 14px 36px rgba(10,21,48,0.08);
}
.aq-track__status { margin-bottom: 22px; padding-bottom: 18px; border-bottom: 1px solid var(--aq-border); }
.aq-track__status h2 { font-family: var(--aq-font-display); font-size: 28px; margin: 8px 0 4px; }
.aq-track__status p { color: var(--aq-text-muted); margin: 0; font-size: 13px; }

.aq-track__status-pill {
	display: inline-block;
	padding: 5px 12px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	background: var(--aq-grad-teal);
	color: var(--aq-navy-deep);
}
.aq-track__status-pill--completed { background: var(--aq-grad-teal); }
.aq-track__status-pill--processing { background: rgba(255,193,7,0.18); color: #8a6308; }
.aq-track__status-pill--on-hold { background: rgba(255,193,7,0.18); color: #8a6308; }
.aq-track__status-pill--cancelled { background: rgba(220,53,69,0.12); color: #b32d3a; }

.aq-track__items { display: flex; flex-direction: column; gap: 14px; margin-bottom: 22px; }
.aq-track__item {
	display: grid;
	grid-template-columns: 56px 1fr auto;
	gap: 14px;
	align-items: center;
	padding: 12px 0;
	border-bottom: 1px solid var(--aq-border);
}
.aq-track__item:last-child { border-bottom: 0; }
.aq-track__item img { width: 56px; height: 56px; border-radius: 10px; object-fit: cover; }
.aq-track__item-body strong { display: block; font-size: 14.5px; color: var(--aq-navy-deep); }
.aq-track__item-body span { font-size: 12px; color: var(--aq-text-muted); }
.aq-track__item-total { font-weight: 700; color: var(--aq-navy-deep); }

.aq-track__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 16px 18px;
	background: var(--aq-bg);
	border-radius: 12px;
	margin-bottom: 22px;
}
.aq-track__total span { font-size: 13px; color: var(--aq-text-soft); }
.aq-track__total strong { font-size: 22px; color: var(--aq-navy-deep); font-weight: 800; }

.aq-track__help {
	max-width: 880px;
	margin: 30px auto 0;
	text-align: center;
	font-size: 13.5px;
	color: var(--aq-text-soft);
}
.aq-track__help a {
	color: var(--aq-teal-deep);
	font-weight: 700;
	text-decoration: none;
	margin-left: 6px;
}
.aq-track__help a:hover { text-decoration: underline; }

@media (max-width: 700px) {
	.aq-track-hero { padding: 56px 0 44px; }
	.aq-track-hero h1 { font-size: 34px; }
	.aq-track__form { padding: 22px 20px; border-radius: 14px; }
	.aq-track__form-row { grid-template-columns: 1fr; }
	.aq-track__result { padding: 22px 20px; border-radius: 14px; }
}


/* ═══════════════════════════════════════════════════════════════════
   v2.4 — CART/CHECKOUT TRUST STRIP + REASSURANCE CARD
   ═══════════════════════════════════════════════════════════════════ */

.aq-cart-trust-strip {
	display: flex;
	gap: 20px;
	justify-content: space-around;
	flex-wrap: wrap;
	padding: 0 0 22px;
	margin: 0 0 26px;
	border-bottom: 1px solid var(--aq-border);
}
.aq-cart-trust-strip span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--aq-text-soft);
	letter-spacing: 0.02em;
}
.aq-cart-trust-strip svg {
	color: var(--aq-teal-deep);
	flex-shrink: 0;
}

.aq-cart-reassurance {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 20px 22px;
	background: var(--aq-bg);
	border: 1px solid var(--aq-border);
	border-radius: 14px;
	margin-top: 28px;
}
.aq-cart-reassurance__icon {
	width: 48px; height: 48px;
	background: var(--aq-grad-teal);
	color: var(--aq-navy-deep);
	border-radius: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.aq-cart-reassurance strong {
	font-size: 14.5px;
	color: var(--aq-navy-deep);
	display: block;
	margin-bottom: 3px;
	font-weight: 700;
}
.aq-cart-reassurance p {
	font-size: 13px;
	color: var(--aq-text-soft);
	margin: 0;
	line-height: 1.5;
}

@media (max-width: 700px) {
	.aq-cart-trust-strip { gap: 14px; }
	.aq-cart-trust-strip span { font-size: 11.5px; flex-basis: calc(50% - 14px); justify-content: flex-start; }
	.aq-cart-reassurance { padding: 16px 18px; gap: 12px; }
	.aq-cart-reassurance__icon { width: 40px; height: 40px; }
}

/* ═══════════════════════════════════════════════════════════════════
   v2.4 — TRACK ORDER PAGE: dual-card layout, quick + lookup
   ═══════════════════════════════════════════════════════════════════ */

.aq-track-card {
	max-width: 880px;
	margin: 0 auto 18px;
	background: var(--aq-white);
	border-radius: 18px;
	padding: 30px 32px;
	box-shadow: 0 14px 36px rgba(10,21,48,0.08);
}
.aq-track-card__head {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	margin-bottom: 20px;
}
.aq-track-card__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px; height: 36px;
	border-radius: 999px;
	background: var(--aq-grad-teal);
	color: var(--aq-navy-deep);
	font-weight: 800;
	font-size: 13px;
	flex-shrink: 0;
}
.aq-track-card__head h2 {
	font-family: var(--aq-font-display);
	font-size: 26px;
	color: var(--aq-navy-deep);
	margin: 4px 0 6px;
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.01em;
}
.aq-track-card__head p {
	color: var(--aq-text-soft);
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
}

/* Quick USPS lookup form */
.aq-track-quick__form {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 12px;
	align-items: stretch;
}
.aq-track-quick__input-wrap {
	position: relative;
	display: flex;
	align-items: center;
}
.aq-track-quick__input-wrap svg {
	position: absolute;
	left: 14px;
	color: var(--aq-text-muted);
	pointer-events: none;
}
.aq-track-quick__input-wrap input {
	width: 100%;
	padding: 14px 14px 14px 42px;
	border: 1.5px solid var(--aq-border);
	border-radius: 12px;
	font-size: 14.5px;
	font-family: inherit;
	background: var(--aq-white);
	color: var(--aq-text);
	font-weight: 600;
	letter-spacing: 0.02em;
	transition: border-color 160ms var(--aq-ease), box-shadow 160ms var(--aq-ease);
}
.aq-track-quick__input-wrap input:focus {
	outline: 0;
	border-color: var(--aq-teal-deep);
	box-shadow: 0 0 0 3px rgba(111,184,184,0.18);
}
.aq-track-quick__form button {
	padding: 14px 22px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
}

/* Divider between cards */
.aq-track-divider {
	max-width: 880px;
	margin: 8px auto 18px;
	display: flex;
	align-items: center;
	gap: 14px;
	color: var(--aq-text-muted);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.aq-track-divider::before,
.aq-track-divider::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--aq-border);
}

@media (max-width: 700px) {
	.aq-track-card { padding: 24px 22px; border-radius: 16px; }
	.aq-track-card__head { flex-direction: column; gap: 10px; }
	.aq-track-card__num { width: 32px; height: 32px; font-size: 12px; }
	.aq-track-card__head h2 { font-size: 22px; }
	.aq-track-quick__form { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════════════
   v2.4 — ANIMATIONS PACKAGE
   ═══════════════════════════════════════════════════════════════════ */

/* Scroll-reveal: fade up */
.aq-reveal-up {
	opacity: 0;
	transform: translateY(20px);
	transition:
		opacity 700ms cubic-bezier(0.22, 0.61, 0.36, 1),
		transform 700ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.aq-reveal-up.is-in {
	opacity: 1;
	transform: translateY(0);
}

/* Hero copy stagger entrance (cart/checkout hero) */
.aq-cart-hero__copy > * {
	animation: aq-hero-fade-up 760ms cubic-bezier(0.22, 0.61, 0.36, 1) both;
}
.aq-cart-hero__copy > *:nth-child(1) { animation-delay: 80ms; }
.aq-cart-hero__copy > *:nth-child(2) { animation-delay: 160ms; }
.aq-cart-hero__copy > *:nth-child(3) { animation-delay: 240ms; }
.aq-cart-hero__steps {
	animation: aq-hero-fade-in 900ms cubic-bezier(0.22, 0.61, 0.36, 1) 340ms both;
}
@keyframes aq-hero-fade-up {
	from { opacity: 0; transform: translateY(14px); }
	to   { opacity: 1; transform: translateY(0); }
}
@keyframes aq-hero-fade-in {
	from { opacity: 0; }
	to   { opacity: 1; }
}

/* Pulse on the active step circle */
.aq-cart-step.is-active span {
	animation: aq-step-pulse 2.6s cubic-bezier(0.22, 0.61, 0.36, 1) 1s infinite;
}
@keyframes aq-step-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(142, 209, 208, 0); }
	50%      { box-shadow: 0 0 0 8px rgba(142, 209, 208, 0.28); }
}

/* Card hover lifts (subtle) */
.aq-pack:hover,
.aq-pillar:hover,
.aq-about-pillar:hover,
.aq-review:hover {
	transform: translateY(-3px);
}
.aq-pack,
.aq-pillar,
.aq-about-pillar,
.aq-review {
	transition: transform 280ms cubic-bezier(0.22, 0.61, 0.36, 1),
				box-shadow 280ms cubic-bezier(0.22, 0.61, 0.36, 1),
				border-color 280ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* Button press feedback */
.aq-btn,
button[type="submit"],
button.aq-btn {
	transition: transform 140ms cubic-bezier(0.22, 0.61, 0.36, 1),
				box-shadow 200ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.aq-btn:active,
button[type="submit"]:active,
button.aq-btn:active {
	transform: scale(0.97);
}

/* Cart item hover */
.aq-page-cart-shell .aq-cart-item,
.aq-cart-item {
	transition: background 200ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.aq-page-cart-shell .aq-cart-item:hover,
.aq-cart-item:hover {
	background: rgba(111, 184, 184, 0.04);
}

/* Track-order result card animated entrance */
.aq-track__result {
	animation: aq-track-result-in 600ms cubic-bezier(0.22, 0.61, 0.36, 1) both;
}
@keyframes aq-track-result-in {
	from { opacity: 0; transform: translateY(14px) scale(0.98); }
	to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* Subscribe popup card animated in */
.aq-subpop[data-state="visible"] .aq-subpop__card {
	animation: aq-subpop-in 480ms cubic-bezier(0.34, 1.56, 0.64, 1) both;
}
@keyframes aq-subpop-in {
	from { opacity: 0; transform: scale(0.92) translateY(20px); }
	to   { opacity: 1; transform: scale(1) translateY(0); }
}

/* Discount tab subtle pulse to draw attention */
.aq-discount-tab {
	animation: aq-tab-bounce-in 500ms cubic-bezier(0.34, 1.56, 0.64, 1) both,
			   aq-tab-attention 4.2s cubic-bezier(0.4, 0, 0.6, 1) 1.5s infinite;
}
@keyframes aq-tab-attention {
	0%, 90%, 100% { transform: translateY(0); }
	95%           { transform: translateY(-3px); }
}

/* Cart quantity input — gentle scale on focus */
.aq-page-cart-shell input[type="number"]:focus,
.aq-cart-item__qty input:focus {
	transform: scale(1.04);
}

/* Page transition: subtle body fade-in on load */
body.aq-body {
	animation: aq-body-in 360ms cubic-bezier(0.22, 0.61, 0.36, 1) both;
}
@keyframes aq-body-in {
	from { opacity: 0.85; }
	to   { opacity: 1; }
}

/* Respect prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
	.aq-reveal-up { opacity: 1; transform: none; }
}


/* ═══════════════════════════════════════════════════════════════════
   v2.5 — CART/CHECKOUT layout lockdown
   Guarantees the hero butts against the site header with no leading
   whitespace, regardless of what wraps the content.
   ═══════════════════════════════════════════════════════════════════ */

/* No padding on main for cart/checkout body classes — and crucially
 * NO max-width constraint, so the main can be full viewport width.
 * (Bug fixed in v2.8: legacy woocommerce.css rules were setting
 * max-width: var(--aq-container) which squished cart/checkout content
 * into a narrow left-aligned strip.) */
body.woocommerce-cart .aq-site-main,
body.woocommerce-checkout .aq-site-main {
	padding: 0 !important;
	margin: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

/* Also defensively unset the .woocommerce inner wrapper width if WC adds one */
body.woocommerce-cart .aq-site-main > .woocommerce,
body.woocommerce-checkout .aq-site-main > .woocommerce {
	padding: 0 !important;
	max-width: none !important;
	width: auto !important;
}

/* Hide any leftover entry-header / page title wrapping on cart/checkout */
body.woocommerce-cart .aq-page,
body.woocommerce-cart .aq-page__head,
body.woocommerce-checkout .aq-page,
body.woocommerce-checkout .aq-page__head {
	padding: 0 !important;
	margin: 0 !important;
}
body.woocommerce-cart .aq-page__head,
body.woocommerce-checkout .aq-page__head {
	display: none !important;
}

/* Force the cart/checkout hero to be true viewport width */
body.woocommerce-cart .aq-cart-hero,
body.woocommerce-checkout .aq-cart-hero {
	width: 100%;
	margin: 0;
	padding-top: 44px;
}

/* Shell sits perfectly inside the page width */
body.woocommerce-cart .aq-page-cart-shell,
body.woocommerce-checkout .aq-page-checkout-shell {
	width: calc(100% - 40px);
	max-width: 1180px;
}

/* Kill empty notices wrapper that WC sometimes injects */
body.woocommerce-cart .woocommerce-notices-wrapper:empty,
body.woocommerce-checkout .woocommerce-notices-wrapper:empty {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Hero inner content stays nicely aligned + balanced */
.aq-cart-hero__inner {
	align-items: center !important;
}
@media (max-width: 900px) {
	.aq-cart-hero__inner {
		flex-direction: column;
		align-items: flex-start !important;
		gap: 20px;
	}
}

/* Cleaner shell padding on small screens — tighter, breathes better */
@media (max-width: 580px) {
	body.woocommerce-cart .aq-page-cart-shell,
	body.woocommerce-checkout .aq-page-checkout-shell {
		width: calc(100% - 24px);
		padding: 24px 18px;
		border-radius: 14px;
		margin-top: -20px;
	}
	body.woocommerce-cart .aq-cart-hero,
	body.woocommerce-checkout .aq-cart-hero {
		padding-top: 30px;
	}
}

/* Top edge accent on the shell — subtle teal gradient kiss above the
 * card to visually tie the shell to the hero glow */
.aq-page-cart-shell::before,
.aq-page-checkout-shell::before {
	content: '';
	position: absolute;
	left: 28px;
	right: 28px;
	top: 0;
	height: 2px;
	background: var(--aq-grad-teal);
	border-radius: 2px;
	opacity: 0.6;
}
.aq-page-cart-shell,
.aq-page-checkout-shell {
	position: relative;
}

/* ═══════════════════════════════════════════════════════════════════
   v2.7 — CART SUMMARY POLISH (Prosper-Labs pattern, AquaStasis colors)
   Adds: Secure pill in summary head, 2×2 trust badge grid, bigger
   primary checkout button, reassurance note. Replaces the old inline
   3-item .aq-cart-trust strip with the grid.
   ═══════════════════════════════════════════════════════════════════ */

/* "Secure" pill — green, sits next to "Order Summary" h2 */
.aq-cart-summary__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--aq-border);
}
.aq-cart-summary__secure {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 10px 4px 9px;
	background: #f0fff5;
	border: 1px solid #c3f0cb;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	color: #2d8e46;
	letter-spacing: 0.02em;
	flex-shrink: 0;
}
.aq-cart-summary__secure svg { color: #2d8e46; }

/* 2×2 trust badge grid inside the summary card */
.aq-cart-trust-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin: 18px 0 22px;
}
.aq-trust-cell {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 11px 12px;
	background: #f7faf9;
	border: 1px solid var(--aq-border);
	border-radius: 12px;
	transition: border-color 0.2s ease, transform 0.2s ease, background 0.2s ease;
}
.aq-trust-cell:hover {
	border-color: var(--aq-teal);
	transform: translateY(-1px);
	background: #f3f9f8;
}
.aq-trust-cell__ic {
	width: 30px;
	height: 30px;
	border-radius: 8px;
	background: var(--aq-grad-teal);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.aq-trust-cell__ic svg { width: 16px; height: 16px; }
.aq-trust-cell__txt {
	line-height: 1.2;
	min-width: 0;
}
.aq-trust-cell__txt strong {
	display: block;
	font-size: 12px;
	font-weight: 700;
	color: var(--aq-navy-deep);
	margin-bottom: 1px;
	letter-spacing: -0.005em;
}
.aq-trust-cell__txt small {
	font-size: 11px;
	color: var(--aq-text-muted);
}

/* Bigger, more prominent primary "Proceed to Checkout" button */
.aq-cart-summary__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 17px 22px;
	background: var(--aq-grad-navy);
	color: #fff !important;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.01em;
	border-radius: 14px;
	border: 0;
	cursor: pointer;
	text-decoration: none;
	box-shadow: 0 10px 32px rgba(29, 43, 95, 0.32);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.aq-cart-summary__cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 44px rgba(29, 43, 95, 0.40);
	color: #fff !important;
}
.aq-cart-summary__cta:active {
	transform: translateY(-1px);
}

/* Small reassurance line right below the checkout button */
.aq-cart-summary__note {
	text-align: center;
	font-size: 11px;
	color: var(--aq-text-muted);
	letter-spacing: 0.02em;
	margin: 10px 0 0;
}

/* Compliance line — small, italic-ish, very muted, at the bottom */
.aq-cart-summary__fine {
	margin: 18px 0 0;
	padding-top: 14px;
	border-top: 1px dashed var(--aq-border);
	font-size: 10px;
	letter-spacing: 0.04em;
	color: var(--aq-text-muted);
	text-transform: uppercase;
	line-height: 1.5;
	text-align: center;
}

/* Hide the OLD inline .aq-cart-trust strip — replaced by the grid */
.aq-cart-summary .aq-cart-trust { display: none; }

/* ───────────────────────────────────────────────────────────────────
   WC CART BLOCK styling — for users who haven't swapped to classic
   shortcode yet, make the rendering look as clean as possible.
   These are SAFE rules: typography, color, spacing, NO display:flex
   on rows (that's what mangled the order summary before).
   ─────────────────────────────────────────────────────────────────── */

.wp-block-woocommerce-cart {
	font-family: var(--aq-font-sans, 'Inter', sans-serif);
}

.wc-block-cart {
	gap: 28px !important;
}

.wc-block-cart__sidebar,
.wp-block-woocommerce-cart-totals-block {
	background: #fff;
	border: 1px solid var(--aq-border);
	border-radius: 16px;
	padding: 24px 22px !important;
	box-shadow: 0 4px 18px rgba(15, 25, 60, 0.04);
}

.wc-block-cart__totals-title,
.wp-block-woocommerce-cart-order-summary-heading-block {
	font-size: 18px !important;
	font-weight: 700 !important;
	color: var(--aq-navy-deep) !important;
	margin: 0 0 16px !important;
	padding-bottom: 14px !important;
	border-bottom: 1px solid var(--aq-border);
	letter-spacing: -0.005em !important;
	text-transform: none !important;
}

.wc-block-components-totals-item {
	padding: 10px 0 !important;
}
.wc-block-components-totals-item__label {
	color: var(--aq-text-soft) !important;
	font-size: 14px !important;
}
.wc-block-components-totals-item__value {
	color: var(--aq-text) !important;
	font-weight: 700 !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 18px !important;
	color: var(--aq-navy-deep) !important;
	font-weight: 800 !important;
}

.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button {
	background: var(--aq-grad-navy) !important;
	color: #fff !important;
	border-radius: 14px !important;
	padding: 17px 22px !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	box-shadow: 0 10px 32px rgba(29, 43, 95, 0.32) !important;
	transition: transform 0.18s, box-shadow 0.18s !important;
	width: 100% !important;
}
.wc-block-cart__submit-button:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 16px 44px rgba(29, 43, 95, 0.40) !important;
}

.wc-block-cart-items {
	border: 1px solid var(--aq-border);
	border-radius: 16px;
	background: #fff;
	padding: 4px 22px;
	box-shadow: 0 4px 18px rgba(15, 25, 60, 0.04);
}
.wc-block-cart-items__header {
	font-size: 11px !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: var(--aq-text-muted) !important;
	padding: 18px 0 14px !important;
	border-bottom: 1px solid var(--aq-border);
}
.wc-block-cart-items__row {
	padding: 22px 0 !important;
	border-bottom: 1px solid var(--aq-border);
}
.wc-block-cart-items__row:last-child { border-bottom: 0; }

.wc-block-cart-item__image img {
	border-radius: 12px;
	background: var(--aq-bg);
}
.wc-block-components-product-name,
.wc-block-cart-item__product .wc-block-components-product-name {
	color: var(--aq-navy-deep) !important;
	font-weight: 700 !important;
	font-size: 15px !important;
}
.wc-block-components-product-price__value {
	color: var(--aq-teal-deep) !important;
	font-weight: 700 !important;
}

/* "Add coupons" collapsible in cart block */
.wc-block-components-totals-coupon__form,
.wc-block-components-panel__button {
	font-size: 13px !important;
	color: var(--aq-navy-soft) !important;
	padding: 12px 0 !important;
}

/* (v2.9 NOTE: the prior v2.7 CentryOS aside-card styling was removed
 * here — it was probably matching the form column AND the order
 * summary in CentryOS's HTML, wrapping both in narrow card boxes. The
 * width-forcing rules at the end of this file replace that approach.) */

/* Mobile spacing scaling for the cart trust grid */
@media (max-width: 700px) {
	.aq-cart-trust-grid {
		grid-template-columns: 1fr 1fr;
		gap: 6px;
		margin: 14px 0 18px;
	}
	.aq-trust-cell { padding: 10px; }
	.aq-trust-cell__ic { width: 26px; height: 26px; }
	.aq-trust-cell__ic svg { width: 14px; height: 14px; }
	.aq-cart-summary__cta {
		padding: 15px 18px;
		font-size: 14px;
	}
}


/* ═══════════════════════════════════════════════════════════════════
   v2.8 — Hide WC default "Proceed to checkout" button inside totals
   The woocommerce_cart_totals() function renders its own button which
   appears tiny+squished above my big custom .aq-cart-summary__cta.
   Suppress the default so only the polished custom one shows.
   ═══════════════════════════════════════════════════════════════════ */
.aq-cart-summary .wc-proceed-to-checkout,
.aq-cart-summary__table .wc-proceed-to-checkout,
.aq-cart-summary__table .checkout-button {
	display: none !important;
}

/* Defensive: never let any nested element be wider than its parent
 * inside the cart wrap, so a stray fixed-width child can't blow up
 * the column. (Particularly the cart totals table which can have
 * implicit content widths from WC defaults.) */
.aq-cart-wrap .aq-cart-items-card,
.aq-cart-wrap .aq-cart-summary,
.aq-cart-wrap .aq-cart-summary__sticky {
	min-width: 0;
	max-width: 100%;
}


/* ═══════════════════════════════════════════════════════════════════
   v2.9 — NUCLEAR cart/checkout width fix
   Final, definitive rules using `html body` specificity (0,3,2) +
   !important on every property so NOTHING in the rest of the CSS
   (or any plugin) can override these. After 9 versions of layered
   patches, this is the explicit "exactly what we want" definition.
   ═══════════════════════════════════════════════════════════════════ */

/* Step 1: .aq-site-main spans the entire viewport, no constraints */
html body.woocommerce-cart .aq-site-main,
html body.woocommerce-checkout .aq-site-main {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

/* Step 2: hero is full viewport width with its own inner max-width handling */
html body.woocommerce-cart .aq-cart-hero,
html body.woocommerce-checkout .aq-cart-hero {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

/* Step 3: the white shell is exactly 1180px max, centered with auto margins.
 * Forcing margin-left/right specifically so even if some shorthand
 * margin rule fires elsewhere it can't zero out the horizontal centering. */
html body.woocommerce-cart .aq-page-cart-shell,
html body.woocommerce-checkout .aq-page-checkout-shell {
	width: calc(100% - 40px) !important;
	max-width: 1180px !important;
	margin-top: -32px !important;
	margin-bottom: 60px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 36px 40px !important;
	box-sizing: border-box !important;
}

/* Step 4: WC's `<div class="woocommerce">` wrapper (which wraps the
 * shortcode output) fills its parent fully, no width restrictions */
html body.woocommerce-cart .aq-page-cart-shell .woocommerce,
html body.woocommerce-cart .aq-page-cart-shell > .woocommerce,
html body.woocommerce-checkout .aq-page-checkout-shell .woocommerce,
html body.woocommerce-checkout .aq-page-checkout-shell > .woocommerce {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	display: block !important;
	float: none !important;
}

/* Step 5: the .aq-cart-wrap fills its parent — no max-width, no padding.
 * Grid: items column flexible (can shrink to 0 if needed), summary fixed 360px */
html body.woocommerce-cart .aq-cart-wrap {
	width: 100% !important;
	max-width: 100% !important;
	margin: 28px 0 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 360px !important;
	gap: 28px !important;
	align-items: start !important;
}

/* Step 6: items and summary columns shrink properly and never overflow */
html body.woocommerce-cart .aq-cart-form,
html body.woocommerce-cart .aq-cart-summary,
html body.woocommerce-cart .aq-cart-items-card,
html body.woocommerce-cart .aq-cart-summary__sticky {
	min-width: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* Step 7: cart item rows — explicit grid so the title column can't collapse */
html body.woocommerce-cart .aq-cart-item {
	display: grid !important;
	grid-template-columns: 84px minmax(0, 1fr) auto !important;
	gap: 18px !important;
	align-items: center !important;
}
html body.woocommerce-cart .aq-cart-item__main {
	min-width: 0 !important;
	overflow: hidden !important;
}
html body.woocommerce-cart .aq-cart-item__name {
	word-break: normal !important;
	overflow-wrap: anywhere !important;
}

/* Step 8: mobile — collapse to one column */
@media (max-width: 860px) {
	html body.woocommerce-cart .aq-cart-wrap {
		grid-template-columns: 1fr !important;
	}
}


/* ═══════════════════════════════════════════════════════════════════
   v3.0 — CHECKOUT 2-column layout fix
   The existing grid rules in woocommerce.css require the form to have
   class `.woocommerce-checkout`. CentryOS apparently uses a different
   class, so the grid never fires and #customer_details + #order_review
   stack/float into the narrow cards visible in screenshots.
   This forces the grid on ANY <form> inside the checkout shell.
   ═══════════════════════════════════════════════════════════════════ */

/* Force the checkout form to be a 2-column grid regardless of class */
html body.woocommerce-checkout .aq-page-checkout-shell form,
html body.woocommerce-checkout .aq-page-checkout-shell .aq-checkout-wrap > form,
html body.woocommerce-checkout .aq-page-checkout-shell .aq-checkout-wrap {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 380px !important;
	gap: 32px !important;
	width: 100% !important;
	max-width: 100% !important;
	align-items: flex-start !important;
	margin: 28px 0 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

/* If the wrap is the grid itself (my template), don't double-grid the form inside */
html body.woocommerce-checkout .aq-page-checkout-shell .aq-checkout-wrap > form.checkout {
	display: contents !important;
}

/* Billing column (left) — covers BOTH my template (.aq-checkout-main)
 * AND standard WC / CentryOS (#customer_details) */
html body.woocommerce-checkout .aq-page-checkout-shell #customer_details,
html body.woocommerce-checkout .aq-page-checkout-shell .aq-checkout-main {
	grid-column: 1 !important;
	min-width: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	margin: 0 !important;
}

/* Order summary column (right) — same fallback chain */
html body.woocommerce-checkout .aq-page-checkout-shell #order_review,
html body.woocommerce-checkout .aq-page-checkout-shell #order_review_heading,
html body.woocommerce-checkout .aq-page-checkout-shell .aq-checkout-side,
html body.woocommerce-checkout .aq-page-checkout-shell aside.aq-checkout-side {
	grid-column: 2 !important;
	min-width: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	margin: 0 !important;
}

/* If WC inserts the coupon toggle as a direct form child, span both columns */
html body.woocommerce-checkout .aq-page-checkout-shell .woocommerce-form-coupon-toggle,
html body.woocommerce-checkout .aq-page-checkout-shell form > .checkout_coupon,
html body.woocommerce-checkout .aq-page-checkout-shell form > .woocommerce-form-coupon-toggle {
	grid-column: 1 / -1 !important;
	width: 100% !important;
	max-width: 100% !important;
}

/* Inner cards stretch to fill their grid cells, never overflow */
html body.woocommerce-checkout .aq-page-checkout-shell #customer_details .col2-set,
html body.woocommerce-checkout .aq-page-checkout-shell #customer_details .col-1,
html body.woocommerce-checkout .aq-page-checkout-shell #customer_details .col-2 {
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	float: none !important;
	box-sizing: border-box !important;
}

/* Mobile (< 980px): collapse to single column */
@media (max-width: 980px) {
	html body.woocommerce-checkout .aq-page-checkout-shell form,
	html body.woocommerce-checkout .aq-page-checkout-shell .aq-checkout-wrap {
		grid-template-columns: 1fr !important;
	}
	html body.woocommerce-checkout .aq-page-checkout-shell #customer_details,
	html body.woocommerce-checkout .aq-page-checkout-shell #order_review,
	html body.woocommerce-checkout .aq-page-checkout-shell #order_review_heading,
	html body.woocommerce-checkout .aq-page-checkout-shell .aq-checkout-main,
	html body.woocommerce-checkout .aq-page-checkout-shell .aq-checkout-side {
		grid-column: 1 !important;
	}
}


/* ═══════════════════════════════════════════════════════════════════
   v3.1 — DUPLICATE COUPON PILL FIX
   When CentryOS / WC renders both the toggle pill AND the inline
   coupon form on screen at the same time, the pill is redundant noise.
   Kill it everywhere.
   ═══════════════════════════════════════════════════════════════════ */
html body.woocommerce-checkout .woocommerce-form-coupon-toggle,
html body.woocommerce-cart .woocommerce-form-coupon-toggle {
	display: none !important;
}


/* ═══════════════════════════════════════════════════════════════════
   v3.1 — MOBILE CART + CHECKOUT FULL REDESIGN
   High-converting mobile checkout pattern:
   - Single column flow
   - Compact hero + steps
   - Big readable text (16px+ to prevent iOS focus zoom)
   - Full-width touch-friendly buttons (48px+ tap targets)
   - Sticky bottom CTA on cart
   - Streamlined trust signals
   - Order summary always full-width below content
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

	/* ── SHELL: full mobile width, less padding ──────────────────── */
	html body.woocommerce-cart .aq-page-cart-shell,
	html body.woocommerce-checkout .aq-page-checkout-shell {
		width: calc(100% - 16px) !important;
		margin-top: -22px !important;
		margin-bottom: 30px !important;
		padding: 22px 16px !important;
		border-radius: 18px !important;
	}

	/* ── HERO: tighter spacing, smaller display font ─────────────── */
	body.woocommerce-cart .aq-cart-hero,
	body.woocommerce-checkout .aq-cart-hero {
		padding: 26px 0 38px !important;
	}
	body.woocommerce-cart .aq-cart-hero__inner,
	body.woocommerce-checkout .aq-cart-hero__inner {
		padding: 0 18px !important;
		gap: 18px !important;
	}
	body.woocommerce-cart .aq-cart-hero h1,
	body.woocommerce-checkout .aq-cart-hero h1 {
		font-size: 32px !important;
		line-height: 1.08 !important;
		margin: 6px 0 0 !important;
	}
	body.woocommerce-cart .aq-cart-hero__eyebrow,
	body.woocommerce-checkout .aq-cart-hero__eyebrow {
		font-size: 11px !important;
		letter-spacing: 0.14em !important;
	}
	body.woocommerce-cart .aq-cart-hero__sub,
	body.woocommerce-checkout .aq-cart-hero__sub {
		font-size: 12.5px !important;
		margin-top: 8px !important;
	}

	/* Step indicator: compact pills */
	body.woocommerce-cart .aq-cart-steps,
	body.woocommerce-checkout .aq-cart-steps {
		gap: 6px !important;
		margin-top: 14px !important;
		flex-wrap: nowrap !important;
	}
	.aq-step__num {
		width: 26px !important;
		height: 26px !important;
		font-size: 12px !important;
	}
	.aq-step__label {
		font-size: 9.5px !important;
		letter-spacing: 0.08em !important;
		margin-top: 4px !important;
	}
	.aq-step__divider {
		width: 18px !important;
		margin: 0 2px !important;
	}

	/* ── TRUST STRIP: 2-column compact grid ──────────────────────── */
	body.woocommerce-cart .aq-cart-trust-strip,
	body.woocommerce-checkout .aq-cart-trust-strip {
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 10px 12px !important;
		padding: 4px 0 16px !important;
		margin: 0 0 18px !important;
	}
	.aq-cart-trust-strip span {
		font-size: 11px !important;
		flex-basis: auto !important;
		justify-content: flex-start !important;
		gap: 6px !important;
		line-height: 1.3 !important;
	}
	.aq-cart-trust-strip svg {
		width: 14px !important;
		height: 14px !important;
	}


	/* ─────────────────────────────────────────────────────────────
	   CART MOBILE
	   ───────────────────────────────────────────────────────────── */

	/* Force single column: items first, then summary below */
	html body.woocommerce-cart .aq-cart-wrap {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
		margin-top: 16px !important;
	}

	/* Items card */
	html body.woocommerce-cart .aq-cart-items-card {
		padding: 18px 14px !important;
		border-radius: 16px !important;
	}
	html body.woocommerce-cart .aq-cart-items-card__head {
		margin-bottom: 8px !important;
		padding-bottom: 12px !important;
	}
	html body.woocommerce-cart .aq-cart-items-card__head h2 {
		font-size: 18px !important;
	}
	html body.woocommerce-cart .aq-cart-items-card__head .aq-cart-items-card__count {
		font-size: 10.5px !important;
	}

	/* Item row: image | title+price+qty stacked vertically right side */
	html body.woocommerce-cart .aq-cart-item {
		grid-template-columns: 64px minmax(0, 1fr) !important;
		gap: 14px !important;
		padding: 16px 0 !important;
		align-items: start !important;
	}
	html body.woocommerce-cart .aq-cart-item__img img,
	html body.woocommerce-cart .aq-cart-item__img a img {
		width: 64px !important;
		height: 64px !important;
		border-radius: 12px !important;
	}
	html body.woocommerce-cart .aq-cart-item__name { font-size: 14px !important; line-height: 1.3 !important; }
	html body.woocommerce-cart .aq-cart-item__price-row { gap: 8px !important; flex-wrap: wrap !important; }
	html body.woocommerce-cart .aq-cart-item__unit { font-size: 11px !important; }
	html body.woocommerce-cart .aq-cart-item__sub { font-size: 15px !important; }

	/* Actions move to a second row spanning both columns */
	html body.woocommerce-cart .aq-cart-item__actions {
		grid-column: 1 / -1 !important;
		justify-content: space-between !important;
		margin-top: 10px !important;
		padding-top: 12px !important;
		border-top: 1px dashed var(--aq-border) !important;
		gap: 10px !important;
	}
	html body.woocommerce-cart .aq-cart-item__qty input[type="number"] {
		width: 62px !important;
		font-size: 16px !important; /* prevent iOS zoom */
		padding: 10px 8px !important;
	}

	/* Update Cart + Keep Shopping: stacked, full-width */
	html body.woocommerce-cart .aq-cart-items-card__foot {
		flex-direction: column-reverse !important;
		gap: 10px !important;
		align-items: stretch !important;
		margin-top: 16px !important;
		padding-top: 16px !important;
	}
	html body.woocommerce-cart .aq-cart-items-card__foot button,
	html body.woocommerce-cart .aq-cart-items-card__foot a,
	html body.woocommerce-cart [name="update_cart"] {
		width: 100% !important;
		justify-content: center !important;
		padding: 14px !important;
		font-size: 14px !important;
	}

	/* Shipping promise card */
	html body.woocommerce-cart .aq-cart-promise-card {
		flex-direction: column !important;
		align-items: flex-start !important;
		padding: 16px !important;
		gap: 10px !important;
		border-radius: 14px !important;
	}
	html body.woocommerce-cart .aq-cart-promise-card__ic { margin-right: 0 !important; }
	html body.woocommerce-cart .aq-cart-promise-card .aq-cart-promise-card__free {
		align-self: flex-start !important;
	}

	/* Upsell "Add a 5-Pack" — compact stacked */
	html body.woocommerce-cart .aq-cart-upsell-card {
		flex-direction: column !important;
		text-align: left !important;
		padding: 18px 16px !important;
		gap: 12px !important;
		border-radius: 14px !important;
	}
	html body.woocommerce-cart .aq-cart-upsell-card__ic { margin: 0 !important; }
	html body.woocommerce-cart .aq-cart-upsell__btn {
		width: 100% !important;
		justify-content: center !important;
		padding: 13px !important;
	}

	/* Order Summary card */
	html body.woocommerce-cart .aq-cart-summary {
		padding: 20px 16px !important;
		border-radius: 16px !important;
	}
	html body.woocommerce-cart .aq-cart-summary__sticky {
		position: relative !important;
		top: auto !important;
	}
	html body.woocommerce-cart .aq-cart-summary__head { margin-bottom: 14px !important; padding-bottom: 12px !important; }
	html body.woocommerce-cart .aq-cart-summary__head h2 { font-size: 20px !important; }
	html body.woocommerce-cart .aq-cart-summary__secure { font-size: 11px !important; padding: 4px 10px !important; }

	/* Cart totals rows */
	html body.woocommerce-cart .aq-cart-summary .cart_totals h2,
	html body.woocommerce-cart .aq-cart-summary__table .cart-subtotal,
	html body.woocommerce-cart .aq-cart-summary__table .order-total {
		font-size: 14px !important;
	}
	html body.woocommerce-cart .aq-cart-summary__table .order-total .amount {
		font-size: 22px !important;
	}

	/* You're saving / Free shipping included row — keep horizontal */
	html body.woocommerce-cart .aq-cart-summary__saving {
		padding: 12px 14px !important;
		font-size: 12.5px !important;
		gap: 10px !important;
		margin: 12px 0 !important;
	}

	/* Discount/affiliate code collapsible */
	html body.woocommerce-cart .aq-cart-summary__coupon-toggle,
	html body.woocommerce-cart .aq-cart-summary [class*="coupon-toggle"] {
		padding: 13px 14px !important;
		font-size: 13px !important;
	}

	/* Trust badges 2x2: tighter */
	html body.woocommerce-cart .aq-cart-trust-grid {
		grid-template-columns: 1fr 1fr !important;
		gap: 8px !important;
		margin: 16px 0 !important;
	}
	html body.woocommerce-cart .aq-trust-cell {
		padding: 10px 8px !important;
		border-radius: 12px !important;
		gap: 8px !important;
	}
	html body.woocommerce-cart .aq-trust-cell__ic { width: 26px !important; height: 26px !important; }
	html body.woocommerce-cart .aq-trust-cell__ic svg { width: 14px !important; height: 14px !important; }
	html body.woocommerce-cart .aq-trust-cell__title { font-size: 11.5px !important; line-height: 1.2 !important; }
	html body.woocommerce-cart .aq-trust-cell__sub { font-size: 10.5px !important; line-height: 1.25 !important; }

	/* PROCEED TO CHECKOUT — full width, big, prominent */
	html body.woocommerce-cart .aq-cart-summary__cta,
	html body.woocommerce-cart a.aq-cart-summary__cta,
	html body.woocommerce-cart .checkout-button {
		width: 100% !important;
		padding: 17px 20px !important;
		font-size: 16px !important;
		justify-content: center !important;
		margin: 16px 0 10px !important;
		border-radius: 14px !important;
	}

	/* Reassurance line below summary */
	html body.woocommerce-cart .aq-cart-summary__reassure,
	html body.woocommerce-cart .aq-cart-summary p.aq-cart-summary__reassure {
		font-size: 11px !important;
		padding: 0 !important;
	}

	/* Compliance footer */
	html body.woocommerce-cart .aq-cart-reassurance,
	html body.woocommerce-checkout .aq-cart-reassurance {
		flex-direction: row !important;
		padding: 16px 14px !important;
		gap: 12px !important;
		margin-top: 18px !important;
		border-radius: 14px !important;
	}
	html body.woocommerce-cart .aq-cart-reassurance__ic,
	html body.woocommerce-checkout .aq-cart-reassurance__ic {
		flex-shrink: 0 !important;
	}
	html body.woocommerce-cart .aq-cart-reassurance__txt h4,
	html body.woocommerce-checkout .aq-cart-reassurance__txt h4 {
		font-size: 13px !important;
		margin-bottom: 4px !important;
	}
	html body.woocommerce-cart .aq-cart-reassurance__txt p,
	html body.woocommerce-checkout .aq-cart-reassurance__txt p {
		font-size: 11.5px !important;
		line-height: 1.4 !important;
	}


	/* ─────────────────────────────────────────────────────────────
	   CHECKOUT MOBILE
	   ───────────────────────────────────────────────────────────── */

	/* Force single column, billing first then order summary below */
	html body.woocommerce-checkout .aq-page-checkout-shell form,
	html body.woocommerce-checkout .aq-page-checkout-shell .aq-checkout-wrap {
		display: flex !important;
		flex-direction: column !important;
		gap: 18px !important;
		grid-template-columns: 1fr !important;
		margin: 16px 0 0 !important;
	}

	/* Inline coupon form — compact, full width */
	html body.woocommerce-checkout form.checkout_coupon,
	html body.woocommerce-checkout .checkout_coupon {
		padding: 16px !important;
		margin: 0 0 14px !important;
		border-radius: 12px !important;
	}
	html body.woocommerce-checkout .checkout_coupon p {
		display: block !important;
		width: 100% !important;
		margin-bottom: 10px !important;
	}
	html body.woocommerce-checkout .checkout_coupon input.input-text {
		width: 100% !important;
		padding: 14px !important;
		font-size: 16px !important; /* prevent iOS zoom */
		border-radius: 10px !important;
	}
	html body.woocommerce-checkout .checkout_coupon button[type="submit"] {
		width: 100% !important;
		padding: 14px !important;
		font-size: 14px !important;
		margin-top: 8px !important;
		border-radius: 10px !important;
	}

	/* Customer details + order review cards: full width on mobile */
	html body.woocommerce-checkout .aq-page-checkout-shell #customer_details,
	html body.woocommerce-checkout .aq-page-checkout-shell .aq-checkout-main {
		width: 100% !important;
		max-width: 100% !important;
		padding: 22px 18px !important;
		border-radius: 16px !important;
		grid-column: 1 !important;
	}
	html body.woocommerce-checkout .aq-page-checkout-shell #order_review,
	html body.woocommerce-checkout .aq-page-checkout-shell #order_review_heading,
	html body.woocommerce-checkout .aq-page-checkout-shell .aq-checkout-side {
		width: 100% !important;
		max-width: 100% !important;
		padding: 22px 18px !important;
		border-radius: 16px !important;
		position: static !important; /* remove sticky on mobile */
		top: auto !important;
		grid-column: 1 !important;
	}

	/* "Billing details" heading */
	html body.woocommerce-checkout .aq-page-checkout-shell h2,
	html body.woocommerce-checkout .aq-page-checkout-shell h3 {
		font-size: 20px !important;
		margin: 0 0 14px !important;
	}

	/* "01 Billing Details" sub-section pill */
	html body.woocommerce-checkout .aq-checkout__section-title,
	html body.woocommerce-checkout [class*="section-title"] {
		font-size: 14px !important;
		margin-bottom: 14px !important;
	}

	/* Form fields full width, stacked */
	html body.woocommerce-checkout .form-row,
	html body.woocommerce-checkout .form-row-first,
	html body.woocommerce-checkout .form-row-last,
	html body.woocommerce-checkout #customer_details .col-1,
	html body.woocommerce-checkout #customer_details .col-2 {
		width: 100% !important;
		float: none !important;
		margin-bottom: 14px !important;
		padding: 0 !important;
	}

	/* Inputs: 16px font (no iOS zoom on focus), bigger tap targets */
	html body.woocommerce-checkout input.input-text,
	html body.woocommerce-checkout select,
	html body.woocommerce-checkout textarea,
	html body.woocommerce-checkout .select2-selection {
		font-size: 16px !important;
		padding: 14px !important;
		min-height: 48px !important;
		border-radius: 10px !important;
	}
	html body.woocommerce-checkout label {
		font-size: 12px !important;
		margin-bottom: 6px !important;
	}

	/* Place order button — full width, prominent, easy to tap */
	html body.woocommerce-checkout #place_order,
	html body.woocommerce-checkout button[name="place_order"],
	html body.woocommerce-checkout .aq-place-order,
	html body.woocommerce-checkout [class*="place-order"] button,
	html body.woocommerce-checkout [class*="place_order"] button {
		width: 100% !important;
		padding: 18px !important;
		font-size: 16px !important;
		margin-top: 18px !important;
		border-radius: 14px !important;
		min-height: 56px !important;
	}

	/* Order review items: text doesn't wrap aggressively */
	html body.woocommerce-checkout .woocommerce-checkout-review-order-table {
		font-size: 13px !important;
	}
	html body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name {
		font-size: 13px !important;
		max-width: 60% !important;
	}
	html body.woocommerce-checkout .order-total .amount {
		font-size: 20px !important;
	}

	/* Pay with CentryOS button container */
	html body.woocommerce-checkout [class*="payment_box"],
	html body.woocommerce-checkout .wc_payment_methods {
		padding: 14px !important;
	}

	/* Secure checkout / Free shipping pill */
	html body.woocommerce-checkout [class*="secure-checkout"],
	html body.woocommerce-checkout .aq-checkout-secure {
		font-size: 11.5px !important;
		padding: 10px 14px !important;
		margin: 10px 0 !important;
	}

	/* Compliance line */
	html body.woocommerce-checkout .aq-compliance,
	html body.woocommerce-checkout [class*="compliance"] {
		font-size: 10.5px !important;
		letter-spacing: 0.06em !important;
		padding: 14px 4px 0 !important;
		line-height: 1.4 !important;
	}
}


/* ═══════════════════════════════════════════════════════════════════
   v3.1 — EXTRA SMALL MOBILE (< 420px) — iPhone SE / minimum viable
   ═══════════════════════════════════════════════════════════════════ */
@media (max-width: 420px) {
	html body.woocommerce-cart .aq-page-cart-shell,
	html body.woocommerce-checkout .aq-page-checkout-shell {
		padding: 18px 12px !important;
		width: calc(100% - 10px) !important;
	}
	body.woocommerce-cart .aq-cart-hero h1,
	body.woocommerce-checkout .aq-cart-hero h1 {
		font-size: 26px !important;
	}
	html body.woocommerce-cart .aq-cart-items-card,
	html body.woocommerce-cart .aq-cart-summary,
	html body.woocommerce-checkout #customer_details,
	html body.woocommerce-checkout #order_review,
	html body.woocommerce-checkout .aq-checkout-main,
	html body.woocommerce-checkout .aq-checkout-side {
		padding: 16px 12px !important;
	}
	html body.woocommerce-cart .aq-cart-trust-grid,
	body.woocommerce-cart .aq-cart-trust-strip,
	body.woocommerce-checkout .aq-cart-trust-strip {
		gap: 6px 10px !important;
	}
	html body.woocommerce-cart .aq-trust-cell { padding: 8px 6px !important; }
	html body.woocommerce-cart .aq-trust-cell__title { font-size: 10.5px !important; }
	html body.woocommerce-cart .aq-trust-cell__sub { font-size: 9.5px !important; }
}


/* ═══════════════════════════════════════════════════════════════════
   v3.2 — Hide WC success notices on checkout (belt-and-suspenders)
   Server-side already clears them; this is a CSS safety net.
   ═══════════════════════════════════════════════════════════════════ */
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-info:not(.woocommerce-error),
body.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-message {
	display: none !important;
}
/* But always keep error notices visible (validation failures etc.) */
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout ul.woocommerce-error,
body.woocommerce-checkout .woocommerce-NoticeGroup .woocommerce-error {
	display: block !important;
}


/* ═══════════════════════════════════════════════════════════════════
   v3.2 — Product page price row, force horizontal price range
   "$60.00 – $1,200.00" should stay on one line. The wrap was only
   happening because the shipping pill was eating row space — but add
   a defensive whitespace + flex rule too.
   ═══════════════════════════════════════════════════════════════════ */
.aq-product__price-row {
	flex-wrap: nowrap !important;
	align-items: baseline !important;
}
.aq-product__price {
	white-space: nowrap !important;
	flex: 1 1 auto;
	min-width: 0;
}
.aq-product__price .woocommerce-Price-amount {
	white-space: nowrap !important;
}

/* Mobile (<560px): allow wrap because the range is too long for narrow screens,
 * but keep each amount intact (no breaking $1,200.00 across two lines) */
@media (max-width: 560px) {
	.aq-product__price-row {
		flex-wrap: wrap !important;
		row-gap: 4px !important;
	}
}

/* ═══════════════════════════════════════════════════════════════════
   v3.4 — REAL REVIEW ENGINE
   Customer-submitted reviews + photo gallery + zero state + submit form
   ═══════════════════════════════════════════════════════════════════ */

/* ── Empty state ───────────────────────────────────────────────────── */
.aq-reviews__empty {
	max-width: 640px;
	margin: 0 auto;
	text-align: center;
	padding: 30px 0 10px;
}
.aq-reviews__empty-head {
	font-family: var(--aq-font-display);
	font-size: 34px;
	font-weight: 600;
	color: var(--aq-navy-deep);
	margin: 14px 0 12px;
	line-height: 1.2;
}
.aq-reviews__empty-sub {
	color: var(--aq-text-soft);
	font-size: 16px;
	line-height: 1.55;
	margin: 0 0 26px;
}

/* ── Header with write-review CTA ──────────────────────────────────── */
.aq-reviews--real .aq-reviews__head {
	position: relative;
}
.aq-reviews__write-btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: 14px;
	padding: 9px 16px;
	background: var(--aq-white);
	border: 1.5px solid var(--aq-teal);
	color: var(--aq-teal-deep);
	border-radius: 999px;
	font-weight: 600;
	font-size: 13px;
	cursor: pointer;
	transition: background .15s, color .15s, transform .15s;
	font-family: inherit;
}
.aq-reviews__write-btn:hover {
	background: var(--aq-teal);
	color: var(--aq-white);
	transform: translateY(-1px);
}

/* ── Real review card extras (title, photos, foot) ─────────────────── */
.aq-review__title {
	font-family: var(--aq-font-display);
	font-size: 19px;
	font-weight: 600;
	color: var(--aq-navy-deep);
	margin: 4px 0 2px;
	line-height: 1.3;
}
.aq-review__body {
	font-style: normal;
	font-family: inherit;
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--aq-text-soft);
}
.aq-review__photos {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
	gap: 6px;
	margin-top: 6px;
}
.aq-review__photo {
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 8px;
	border: 1px solid rgba(10,21,48,0.08);
	background: var(--aq-bg-alt);
	transition: transform .2s, box-shadow .2s;
}
.aq-review__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.aq-review__photo:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 14px rgba(10,21,48,0.12);
}
.aq-review__foot {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 10px;
	margin-top: auto;
	padding-top: 8px;
	border-top: 1px solid rgba(10,21,48,0.06);
}
.aq-review__meta {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 4px;
	font-size: 11px;
	color: var(--aq-text-muted);
	flex-shrink: 0;
}
.aq-review__verified {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 2px 7px;
	background: rgba(26, 127, 55, 0.1);
	color: #1a7f37;
	border-radius: 999px;
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .02em;
}
.aq-review__date {
	font-size: 11px;
	color: var(--aq-text-muted);
}

/* ── SUBMIT FORM MODAL ─────────────────────────────────────────────── */
.aq-rv-form-wrap {
	position: fixed;
	inset: 0;
	z-index: 9990;
	background: rgba(14, 22, 56, 0.55);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	display: none;
	align-items: flex-start;
	justify-content: center;
	padding: 5vh 18px 24px;
	overflow-y: auto;
}
.aq-rv-form-wrap.is-open { display: flex; }

.aq-rv-form-card {
	background: var(--aq-white);
	border-radius: var(--aq-radius-lg);
	padding: 34px 32px 28px;
	width: 100%;
	max-width: 560px;
	position: relative;
	box-shadow: 0 30px 80px rgba(10,21,48,0.35);
	animation: aqRvFormIn .25s ease-out;
}
@keyframes aqRvFormIn {
	from { transform: translateY(14px); opacity: 0; }
	to   { transform: translateY(0);    opacity: 1; }
}
.aq-rv-form-close {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--aq-bg);
	border: 0;
	font-size: 22px;
	line-height: 1;
	color: var(--aq-text-muted);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .15s, color .15s;
}
.aq-rv-form-close:hover { background: var(--aq-bg-alt); color: var(--aq-navy-deep); }

.aq-rv-form-title {
	font-family: var(--aq-font-display);
	font-size: 26px;
	font-weight: 600;
	color: var(--aq-navy-deep);
	margin: 0 0 8px;
	line-height: 1.2;
	padding-right: 30px;
}
.aq-rv-form-sub {
	color: var(--aq-text-soft);
	font-size: 14px;
	line-height: 1.55;
	margin: 0 0 22px;
}

/* Star input */
.aq-rv-stars-input {
	background: var(--aq-bg);
	padding: 14px 16px;
	border-radius: var(--aq-radius);
	margin-bottom: 16px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.aq-rv-stars-label {
	font-size: 13px;
	font-weight: 600;
	color: var(--aq-navy-deep);
}
.aq-rv-stars-buttons { display: flex; gap: 4px; }
.aq-rv-star {
	background: transparent;
	border: 0;
	font-size: 32px;
	line-height: 1;
	color: #d4d8e0;
	cursor: pointer;
	padding: 2px 4px;
	transition: color .12s, transform .12s;
}
.aq-rv-star:hover { transform: scale(1.12); }
.aq-rv-star.is-on,
.aq-rv-star.is-hover { color: #f0a500; }

/* Fields */
.aq-rv-form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-bottom: 12px;
}
@media (max-width: 560px) {
	.aq-rv-form-row { grid-template-columns: 1fr; }
}
.aq-rv-field {
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin-bottom: 12px;
}
.aq-rv-field > span {
	font-size: 12.5px;
	font-weight: 600;
	color: var(--aq-navy-deep);
	letter-spacing: .01em;
}
.aq-rv-field input[type="text"],
.aq-rv-field input[type="email"],
.aq-rv-field textarea {
	font-family: inherit;
	font-size: 14.5px;
	color: var(--aq-text);
	background: var(--aq-white);
	border: 1.5px solid #e1e6ef;
	border-radius: 10px;
	padding: 11px 13px;
	transition: border-color .15s, box-shadow .15s;
	width: 100%;
	box-sizing: border-box;
}
.aq-rv-field input:focus,
.aq-rv-field textarea:focus {
	outline: none;
	border-color: var(--aq-teal);
	box-shadow: 0 0 0 3px rgba(111, 184, 184, 0.18);
}
.aq-rv-field textarea {
	resize: vertical;
	min-height: 110px;
	line-height: 1.55;
}

/* Photos picker */
.aq-rv-photos {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: flex-start;
}
.aq-rv-photos-pick {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: 88px;
	height: 88px;
	border: 1.5px dashed #c8d1e0;
	border-radius: 10px;
	cursor: pointer;
	color: var(--aq-text-muted);
	font-size: 11.5px;
	transition: border-color .15s, color .15s, background .15s;
	background: var(--aq-bg);
}
.aq-rv-photos-pick:hover {
	border-color: var(--aq-teal);
	color: var(--aq-teal-deep);
	background: var(--aq-white);
}
.aq-rv-photos-pick input[type="file"] {
	position: absolute;
	width: 1px; height: 1px;
	opacity: 0;
	pointer-events: none;
}
.aq-rv-photos-preview {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.aq-rv-photo-thumb {
	position: relative;
	width: 88px;
	height: 88px;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid #e1e6ef;
	background: var(--aq-bg-alt);
}
.aq-rv-photo-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.aq-rv-photo-rm {
	position: absolute;
	top: 3px;
	right: 3px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: rgba(14, 22, 56, 0.78);
	color: #fff;
	border: 0;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}
.aq-rv-photo-rm:hover { background: #b91c1c; }
.aq-rv-photos-hint {
	display: block;
	margin-top: 6px;
	font-size: 11.5px;
	color: var(--aq-text-muted);
}

/* Honeypot — hidden but valid for bots */
.aq-rv-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Submit button */
.aq-rv-submit {
	width: 100%;
	margin-top: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 22px;
	background: var(--aq-navy-deep);
	color: var(--aq-white);
	border: 0;
	border-radius: 999px;
	font-weight: 700;
	font-size: 15px;
	cursor: pointer;
	font-family: inherit;
	letter-spacing: .01em;
	transition: background .15s, transform .15s, box-shadow .15s;
}
.aq-rv-submit:hover:not(:disabled) {
	background: #1a2654;
	transform: translateY(-1px);
	box-shadow: 0 8px 22px rgba(14, 22, 56, 0.28);
}
.aq-rv-submit:disabled { opacity: .6; cursor: progress; }

.aq-rv-form-legal {
	font-size: 11.5px;
	color: var(--aq-text-muted);
	margin: 12px 0 0;
	line-height: 1.5;
	text-align: center;
}

.aq-rv-form-msg {
	margin-top: 12px;
	padding: 10px 12px;
	background: #fef3c7;
	color: #92400e;
	border-radius: 8px;
	font-size: 13px;
	border-left: 3px solid #f59e0b;
}
.aq-rv-form-msg.is-error {
	background: #fee2e2;
	color: #991b1b;
	border-left-color: #dc2626;
}

/* Success view */
.aq-rv-form-success {
	text-align: center;
	padding: 18px 0 6px;
}
.aq-rv-success-check {
	width: 64px;
	height: 64px;
	margin: 0 auto 14px;
	border-radius: 50%;
	background: rgba(26, 127, 55, 0.1);
	color: #1a7f37;
	display: flex;
	align-items: center;
	justify-content: center;
}
.aq-rv-form-success h3 {
	font-family: var(--aq-font-display);
	font-size: 28px;
	color: var(--aq-navy-deep);
	margin: 0 0 8px;
}
.aq-rv-form-success p {
	color: var(--aq-text-soft);
	font-size: 14.5px;
	line-height: 1.55;
	margin: 0 0 18px;
	max-width: 380px;
	margin-left: auto;
	margin-right: auto;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	.aq-rv-form-card { animation: none; }
	.aq-rv-star { transition: none; }
	.aq-reviews__write-btn { transition: none; }
}
