/* ==========================================================================
   Auraminos — storefront theme
   Layout: Vertex-style clinical storefront. White ground, warm-black ink,
   gold accent, soft champagne product wells, one dark "standard" band.
   ========================================================================== */

:root {
  /* Color */
  --ink: #16140F;          /* warm black: text + dark bands */
  --ink-2: #221F18;        /* dark band cards */
  --brand: #B8913A;        /* gold */
  --brand-2: #D9BE7E;      /* champagne gold */
  --brand-deep: #8A6A28;   /* deep gold: text links, hover */
  --on-brand: #16140F;     /* text on gold */
  --slate: #5E5A52;        /* body copy */
  --muted: #9A958A;        /* captions */
  --line: #ECE6DA;         /* hairlines */
  --bg: #FFFFFF;
  --wash: #FAF7F1;         /* warm white wash */
  --tint-mint: #F7F1E4;    /* champagne well */
  --tint-sage: #F2EFE9;    /* stone well */
  --tint-aqua: #F5F2EC;    /* ivory well */
  --tint-sand: #F6EEDF;    /* sand well */
  --on-dark: #FFFFFF;
  --on-dark-2: #BDB6A6;
  --warn-bg: #E3EDFF;
  --warn-fg: #1D4ED8;
  --danger: #B42318;

  /* Type */
  --font-head: 'Gabarito', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --font-body: 'Roboto', 'Segoe UI', system-ui, -apple-system, sans-serif;

  /* Shape */
  --radius: 24px;
  --radius-card: 22px;
  --radius-sm: 14px;
  --pill: 100px;
  --shadow: 0 14px 40px rgba(184, 145, 58, .10), 0 2px 8px rgba(22, 20, 15, .04);
  --shadow-lg: 0 24px 54px rgba(22, 20, 15, .16);
  --wrap: 1240px;
  --gutter: clamp(16px, 4vw, 32px);
  --header-h: 68px;

  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img, svg { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--brand-deep); }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid color-mix(in srgb, var(--brand) 55%, transparent); outline-offset: 2px; border-radius: 6px; }
h1, h2, h3, h4 { font-family: var(--font-head); color: var(--ink); line-height: 1.08; margin: 0; text-wrap: balance; letter-spacing: -.02em; }
p { margin: 0; }
.screen-reader-text, .sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
.skip-link:focus { position: fixed; top: 8px; left: 8px; z-index: 9999; clip: auto; width: auto; height: auto; background: var(--ink); color: #fff; padding: 10px 16px; border-radius: 10px; }

.wrap { width: 100%; max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); }
.tnum { font-variant-numeric: tabular-nums; }

/* Placeholder values the owner must fill in (highlighted so they can't ship unnoticed) */
.ph { background: var(--warn-bg); color: var(--warn-fg); border-radius: 6px; padding: 0 6px; font-weight: 600; font-style: normal; white-space: nowrap; }
.site-footer .ph { background: rgba(147, 197, 253, .16); color: #93C5FD; }

/* ---------- Buttons ---------- */
.btn, .button, button.button, a.button, input.button, .wp-element-button,
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: 0 24px; border: 0; border-radius: var(--pill);
  font-family: var(--font-head); font-weight: 800; font-size: 15px; letter-spacing: .01em; line-height: 1;
  background: linear-gradient(180deg, var(--brand-2), var(--brand)); color: var(--on-brand); text-decoration: none; transition: background .2s, transform .2s, box-shadow .2s, color .2s;
}
.btn:hover, .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--ink); color: #fff; transform: translateY(-1px); box-shadow: var(--shadow); }
.btn svg { width: 18px; height: 18px; }
.btn-secondary { background: #fff; color: var(--ink); border: 1.5px solid var(--line); }
.btn-secondary:hover { background: #fff; color: var(--brand-deep); border-color: var(--brand); }
.btn-dark { background: var(--ink); }
.btn-dark:hover { background: var(--brand-deep); }
.btn-lg { min-height: 56px; padding: 0 30px; font-size: 16px; }
.btn-block { width: 100%; }
.btn[disabled], .button[disabled], .button.disabled, .btn.is-disabled { background: #DAD3C5 !important; color: #fff !important; cursor: not-allowed; transform: none !important; box-shadow: none !important; }
.link-arrow { display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-head); font-weight: 800; color: var(--brand-deep); font-size: 15px; white-space: nowrap; }
.link-arrow svg { width: 16px; height: 16px; transition: transform .2s; }
.link-arrow:hover svg { transform: translateX(3px); }

/* ---------- Icons ---------- */
.i { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }

/* ---------- RUO strip + promo bar ---------- */
.ruo-strip {
  background: linear-gradient(90deg, var(--brand-deep), var(--brand) 50%, var(--brand-deep));
  color: #fff; text-align: center; font-family: var(--font-head); font-weight: 600;
  font-size: 12.5px; letter-spacing: .02em; line-height: 1.45; padding: 8px var(--gutter);
}
.ruo-strip strong { font-weight: 800; }
.ruo-strip span { opacity: .92; }
.promo-bar { background: var(--ink); color: var(--on-dark); font-size: 13px; }
.promo-bar .wrap { display: flex; align-items: center; justify-content: center; gap: 10px 22px; flex-wrap: wrap; padding-block: 9px; text-align: center; }
.promo-bar b { font-family: var(--font-head); letter-spacing: .06em; text-transform: uppercase; font-size: 12px; color: var(--brand-2); }
.promo-bar .sep { color: var(--on-dark-2); }
@media (max-width: 600px) {
  .promo-bar { font-size: 12px; }
  .promo-bar .wrap { flex-direction: column; gap: 4px; padding-block: 8px; }
  .promo-bar .sep { display: none; } /* No stray dots at line ends on phones */
}

/* ---------- Header ---------- */
.site-header { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 80; background: rgba(255, 255, 255, .88); backdrop-filter: saturate(160%) blur(14px); -webkit-backdrop-filter: saturate(160%) blur(14px); border-bottom: 1px solid var(--line); }
.admin-bar .site-header { top: 32px; }
.hdr-in { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: var(--header-h); }
.brand { display: inline-flex; align-items: center; gap: 10px; font-family: var(--font-head); font-weight: 900; font-size: 21px; letter-spacing: .02em; color: var(--ink); }
.brand:hover { color: var(--ink); }
.brand-mark { width: 30px; height: 30px; flex: none; }
.brand .brand-sub { color: var(--brand); }
.brand img { max-height: 40px; width: auto; }
.nav-primary { flex: 1; display: flex; justify-content: center; }
.nav-primary ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; }
.nav-primary a { display: block; padding: 8px 14px; border-radius: var(--pill); font-family: var(--font-head); font-weight: 700; font-size: 15px; color: var(--ink); }
.nav-primary a:hover, .nav-primary .current-menu-item > a, .nav-primary a[aria-current="page"] { background: var(--tint-mint); color: var(--brand-deep); }
.hdr-actions { display: flex; align-items: center; gap: 10px; }
.icon-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 12px; background: #fff; border: 1px solid var(--line); color: var(--ink); padding: 0; }
.icon-btn:hover { border-color: var(--brand); color: var(--brand-deep); }
.icon-btn .badge, .cart-count { position: absolute; top: -6px; right: -6px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 50px; background: var(--ink); color: var(--brand-2); font-size: 11px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; border: 2px solid #fff; }
.hamb { display: none; }

/* Mobile nav drawer */
.mnav { position: fixed; inset: 0; z-index: 120; pointer-events: none; }
.mnav-scrim { position: absolute; inset: 0; background: rgba(22, 20, 15, .45); opacity: 0; transition: opacity .25s; }
.mnav-panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(360px, 88vw); background: #fff; padding: calc(20px + env(safe-area-inset-top, 0px)) 22px 24px; transform: translateX(100%); transition: transform .3s ease; display: flex; flex-direction: column; gap: 18px; overflow-y: auto; }
.mnav.is-open { pointer-events: auto; }
.mnav.is-open .mnav-scrim { opacity: 1; }
.mnav.is-open .mnav-panel { transform: none; }
.mnav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.mnav a { display: block; padding: 12px 6px; font-family: var(--font-head); font-weight: 800; font-size: 20px; border-bottom: 1px solid var(--line); }
.mnav-head { display: flex; justify-content: space-between; align-items: center; }
.mnav-foot { margin-top: auto; font-size: 13px; color: var(--slate); display: grid; gap: 4px; }

/* ---------- Hero ---------- */
.hero { position: relative; overflow: hidden; background:
  radial-gradient(620px 460px at 12% 20%, rgba(184, 145, 58, .09), transparent 62%),
  radial-gradient(760px 520px at 88% 30%, rgba(217, 190, 126, .10), transparent 60%),
  var(--bg); }
.hero-in { position: relative; display: grid; grid-template-columns: 1.05fr .95fr; gap: 40px; align-items: center; padding-block: clamp(40px, 7vw, 88px); }
.hero-left { min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.eyebrow-badge { align-self: flex-start; display: inline-flex; align-items: center; gap: 9px; padding: 7px 14px 7px 10px; border-radius: 50px; background: rgba(184, 145, 58, .11); color: var(--brand-deep); font-family: var(--font-head); font-weight: 800; font-size: 13px; letter-spacing: .02em; }
.eyebrow-badge .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--brand); box-shadow: 0 0 0 4px rgba(184, 145, 58, .18); }
.hero h1 { font-size: clamp(36px, 4.4vw, 56px); font-weight: 900; letter-spacing: -.035em; line-height: 1.0; }
.hero h1 .tl { background: linear-gradient(92deg, var(--brand-deep), var(--brand) 55%, var(--brand-2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero-sub { font-size: 18px; color: var(--slate); max-width: 54ch; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.trustline { display: flex; flex-wrap: wrap; gap: 10px 18px; font-size: 14px; color: var(--slate); }
.trustline span { display: inline-flex; align-items: center; gap: 6px; }
.trustline .i { width: 17px; height: 17px; color: var(--brand-deep); }
.hero-visual { position: relative; min-width: 0; aspect-ratio: 1 / .92; max-width: 560px; justify-self: center; width: 100%; }
.hero-stage { position: absolute; inset: 6% 4% 4%; border-radius: 36px; background: linear-gradient(160deg, var(--tint-mint), var(--tint-aqua) 60%, #fff); border: 1px solid var(--line); overflow: hidden; }
.hero-stage::after { content: ""; position: absolute; left: 10%; right: 10%; bottom: 13%; height: 18px; border-radius: 50%; background: radial-gradient(closest-side, rgba(22, 20, 15, .18), transparent); }
.hero-vials { position: absolute; inset: 10% 8% 14%; display: flex; align-items: flex-end; justify-content: center; gap: 2%; }
.hero-vials .vial { width: 28%; filter: drop-shadow(0 18px 24px rgba(22, 20, 15, .14)); }
.hero-vials .vial:nth-child(2) { width: 33%; }
.hero-chip { position: absolute; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); padding: 12px 14px; display: grid; gap: 2px; font-size: 12px; color: var(--slate); }
.hero-chip b { font-family: var(--font-head); font-size: 20px; color: var(--ink); font-weight: 900; }
.hero-chip small { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--brand-deep); font-weight: 700; }
.hero-chip.a { left: -2%; top: 16%; }
.hero-chip.b { right: -1%; bottom: 20%; }
@media (prefers-reduced-motion: no-preference) {
  .hero-chip { animation: floaty 6s ease-in-out infinite; }
  .hero-chip.b { animation-delay: -3s; }
}
@keyframes floaty { 50% { transform: translateY(-8px); } }

/* ---------- Marquee ---------- */
.marquee { border-block: 1px solid var(--line); background: var(--wash); overflow: hidden; }
.marquee-track { display: flex; gap: 44px; width: max-content; padding-block: 15px; }
@media (prefers-reduced-motion: no-preference) { .marquee-track { animation: marq 38s linear infinite; } }
@keyframes marq { to { transform: translateX(-50%); } }
.marquee-item { display: inline-flex; align-items: center; gap: 10px; font-family: var(--font-head); font-weight: 800; font-size: 13px; letter-spacing: .12em; color: var(--ink); text-transform: uppercase; white-space: nowrap; }
.marquee-item::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--brand-2); }

/* ---------- Sections ---------- */
.sec { padding-block: clamp(56px, 8vw, 100px); }
.sec-tight { padding-block: clamp(40px, 5vw, 64px); }
.sec-wash { background: var(--wash); }
.sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 32px; flex-wrap: wrap; }
.sec-head > div { min-width: 0; display: grid; gap: 10px; }
.eyebrow { font-family: var(--font-head); font-weight: 800; font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--brand-deep); }
.head { font-size: clamp(30px, 3.6vw, 44px); font-weight: 900; letter-spacing: -.03em; }
.sub { color: var(--slate); font-size: 17px; max-width: 58ch; }

/* ---------- Product cards ---------- */
.scroller-wrap { position: relative; margin-inline: calc(var(--gutter) * -1); }
.scroller { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 6px var(--gutter) 18px; scrollbar-width: thin; }
.scroller .pcard { flex: 0 0 clamp(236px, 23%, 280px); scroll-snap-align: start; }
.pgrid, ul.products { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
ul.products::before, ul.products::after { display: none !important; }
.pcard, ul.products li.product {
  position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 20px; overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s; width: auto !important; margin: 0 !important; float: none !important;
}
.pcard:hover, ul.products li.product:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: transparent; }
.pcard-img { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 4.2; padding: 18px; background: var(--tint-mint); }
.pcard-img img, .pcard-img svg { max-height: 100%; width: auto; object-fit: contain; }
.pcard-img img { width: 100%; height: 100%; }
.pt-0 { background: var(--tint-mint); } .pt-1 { background: var(--tint-aqua); } .pt-2 { background: var(--tint-sage); } .pt-3 { background: var(--tint-sand); }
.pcard-purity { position: absolute; top: 12px; left: 12px; display: inline-flex; align-items: center; gap: 5px; padding: 5px 10px; border-radius: var(--pill); background: rgba(255, 255, 255, .94); font-family: var(--font-head); font-weight: 800; font-size: 11.5px; letter-spacing: .04em; color: var(--brand-deep); }
.pcard-purity::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--brand-2); }
.pcard-body { display: flex; flex-direction: column; gap: 6px; padding: 16px 16px 18px; flex: 1; }
.pcard-cat { font-family: var(--font-head); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.pcard-name, .woocommerce-loop-product__title { font-family: var(--font-head); font-weight: 800; font-size: 18px; line-height: 1.2; color: var(--ink); margin: 0; padding: 0 !important; }
.pcard-size { font-size: 13px; color: var(--slate); }
.pcard-meta { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 8px; }
.pcard-price, .pcard .price { font-family: var(--font-head); font-weight: 900; font-size: 20px; color: var(--ink) !important; }
.pcard .price del { color: var(--muted); font-size: 14px; font-weight: 600; }
.pcard .price ins { text-decoration: none; }
.pcard-lot { font-size: 11.5px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pcard-btn { margin-top: 10px; min-height: 42px; border-radius: var(--pill); background: var(--ink); color: #fff; display: flex; align-items: center; justify-content: center; font-family: var(--font-head); font-weight: 800; font-size: 14px; letter-spacing: .03em; }
.pcard-btn:hover { background: var(--brand-deep); color: #fff; }
.pcard .star-rating, ul.products li.product .star-rating { display: none; }

/* ---------- Standard (dark band) ---------- */
.std { background: var(--ink); color: var(--on-dark); position: relative; overflow: hidden; }
.std::before { content: ""; position: absolute; inset: auto -10% -40% auto; width: 620px; height: 620px; border-radius: 50%; background: radial-gradient(closest-side, rgba(217, 190, 126, .18), transparent); pointer-events: none; }
.std-head { display: grid; grid-template-columns: 1.1fr .9fr; gap: 40px; align-items: end; margin-bottom: 40px; }
.std-eyebrow { font-family: var(--font-head); font-weight: 800; font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--brand-2); display: block; margin-bottom: 12px; }
.std h2 { color: var(--on-dark); font-size: clamp(30px, 3.6vw, 46px); font-weight: 900; }
.std-head p { color: var(--on-dark-2); font-size: 17px; }
.std-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; position: relative; }
.stdc { display: flex; flex-direction: column; gap: 14px; padding: 26px 22px; border-radius: var(--radius-card); background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .08); }
.stdc .num { font-family: var(--font-head); font-weight: 900; font-size: 15px; color: var(--brand-2); letter-spacing: .08em; }
.stdc h3 { color: var(--on-dark); font-size: 20px; font-weight: 800; }
.stdc p { color: var(--on-dark-2); font-size: 15px; }

/* ---------- Proof / CoA sketch ---------- */
.pod { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.pod > div:first-child { display: grid; gap: 16px; min-width: 0; }
.pod-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px; }
.pod-card { background: linear-gradient(160deg, var(--tint-mint), var(--tint-aqua)); border-radius: 28px; padding: clamp(20px, 4vw, 40px); display: flex; flex-direction: column; gap: 14px; }
.pod-card > small { color: var(--slate); font-size: 12.5px; text-align: center; }
.coa-doc { background: #fff; border-radius: 16px; padding: 22px; box-shadow: var(--shadow); display: flex; flex-direction: column; gap: 12px; }
.coa-doc .t { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; font-family: var(--font-head); font-weight: 900; font-size: 18px; flex-wrap: wrap; }
.coa-doc .t small { font-family: var(--font-body); font-weight: 500; font-size: 12px; color: var(--muted); }
.coa-doc .rule { height: 1px; background: var(--line); }
.coa-doc .g { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.coa-doc .g b { display: block; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); font-weight: 700; }
.coa-doc .g span { font-weight: 600; font-size: 14px; }
.coa-doc .bar { height: 8px; border-radius: 4px; background: var(--line); }
.coa-doc .bar:nth-of-type(odd) { width: 86%; } .coa-doc .bar.s { width: 62%; }
.coa-doc .res { display: flex; justify-content: space-between; align-items: center; padding: 12px 14px; border-radius: 12px; background: var(--tint-mint); font-weight: 600; font-size: 14px; }
.coa-doc .res b { font-family: var(--font-head); font-size: 24px; font-weight: 900; color: var(--brand-deep); }

/* ---------- Why grid ---------- */
.why-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 32px; }
.whyc { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 28px 24px; display: flex; flex-direction: column; gap: 12px; }
.whyc .ic { width: 48px; height: 48px; border-radius: 14px; background: var(--tint-mint); color: var(--brand); display: flex; align-items: center; justify-content: center; }
.whyc .ic .i { width: 24px; height: 24px; }
.whyc h3 { font-size: 20px; font-weight: 800; }
.whyc p { color: var(--slate); font-size: 15px; }

/* ---------- Newsletter ---------- */
.brief { border-radius: 28px; background: var(--ink); color: var(--on-dark); padding: clamp(28px, 5vw, 52px); position: relative; overflow: hidden; }
.brief::after { content: ""; position: absolute; right: -80px; top: -80px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(closest-side, rgba(217, 190, 126, .25), transparent); }
.brief-in { position: relative; display: grid; grid-template-columns: 1.1fr 1fr; gap: 28px; align-items: center; }
.brief-in > div { display: grid; gap: 10px; min-width: 0; }
.brief h2 { color: var(--on-dark); font-size: clamp(26px, 3vw, 36px); font-weight: 900; }
.brief p { color: var(--on-dark-2); }
.brief .eyebrow { color: var(--brand-2); }
.brief-form { display: flex; gap: 8px; background: #fff; border-radius: var(--pill); padding: 6px; min-width: 0; }
.brief-form input { flex: 1; min-width: 0; border: 0; background: transparent; padding: 0 16px; color: var(--ink); outline: none; }
.brief-form button { min-height: 46px; }
.brief-note { font-size: 12.5px; color: var(--on-dark-2); margin-top: 8px; }

/* ---------- FAQ ---------- */
.faq-wrap { display: grid; grid-template-columns: .8fr 1.2fr; gap: 48px; align-items: start; }
.faq-wrap > div:first-child { display: grid; gap: 12px; position: sticky; top: calc(var(--header-h) + 24px); }
.faq { display: grid; gap: 10px; }
.faq-item { border: 1px solid var(--line); border-radius: 18px; background: #fff; overflow: hidden; }
.faq-q { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 22px; background: none; border: 0; text-align: left; font-family: var(--font-head); font-weight: 800; font-size: 17px; color: var(--ink); }
.faq-q .i { transition: transform .25s; color: var(--brand-deep); }
.faq-item.is-open .faq-q .i { transform: rotate(180deg); }
.faq-a { display: none; padding: 0 22px 20px; color: var(--slate); font-size: 15.5px; }
.faq-item.is-open .faq-a { display: block; }
.faq-a p + p { margin-top: 10px; }

/* ---------- Closing CTA ---------- */
.closing { background: linear-gradient(170deg, var(--tint-mint), var(--tint-aqua)); }
.closing-in { max-width: 760px; margin-inline: auto; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 16px; padding-block: clamp(56px, 8vw, 96px); }
.closing .pill { display: inline-flex; padding: 7px 14px; border-radius: var(--pill); background: #fff; font-family: var(--font-head); font-weight: 800; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--brand-deep); }
.closing h2 { font-size: clamp(32px, 4.4vw, 54px); font-weight: 900; }
.closing p { color: var(--slate); font-size: 17px; max-width: 56ch; }

/* ---------- Footer ---------- */
.site-footer { background: var(--ink); color: var(--on-dark-2); padding: 64px 0 28px; font-size: 14.5px; }
.site-footer a { color: var(--on-dark); }
.site-footer a:hover { color: var(--brand-2); }
.ft-grid { display: grid; grid-template-columns: 1.5fr repeat(3, minmax(0, 1fr)); gap: 36px; }
.ft-brand { display: grid; gap: 14px; align-content: start; }
.ft-brand .brand { color: #fff; }
.ft-brand p { max-width: 38ch; }
.ft-biz { display: grid; gap: 7px; font-style: normal; }
.ft-biz div { display: flex; gap: 10px; align-items: flex-start; }
.ft-biz .i { width: 17px; height: 17px; margin-top: 3px; color: var(--brand-2); }
.ft-col h4, .ft-col .ft-h { color: #fff; font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; font-weight: 800; margin: 0 0 14px; font-family: var(--font-head); }
.ft-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.ft-bottom { margin-top: 44px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .1); display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; font-size: 13px; }
.pay-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.pay-chips span { border: 1px solid rgba(255, 255, 255, .18); border-radius: 8px; padding: 4px 10px; font-family: var(--font-head); font-weight: 800; font-size: 12px; color: #fff; letter-spacing: .04em; }
.ft-disclaimer { margin-top: 22px; padding: 18px 20px; border-radius: 16px; background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .08); font-size: 12.5px; line-height: 1.65; color: var(--on-dark-2); }
.ft-disclaimer b { color: #fff; }

/* ---------- Breadcrumb ---------- */
.crumbs, .woocommerce-breadcrumb { font-size: 13px; color: var(--muted); padding-block: 20px 8px; margin: 0 !important; }
.crumbs a, .woocommerce-breadcrumb a { color: var(--slate); }
.crumbs span[aria-current] { color: var(--ink); font-weight: 600; }

/* ---------- Catalog ---------- */
.page-hero { padding-block: 28px 30px; border-bottom: 1px solid var(--line); background: linear-gradient(180deg, var(--wash), #fff); }
.page-hero .wrap { display: grid; gap: 10px; }
.page-hero h1 { font-size: clamp(32px, 4vw, 48px); font-weight: 900; }
.page-hero p { color: var(--slate); max-width: 64ch; }
.cat-toolbar { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; flex-wrap: wrap; padding-block: 22px; }
.cat-toolbar .chips { flex: 1 1 640px; min-width: 0; }
.chips { display: flex; gap: 8px; flex-wrap: wrap; }
.chip { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: var(--pill); border: 1.5px solid var(--line); background: #fff; font-family: var(--font-head); font-weight: 700; font-size: 14px; color: var(--ink); }
.chip:hover { border-color: var(--brand); color: var(--brand-deep); }
.chip.is-active, .chip[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: #fff; }
.chip .n { font-size: 12px; opacity: .6; }
.sort-select, .woocommerce-ordering select { min-height: 42px; border: 1.5px solid var(--line); border-radius: var(--pill); padding: 0 38px 0 16px; background: #fff; font-family: var(--font-head); font-weight: 700; font-size: 14px; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B8913A' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 16px; }
.woocommerce-result-count { margin: 0 !important; color: var(--slate); font-size: 14px; }
.woocommerce-ordering { margin: 0 !important; }
.catalog-foot { padding-block: 30px 70px; }
.woocommerce-pagination ul { display: flex; gap: 6px; justify-content: center; list-style: none; padding: 0; border: 0 !important; }
.woocommerce-pagination li { border: 0 !important; }
.woocommerce-pagination a, .woocommerce-pagination span { display: inline-flex; min-width: 42px; height: 42px; align-items: center; justify-content: center; border-radius: 12px; border: 1px solid var(--line); font-weight: 700; }
.woocommerce-pagination .current { background: var(--ink); color: #fff; border-color: var(--ink); }

/* ---------- Single product ---------- */
.pdp { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); padding-block: 10px 56px; align-items: start; }
.pdp-gallery { position: sticky; top: calc(var(--header-h) + 20px); display: grid; gap: 14px; min-width: 0; }
.pdp-img { border-radius: 26px; overflow: hidden; background: var(--tint-mint); aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; padding: 8%; border: 1px solid var(--line); }
.pdp-img img, .pdp-img svg { max-height: 100%; width: auto; object-fit: contain; }
.pdp-img .woocommerce-product-gallery { width: 100% !important; margin: 0 !important; float: none !important; }
.pdp-chips { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.pdp-chip { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 12px 8px; text-align: center; display: grid; justify-items: center; gap: 4px; font-size: 12px; color: var(--slate); line-height: 1.3; }
.pdp-chip .i { color: var(--brand); width: 20px; height: 20px; }
.pdp-chip b { color: var(--ink); font-family: var(--font-head); font-size: 14px; }
.pdp-summary { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.verified-badge { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: var(--pill); background: var(--tint-mint); color: var(--brand-deep); font-family: var(--font-head); font-weight: 800; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.verified-badge .i { width: 15px; height: 15px; }
.pdp-summary h1, .product_title { font-size: clamp(32px, 4vw, 48px); font-weight: 900; letter-spacing: -.03em; }
.pdp-compound { margin: -4px 0 0; font-family: var(--font-head); font-weight: 700; font-size: 18px; letter-spacing: .01em; color: var(--slate); }
.coa-compound { display: block; margin-top: 3px; font-family: var(--font-body); font-size: 13px; font-weight: 500; letter-spacing: 0; color: var(--muted); }
.cc-risk { display: inline-block; margin-left: 6px; padding: 2px 8px; border-radius: 50px; background: #FDECEC; color: #A61B1B; font-size: 11px; font-weight: 700; letter-spacing: .04em; vertical-align: middle; }
.ruo-line { display: flex; gap: 8px; align-items: flex-start; font-size: 13.5px; font-weight: 600; color: var(--brand-deep); }
.ruo-line .i { width: 17px; height: 17px; margin-top: 2px; }
.pdp-meta { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13px; color: var(--slate); }
.pdp-meta b { color: var(--ink); font-weight: 600; }
.pdp-desc { color: var(--slate); font-size: 16px; }
.opt-label { font-family: var(--font-head); font-weight: 800; font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink); margin-bottom: 8px; display: block; }
.size-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.size-pill { min-height: 42px; padding: 0 16px; border-radius: 12px; border: 1.5px solid var(--line); background: #fff; font-family: var(--font-head); font-weight: 800; font-size: 14px; display: inline-flex; align-items: center; gap: 8px; }
.size-pill small { font-family: var(--font-body); font-weight: 500; color: var(--muted); font-size: 12px; }
.size-pill:hover { border-color: var(--brand); }
.size-pill.is-active, .size-pill[aria-pressed="true"] { border-color: var(--ink); background: var(--ink); color: #fff; }
.size-pill.is-active small { color: var(--on-dark-2); }
.pdp-price, .pdp-summary p.price, .pdp-summary .woocommerce-variation-price .price { font-family: var(--font-head); font-weight: 900; font-size: 36px; color: var(--ink) !important; display: flex; align-items: baseline; gap: 8px; margin: 0; }
.pdp-price small { font-family: var(--font-body); font-size: 14px; color: var(--muted); font-weight: 500; }
.buy-row, .pdp-summary form.cart:not(.variations_form), .pdp-summary .woocommerce-variation-add-to-cart { display: flex; gap: 12px; align-items: stretch; flex-wrap: wrap; margin: 0 !important; }
.pdp-summary form.cart::before, .pdp-summary form.cart::after { display: none !important; }
.qty-box, .pdp-summary .quantity { display: inline-flex; align-items: center; border: 1.5px solid var(--line); border-radius: var(--pill); height: 56px; background: #fff; margin: 0 !important; float: none !important; }
.qty-box button, .qty-btn { width: 44px; height: 100%; border: 0; background: none; font-size: 20px; color: var(--ink); display: inline-flex; align-items: center; justify-content: center; }
.qty-box input, .pdp-summary .quantity input.qty { width: 44px; border: 0; text-align: center; font-weight: 700; font-size: 16px; background: transparent; -moz-appearance: textfield; }
.qty-box input::-webkit-inner-spin-button, .quantity input::-webkit-inner-spin-button { -webkit-appearance: none; }
.buy-row .btn, .pdp-summary .single_add_to_cart_button { flex: 1; min-height: 56px; font-size: 16px; float: none !important; }
.pdp-lines { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; font-size: 13.5px; color: var(--slate); }
.pdp-lines span { display: flex; gap: 7px; align-items: center; }
.pdp-lines .i { width: 16px; height: 16px; color: var(--brand); }
.coa-card { border: 1px solid var(--line); border-radius: 20px; padding: 18px 20px; display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: center; background: linear-gradient(160deg, #fff, var(--wash)); }
.coa-card .pct { width: 76px; height: 76px; border-radius: 50%; display: grid; place-items: center; text-align: center; background: conic-gradient(var(--brand) calc(var(--p, 99) * 1%), var(--line) 0); position: relative; }
.coa-card .pct::before { content: ""; position: absolute; inset: 6px; border-radius: 50%; background: #fff; }
.coa-card .pct span { position: relative; font-family: var(--font-head); font-weight: 900; font-size: 13.5px; line-height: 1; }
.coa-card .pct small { display: block; font-size: 9px; letter-spacing: .1em; color: var(--muted); font-family: var(--font-body); font-weight: 700; margin-top: 2px; }
.coa-card h3 { font-size: 17px; font-weight: 800; }
.coa-card p { font-size: 13px; color: var(--slate); }
.coa-card .v { font-size: 11px; font-weight: 800; letter-spacing: .1em; color: var(--brand-deep); font-family: var(--font-head); }
.coa-card .btn { min-height: 42px; padding: 0 18px; font-size: 14px; }
.specs { border: 1px solid var(--line); border-radius: 20px; overflow: hidden; }
.specs dl { display: grid; grid-template-columns: minmax(110px, .5fr) 1fr; margin: 0; }
.specs dt, .specs dd { margin: 0; padding: 12px 18px; border-bottom: 1px solid var(--line); font-size: 14px; }
.specs dt { font-family: var(--font-head); font-weight: 800; font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); background: var(--wash); display: flex; align-items: center; }
.specs dl > :nth-last-child(-n+2) { border-bottom: 0; }
.trust-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.trust-grid > div { border: 1px solid var(--line); border-radius: 16px; padding: 14px 16px; display: grid; gap: 4px; }
.trust-grid b { font-family: var(--font-head); font-size: 15px; display: flex; gap: 8px; align-items: center; }
.trust-grid b .i { width: 18px; height: 18px; color: var(--brand); }
.trust-grid p { font-size: 13px; color: var(--slate); }
.ruo-box { border-radius: 18px; padding: 16px 18px; background: var(--tint-sand); border: 1px solid #EADFCB; font-size: 13.5px; color: #5C4A2A; display: flex; gap: 12px; align-items: flex-start; }
.ruo-box .i { color: #9A6B12; width: 20px; height: 20px; margin-top: 1px; }
.ruo-box b { color: #3E2F14; }
.pdp-below { display: grid; gap: 40px; padding-bottom: 72px; }
.pdp-below h2 { font-size: 28px; font-weight: 900; margin-bottom: 18px; }
.info-block { border: 1px solid var(--line); border-radius: 22px; padding: 26px; display: grid; gap: 10px; color: var(--slate); }
.info-block h3 { font-size: 20px; }
.related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.mini-card { display: flex; gap: 14px; align-items: center; border: 1px solid var(--line); border-radius: 18px; padding: 12px; background: #fff; }
.mini-card .thumb { width: 72px; height: 72px; border-radius: 12px; display: flex; align-items: center; justify-content: center; padding: 6px; flex: none; }
.mini-card .thumb svg, .mini-card .thumb img { max-height: 100%; width: auto; }
.mini-card b { font-family: var(--font-head); display: block; font-size: 15px; line-height: 1.2; }
.mini-card span { font-size: 14px; color: var(--slate); }
.sticky-buy { position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; background: rgba(255, 255, 255, .96); backdrop-filter: blur(10px); border-top: 1px solid var(--line); padding: 10px var(--gutter) calc(10px + env(safe-area-inset-bottom, 0px)); display: none; align-items: center; gap: 12px; }
.sticky-buy b { font-family: var(--font-head); font-size: 15px; display: block; line-height: 1.2; }
.sticky-buy span { font-size: 14px; color: var(--slate); }
.sticky-buy .btn { margin-left: auto; min-height: 46px; }

/* WooCommerce variation table → hidden select, pills drive it */
.pdp-summary table.variations { border: 0; margin: 0 0 6px; width: 100%; }
.pdp-summary table.variations th, .pdp-summary table.variations td { display: block; padding: 0; text-align: left; border: 0; background: none; }
.pdp-summary table.variations th label { font-family: var(--font-head); font-weight: 800; font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; }
.pdp-summary table.variations select.aur-has-pills { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
.pdp-summary .reset_variations { font-size: 13px; color: var(--muted); margin-left: 6px; }
.pdp-summary .woocommerce-variation-description { font-size: 14px; color: var(--slate); }
.pdp-summary .stock { font-size: 13.5px; font-weight: 600; color: var(--brand-deep); margin: 0; }
.pdp-summary .stock.out-of-stock { color: var(--danger); }
.pdp-summary .product_meta { display: none; }

/* ---------- CoA library ---------- */
.coa-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding-bottom: 72px; }
.coa-item { border: 1px solid var(--line); border-radius: 20px; padding: 18px; display: grid; gap: 12px; background: #fff; }
.coa-item .top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.coa-item .tag { font-size: 10.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--brand-deep); font-family: var(--font-head); display: inline-flex; gap: 6px; align-items: center; }
.coa-item .tag::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--brand-2); }
.coa-item .pur { font-family: var(--font-head); font-weight: 900; font-size: 26px; color: var(--brand-deep); }
.coa-item h3 { font-size: 18px; font-weight: 800; }
.coa-item .m { font-size: 13px; color: var(--slate); display: grid; gap: 2px; }
.coa-item .btn { min-height: 40px; font-size: 13.5px; }
.coa-search { min-height: 46px; border: 1.5px solid var(--line); border-radius: var(--pill); padding: 0 18px; width: min(360px, 100%); background: #fff; }

/* ---------- Content pages / policies ---------- */
.doc { max-width: 820px; padding-block: 40px 80px; }
.doc h2 { font-size: 24px; margin: 34px 0 12px; }
.doc h3 { font-size: 18px; margin: 22px 0 8px; }
.doc p, .doc li { color: var(--slate); font-size: 16px; }
.doc p + p { margin-top: 12px; }
.doc ul, .doc ol { padding-left: 20px; display: grid; gap: 6px; }
.doc .updated { font-size: 13px; color: var(--muted); }
.doc .callout, .callout { border-radius: 16px; padding: 16px 18px; background: var(--tint-mint); color: var(--brand-deep); font-weight: 500; margin: 18px 0; }
.doc .callout.warn, .callout.warn { background: var(--tint-sand); color: #5C4A2A; }
.entry-content > * + * { margin-top: 14px; }
.entry-content a { color: var(--brand-deep); text-decoration: underline; text-underline-offset: 2px; }
.entry-content table { width: 100%; border-collapse: collapse; }
.entry-content th, .entry-content td { border: 1px solid var(--line); padding: 10px 12px; text-align: left; }

.contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 32px; padding-block: 36px 80px; align-items: start; }
.contact-card { border: 1px solid var(--line); border-radius: 22px; padding: 24px; display: grid; gap: 14px; align-content: start; }
.contact-card .row { display: flex; gap: 12px; align-items: flex-start; }
.contact-card .row .i { color: var(--brand); margin-top: 3px; }
.contact-card .row b { display: block; font-family: var(--font-head); }

/* ---------- Forms (Woo + generic) ---------- */
.form-row, .field { display: grid; gap: 6px; margin-bottom: 14px; }
.form-row label, .field label { font-size: 13.5px; font-weight: 600; color: var(--ink); }
.input-text, .field input, .field select, .field textarea, .woocommerce form .form-row .input-text, .woocommerce form .form-row select, .select2-container .select2-selection--single {
  width: 100%; min-height: 48px; border: 1.5px solid var(--line); border-radius: 12px; padding: 10px 14px; background: #fff; font-size: 15px;
}
.select2-container .select2-selection--single { display: flex; align-items: center; }
.input-text:focus, .field input:focus, .field select:focus, .field textarea:focus { border-color: var(--brand); outline: none; box-shadow: 0 0 0 4px rgba(184, 145, 58, .12); }
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews { list-style: none; border: 0 !important; border-radius: 14px; padding: 14px 18px !important; margin: 0 0 20px !important; background: var(--tint-mint) !important; color: var(--brand-deep) !important; font-weight: 500; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none !important; }
.woocommerce-error { background: #FDECEA !important; color: var(--danger) !important; }
.woocommerce-message .button, .woocommerce-info .button { min-height: 38px; font-size: 13.5px; order: 2; }

.woo-shell { padding-block: 28px 80px; }
.woocommerce-checkout .col2-set, .woocommerce-account .woocommerce { display: grid; gap: 28px; }
.woocommerce-checkout #customer_details { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { width: auto !important; float: none !important; }
.woocommerce-checkout h3, .woocommerce-cart h2 { font-size: 22px; margin-bottom: 14px; }
#order_review, .cart_totals { border: 1px solid var(--line); border-radius: 22px; padding: 22px; background: var(--wash); }
.shop_table { width: 100%; border-collapse: collapse; border: 0 !important; }
.shop_table th, .shop_table td { padding: 12px 8px !important; border: 0 !important; border-bottom: 1px solid var(--line) !important; text-align: left; }
.woocommerce-checkout-payment, #payment { background: #fff !important; border-radius: 16px !important; margin-top: 16px; }
#payment .place-order .button, #place_order { width: 100%; min-height: 56px; font-size: 16px; }
.aur-attest { margin: 14px 0; padding: 14px 16px; border-radius: 14px; background: var(--tint-sand); border: 1px solid #EADFCB; font-size: 14px; color: #3E2F14; }
.aur-attest label { display: flex !important; gap: 10px; align-items: flex-start; font-weight: 500; line-height: 1.5; }
.aur-attest input[type="checkbox"] { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--brand); flex: none; }
.aur-account-note { display: flex; gap: 10px; align-items: flex-start; padding: 14px 16px; border-radius: 14px; background: var(--tint-mint); color: var(--brand-deep); font-size: 14px; margin-bottom: 18px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 10px 14px; border-radius: 12px; font-weight: 600; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: var(--tint-mint); color: var(--brand-deep); }

/* ---------- Cart drawer ---------- */
.drawer { position: fixed; inset: 0; z-index: 130; pointer-events: none; }
.drawer-scrim { position: absolute; inset: 0; background: rgba(22, 20, 15, .45); opacity: 0; transition: opacity .25s; }
.drawer-panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(420px, 100vw); background: #fff; display: flex; flex-direction: column; transform: translateX(100%); transition: transform .3s ease; padding-top: env(safe-area-inset-top, 0px); }
.drawer.is-open { pointer-events: auto; }
.drawer.is-open .drawer-scrim { opacity: 1; }
.drawer.is-open .drawer-panel { transform: none; }
.drawer-head { display: flex; justify-content: space-between; align-items: center; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.drawer-head h2 { font-size: 16px; letter-spacing: .14em; text-transform: uppercase; font-weight: 900; }
.ship-progress { padding: 14px 20px; background: var(--wash); font-size: 13.5px; color: var(--slate); display: grid; gap: 8px; }
.ship-progress b { color: var(--ink); }
.ship-bar { height: 7px; border-radius: 4px; background: var(--line); overflow: hidden; }
.ship-bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--brand), var(--brand-2)); border-radius: 4px; transition: width .4s; }
.drawer-body { flex: 1; overflow-y: auto; padding: 8px 20px; }
.drawer-empty { text-align: center; color: var(--slate); padding: 48px 10px; display: grid; gap: 14px; justify-items: center; }
.drawer-empty .i { width: 40px; height: 40px; color: var(--muted); }
.drawer-item, .woocommerce-mini-cart-item { display: grid; grid-template-columns: 64px 1fr auto; gap: 12px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); list-style: none; position: relative; }
/* WooCommerce adds clearfix ::before/::after to cart list items on shop, product and
   cart pages; in this grid they become empty cells and push the price and Remove
   button onto a second row, so remove them. */
.drawer-item::before, .drawer-item::after, .woocommerce ul.cart_list li.drawer-item::before, .woocommerce ul.cart_list li.drawer-item::after { content: none !important; display: none !important; }
.drawer-item > div { min-width: 0; }
.drawer-item .thumb { width: 64px; height: 64px; border-radius: 12px; display: flex; align-items: center; justify-content: center; padding: 6px; }
.drawer-item .thumb svg { max-height: 100%; width: auto; }
.drawer-item b { font-family: var(--font-head); font-size: 15px; display: block; line-height: 1.2; }
.drawer-item small { color: var(--muted); font-size: 12.5px; }
.drawer-item .q { display: inline-flex; align-items: center; gap: 4px; margin-top: 6px; border: 1px solid var(--line); border-radius: var(--pill); }
.drawer-item .q button { width: 28px; height: 28px; border: 0; background: none; }
.drawer-item .q span { min-width: 18px; text-align: center; font-size: 13px; font-weight: 700; }
.drawer-item .price { font-family: var(--font-head); font-weight: 800; }
.drawer-item .rm:not(.aur-remove), .woocommerce-mini-cart-item .remove:not(.aur-remove) { font-size: 12px; color: var(--muted); background: none; border: 0; text-decoration: underline; padding: 0; }
.woocommerce-mini-cart { padding: 0; margin: 0; }
.woocommerce-mini-cart__total, .woocommerce-mini-cart__buttons { display: none !important; }
.drawer-foot { border-top: 1px solid var(--line); padding: 16px 20px calc(18px + env(safe-area-inset-bottom, 0px)); display: grid; gap: 10px; }
.drawer-foot .sub { display: flex; justify-content: space-between; font-family: var(--font-head); font-weight: 900; font-size: 18px; color: var(--ink); max-width: none; }
.drawer-foot small { font-size: 12px; color: var(--muted); text-align: center; }

/* ---------- Researcher verification gate ---------- */
.agegate { position: fixed; inset: 0; z-index: 1000; display: none; align-items: center; justify-content: center; padding: 16px; background: rgba(16, 14, 10, .72); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.agegate.is-open { display: flex; }
.agegate-card { width: min(560px, 100%); max-height: calc(100vh - 32px); overflow-y: auto; background: #fff; border-radius: 26px; padding: clamp(22px, 4vw, 36px); box-shadow: var(--shadow-lg); display: grid; gap: 14px; }
.agegate-card .k { font-family: var(--font-head); font-weight: 800; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--brand-deep); }
.agegate-card h2 { font-size: clamp(24px, 3vw, 30px); font-weight: 900; }
.agegate-card > p { color: var(--slate); font-size: 15px; }
.gate-check { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border: 1.5px solid var(--line); border-radius: 16px; cursor: pointer; font-size: 15px; line-height: 1.45; transition: border-color .2s, background .2s; }
.gate-check:hover { border-color: var(--brand-2); }
.gate-check input { width: 20px; height: 20px; margin-top: 1px; accent-color: var(--brand); flex: none; }
.gate-check:has(input:checked) { border-color: var(--brand); background: var(--tint-mint); }
.gate-check a { color: var(--brand-deep); text-decoration: underline; }
.gate-actions { display: grid; gap: 10px; margin-top: 4px; }
.gate-leave { text-align: center; font-size: 14px; color: var(--muted); text-decoration: underline; background: none; border: 0; }
.gate-fine { font-size: 12px; color: var(--muted); line-height: 1.55; border-top: 1px solid var(--line); padding-top: 12px; }
.gate-fine a { color: var(--brand-deep); text-decoration: underline; }
.gate-denied { display: none; text-align: center; gap: 12px; }
.agegate.is-denied .gate-form { display: none; }
.agegate.is-denied .gate-denied { display: grid; }
html.aur-gate-lock, html.aur-gate-lock body { overflow: hidden; }

/* ---------- Toast ---------- */
.toast { position: fixed; left: 50%; bottom: calc(24px + env(safe-area-inset-bottom, 0px)); transform: translate(-50%, 20px); background: var(--ink); color: #fff; padding: 12px 18px; border-radius: 14px; font-size: 14px; font-weight: 500; opacity: 0; pointer-events: none; transition: opacity .25s, transform .25s; z-index: 1100; display: flex; gap: 8px; align-items: center; max-width: calc(100vw - 32px); }
.toast.is-on { opacity: 1; transform: translate(-50%, 0); }
.toast .i { color: var(--brand-2); }

/* ---------- 404 ---------- */
.nf { text-align: center; padding-block: 90px; display: grid; gap: 14px; justify-items: center; }
.nf h1 { font-size: clamp(40px, 6vw, 72px); font-weight: 900; }

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
  .pgrid, ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .std-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ft-grid { grid-template-columns: 1fr 1fr; }
  .ft-brand { grid-column: 1 / -1; }
  .coa-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .nav-primary { display: none; }
  .hamb { display: inline-flex; }
  .hero-in { grid-template-columns: 1fr; }
  .hero-visual { max-width: 460px; }
  .std-head, .pod, .brief-in, .faq-wrap, .contact-grid { grid-template-columns: 1fr; }
  .faq-wrap > div:first-child { position: static; }
  .why-grid { grid-template-columns: 1fr; }
  .pdp { grid-template-columns: 1fr; }
  .pdp-gallery { position: static; }
  .related-grid { grid-template-columns: 1fr; }
  .woocommerce-checkout #customer_details { grid-template-columns: 1fr; }
  .sticky-buy { display: flex; }
  body.single-product, body.aur-pdp { padding-bottom: 76px; }
}
@media (max-width: 640px) {
  .pgrid, ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .pcard-body { padding: 12px 12px 14px; }
  .pcard-name { font-size: 16px; }
  .pcard-price { font-size: 18px; }
  .pcard-lot { display: none; }
  .std-grid, .coa-grid { grid-template-columns: 1fr; }
  .ft-grid { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
  .pdp-lines, .trust-grid { grid-template-columns: 1fr; }
  .coa-card { grid-template-columns: auto 1fr; }
  .coa-card .btn { grid-column: 1 / -1; }
  .hero-chip { font-size: 11px; padding: 9px 11px; }
  .hero-chip b { font-size: 16px; }
  .brief-form { flex-direction: column; border-radius: 18px; }
  .brief-form input { min-height: 46px; }
  .ruo-strip { font-size: 11.5px; letter-spacing: 0; }
  .ruo-strip span { display: block; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ==========================================================================
   Logo, promotions, WooCommerce overrides (added with the gold rebrand)
   ========================================================================== */
.aur-logo { display: block; height: 40px; width: auto; }
.site-header .aur-logo { height: 38px; }
.mnav .aur-logo { height: 32px; }
.site-footer .aur-logo { height: 58px; }
.brand { line-height: 0; }
.custom-logo { max-height: 44px; width: auto; }

/* Promotions */
.pcard-sale { position: absolute; top: 12px; right: 12px; padding: 5px 10px; border-radius: var(--pill); background: var(--ink); color: var(--brand-2); font-family: var(--font-head); font-weight: 800; font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; }
.pcard-sale.is-out { background: #fff; color: var(--slate); border: 1px solid var(--line); }
.promo-bar a { color: var(--on-dark); }
.promo-bar a:hover { color: var(--brand-2); }
.promo-code { display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px; border-radius: 14px; border: 1.5px dashed var(--brand); background: #fff; font-size: 14px; color: var(--slate); }
.promo-code b { font-family: var(--font-head); font-size: 18px; letter-spacing: .08em; color: var(--ink); }
.promo-code span { font-size: 12px; font-weight: 700; color: var(--brand-deep); text-transform: uppercase; letter-spacing: .08em; }
.promo-ends { color: var(--muted); font-size: 13px; }
.promo-hint { display: flex; gap: 8px; align-items: center; padding: 10px 20px; background: var(--tint-sand); color: var(--ink); font-size: 13.5px; border-bottom: 1px solid var(--line); }
.promo-hint .i { width: 17px; height: 17px; color: var(--brand-deep); }
.promo-hint.is-applied { background: var(--tint-mint); }
.woocommerce span.onsale, .onsale { position: absolute; top: 16px; left: 16px; z-index: 3; min-height: 0; min-width: 0; padding: 6px 12px; line-height: 1; border-radius: var(--pill); background: var(--ink) !important; color: var(--brand-2) !important; font-family: var(--font-head); font-weight: 800; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; margin: 0 !important; }
.price del { color: var(--muted); font-weight: 500; opacity: 1; }
.price ins { text-decoration: none; }

/* Product images from the photo studio have transparent backgrounds: let the tint show */
.pcard-img img { object-fit: contain; mix-blend-mode: normal; }
.pdp-img { position: relative; }
.pdp-img.has-gallery { aspect-ratio: auto; display: block; padding: 5%; }
.pdp .woocommerce-product-gallery, .woocommerce div.product .pdp div.images { width: 100% !important; float: none !important; margin: 0 !important; opacity: 1 !important; }
.pdp .woocommerce-product-gallery__image img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: contain; }
.pdp .woocommerce-product-gallery__trigger { top: 12px !important; right: 12px !important; background: #fff; border: 1px solid var(--line); }
.pdp .flex-control-thumbs { display: flex; gap: 8px; margin: 14px 0 0 !important; padding: 0; list-style: none; }
.pdp .flex-control-thumbs li { width: 64px !important; float: none !important; border-radius: 10px; overflow: hidden; background: #fff; }
.pdp .aur-vial-ph { display: flex; justify-content: center; }
.pdp .aur-vial-ph .vial { height: 440px; max-height: 70vw; width: auto; }
.pdp-img > .vial { height: 100%; }
.woocommerce div.product .pdp div.summary, .pdp .summary { width: auto !important; float: none !important; margin: 0 !important; }
.pdp-summary .woocommerce-product-details__short-description { color: var(--slate); font-size: 16px; }
.pdp-summary .woocommerce-product-details__short-description p + p { margin-top: 10px; }
.woocommerce div.product .pdp-summary p.price, .woocommerce div.product .pdp-summary span.price { color: var(--ink); }
.pdp-summary .single_variation_wrap { display: grid; gap: 14px; }
.pdp-summary .woocommerce-variation-price .price { font-size: 30px; }
.pdp-summary .qty-btn { font-size: 20px; }
.pdp-summary .single_add_to_cart_button.loading { opacity: .7; }
.pdp-summary form.cart .single_add_to_cart_button { background: linear-gradient(180deg, var(--brand-2), var(--brand)) !important; color: var(--on-brand) !important; }
.pdp-summary form.cart .single_add_to_cart_button:hover { background: var(--ink) !important; color: #fff !important; }
.pdp-summary form.cart .single_add_to_cart_button.disabled { opacity: .45; }
.related.products, .upsells.products { padding-bottom: 72px; }
.related.products > h2, .upsells.products > h2 { font-size: 28px; font-weight: 900; margin-bottom: 18px; }
.woocommerce ul.products li.product a img { margin: 0; }
.woocommerce ul.products li.product .price { display: block; margin: 0; font-size: 20px; }
.shop_table .vial, .product-thumbnail .vial, .woocommerce-mini-cart-item .vial { width: 44px; height: auto; }
.drawer-item .thumb img { width: 64px; height: 64px; object-fit: contain; }
.drawer-item b a { color: var(--ink); }
.drawer-item .quantity { display: block; font-size: 13px; color: var(--slate); margin-top: 4px; }
.drawer-item-end { text-align: right; display: grid; gap: 6px; justify-items: end; }
.drawer-foot .btn-secondary { min-height: 44px; }
.gate-denied-icon { width: 40px !important; height: 40px !important; color: var(--brand); justify-self: center; }
.hero-photo { align-items: center; }
.hero-photo img { max-height: 100%; width: auto; object-fit: contain; filter: drop-shadow(0 22px 28px rgba(22, 20, 15, .16)); }
.hero-vials img.aur-render { height: 100%; width: auto; object-fit: contain; }
.woocommerce .woocommerce-breadcrumb { color: var(--muted); }
.woocommerce-cart .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals { width: 100%; max-width: 460px; float: none; margin-left: auto; }
.woocommerce table.shop_table { border-radius: 16px; }
.woocommerce form .form-row label { font-weight: 600; font-size: 13.5px; }
.woocommerce form .form-row .required { color: var(--brand-deep); }
.woocommerce #payment #place_order, .woocommerce-page #payment #place_order { float: none; width: 100%; }
.woocommerce-checkout #payment div.payment_box { background: var(--wash); color: var(--slate); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--wash); }
.woocommerce-terms-and-conditions-wrapper { margin: 10px 0; }
.woocommerce-account.logged-in .woocommerce { grid-template-columns: 240px 1fr; }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { width: auto !important; float: none !important; }
@media (max-width: 900px) { .woocommerce-account .woocommerce, .woocommerce-account.logged-in .woocommerce { grid-template-columns: minmax(0, 1fr); } .woocommerce-account .woocommerce-MyAccount-navigation { min-width: 0; } .woocommerce-account.logged-in .woocommerce-MyAccount-navigation { grid-column: 1; grid-row: 1; } .woocommerce-account.logged-in .woocommerce-MyAccount-content { grid-column: 1; grid-row: 2; } }
/* WooCommerce adds clearfix ::before/::after to these containers for its float layout.
   The theme lays them out with CSS grid, where those pseudo-elements become empty
   grid cells and push the real columns out of place, so remove them. */
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after,
.woocommerce .col2-set::before, .woocommerce .col2-set::after,
.woocommerce-page .col2-set::before, .woocommerce-page .col2-set::after,
.woocommerce-account .addresses .title::before, .woocommerce-account .addresses .title::after,
.woocommerce-account .woocommerce-Addresses::before, .woocommerce-account .woocommerce-Addresses::after { content: none !important; display: none !important; }
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation { grid-column: 1; grid-row: 1; }
.woocommerce-account.logged-in .woocommerce-MyAccount-content { grid-column: 2; grid-row: 1; }
.woocommerce-account.logged-in .woocommerce > :not(.woocommerce-MyAccount-navigation):not(.woocommerce-MyAccount-content) { grid-column: 1 / -1; }
#customer_login .u-column1 { grid-column: 1; }
#customer_login .u-column2 { grid-column: 2; }
@media (max-width: 900px) {
  .woocommerce-account.logged-in .woocommerce-MyAccount-navigation { grid-column: 1; grid-row: 1; }
  .woocommerce-account.logged-in .woocommerce-MyAccount-content { grid-column: 1; grid-row: 2; }
}

/* My account, signed in */
.woocommerce-account.logged-in .woocommerce { align-items: start; }
.woocommerce-account .woocommerce-MyAccount-navigation { position: sticky; top: 96px; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 10px; background: #fff; }
.woocommerce-account .woocommerce-MyAccount-navigation a { color: var(--ink); text-decoration: none; font-size: 15px; }
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: var(--wash); color: var(--brand-deep); }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--line); }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--slate); font-weight: 500; }
.woocommerce-account .woocommerce-MyAccount-navigation-link--aur-track a, .woocommerce-account .woocommerce-MyAccount-navigation-link--aur-support a { font-weight: 500; color: var(--slate); }
.woocommerce-account .woocommerce-MyAccount-content { min-width: 0; }
.woocommerce-account .woocommerce-MyAccount-content > h2, .woocommerce-account .woocommerce-MyAccount-content h2 { font-size: 22px; margin: 0 0 14px; }
.aur-acct-hello { margin-bottom: 18px; }
.aur-acct-hello h2 { font-size: 28px !important; margin: 0 0 4px !important; }
.aur-acct-hello p { margin: 0; color: var(--slate); }
.aur-acct-hello a, .aur-acct a { color: var(--brand-deep); }
.aur-acct-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.aur-acct-card { border: 1px solid var(--line); border-radius: var(--radius-card); padding: 20px 22px; background: #fff; min-width: 0; }
.aur-acct-orders { grid-column: 1 / -1; }
.aur-acct-help { background: var(--wash); grid-column: 1 / -1; }
.aur-acct-help .aur-acct-links { display: flex; flex-wrap: wrap; gap: 10px 28px; }
.aur-acct-card header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.aur-acct-card h3 { display: flex; align-items: center; gap: 10px; font-size: 18px; margin: 0; }
.aur-acct-card h3 .i { width: 20px; height: 20px; color: var(--brand); flex: none; }
.aur-acct-card header a { font-size: 14px; font-weight: 600; text-decoration: none; }
.aur-acct-card header a:hover { text-decoration: underline; }
.aur-acct-orderlist { list-style: none; margin: 0; padding: 0; }
.aur-acct-orderlist li { display: grid; grid-template-columns: minmax(110px, 1fr) minmax(120px, 1fr) auto minmax(80px, auto) auto; align-items: center; gap: 14px; padding: 12px 0; border-top: 1px solid var(--line); }
.aur-acct-orderlist li:first-child { border-top: 0; padding-top: 2px; }
.aur-acct-orderlist .num { font-weight: 700; color: var(--ink) !important; text-decoration: none; }
.aur-acct-orderlist .date { color: var(--slate); font-size: 14px; }
.aur-acct-orderlist .total { font-weight: 600; text-align: right; }
.aur-acct-orderlist .view { font-size: 14px; font-weight: 600; }
.aur-acct-empty p { margin: 0 0 14px; color: var(--slate); }
.aur-acct .btn, .aur-acct .btn:hover { text-decoration: none; }
.aur-acct .btn { color: var(--on-brand); }
.aur-acct .btn:hover { color: #fff; }
.aur-acct-dl { display: grid; grid-template-columns: 90px 1fr; gap: 8px 14px; margin: 0; font-size: 15px; }
.aur-acct-dl dt { color: var(--slate); }
.aur-acct-dl dd { margin: 0; overflow-wrap: anywhere; }
.aur-acct .muted, .aur-acct-links .muted { color: var(--muted, #8B857A); font-size: 13.5px; }
.aur-acct-addrs { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.aur-acct-addrs h4 { font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: var(--slate); margin: 0 0 6px; font-family: inherit; }
.aur-acct-addrs address, .woocommerce-account address { font-style: normal; line-height: 1.55; font-size: 15px; margin: 0; }
.aur-acct-addrs p { margin: 0; font-size: 14.5px; }
.aur-acct-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: 15px; }
.aur-acct-links li { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.aur-acct-links .i { width: 18px; height: 18px; color: var(--brand); flex: none; }
.aur-status { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 700; letter-spacing: .02em; background: var(--wash); color: var(--slate); border: 1px solid var(--line); white-space: nowrap; }
.aur-status--processing { background: #FFF4DC; color: #7A5A12; border-color: #F1DFAE; }
.aur-status--completed { background: #E7F4EC; color: #1E6B43; border-color: #CBE6D6; }
.aur-status--on-hold, .aur-status--pending { background: #EEF2FA; color: #31507F; border-color: #D8E1F2; }
.aur-status--cancelled, .aur-status--failed, .aur-status--refunded { background: #FBEDEC; color: #9B2C24; border-color: #F2D3D0; }
.woocommerce-account .woocommerce-orders-table { font-size: 15px; }
.woocommerce-account .woocommerce-orders-table th { font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--slate); }
.woocommerce-account .woocommerce-orders-table .button { min-height: 36px; padding: 6px 16px; font-size: 13.5px; margin: 2px 4px 2px 0; }
.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 16px; }
.woocommerce-account .woocommerce-Addresses .woocommerce-Address { float: none !important; width: auto !important; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 20px 22px; background: #fff; }
.woocommerce-account .woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.woocommerce-account .woocommerce-Address-title h2 { font-size: 18px !important; margin: 0 !important; }
.woocommerce-account .woocommerce-Address-title .edit { font-weight: 600; font-size: 14px; color: var(--brand-deep); float: none !important; }
.woocommerce-account .woocommerce-EditAccountForm fieldset { border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 16px 18px 6px; margin: 18px 0; }
.woocommerce-account .woocommerce-EditAccountForm legend { font-weight: 700; padding: 0 6px; }
.woocommerce-account .woocommerce-EditAccountForm .input-text, .woocommerce-account .woocommerce-address-fields .input-text, .woocommerce-account .woocommerce-address-fields select { width: 100%; }
.woocommerce-account .woocommerce-customer-details .woocommerce-columns--addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.woocommerce-account .woocommerce-customer-details .woocommerce-column { float: none !important; width: auto !important; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 18px 20px; }
.woocommerce-account .woocommerce-order-details, .woocommerce-account .woocommerce-customer-details { margin-top: 22px; }
.aur-acct-help-line { margin-top: 18px; font-size: 14px; color: var(--slate); }
.aur-acct-help-line a { color: var(--brand-deep); }
@media (max-width: 900px) {
  .woocommerce-account .woocommerce-MyAccount-navigation { position: static; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 6px; scrollbar-width: none; }
  .woocommerce-account .woocommerce-MyAccount-navigation li { flex: none; }
  .woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin: 0; padding: 0; border: 0; }
  .woocommerce-account .woocommerce-MyAccount-navigation a { white-space: nowrap; padding: 8px 12px; font-size: 14px; }
}
@media (max-width: 700px) {
  .aur-acct-grid, .aur-acct-addrs, .woocommerce-account .woocommerce-Addresses, .woocommerce-account .woocommerce-customer-details .woocommerce-columns--addresses { grid-template-columns: 1fr; }
  .aur-acct-orderlist li { grid-template-columns: 1fr auto; gap: 4px 12px; }
  .aur-acct-orderlist .date { grid-column: 1; }
  .aur-acct-orderlist .aur-status { grid-column: 2; grid-row: 1; justify-self: end; }
  .aur-acct-orderlist .total { grid-column: 2; grid-row: 2; }
  .aur-acct-orderlist .view { grid-column: 1 / -1; }
}

/* My account, signed out: sign-in and register cards */
.woocommerce-account:not(.logged-in) .woocommerce { display: block; }
.aur-login-intro { max-width: 720px; margin: -8px 0 22px; color: var(--slate); font-size: 15.5px; line-height: 1.6; }
#customer_login.u-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
#customer_login .u-column1, #customer_login .u-column2 { float: none !important; width: auto !important; margin: 0 !important; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 28px 28px 24px; background: #fff; }
#customer_login .u-column2 { background: var(--wash); }
#customer_login h2, .woocommerce-account:not(.logged-in) .woocommerce > h2 { font-size: 24px; margin: 0 0 16px; }
.woocommerce-account .woocommerce form.login, .woocommerce-account .woocommerce form.register, .woocommerce-account .woocommerce form.lost_reset_password { border: 0 !important; padding: 0 !important; margin: 0 !important; border-radius: 0; }
.woocommerce-account:not(.logged-in) .woocommerce > form.login, .woocommerce-account:not(.logged-in) .woocommerce > form.lost_reset_password { max-width: 520px; border: 1px solid var(--line) !important; border-radius: var(--radius-card); padding: 28px !important; background: #fff; }
.woocommerce-account form.login .form-row, .woocommerce-account form.register .form-row, .woocommerce-account form.lost_reset_password .form-row { padding: 0 !important; margin: 0 0 14px !important; float: none !important; width: 100% !important; }
.woocommerce-account form.login label, .woocommerce-account form.register label, .woocommerce-account form.lost_reset_password label { display: block; font-weight: 600; font-size: 14px; line-height: 1.4 !important; margin-bottom: 6px; color: var(--ink); }
.woocommerce-account form.login .input-text, .woocommerce-account form.register .input-text, .woocommerce-account form.lost_reset_password .input-text { width: 100%; }
.woocommerce-account .password-input { display: block; position: relative; }
.woocommerce-account form.login .woocommerce-form-login__rememberme { display: flex !important; align-items: center; gap: 8px; font-weight: 500; margin: 0 0 14px; }
.woocommerce-account form.login .woocommerce-form-login__rememberme input { width: 16px; height: 16px; accent-color: var(--brand); margin: 0; }
.woocommerce-account form.login .button, .woocommerce-account form.register .button, .woocommerce-account form.lost_reset_password .button { width: 100%; min-height: 50px; margin: 0 !important; float: none !important; }
.woocommerce-account .lost_password { margin: 14px 0 0 !important; font-size: 14px; }
.woocommerce-account form.lost_reset_password > p:first-child { margin: 0 0 18px !important; color: var(--slate); line-height: 1.55; }
.woocommerce-account .woocommerce > p:not([class]) { max-width: 720px; line-height: 1.6; }
.aur-back-signin { margin: 16px 0 0; font-size: 14px; }
.aur-back-signin a { color: var(--brand-deep); font-weight: 600; }
.woocommerce-account .lost_password a, .woocommerce-account .woocommerce-privacy-policy-link { color: var(--brand-deep); }
.woocommerce-account form.register > p:not(.form-row), .woocommerce-account .woocommerce-privacy-policy-text { font-size: 13.5px; color: var(--slate); line-height: 1.55; margin: 0 0 14px; }
.woocommerce-account form.register .aur-attest { margin: 4px 0 14px !important; padding: 12px 14px !important; }
.woocommerce-account form.register .aur-attest label { display: flex !important; font-weight: 500; font-size: 13.5px; line-height: 1.5 !important; margin: 0; color: #3E2F14; }
@media (max-width: 760px) { #customer_login.u-columns { grid-template-columns: 1fr; } #customer_login .u-column1, #customer_login .u-column2 { grid-column: 1; } #customer_login .u-column1, #customer_login .u-column2 { padding: 22px 18px; } }
/* Remove buttons: "× Remove" pill in the drawer and on the cart page (overrides WooCommerce's small red ×). */
.woocommerce a.remove.aur-remove, a.remove.aur-remove, .drawer a.remove.aur-remove {
  display: inline-flex; align-items: center; justify-content: center; gap: 5px;
  width: auto; height: auto; min-height: 34px; padding: 0 13px 0 10px;
  border: 1.5px solid #E2D9C8; border-radius: var(--pill); background: #fff;
  color: var(--ink) !important; font-family: var(--font-head); font-size: 13px !important; font-weight: 800; line-height: 1;
  text-decoration: none; text-align: center; white-space: nowrap; cursor: pointer;
  transition: background .15s, border-color .15s, color .15s;
}
a.remove.aur-remove .i { width: 15px; height: 15px; stroke-width: 2.4; }
.woocommerce a.remove.aur-remove:hover, a.remove.aur-remove:hover, a.remove.aur-remove:focus-visible, .drawer a.remove.aur-remove:hover {
  background: #FDF0EE; border-color: var(--danger); color: var(--danger) !important;
}
a.remove.aur-remove:focus-visible { outline: 2px solid var(--danger); outline-offset: 2px; }
.woocommerce-cart-form td.product-remove { width: 1%; white-space: nowrap; padding-right: 14px !important; }
.woocommerce-cart-form .coupon #coupon_code { width: 190px; min-height: 46px; }
@media (max-width: 768px) {
  .woocommerce-cart-form td.product-remove { width: auto; text-align: right !important; }
  .woocommerce-cart-form td.product-remove::before { display: none; }
}

/* Studio product photos (full-bleed, like a photographed vial on a set) */
.pcard-img.has-photo { padding: 0; aspect-ratio: 1 / 1; background: #F1EEE9; }
.pcard-img.has-photo img { width: 100%; height: 100%; object-fit: cover; max-height: none; }
.pdp-img.has-gallery { padding: 0; background: #F1EEE9; overflow: hidden; }
.pdp .woocommerce-product-gallery__image img, .pdp-img.has-gallery > img { display: block; width: 100%; height: auto; max-height: none; aspect-ratio: 1 / 1; object-fit: cover; }
.pdp .flex-control-thumbs { padding: 0 12px 12px !important; }
.hero-visual .hero-photo { position: absolute; inset: 6% 4% 4%; border-radius: 36px; overflow: hidden; display: block; box-shadow: var(--shadow); }
.hero-visual .hero-photo img { width: 100%; height: 100%; object-fit: cover; filter: none; }
.drawer-item .thumb img, .mini-card .thumb img { width: 100%; height: 100%; object-fit: cover; border-radius: 10px; }
.drawer-item .thumb, .mini-card .thumb { padding: 0; overflow: hidden; }

/* ---------- AOV: multi-vial picker, cart suggestions, checkout add-on, order offer ---------- */
.aur-tiers { display: grid; gap: 4px; }
.aur-tier-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.aur-tier { position: relative; display: grid; align-content: start; gap: 2px; justify-items: start; text-align: left; padding: 12px 14px; border: 1.5px solid var(--line); border-radius: 14px; background: #fff; font-size: 13px; color: var(--slate); cursor: pointer; transition: border-color .15s, background .15s; }
.aur-tier b { font-family: var(--font-head); font-weight: 800; font-size: 15px; color: var(--ink); }
.aur-tier span { font-weight: 500; color: var(--slate); }
.aur-tier span i { font-style: normal; font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; }
.aur-tier em { font-style: normal; font-family: var(--font-head); font-weight: 800; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--brand-deep); background: rgba(184, 145, 58, .12); padding: 2px 8px; border-radius: 50px; margin-top: 4px; }
.aur-tier:hover { border-color: var(--brand); }
.aur-tier.is-on { border-color: var(--ink); background: var(--wash); }
.aur-tier.is-kit { grid-column: span 2; border-color: var(--brand); background: linear-gradient(180deg, #fff, var(--tint-mint)); }
.aur-tier.is-kit.is-on { border-color: var(--ink); }
.aur-tier-tag { position: absolute; top: -9px; right: 12px; padding: 2px 9px; border-radius: 50px; background: var(--ink); color: var(--brand-2); font-family: var(--font-head); font-weight: 800; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; line-height: 1.5; }
.aur-tier-row { row-gap: 14px; }
@media (max-width: 420px) { .aur-tier { padding: 10px; } .aur-tier b { font-size: 14px; } }

.aur-suggest-wrap:empty { display: none; }
.aur-suggest { padding: 14px 20px; border-top: 1px solid var(--line); background: #fff; }
.aur-suggest h3 { font-family: var(--font-head); font-weight: 800; font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--brand-deep); margin: 0 0 10px; }
.aur-suggest ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.aur-suggest li { display: grid; grid-template-columns: 48px 1fr auto; gap: 12px; align-items: center; }
.aur-suggest .thumb { width: 48px; height: 48px; border-radius: 10px; overflow: hidden; background: var(--wash); display: grid; place-items: center; }
.aur-suggest .thumb img, .aur-suggest .thumb svg { width: 100%; height: 100%; object-fit: cover; }
.aur-suggest .meta { display: grid; gap: 2px; font-size: 13.5px; min-width: 0; }
.aur-suggest .meta b { font-weight: 600; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aur-suggest .meta span { color: var(--slate); }
.aur-suggest-add { min-height: 36px; padding: 0 16px; border-radius: 50px; border: 1.5px solid var(--ink); background: #fff; font-family: var(--font-head); font-weight: 800; font-size: 13px; color: var(--ink); cursor: pointer; }
.aur-suggest-add:hover { background: var(--ink); color: #fff; }
.aur-suggest-add:disabled { opacity: .5; cursor: wait; }
.woocommerce-cart .aur-suggest { border: 1px solid var(--line); border-radius: var(--radius-sm); margin: 18px 0; }

.aur-co-aov { display: grid; gap: 12px; margin: 16px 0; }
.aur-co-ship { display: flex; gap: 10px; align-items: center; padding: 12px 14px; border-radius: 12px; background: var(--wash); font-size: 14px; color: var(--slate); }
.aur-co-ship .i { width: 18px; height: 18px; color: var(--brand-deep); flex: none; }
.aur-co-ship b { color: var(--ink); }
.aur-bump { border: 2px dashed var(--brand-2); border-radius: 16px; background: #FFFBF1; transition: border-color .15s, background .15s; }
.aur-bump.is-on { border-style: solid; border-color: var(--brand); background: #FFF6E2; }
.aur-bump.is-busy { opacity: .6; pointer-events: none; }
.aur-bump label { display: flex !important; gap: 12px; align-items: flex-start; padding: 14px 16px; cursor: pointer; margin: 0; }
.aur-bump input[type="checkbox"] { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--brand); flex: none; }
.aur-bump-copy { display: grid; gap: 4px; font-size: 14px; line-height: 1.45; }
.aur-bump-copy b { font-family: var(--font-head); font-weight: 800; font-size: 15px; color: var(--ink); }
.aur-bump-price { font-weight: 600; color: var(--ink); }
.aur-bump-price del { color: var(--muted); font-weight: 500; margin-right: 4px; }
.aur-bump-price ins { text-decoration: none; }
.aur-bump-price em { font-style: normal; font-size: 12px; font-weight: 800; color: var(--brand-deep); margin-left: 6px; text-transform: uppercase; letter-spacing: .05em; }
.aur-bump-copy small { color: var(--muted); font-size: 12.5px; }

.aur-pp { margin: 0 0 28px; }
.aur-pp-card { border: 1.5px solid var(--brand-2); border-radius: var(--radius-card); background: linear-gradient(180deg, #FFFBF1, #fff); padding: clamp(18px, 3vw, 28px); display: grid; gap: 10px; box-shadow: var(--shadow); }
.aur-pp-card[hidden] { display: none; }
.aur-pp-k { font-family: var(--font-head); font-weight: 800; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--brand-deep); }
.aur-pp-k [data-aur-countdown] { font-variant-numeric: tabular-nums; background: var(--ink); color: #fff; padding: 2px 8px; border-radius: 6px; letter-spacing: .04em; }
.aur-pp-card h2 { font-size: clamp(20px, 2.6vw, 26px); font-weight: 900; margin: 0; }
.aur-pp-price { font-size: 18px; font-weight: 700; margin: 0; }
.aur-pp-price del { color: var(--muted); font-weight: 500; margin-right: 6px; }
.aur-pp-price ins { text-decoration: none; }
.aur-pp-note { color: var(--slate); font-size: 14px; margin: 0; }
.aur-pp-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 4px; }
.aur-pp-no { background: none; border: 0; color: var(--muted); text-decoration: underline; font-size: 14px; cursor: pointer; padding: 8px; }
.aur-pp-ended { color: var(--muted); font-size: 14px; }

/* ---------- Admin-only setup status bar ---------- */
.aur-setup { position: fixed; left: 16px; bottom: 16px; z-index: 1200; width: min(460px, calc(100vw - 32px)); background: #16140F; color: #F4EFE4; border-radius: 16px; box-shadow: 0 18px 40px rgba(0,0,0,.28); font-size: 13.5px; line-height: 1.45; }
.aur-setup-head { display: flex; align-items: center; gap: 10px; padding: 12px 14px; }
.aur-setup-head b { color: #D9BE7E; white-space: nowrap; }
.aur-setup-head span { flex: 1; color: #CFC7B6; }
.aur-setup-head button { background: none; border: 1px solid rgba(255,255,255,.2); color: #F4EFE4; border-radius: 8px; padding: 4px 9px; font-size: 12.5px; cursor: pointer; }
.aur-setup ul { list-style: none; margin: 0; padding: 0 14px 12px; display: grid; gap: 8px; max-height: 50vh; overflow: auto; }
.aur-setup li { display: grid; grid-template-columns: 20px 1fr auto; gap: 8px; align-items: start; }
.aur-setup .mk { width: 18px; height: 18px; border-radius: 50%; display: grid; place-items: center; font-size: 11px; font-weight: 800; }
.aur-setup li.ok .mk { background: #2E7D4F; color: #fff; }
.aur-setup li.no .mk { background: #C9A24A; color: #16140F; }
.aur-setup li.info .mk { background: #3A3F4A; color: #fff; }
.aur-setup li a { color: #D9BE7E; text-decoration: underline; white-space: nowrap; }

/* ==========================================================================
   Deals: Build your kit + Bulk savings (page-templates/build-kit.php,
   page-templates/bulk-savings.php, shop strip, product-page link)
   ========================================================================== */
.deal-hero { padding-block: 28px 44px; border-bottom: 1px solid var(--line); background: radial-gradient(120% 90% at 85% 0%, rgba(217, 190, 126, .22), transparent 60%), linear-gradient(180deg, var(--wash), #fff); }
.deal-hero-in { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 40px; align-items: center; }
.deal-hero-copy { display: grid; gap: 14px; justify-items: start; min-width: 0; }
.deal-hero-art { position: relative; border-radius: 28px; overflow: hidden; background: var(--tint-mint); box-shadow: var(--shadow); aspect-ratio: 6 / 5; }
.deal-hero-art img { width: 100%; height: 100%; object-fit: cover; }
.deal-hero-art.is-single { aspect-ratio: 1 / 1; max-width: 420px; justify-self: end; width: 100%; }
.deal-hero-badge { position: absolute; left: 18px; bottom: 18px; display: grid; gap: 0; padding: 10px 16px 12px; border-radius: 18px; background: var(--ink); color: var(--on-dark-2); font-family: var(--font-head); font-weight: 700; font-size: 13px; line-height: 1.2; box-shadow: var(--shadow-lg); }
.deal-hero-badge b { font-weight: 900; font-size: 28px; color: var(--brand-2); letter-spacing: -.02em; }
.deal-hero h1 { font-size: clamp(38px, 5.4vw, 64px); font-weight: 900; letter-spacing: -.035em; line-height: 1.02; margin: 0; }
.deal-hero h1 em { display: block; font-style: normal; background: linear-gradient(90deg, var(--brand-deep), var(--brand) 55%, var(--brand-deep)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.deal-hero p { color: var(--slate); font-size: 17px; max-width: 60ch; margin: 0; }
.deal-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.deal-tiers { list-style: none; margin: 10px 0 0; padding: 0; width: 100%; max-width: 760px; display: grid; grid-template-columns: repeat(var(--aur-steps, 3), minmax(0, 1fr)); gap: 12px; }
.deal-tiers li { background: #fff; border: 1.5px solid var(--line); border-radius: 20px; padding: 18px 12px; text-align: center; display: grid; gap: 2px; transition: border-color .2s, box-shadow .2s, transform .2s, background .2s; }
.deal-tiers b { font-family: var(--font-head); font-weight: 900; font-size: clamp(28px, 3.6vw, 40px); line-height: 1.05; color: var(--brand-deep); }
.deal-tiers span { font-family: var(--font-head); font-size: 14.5px; font-weight: 700; color: var(--ink); }
.deal-tiers li.is-on { border-color: var(--brand); background: linear-gradient(180deg, #fff, var(--tint-mint)); box-shadow: var(--shadow); transform: translateY(-2px); }
.deal-fine { margin: 28px 0 0; font-size: 13px; color: var(--muted); max-width: 92ch; }
.deal-fine b { color: var(--slate); }
.deal-off { padding: 26px; border: 1.5px dashed var(--line); border-radius: 18px; display: grid; gap: 14px; justify-items: start; color: var(--slate); }

/* Kit and bulk product cards */
.kit-head { display: grid; gap: 8px; margin-bottom: 26px; }
.kit-grid, .bulk-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.kit-card, .bulk-card { position: relative; display: flex; flex-direction: column; min-width: 0; background: #fff; border: 1.5px solid var(--line); border-radius: var(--radius-card); overflow: hidden; transition: border-color .2s, box-shadow .2s; }
.kit-card:hover, .bulk-card:hover { box-shadow: var(--shadow); }
.kit-card.is-in { border-color: var(--brand); box-shadow: 0 0 0 1px var(--brand), var(--shadow); }
.kit-img { position: relative; }
.kit-badge { position: absolute; top: 10px; right: 10px; min-width: 30px; height: 30px; padding: 0 9px; border-radius: 50px; background: var(--ink); color: var(--brand-2); font-family: var(--font-head); font-weight: 900; font-size: 14px; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 4px 12px rgba(22, 20, 15, .2); }
.kit-badge[hidden] { display: none; }
.kit-body { display: flex; flex-direction: column; gap: 7px; padding: 14px 14px 16px; flex: 1; min-width: 0; }
.kit-name { font-family: var(--font-head); font-weight: 800; font-size: 17px; line-height: 1.2; margin: 0; overflow-wrap: break-word; }
.kit-name a { color: var(--ink); }
.kit-name a:hover { color: var(--brand-deep); }
.kit-size-one { font-size: 13px; color: var(--slate); }
.kit-sizes { display: flex; flex-wrap: wrap; gap: 6px; }
.kit-size { position: relative; min-height: 32px; padding: 0 10px; border-radius: 10px; border: 1.5px solid var(--line); background: #fff; font-family: var(--font-head); font-weight: 800; font-size: 12.5px; color: var(--ink); cursor: pointer; }
.kit-size:hover { border-color: var(--brand); }
.kit-size[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: #fff; }
.kit-size.has-qty::after { content: ""; position: absolute; top: -4px; right: -4px; width: 9px; height: 9px; border-radius: 50%; background: var(--brand); box-shadow: 0 0 0 2px #fff; }
.kit-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; margin-top: auto; padding-top: 6px; }
.kit-price b { font-family: var(--font-head); font-weight: 900; font-size: 20px; color: var(--ink); }
.kit-price del { color: var(--muted); font-size: 14px; }
.kit-price small { color: var(--muted); font-size: 13px; }
.kit-price [hidden] { display: none; }
.kit-ctl { margin-top: 6px; }
.kit-add { width: 100%; min-height: 44px; border-radius: var(--pill); border: 1.5px solid var(--ink); background: #fff; color: var(--ink); font-family: var(--font-head); font-weight: 800; font-size: 15px; cursor: pointer; transition: background .15s, color .15s; }
.kit-add:hover { background: var(--ink); color: #fff; }
.kit-add:disabled { border-color: var(--line); background: var(--wash); color: var(--muted); cursor: not-allowed; }
.kit-step { display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding: 0 3px; border-radius: var(--pill); background: var(--ink); color: #fff; }
.kit-add[hidden], .kit-step[hidden] { display: none; }
.kit-step button { width: 40px; height: 40px; border: 0; border-radius: 50%; background: none; color: #fff; font-size: 22px; line-height: 1; cursor: pointer; }
.kit-step button:hover { background: rgba(255, 255, 255, .14); }
.kit-step span { font-family: var(--font-head); font-weight: 800; font-size: 14.5px; }

/* Sticky kit bar */
.kit-page { padding-bottom: 100px; }
.kit-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 75; background: rgba(255, 255, 255, .97); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-top: 1px solid var(--line); box-shadow: 0 -12px 30px rgba(22, 20, 15, .08); padding-bottom: env(safe-area-inset-bottom, 0px); }
.kit-bar-prog { height: 4px; background: var(--line); }
.kit-bar-prog i { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--brand-deep), var(--brand-2)); transition: width .35s ease; }
.kit-bar-in { display: flex; align-items: center; gap: 14px; padding-block: 12px; }
.kit-bar-txt { display: grid; gap: 1px; flex: 1; min-width: 0; }
.kit-bar-txt b { font-family: var(--font-head); font-weight: 900; font-size: 16px; color: var(--ink); }
.kit-bar-txt span { font-size: 13.5px; font-weight: 600; color: var(--brand-deep); }
.kit-bar-btn { min-height: 52px; gap: 10px; white-space: nowrap; flex: none; }
.kit-bar-total { display: inline-flex; align-items: baseline; gap: 6px; font-variant-numeric: tabular-nums; }
.kit-bar-total del { font-size: 13.5px; font-weight: 600; opacity: .65; }
.kit-bar-total del[hidden] { display: none; }
.kit-bar-total b { font-weight: 900; }
.kit-bar-cta { padding-left: 10px; border-left: 1px solid rgba(255, 255, 255, .3); }
.kit-bar-btn:disabled .kit-bar-cta { border-color: rgba(255, 255, 255, .5); }
.kit-bar-btn.loading { opacity: .7; pointer-events: none; }
body.page-template-build-kit .toast { bottom: calc(104px + env(safe-area-inset-bottom, 0px)); }

/* Bulk page */
.bulk-tiers-note { margin: 0 0 22px; color: var(--slate); font-size: 15px; }
.bulk-tiers { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--aur-steps, 3), minmax(0, 1fr)); gap: 14px; }
.bulk-tiers li { position: relative; display: grid; gap: 3px; padding: 24px 20px 22px; background: #fff; border: 1.5px solid var(--line); border-radius: 20px; }
.bulk-tiers b { font-family: var(--font-head); font-weight: 900; font-size: 24px; color: var(--ink); }
.bulk-tiers span { font-size: 14px; color: var(--slate); }
.bulk-tiers strong { margin-top: 10px; font-family: var(--font-head); font-weight: 900; font-size: 28px; line-height: 1.1; color: var(--brand-deep); }
.bulk-tiers em { position: absolute; top: -12px; left: 18px; padding: 4px 11px; border-radius: 50px; background: var(--ink); color: var(--brand-2); font-family: var(--font-head); font-style: normal; font-weight: 800; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.bulk-tiers .is-best { border-color: var(--brand); background: linear-gradient(180deg, #fff, var(--tint-mint)); box-shadow: var(--shadow); }
.bulk-tiers .is-best em { background: var(--brand); color: var(--on-brand); }
.bulk-example { margin-top: 26px; padding: 20px 22px 12px; border: 1.5px solid var(--line); border-radius: 20px; background: var(--wash); }
.bulk-example h2 { margin: 0 0 10px; font-size: 17px; font-weight: 800; }
.bulk-example table { width: 100%; border-collapse: collapse; font-size: 15px; }
.bulk-example th { padding: 0 10px 8px 0; text-align: left; font-family: var(--font-head); font-weight: 800; font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.bulk-example td { padding: 11px 10px 11px 0; border-top: 1px solid var(--line); color: var(--ink); }
.bulk-example td b { color: var(--brand-deep); }
.bulk-btns { display: grid; gap: 8px; margin-top: 8px; }
.bulk-add { display: flex; align-items: center; gap: 8px; min-height: 46px; padding: 0 14px; border-radius: 14px; border: 1.5px solid var(--ink); background: var(--ink); color: #fff; font-family: var(--font-head); font-weight: 800; font-size: 14.5px; text-align: left; cursor: pointer; transition: background .15s, color .15s, border-color .15s; }
.bulk-add + .bulk-add { background: #fff; color: var(--ink); }
.bulk-add:hover { background: var(--brand-deep); border-color: var(--brand-deep); color: #fff; }
.bulk-add b { margin-left: auto; font-weight: 800; }
.bulk-add em { font-style: normal; font-size: 11.5px; padding: 2px 7px; border-radius: 50px; background: var(--brand-2); color: var(--on-brand); }
.bulk-add em[hidden] { display: none; }
.bulk-add.is-kit { background: linear-gradient(180deg, var(--brand-2), var(--brand)); border-color: var(--brand); color: var(--on-brand); }
.bulk-add.is-kit em { background: var(--ink); color: var(--brand-2); }
.bulk-add.is-kit:hover { background: var(--ink); border-color: var(--ink); color: #fff; }
.bulk-add.loading { opacity: .7; pointer-events: none; }

/* Shop strip + product-page link */
.deal-strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 0 24px; }
.deal-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; column-gap: 14px; row-gap: 1px; padding: 14px 18px; border: 1.5px solid var(--line); border-radius: 18px; background: linear-gradient(90deg, var(--tint-mint), #fff 70%); color: var(--ink); transition: border-color .15s, box-shadow .15s; }
.deal-card:hover { border-color: var(--brand); box-shadow: var(--shadow); color: var(--ink); }
.deal-pct { grid-row: 1 / 3; padding: 7px 11px; border-radius: 12px; background: var(--ink); color: var(--brand-2); font-family: var(--font-head); font-weight: 900; font-size: 12.5px; letter-spacing: .02em; text-align: center; line-height: 1.15; max-width: 92px; }
.deal-card b { grid-column: 2; font-family: var(--font-head); font-weight: 900; font-size: 17px; }
.deal-card > span:not(.deal-pct) { grid-column: 2; font-size: 13.5px; color: var(--slate); }
.deal-card .i { grid-column: 3; grid-row: 1 / 3; color: var(--brand-deep); }
.deal-pdp { margin: 2px 0 0; font-size: 14px; }
.deal-pdp a { display: inline-flex; align-items: center; gap: 6px; color: var(--brand-deep); font-weight: 700; }
.deal-pdp .i { width: 16px; height: 16px; }

@media (max-width: 1180px) and (min-width: 901px) {
  .nav-primary a { padding: 8px 10px; font-size: 14.5px; }
}
@media (max-width: 1080px) {
  .kit-grid, .bulk-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bulk-tiers { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 20px; }
}
@media (max-width: 900px) {
  .deal-hero-in { grid-template-columns: 1fr; }
  .deal-hero-art { display: none; }
}
@media (max-width: 760px) {
  .kit-grid, .bulk-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .deal-tiers { gap: 6px; }
  .deal-tiers li { padding: 12px 4px; border-radius: 14px; }
  .deal-tiers b { font-size: 24px; }
  .deal-tiers span { font-size: 12px; }
  .bulk-tiers { grid-template-columns: 1fr; gap: 16px; }
  .bulk-tiers li { grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 12px; padding: 16px 16px 14px; }
  .bulk-tiers b { font-size: 19px; grid-column: 1; }
  .bulk-tiers span { grid-column: 1; font-size: 13px; }
  .bulk-tiers strong { grid-column: 2; grid-row: 1 / 3; margin: 0; font-size: 21px; text-align: right; }
  .deal-strip { gap: 10px; margin-bottom: 18px; }
  .deal-card { grid-template-columns: minmax(0, 1fr) auto; padding: 12px 12px 12px 14px; column-gap: 8px; align-content: start; }
  .deal-pct { grid-row: auto; grid-column: 1; justify-self: start; max-width: none; padding: 4px 8px; border-radius: 8px; font-size: 11px; margin-bottom: 4px; }
  .deal-card b { grid-column: 1; font-size: 15.5px; }
  .deal-card > span:not(.deal-pct) { display: none; }
  .deal-card .i { grid-column: 2; grid-row: 1 / 3; width: 18px; height: 18px; }
  .kit-bar-cta { display: none; }
  .kit-bar-in { gap: 10px; padding-block: 10px; }
  .kit-bar-btn { min-height: 48px; padding: 0 18px; }
  .bulk-example { padding: 16px 14px 8px; }
  .bulk-example table { font-size: 14px; }
}
@media (max-width: 420px) {
  .kit-body { padding: 10px 10px 12px; gap: 6px; }
  .kit-name { font-size: 15px; }
  .kit-size { padding: 0 8px; font-size: 12px; }
  .kit-price b { font-size: 17px; }
  .kit-price del { font-size: 12.5px; }
  .kit-add, .kit-step { min-height: 40px; }
  .kit-step button { width: 36px; height: 36px; }
  .kit-step span { font-size: 13px; }
  .bulk-add { flex-wrap: wrap; align-content: center; row-gap: 1px; min-height: 52px; padding: 7px 12px; font-size: 13.5px; gap: 6px; }
  .bulk-add span { flex: 1 1 100%; font-size: 11.5px; letter-spacing: .02em; opacity: .85; }
  .bulk-add b { margin-left: 0; }
  .bulk-add em { display: none; }
  .kit-bar-txt b { font-size: 15px; }
  .kit-bar-txt span { font-size: 12.5px; }
}

.aur-sender-note { margin: 0 0 18px; padding: 12px 14px; border: 1px solid var(--line, #ECE6DA); border-radius: 12px; background: var(--paper-2, #FBF8F2); font-size: 14px; color: var(--ink-2, #3E3A33); }

/* ---------- Sign-up gate + checkout research purpose (processor Storefront Policy) ---------- */
.hdr-signin { min-height: 40px; padding: 0 16px; font-size: 14px; gap: 8px; }
.hdr-signin .i { width: 18px; height: 18px; }
.aur-gated .hdr-in { justify-content: space-between; }
.aur-gate-intro { max-width: 760px; margin: 0 0 26px; padding: 22px 24px; border-radius: var(--radius-sm); background: var(--wash); border: 1px solid var(--line); }
.aur-gate-intro h2 { margin: 0 0 8px; font-family: var(--font-head); font-size: clamp(22px, 3vw, 28px); line-height: 1.15; color: var(--ink); }
.aur-gate-intro p { margin: 0; color: var(--slate); font-size: 15.5px; line-height: 1.6; }
.aur-gate-intro .aur-gate-fine { margin-top: 10px; font-size: 13px; color: var(--slate); }
.aur-gated .aur-login-intro { display: none; }
.aur-purpose { margin: 14px 0 0; padding: 14px 16px; border-radius: 14px; background: var(--tint-sand); border: 1px solid #EADFCB; font-size: 14px; color: #3E2F14; }
.aur-purpose label { display: block; font-weight: 600; margin-bottom: 8px; }
.aur-purpose select { width: 100%; min-height: 46px; padding: 0 12px; border-radius: 10px; border: 1.5px solid #D9CCB2; background: #fff; font-size: 15px; color: var(--ink); }
.aur-purpose select:focus { outline: 2px solid var(--brand); outline-offset: 1px; }
/* Gate: new visitors see Register first (left on desktop, top on phones). */
.aur-gated #customer_login .u-column2 { grid-column: 1; grid-row: 1; }
.aur-gated #customer_login .u-column1 { grid-column: 2; grid-row: 1; }
.hdr-signin { white-space: nowrap; }
@media (max-width: 760px) {
  .aur-gated #customer_login .u-column1, .aur-gated #customer_login .u-column2 { grid-column: 1; grid-row: auto; }
  .aur-gated #customer_login .u-column2 { order: -1; }
  .aur-gated #customer_login { display: flex !important; flex-direction: column; gap: 20px; }
}
@media (max-width: 600px) {
  .ruo-strip span { display: none; } /* Phones: the required sentence only; the full statement is in the footer and on every product page. */
  .hdr-signin { min-height: 38px; padding: 0 12px; font-size: 13px; }
}

/* ---------- Combined age gate + sign-up / sign-in (sign-up gate on) ---------- */
.aur-entry { flex-direction: column; justify-content: flex-start; overflow-y: auto; padding: 0 16px 24px; background: linear-gradient(180deg, rgba(16, 14, 10, .78), rgba(16, 14, 10, .86)), var(--entry-bg, none) center / cover no-repeat, var(--ink); z-index: 1001; }
.aur-entry-strip { position: sticky; top: 0; width: calc(100% + 32px); margin: 0 -16px 24px; z-index: 2; }
.aur-entry .agegate-card { max-height: none; overflow: visible; margin: auto 0; width: min(520px, 100%); }
.aur-entry-head { display: grid; gap: 10px; }
.aur-entry-head .brand, .aur-entry-head .site-brand, .aur-entry-head a:first-child { justify-self: start; }
.aur-entry-head h2 { margin: 2px 0 0; }
.aur-entry-head p { margin: 0; color: var(--slate); font-size: 15px; line-height: 1.55; }
.aur-entry .woocommerce-error, .aur-entry .woocommerce-message, .aur-entry .woocommerce-info { margin: 0 !important; }
.aur-entry-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border-radius: 14px; background: var(--wash); border: 1px solid var(--line); }
.aur-entry-pane form { display: grid; gap: 12px; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.aur-entry-pane .form-row { margin: 0 !important; padding: 0 !important; }
.aur-entry-pane label { font-size: 14px; }
.aur-entry-checks { display: grid; gap: 10px; }
.aur-entry-checks .gate-check { font-size: 14.5px; padding: 12px 14px; }
.aur-entry-note { margin: 0; font-size: 13.5px; color: var(--slate); }
.aur-entry-remember { display: flex !important; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.aur-entry-remember label { display: flex; gap: 8px; align-items: center; margin: 0; font-weight: 500; }
.aur-entry-lost { font-size: 14px; color: var(--brand-deep); text-decoration: underline; }
.aur-entry [data-entry-submit][disabled] { opacity: .5; cursor: not-allowed; }
.aur-entry-links { display: block; margin-top: 8px; }
.aur-entry .woocommerce-privacy-policy-text p { margin: 0; font-size: 12.5px; color: var(--muted); }
.aur-entry.is-denied .gate-form { display: none; }
.aur-entry.is-denied .gate-denied { display: grid; }
/* The page behind the screen stays out of the way. */
.aur-gated .page-hero, .aur-gated .woocommerce-breadcrumb { visibility: hidden; }
@media (max-width: 600px) {
  .aur-entry { padding: 0 10px 16px; }
  .aur-entry-strip { width: calc(100% + 20px); margin: 0 -10px 14px; }
  .aur-entry .agegate-card { padding: 20px 16px; border-radius: 22px; }
}
.aur-entry-pane form > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.aur-entry-pane .form-row label:not(.gate-check):not(.woocommerce-form__label-for-checkbox) { display: block; margin: 0 0 6px !important; }
.aur-entry .aur-entry-checks .gate-check { display: flex !important; align-items: flex-start; gap: 12px; margin: 0 !important; font-weight: 400 !important; color: var(--ink); line-height: 1.45; }
.aur-entry .aur-entry-checks .gate-check span { font-weight: 400; }
.aur-entry .aur-entry-checks .gate-check b { font-weight: 700; }
.aur-entry .aur-entry-checks .gate-check input { margin: 1px 0 0 !important; }
.aur-entry-remember label { display: inline-flex !important; width: auto !important; justify-content: flex-start; font-size: 14px !important; }
.aur-entry-remember label input { margin: 0 !important; }
.aur-entry-remember { justify-content: space-between !important; text-align: left !important; }
.aur-entry-remember label { flex: none !important; margin: 0 !important; padding: 0 !important; float: none !important; }
.aur-entry-pane input.input-text, .aur-entry-pane .password-input { margin: 0 !important; }
.aur-entry-pane .form-row::before, .aur-entry-pane .form-row::after { content: none !important; display: none !important; }
.aur-entry .gate-form { display: grid; gap: 14px; }
.aur-entry .gate-leave { justify-self: center; }

/* New customers: "check your email to create your password" until they do. */
.aur-pw-bar { background: var(--tint-sand); border-bottom: 1px solid #EADFCB; color: #3E2F14; font-size: 14px; }
.aur-pw-bar .wrap { display: flex; align-items: center; justify-content: center; gap: 8px 12px; flex-wrap: wrap; padding-block: 10px; text-align: center; }
.aur-pw-bar .i { width: 18px; height: 18px; color: var(--brand-deep); }
.aur-pw-bar a { font-weight: 700; color: var(--brand-deep); text-decoration: underline; white-space: nowrap; }

/* Entry screen tabs: Create account | Sign in, side by side. Pure CSS (radio buttons), so they work without scripts. */
.aur-entry-tabset { display: grid; gap: 14px; }
.aur-entry-radio { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.aur-entry-tab { display: flex; align-items: center; justify-content: center; min-height: 46px; border-radius: 10px; font-family: var(--font-head); font-weight: 800; font-size: 15px; color: var(--slate); cursor: pointer; user-select: none; transition: background .15s, color .15s, box-shadow .15s; margin: 0 !important; }
.aur-entry-tab:hover { color: var(--ink); }
#aurTabRegister:checked ~ .aur-entry-tabs [data-entry-tab="register"],
#aurTabLogin:checked ~ .aur-entry-tabs [data-entry-tab="login"] { background: #fff; color: var(--ink); box-shadow: 0 1px 4px rgba(22, 20, 15, .12); }
#aurTabRegister:focus-visible ~ .aur-entry-tabs [data-entry-tab="register"],
#aurTabLogin:focus-visible ~ .aur-entry-tabs [data-entry-tab="login"] { outline: 2px solid var(--brand); outline-offset: 2px; }
.aur-entry-tabset .aur-entry-pane { display: none; }
#aurTabRegister:checked ~ [data-entry-pane="register"],
#aurTabLogin:checked ~ [data-entry-pane="login"] { display: block; }

/* Policies open on the entry screen itself (nothing else on the site is open before sign-in). */
.aur-entry-policy { display: none; position: fixed; inset: 0; z-index: 5; padding: 16px; background: rgba(16, 14, 10, .6); overflow-y: auto; }
.aur-entry-policy:target { display: flex; align-items: flex-start; justify-content: center; }
.aur-entry-policy-card { width: min(760px, 100%); margin: 24px 0; background: #fff; border-radius: 22px; box-shadow: var(--shadow-lg); padding: clamp(20px, 4vw, 34px); }
.aur-entry-policy-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; position: sticky; top: -34px; background: #fff; padding: 6px 0 12px; border-bottom: 1px solid var(--line); margin-bottom: 14px; }
.aur-entry-policy-head h2 { margin: 0; font-size: clamp(20px, 3vw, 26px); }
.aur-entry-policy-close { font-weight: 700; color: var(--brand-deep); text-decoration: underline; white-space: nowrap; }
.aur-entry-policy .doc { font-size: 15px; line-height: 1.65; color: var(--slate); }
.aur-entry-policy .doc h2 { font-size: 18px; margin: 22px 0 8px; color: var(--ink); }
.aur-entry-plain .woocommerce-ResetPassword, .aur-entry-plain form { display: grid; gap: 12px; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.aur-entry-plain .form-row { margin: 0 !important; padding: 0 !important; width: 100% !important; float: none !important; }
.aur-entry-plain .form-row::before, .aur-entry-plain .form-row::after { content: none !important; display: none !important; }
.aur-entry-plain p { margin: 0 0 10px; color: var(--slate); font-size: 15px; }
.aur-entry-plain button[type="submit"] { width: 100%; min-height: 52px; }
/* The page under the entry screen stays empty. */
.aur-gated .woo-shell > .woocommerce-breadcrumb, .aur-gated .woo-shell > h1 { display: none; }

/* My account: optional "finish setting up" suggestion. */
.aur-profile-prompt { display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; margin: 0 0 18px; padding: 18px 20px; border-radius: var(--radius-card); background: var(--wash); border: 1px solid var(--line); }
.aur-profile-prompt h3 { margin: 0 0 4px; font-size: 18px; }
.aur-profile-prompt p { margin: 0; color: var(--slate); font-size: 14.5px; max-width: 560px; }
.aur-profile-actions { display: flex; align-items: center; gap: 16px; }
.aur-profile-later { color: var(--slate) !important; font-size: 14px; text-decoration: underline; }
/* Account details: no separate "Display name" (it follows the customer's name). */
.woocommerce-EditAccountForm .form-row:has(#account_display_name) { display: none !important; }

/* Entry screen: brand backdrop (no product photos). */
.aur-entry { background:
  radial-gradient(60% 50% at 12% 18%, rgba(201, 162, 74, .20), transparent 70%),
  radial-gradient(55% 45% at 88% 84%, rgba(201, 162, 74, .14), transparent 70%),
  linear-gradient(160deg, #1f1b14 0%, #12100c 55%, #0d0b08 100%) !important; }
.aur-entry::before, .aur-entry::after { content: ''; position: fixed; border-radius: 50%; pointer-events: none; z-index: 0; border: 1.5px solid rgba(201, 162, 74, .22); }
.aur-entry::before { width: 620px; height: 620px; right: -210px; top: 12%; }
.aur-entry::after { width: 420px; height: 420px; left: -170px; bottom: -120px; border-color: rgba(201, 162, 74, .14); }
.aur-entry > * { position: relative; z-index: 1; }
.aur-entry > .aur-entry-policy { position: fixed; z-index: 5; }
/* Sign-up fields */
.aur-entry-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.aur-entry-pane select { width: 100%; min-height: 48px; padding: 0 12px; border-radius: 12px; border: 1.5px solid var(--line); background: #fff; font-size: 15px; color: var(--ink); }
.aur-entry-pane select:invalid { color: var(--muted); }
.aur-entry-pane input[type="date"] { width: 100%; min-height: 48px; }
.aur-entry-hint { display: block; margin-top: 6px; font-size: 12.5px; color: var(--muted); }
.aur-entry-hint.is-error { color: var(--danger); font-weight: 600; }
.aur-entry-optional { font-weight: 400; color: var(--muted); }
@media (max-width: 420px) { .aur-entry-row2 { grid-template-columns: 1fr; } }
