/*
Theme Name: retaUp
Theme URI: https://retaup.com
Author: Saad Holdings Inc
Author URI: https://retaup.com
Description: Custom premium theme for retaUp.
Version: 2.1.7
Requires at least: 6.3
Tested up to: 6.7
Requires PHP: 8.1
WC requires at least: 8.0
License: GPL-2.0-or-later
Text Domain: retaup
Tags: woocommerce, e-commerce, custom-colors, custom-logo, custom-menu, full-site-editing, science, dark, responsive
*/

/* ─────────────────────────────────────────────
   DESIGN TOKENS
───────────────────────────────────────────── */
:root {
  /* Colors */
  --clr-bg: #ffffff;
  --clr-bg-soft: #f7f7f5;
  --clr-bg-dark: #0a0a0a;
  --clr-bg-dark2: #111111;
  --clr-border: #e5e5e1;
  --clr-border-dark: #222222;

  --clr-text: #0a0a0a;
  --clr-text-2: #555555;
  --clr-text-3: #999999;
  --clr-white: #ffffff;

  --clr-green: #1a8a52;
  --clr-green-bg: #f0faf5;
  --clr-green-light: #dcfce7;
  --clr-amber: #b45309;
  --clr-amber-bg: #fffbeb;
  --clr-blue: #2563eb;
  --clr-blue-bg: #eff6ff;
  --clr-red: #dc2626;
  --clr-mint: #dcefdc;
  --clr-lavender: #e3def7;
  --clr-lemon: #f5f3c8;
  --clr-peach: #f7d9cf;
  --clr-rose: #f3d4d4;
  --clr-sky: #dbe6f3;
  /* Prototype text on dark / navy (footer) */
  --clr-bg-dark-navy: #1a1f3a;

  /* Accent = pure black buttons */
  --clr-accent: #0a0a0a;
  --clr-accent-h: #222222;

  /* Typography */
  --font-body: 'DM Sans', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', monospace;

  /* Spacing scale */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-8: 32px;
  --sp-10: 40px;
  --sp-12: 48px;
  --sp-16: 64px;
  --sp-20: 80px;
  --sp-24: 96px;

  /* Layout */
  --max-w: 1280px;
  --max-w-sm: 780px;
  --header-h: 68px;
  --retaup-logo-max-height: 40px;
  --retaup-logo-max-width: min(240px, 55vw);

  /* Radius */
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 16px;
  --r-xl: 20px;
  --r-2xl: 28px;
  --r-pill: 999px;

  /* Shadows */
  --sh-sm: 0 1px 4px rgba(0, 0, 0, .06);
  --sh-md: 0 4px 20px rgba(0, 0, 0, .08);
  --sh-lg: 0 12px 48px rgba(0, 0, 0, .12);
  --sh-xl: 0 24px 80px rgba(0, 0, 0, .18);

  /* Transitions */
  --t: 180ms ease;
  --t-slow: 360ms ease;
}

/* ─────────────────────────────────────────────
   RESET
───────────────────────────────────────────── */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0
}

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

body {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  color: var(--clr-text);
  background: var(--clr-bg);
  -webkit-font-smoothing: antialiased
}

a {
  color: inherit;
  text-decoration: none
}

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

ul,
ol {
  list-style: none
}

button {
  cursor: pointer;
  border: none;
  background: none;
  font-family: inherit
}

input,
select,
textarea {
  font-family: inherit;
  font-size: inherit
}

fieldset {
  border: none
}

/* ─────────────────────────────────────────────
   TYPOGRAPHY
───────────────────────────────────────────── */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: var(--clr-text)
}

h1 {
  /* font-size: clamp(2rem, 5vw, 3.5rem) */
}

h2 {
  font-size: clamp(1.5rem, 3vw, 2.375rem)
}

h3 {
  font-size: clamp(1.125rem, 2vw, 1.5rem)
}

h4 {
  font-size: 1.125rem
}

h5 {
  font-size: 1rem
}

h6 {
  font-size: .875rem
}

p {
  color: var(--clr-text-2);
  line-height: 1.7;
  margin-bottom: var(--sp-4)
}

p:last-child {
  margin-bottom: 0
}

strong {
  font-weight: 700;
  color: var(--clr-text)
}

small {
  font-size: .8125rem
}

/* ─────────────────────────────────────────────
   LAYOUT HELPERS
───────────────────────────────────────────── */
.container {
  width: 100%;
  max-width: var(--max-w);
  margin-inline: auto;
  padding-inline: var(--sp-6)
}

.container--sm,
.container-sm {
  max-width: var(--max-w-sm)
}

.section {
  padding-block: var(--sp-12)
}

.section--sm {
  padding-block: var(--sp-16)
}

.section--xs {
  padding-block: var(--sp-10)
}

.section--soft {
  background: var(--clr-bg-soft)
}

.section-mint {
  background: var(--clr-mint)
}

.section-lavender {
  background: var(--clr-lavender)
}

.section-head--tight-bottom {
  margin-bottom: var(--sp-8)
}

.section--dark {
  background: var(--clr-bg-dark)
}

.grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-6)
}

.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-6)
}

.grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-6)
}

.flex {
  display: flex;
  align-items: center
}

.flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between
}

.flex-center {
  display: flex;
  align-items: center;
  justify-content: center
}

.gap-2 {
  gap: var(--sp-2)
}

.gap-3 {
  gap: var(--sp-3)
}

.gap-4 {
  gap: var(--sp-4)
}

.gap-6 {
  gap: var(--sp-6)
}

.text-center {
  text-align: center
}

.text-sm {
  font-size: .875rem
}

.text-xs {
  font-size: .75rem
}

.text-muted {
  color: var(--clr-text-3)
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0
}

/* ─────────────────────────────────────────────
   HEADER
───────────────────────────────────────────── */
#site-header {
  position: sticky;
  top: 0;
  z-index: 900;
  box-sizing: border-box;
  padding-top: env(safe-area-inset-top, 0px);
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--clr-border);
  transition: box-shadow var(--t);
}

#site-header.scrolled {
  box-shadow: var(--sh-md)
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--header-h)
}

.site-logo {
  display: flex;
  align-items: center;
  gap: var(--sp-2)
}

.site-logo img,
.site-logo .retaup-site-logo-img {
  display: block;
  height: auto;
  width: auto;
  max-height: var(--retaup-logo-max-height);
  max-width: var(--retaup-logo-max-width)
}

.footer-brand .retaup-footer-logo-img {
  max-height: 36px;
  max-width: min(220px, 70vw)
}

.logo-wordmark {
  font-size: 1.375rem;
  font-weight: 800;
  letter-spacing: -0.05em;
  color: var(--clr-text)
}

.logo-wordmark span {
  font-weight: 400
}

/* Nav */
.primary-nav .nav-menu {
  display: flex;
  align-items: center;
  gap: var(--sp-8)
}

.primary-nav .nav-menu a {
  font-size: .9375rem;
  font-weight: 500;
  color: var(--clr-text-2);
  transition: color var(--t)
}

.primary-nav .nav-menu a:hover,
.primary-nav .nav-menu .current-menu-item>a {
  color: var(--clr-text)
}

/* Primary nav — nested menus (desktop: up to 3 child levels below top items) */
.primary-nav .nav-menu li.menu-item-has-children {
  position: relative
}

.primary-nav .nav-menu .sub-menu {
  list-style: none;
  margin: 0;
  padding: var(--sp-3) var(--sp-4);
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  display: none;
  flex-direction: column;
  align-items: stretch;
  gap: var(--sp-1);
  min-width: 200px;
  max-width: min(280px, calc(100vw - 48px));
  background: var(--clr-bg);
  border: 1px solid var(--clr-border);
  border-radius: var(--r-md);
  box-shadow: var(--sh-md);
  z-index: 910
}

.primary-nav .nav-menu .sub-menu a {
  display: block;
  padding-block: var(--sp-2);
  font-size: .875rem;
  white-space: normal
}

.primary-nav .nav-menu .sub-menu li.menu-item-has-children>a {
  padding-right: var(--sp-2)
}

.primary-nav .nav-menu .sub-menu li.menu-item-has-children>.sub-menu {
  top: 0;
  left: calc(100% + 8px)
}

.primary-nav .nav-menu .sub-menu .sub-menu li.menu-item-has-children>.sub-menu {
  top: 0;
  left: auto;
  right: calc(100% + 8px)
}

.primary-nav .nav-menu>li.menu-item-has-children>.sub-menu {
  top: calc(100% + 4px)
}

.primary-nav .nav-menu li.menu-item-has-children:hover>.sub-menu,
.primary-nav .nav-menu li.menu-item-has-children:focus-within>.sub-menu {
  display: flex
}

.primary-nav__mobile-head,
.primary-nav__mobile-rule,
.primary-nav__mobile-foot {
  display: none
}

.primary-nav__scroll {
  display: contents
}

/* Header actions */
.header-actions {
  display: flex;
  align-items: center;
  gap: var(--sp-4)
}

/* WooCommerce front-end notices (session + AJAX) */
.retaup-wc-notices-slot {
  padding-top: var(--sp-4);
  padding-bottom: var(--sp-2)
}

.shop-archive .woocommerce-notices-wrapper,
.retaup-wc-notices-slot .woocommerce-notices-wrapper {
  margin-bottom: var(--sp-4)
}

.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper ul.woocommerce-error {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-4);
  margin: 0 0 var(--sp-4);
  padding: var(--sp-4) var(--sp-6);
  list-style: none;
  border: 1px solid var(--clr-border);
  border-radius: var(--r-lg);
  background: var(--clr-bg-soft);
  color: var(--clr-text);
  font-size: .9375rem;
  line-height: 1.5;
  box-shadow: var(--sh-sm)
}

.woocommerce-notices-wrapper ul.woocommerce-error {
  flex-direction: column;
  margin-left: 0;
  padding-left: var(--sp-6)
}

.woocommerce-notices-wrapper ul.woocommerce-error li:last-child {
  margin-bottom: 0
}

.woocommerce-notices-wrapper .woocommerce-message {
  border-color: rgb(26 138 82 / .35);
  background: var(--clr-green-bg);
  color: var(--clr-text)
}

.woocommerce-notices-wrapper .woocommerce-info {
  border-color: rgb(37 99 235 / .3);
  background: var(--clr-blue-bg)
}

.woocommerce-notices-wrapper ul.woocommerce-error {
  border-color: rgb(220 38 38 / .35);
  background: #fef2f2;
  color: var(--clr-text)
}

.woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-info::before {
  content: "";
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: .15rem;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
  background-color: var(--clr-green)
}

.woocommerce-notices-wrapper .woocommerce-info::before {
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='white' stroke-width='2'/%3E%3Cpath stroke='white' stroke-width='2' stroke-linecap='round' d='M12 8v5M12 16h.01'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='white' stroke-width='2'/%3E%3Cpath stroke='white' stroke-width='2' stroke-linecap='round' d='M12 8v5M12 16h.01'/%3E%3C/svg%3E") center / contain no-repeat;
  background-color: var(--clr-blue)
}

.woocommerce-notices-wrapper ul.woocommerce-error::before {
  content: "";
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: .35rem;
  background-color: var(--clr-red);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='white' stroke-width='2'/%3E%3Cpath stroke='white' stroke-width='2' stroke-linecap='round' d='M12 8v5M12 16h.01'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='white' stroke-width='2'/%3E%3Cpath stroke='white' stroke-width='2' stroke-linecap='round' d='M12 8v5M12 16h.01'/%3E%3C/svg%3E") center / contain no-repeat;
  align-self: flex-start
}

.woocommerce-notices-wrapper .woocommerce-message:last-child,
.woocommerce-notices-wrapper .woocommerce-info:last-child,
.woocommerce-notices-wrapper ul.woocommerce-error:last-child {
  margin-bottom: 0
}

@media (prefers-reduced-motion: reduce) {

  .woocommerce-notices-wrapper .woocommerce-message,
  .woocommerce-notices-wrapper .woocommerce-info {
    scroll-margin-top: calc(var(--header-h) + var(--sp-4))
  }
}

/* Cart trigger */
.cart-trigger {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: var(--r-md);
  transition: background var(--t);
}

.cart-trigger:hover {
  background: var(--clr-bg-soft)
}

.cart-trigger svg {
  width: 22px;
  height: 22px
}

.cart-count-badge {
  position: absolute;
  top: 4px;
  right: 4px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  background: var(--clr-accent);
  color: #fff;
  font-size: .65rem;
  font-weight: 700;
  border-radius: var(--r-pill);
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.cart-count-badge:empty,
.cart-count-badge[data-count="0"] {
  display: none
}

/* Hamburger */
.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  border-radius: var(--r-md)
}

.menu-toggle span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--clr-text);
  border-radius: 2px;
  transition: transform var(--t), opacity var(--t)
}

.menu-toggle.open span:nth-child(1) {
  transform: translateY(7px) rotate(45deg)
}

.menu-toggle.open span:nth-child(2) {
  opacity: 0
}

.menu-toggle.open span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg)
}

/* ─────────────────────────────────────────────
   BUTTONS
───────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  padding: 11px 24px;
  border-radius: var(--r-pill);
  font-size: .9375rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  transition: all var(--t);
  cursor: pointer;
  white-space: nowrap;
  border: 1.5px solid transparent;
  font-family: var(--font-body);
}

.btn-primary {
  background: var(--clr-accent);
  color: #fff;
  border-color: var(--clr-accent)
}

.btn-primary:hover {
  background: var(--clr-accent-h);
  transform: translateY(-1px);
  box-shadow: var(--sh-md)
}

.btn-outline {
  background: transparent;
  color: var(--clr-text);
  border-color: var(--clr-border)
}

.btn-outline:hover {
  border-color: var(--clr-text);
  background: var(--clr-bg-soft)
}

.btn-ghost-white {
  background: rgba(255, 255, 255, .1);
  color: #fff;
  border-color: rgba(255, 255, 255, .25)
}

.btn-ghost-white:hover {
  background: rgba(255, 255, 255, .2);
  border-color: rgba(255, 255, 255, .5)
}

.btn-sm {
  padding: 8px 18px;
  font-size: .875rem
}

.btn-lg {
  padding: 14px 32px;
  font-size: 1.0625rem
}

.btn-full {
  width: 100%
}

.btn-icon {
  gap: var(--sp-2)
}

/* Apple Pay / Google Pay */
.btn-apple-pay {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #000;
  color: #fff;
  height: 52px;
  border-radius: var(--r-pill);
  font-size: 1.0625rem;
  font-weight: 500;
  letter-spacing: -.01em;
  border: none;
  width: 100%;
  cursor: pointer;
  transition: opacity var(--t);
}

.btn-apple-pay:hover {
  opacity: .88
}

.btn-apple-pay svg {
  height: 22px;
  width: auto
}

/* ─────────────────────────────────────────────
   BADGES / CHIPS
───────────────────────────────────────────── */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  font-size: .72rem;
  font-weight: 700;
  border-radius: var(--r-pill);
  letter-spacing: .02em
}

.badge-verified {
  background: var(--clr-green-light);
  color: var(--clr-green)
}

.badge-latest {
  background: var(--clr-accent);
  color: #fff
}

.badge-category {
  background: var(--clr-bg-soft);
  color: var(--clr-text-3);
  border: 1px solid var(--clr-border)
}

.badge-warning {
  background: var(--clr-amber-bg);
  color: var(--clr-amber)
}

.chip {
  display: inline-block;
  padding: 5px 14px;
  border: 1.5px solid var(--clr-border);
  border-radius: var(--r-pill);
  font-size: .875rem;
  font-weight: 500;
  color: var(--clr-text);
  background: var(--clr-bg)
}

/* ─────────────────────────────────────────────
   CARDS (shared)
───────────────────────────────────────────── */
.card {
  background: var(--clr-bg);
  border: 1px solid var(--clr-border);
  border-radius: var(--r-xl);
  overflow: hidden;
  transition: box-shadow var(--t), transform var(--t)
}

.card:hover {
  box-shadow: var(--sh-md);
  transform: translateY(-2px)
}

.card-body {
  padding: var(--sp-6)
}

/* ─────────────────────────────────────────────
   ██ HERO (pastel — matches amoni.html prototype)
───────────────────────────────────────────── */
.hero {
  position: relative;
  background: linear-gradient(135deg, var(--clr-lemon) 0%, var(--clr-lavender) 50%, var(--clr-rose) 100%);
  color: var(--clr-text);
  overflow: hidden;
  min-height: 580px;
  display: flex;
  align-items: center;
}

.hero-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-12);
  align-items: center;
  position: relative;
  z-index: 1;
  width: 100%;
  padding-block: var(--sp-16);
}

.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--clr-text-2);
  margin-bottom: var(--sp-5);
  font-family: var(--font-mono);
}

.hero-eyebrow .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--clr-green);
  box-shadow: 0 0 10px var(--clr-green);
}

.hero h1 {
  color: var(--clr-text);
  margin-bottom: var(--sp-5);
  line-height: 1.06;
  font-size: clamp(2.25rem, 5vw, 3.75rem);
  letter-spacing: -.02em;
}

.hero p,
.hero p.lede {
  font-size: 1.0625rem;
  color: var(--clr-text-2);
  max-width: 480px;
  margin-bottom: var(--sp-8);
  line-height: 1.6
}

.hero-ctas {
  display: flex;
  gap: var(--sp-3);
  flex-wrap: wrap;
  align-items: center
}

.hero-stats {
  display: flex;
  gap: var(--sp-10);
  margin-top: var(--sp-10);
  padding-top: var(--sp-8);
  border-top: 1px solid rgba(15, 16, 32, .12);
}

.hero-stat-val {
  display: block;
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--clr-text);
  letter-spacing: -.04em;
  line-height: 1.1;
}

.hero-stat-lbl {
  font-size: .72rem;
  color: var(--clr-text-2);
  font-family: var(--font-mono);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-top: 4px;
  display: block;
}

/* Floating vials */
.hero-visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 480px;
}

.hero-vial {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  filter: drop-shadow(0 24px 48px rgba(15, 16, 32, .2));
  color: var(--clr-green);
}

.hero-vial--main {
  width: 240px;
  left: 50%;
  transform: translateX(-50%);
  animation: float-main 4s ease-in-out infinite;
}

.hero-vial--main img {
  width: 100%;
  height: auto;
}

.hero-vial--left {
  width: 140px;
  left: 5%;
  top: 40px;
  animation: float-left 5s ease-in-out infinite .6s;
  opacity: .95;
  color: var(--clr-amber);
}

.hero-vial--left img {
  width: 100%;
  height: auto;
}

.hero-vial--right {
  width: 130px;
  right: 5%;
  bottom: 40px;
  animation: float-right 4.5s ease-in-out infinite 1.2s;
  opacity: .95;
  color: var(--clr-text-3);
}

.hero-vial--right img {
  width: 100%;
  height: auto;
}

.hero-vial svg {
  width: 100%;
  height: auto;
  max-height: 360px;
}

@keyframes float-main {

  0%,
  100% {
    transform: translateX(-50%) translateY(0)
  }

  50% {
    transform: translateX(-50%) translateY(-18px)
  }
}

@keyframes float-left {

  0%,
  100% {
    transform: translateY(0) rotate(-4deg)
  }

  50% {
    transform: translateY(-12px) rotate(-4deg)
  }
}

@keyframes float-right {

  0%,
  100% {
    transform: translateY(0) rotate(5deg)
  }

  50% {
    transform: translateY(-10px) rotate(5deg)
  }
}

/* ─────────────────────────────────────────────
   HOMEPAGE — live site polish (hero, guarantee band,
   everything split, quality tabs, club cards)
───────────────────────────────────────────── */
.hero--live {
  min-height: min(90vh, 720px);
}

.hero--live__glow {
  position: absolute;
  inset: -25% -15% auto -15%;
  height: 85%;
  background: radial-gradient(ellipse 80% 70% at 50% 25%, rgba(255, 255, 255, .55) 0%, transparent 55%),
    radial-gradient(ellipse 50% 45% at 80% 60%, rgba(255, 255, 255, .25) 0%, transparent 50%);
  pointer-events: none;
  z-index: 0;
}

.hero-stats--pills {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: var(--sp-10);
  padding-top: var(--sp-8);
  border-top: 1px solid rgba(15, 16, 32, .11);
}

.hero-pill {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 14px 18px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, .78);
  box-shadow: 0 10px 32px rgba(15, 16, 32, .07), 0 1px 0 rgba(255, 255, 255, .9) inset;
}

.hero-pill__val {
  font-size: 1.3125rem;
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.1;
  color: var(--clr-text);
}

.hero-pill__lbl {
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--clr-text-2);
  font-family: var(--font-mono);
  margin-top: 5px;
}

.home-club-band {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 120% 90% at 10% -10%, rgba(220, 239, 220, .5) 0%, transparent 52%),
    radial-gradient(ellipse 90% 70% at 92% 15%, rgba(227, 222, 247, .55) 0%, transparent 48%),
    radial-gradient(ellipse 80% 50% at 50% 100%, rgba(252, 231, 243, .35) 0%, transparent 45%),
    linear-gradient(180deg, #f4f6fb 0%, #e9edf5 100%);
}

.home-club-band__head.center {
  max-width: 44rem;
  margin-inline: auto;
}

.home-club-band__head .eyebrow {
  margin-bottom: var(--sp-3);
}

.guarantee-grid.home-guarantee-six {
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-5);
}

.home-why-grid {
  gap: var(--sp-4);
}

.guarantee-card--club {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-align: left;
  height: 100%;
  background: rgba(255, 255, 255, .9);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, .95);
  border-radius: 20px;
  padding: var(--sp-6);
  box-shadow: 0 16px 42px rgba(15, 16, 32, .06), 0 2px 0 rgba(255, 255, 255, .85) inset;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.guarantee-card--club:hover {
  transform: translateY(-5px);
  box-shadow: 0 26px 52px rgba(15, 16, 32, .1);
  border-color: rgba(26, 138, 82, .22);
}

.guarantee-card--club__icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--sp-4);
  flex-shrink: 0;
}

.guarantee-card--club__emoji {
  font-size: 1.4rem;
  line-height: 1;
}

.guarantee-card--club h3 {
  font-size: 1.0625rem;
  font-weight: 700;
  margin-bottom: var(--sp-2);
  letter-spacing: -.01em;
}

.guarantee-card--club p {
  font-size: .875rem;
  line-height: 1.6;
  color: var(--clr-text-2);
  margin: 0;
}

.guarantee-card--club--sm {
  padding: var(--sp-5);
}

.guarantee-card--club--sm h3 {
  font-size: .98rem;
}

.guarantee-card--club--sm .guarantee-card--club__icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
}

.guarantee-card--club--sm .guarantee-card--club__icon svg {
  width: 22px;
  height: 22px;
}

.home-club-band__divider {
  height: 1px;
  margin: var(--sp-14) 0 var(--sp-12);
  background: linear-gradient(90deg, transparent, rgba(15, 16, 32, .09) 20%, rgba(15, 16, 32, .09) 80%, transparent);
}

.home-club-band__head--sub h2 {
  font-size: clamp(1.5rem, 3vw, 2rem);
}

.home-everything {
  background: #fff;
  position: relative;
}

.home-everything-split {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
}

.home-everything-copy h2 {
  font-size: clamp(1.75rem, 3.6vw, 2.625rem);
  letter-spacing: -.025em;
  line-height: 1.12;
  margin-bottom: var(--sp-4);
}

.home-everything-lede {
  font-size: 1.0625rem;
  color: var(--clr-text-2);
  line-height: 1.65;
  margin-bottom: var(--sp-6);
  max-width: 36rem;
}

.home-everything-bullets {
  list-style: none;
  margin: 0 0 var(--sp-8);
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-width: 38rem;
}

.home-everything-bullets li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: .9375rem;
  line-height: 1.55;
  color: var(--clr-text);
}

.home-everything-bullets__check {
  flex-shrink: 0;
  margin-top: 3px;
  color: var(--clr-green);
  display: flex;
  align-items: center;
  justify-content: center;
}

.home-everything-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.home-everything-visual {
  position: relative;
  min-height: 440px;
  border-radius: 26px;
  background: linear-gradient(148deg, #e8f5eb 0%, #dff0e3 35%, #e8e4f7 70%, #fdeef4 100%);
  overflow: hidden;
  box-shadow: 0 28px 60px rgba(15, 16, 32, .1), 0 0 0 1px rgba(255, 255, 255, .5) inset;
}

.home-everything-visual__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .88;
}

.home-everything-visual__orbit {
  position: relative;
  z-index: 1;
  height: 100%;
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--sp-10);
}

.home-everything-visual__vial {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  filter: drop-shadow(0 22px 40px rgba(15, 16, 32, .18));
  color: var(--clr-green);
}

.home-everything-visual__vial--lg {
  position: relative;
  animation: float-main 5s ease-in-out infinite;
}

.home-everything-visual__vial--sm {
  width: 110px;
  right: 12%;
  bottom: 14%;
  color: var(--clr-amber);
  animation: float-right 5s ease-in-out infinite .8s;
}

.section-head--quality-home {
  max-width: 46rem;
  margin-inline: auto;
}

.quality-section-home .qt-home {
  margin-top: var(--sp-4);
}

.qt-home .qt-tabs,
.qt-home .quality-tabs {
  border-bottom-color: rgba(15, 16, 32, .1);
  gap: 4px;
}

.qt-home .qt-btn,
.qt-home .quality-tab-btn {
  border-radius: 10px 10px 0 0;
  padding: var(--sp-4) var(--sp-5);
}

.qt-home .qt-btn.active,
.qt-home .quality-tab-btn.active {
  background: rgba(255, 255, 255, .65);
  border-bottom-color: transparent;
}

.qt-home-split {
  display: grid;
  grid-template-columns: 1fr minmax(260px, 340px);
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
  margin-top: var(--sp-2);
  padding-top: var(--sp-8);
}

.qt-home-copy {
  position: relative;
  min-height: 380px;
}

.qt-copy-slot {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(18px);
  transition: opacity .4s cubic-bezier(0.4, 0, 0.2, 1),
    transform .4s cubic-bezier(0.4, 0, 0.2, 1),
    visibility .4s;
  pointer-events: none;
}

.qt-copy-slot.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
  z-index: 2;
}

.qt-copy-slot h3 {
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
  font-weight: 800;
  letter-spacing: -.02em;
  margin-bottom: var(--sp-2);
}

.qt-copy-slot .qt-meta {
  color: var(--clr-text-3);
  font-size: .8125rem;
  margin-bottom: var(--sp-4);
  font-family: var(--font-mono);
  text-transform: uppercase;
  letter-spacing: .07em;
}

.qt-copy-slot .qt-lede {
  font-size: .9375rem;
  line-height: 1.68;
  color: var(--clr-text-2);
  margin: 0 0 var(--sp-5);
  max-width: 38rem;
}

.qt-detail-list {
  margin: 0;
  padding-left: 1.2rem;
  color: var(--clr-text-2);
  line-height: 1.72;
  font-size: .90625rem;
  max-width: 38rem;
}

.qt-detail-list li {
  margin-bottom: 6px;
}

.qt-home-visual {
  position: sticky;
  top: 96px;
}

.qt-visual-card {
  border-radius: var(--r-2xl);
  padding: var(--sp-11) var(--sp-10);
  text-align: center;
  border: 1px solid var(--clr-border);
  background: #fff;
  transition: background .4s ease, border-color .4s ease, box-shadow .4s ease, color .35s ease;
}

.qt-visual-card--neutral {
  background: linear-gradient(165deg, #fafbfd 0%, #f0f2f6 100%);
}

.qt-visual-card--green {
  background: linear-gradient(165deg, var(--clr-green-bg) 0%, #d4edda 100%);
  border-color: rgba(26, 138, 82, .28);
  box-shadow: 0 18px 36px rgba(26, 138, 82, .12);
}

.qt-visual-card--dark {
  background: linear-gradient(165deg, #22283a 0%, #12151f 100%);
  border-color: rgba(255, 255, 255, .12);
  color: #fff;
  box-shadow: 0 24px 48px rgba(0, 0, 0, .25);
}

.qt-visual-card--dark .qt-vis-num {
  color: #fff;
}

.qt-visual-card--dark .qt-vis-cap {
  color: rgba(255, 255, 255, .78);
}

.qt-visual-card .qt-vis-num {
  font-size: clamp(2.75rem, 5vw, 3.75rem);
  font-weight: 800;
  letter-spacing: -.05em;
  line-height: 1;
}

.qt-visual-card .qt-vis-cap {
  color: var(--clr-text-3);
  font-size: .875rem;
  margin-top: var(--sp-3);
  line-height: 1.45;
  font-weight: 500;
}

.qt-visual-card--green .qt-vis-num {
  color: var(--clr-green);
}

.qt-visual-card--green .qt-vis-cap {
  color: var(--clr-green);
  font-weight: 600;
}

.qt-visual-card--pulse {
  animation: qt-card-pulse .45s cubic-bezier(0.34, 1.2, 0.64, 1) forwards;
}

@keyframes qt-card-pulse {
  0% {
    transform: scale(1);
  }

  40% {
    transform: scale(1.03);
  }

  100% {
    transform: scale(1);
  }
}

.home-everything-split {
  grid-template-columns: 1fr;
}

.home-everything-visual {
  order: -1;
  min-height: 300px;
}

.home-everything-visual__orbit {
  min-height: 280px;
}

.qt-home-split {
  grid-template-columns: 1fr;
}

.qt-home-visual {
  position: static;
  max-width: 340px;
  margin: 0 auto var(--sp-8);
  order: -1;
}

.qt-home-copy {
  min-height: 0;
}

.qt-copy-slot {
  position: static;
  display: none;
  opacity: 1;
  visibility: visible;
  transform: none;
  transition: none;
  pointer-events: none;
}

.qt-copy-slot.is-active {
  display: block;
  pointer-events: auto;
}
}

/* ─────────────────────────────────────────────
   TRUST BAR
───────────────────────────────────────────── */
.trust-bar {
  padding-block: var(--sp-5);
  border-bottom: 1px solid var(--clr-border);
  background: #fff;
}

.trust-bar-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-12);
  flex-wrap: wrap
}

.trust-item {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: .875rem;
  font-weight: 500;
  color: var(--clr-text-2)
}

.trust-item .icon,
.trust-item .ic {
  color: var(--clr-green);
  flex-shrink: 0;
  display: flex;
  align-items: center;
}

.trust-item .icon {
  color: var(--clr-green);
  flex-shrink: 0
}

/* ─────────────────────────────────────────────
   SECTION HEADER
───────────────────────────────────────────── */
.section-head {
  margin-bottom: var(--sp-10)
}

.section-head.center {
  text-align: center;
  max-width: 600px;
  margin-inline: auto;
  margin-bottom: var(--sp-10)
}

.eyebrow {
  display: inline-block;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--clr-green);
  margin-bottom: var(--sp-2)
}

.section-head h2 {
  margin-bottom: var(--sp-2)
}

.section-head p {
  font-size: 1.0625rem
}

/* ─────────────────────────────────────────────
   SHOP ARCHIVE — header, toolbar, grid
───────────────────────────────────────────── */
.shop-archive--hero {
  padding-bottom: 0;
}

.shop-archive.section.section--sm:not(.shop-archive--hero) {
  padding-top: 30px;
}

.shop-archive-header {
  margin-top: var(--sp-4);
  margin-bottom: var(--sp-6);
}

.shop-archive-title {
  margin: 0 0 var(--sp-2);
  font-size: clamp(1.75rem, 4vw, 2.25rem);
  font-weight: 800;
  letter-spacing: -.03em;
  color: var(--clr-text, #0f1020);
}

.shop-archive-sub {
  margin: 0;
  max-width: 42rem;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--clr-text-2, #5c5f72);
}

.shop-toolbar {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
  margin-bottom: var(--sp-6);
  width: 100%;
}

.shop-toolbar__search {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 420px;
}

.shop-toolbar__sort {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  flex-wrap: nowrap;
}

@media (max-width: 520px) {

  .shop-toolbar {
    flex-wrap: wrap;
  }

  .shop-toolbar__search {
    flex: 1 1 100%;
    max-width: none;
  }

  .shop-toolbar__sort {
    width: 100%;
    justify-content: flex-end;
  }
}

.shop-sort-label {
  font-size: .875rem;
  font-weight: 600;
  color: var(--clr-text-2);
}

.shop-sort-pill .woocommerce-ordering {
  margin: 0;
}

.shop-sort-pill select.orderby {
  appearance: none;
  -webkit-appearance: none;
  min-height: 42px;
  padding: 8px 36px 8px 18px;
  font-size: .875rem;
  font-weight: 600;
  color: var(--clr-text);
  background-color: #fff;
  border: 1px solid var(--clr-border);
  border-radius: var(--r-pill);
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(15, 16, 32, .05);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237d818c' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 14px;
}

.shop-sort-pill select.orderby:focus-visible {
  outline: 2px solid var(--clr-accent, #0f1020);
  outline-offset: 2px;
}

/* Toolbar product search (pill) */
.retaup-shop-product-search {
  display: flex;
  align-items: center;
  width: 100%;
  margin: 0;
  padding: 0 6px 0 14px;
  min-height: 44px;
  background: #fff;
  border: 1px solid var(--clr-border);
  border-radius: var(--r-pill);
  box-shadow: 0 1px 2px rgba(15, 16, 32, .05);
}

.retaup-shop-product-search__leading {
  display: flex;
  color: var(--clr-text-3);
  flex-shrink: 0;
  margin-right: 8px;
}

.retaup-shop-product-search .search-field {
  flex: 1;
  min-width: 0;
  border: none !important;
  background: transparent !important;
  padding: 10px 8px 10px 0 !important;
  margin: 0 !important;
  font-size: .9375rem !important;
  box-shadow: none !important;
}

.retaup-shop-product-search .search-field:focus {
  outline: none;
}

.retaup-shop-product-search:focus-within {
  border-color: rgba(15, 16, 32, .28);
  box-shadow: 0 0 0 3px rgba(15, 16, 32, .06);
}

.retaup-shop-product-search__submit {
  flex-shrink: 0;
  width: 42px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: var(--r-pill);
  background: transparent;
  color: var(--clr-text-2);
  cursor: pointer;
  transition: color var(--t), background var(--t);
}

.retaup-shop-product-search__submit:hover {
  background: var(--clr-bg-soft);
  color: var(--clr-text);
}

.retaup-shop-product-search__submit:focus-visible {
  outline: 2px solid var(--clr-accent, #0f1020);
  outline-offset: 2px;
}

/* Category chip row */
.shop-filter-tags.product-filters {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  margin: 0;
}

.shop-filter-tags .filter-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 18px;
  border: 1px solid transparent;
  border-radius: var(--r-pill);
  font-size: .8125rem;
  font-weight: 600;
  color: var(--clr-text-2, #3d4049);
  background: #f0f1f4;
  cursor: pointer;
  transition: background var(--t), color var(--t), border-color var(--t), box-shadow var(--t);
  font-family: var(--font-body);
  text-decoration: none;
  box-sizing: border-box;
}

.shop-filter-tags .filter-btn:hover {
  background: #e5e7eb;
}

.shop-filter-tags .filter-btn.active {
  background: var(--clr-text, #0f1020);
  color: #fff;
  border-color: var(--clr-text, #0f1020);
}

.shop-filter-tags .filter-btn:focus-visible {
  outline: 2px solid var(--clr-accent, #0f1020);
  outline-offset: 2px;
}

/* Shop archive pagination */
.shop-archive nav.woocommerce-pagination {
  margin: var(--sp-10) 0 var(--sp-4);
  padding: 0;
}

.shop-archive nav.woocommerce-pagination ul.page-numbers {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  list-style: none;
  padding: 0;
  margin: 0;
  border: none;
  box-shadow: none;
}

.shop-archive nav.woocommerce-pagination ul.page-numbers li {
  margin: 0;
  padding: 0;
  border: none;
}

.shop-archive nav.woocommerce-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.625rem;
  height: 2.625rem;
  padding: 0 var(--sp-3);
  border: 1px solid var(--clr-border);
  border-radius: var(--r-pill);
  font-size: .875rem;
  font-weight: 600;
  font-family: var(--font-body);
  letter-spacing: -0.01em;
  color: var(--clr-text-2);
  background: #fff;
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(15, 16, 32, .04);
  transition: color var(--t), background var(--t), border-color var(--t), box-shadow var(--t);
}

.shop-archive nav.woocommerce-pagination a.page-numbers:hover {
  color: var(--clr-text);
  border-color: var(--clr-text-3);
  background: var(--clr-bg-soft);
  box-shadow: var(--sh-sm);
}

.shop-archive nav.woocommerce-pagination span.page-numbers.current {
  color: #fff;
  background: var(--clr-accent);
  border-color: var(--clr-accent);
  box-shadow: none;
  cursor: default;
}

.shop-archive nav.woocommerce-pagination .page-numbers.dots {
  min-width: auto;
  padding: 0 var(--sp-2);
  border: none;
  background: transparent;
  box-shadow: none;
  color: var(--clr-text-3);
  font-weight: 500;
  cursor: default;
}

.shop-archive nav.woocommerce-pagination a.page-numbers:focus-visible {
  outline: 2px solid var(--clr-accent);
  outline-offset: 2px;
}

/* ─────────────────────────────────────────────
   PRODUCT CARD (shop grid — single partial)
───────────────────────────────────────────── */
.products-grid,
.ac-product-grid {
  display: grid;
  gap: var(--sp-5);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1100px) {

  .products-grid,
  .ac-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 780px) {

  .products-grid,
  .ac-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 420px) {

  .products-grid,
  .ac-product-grid {
    grid-template-columns: 1fr;
  }
}

.product-card {
  position: relative;
  background: #fff;
  border: 1px solid var(--clr-border);
  border-radius: var(--r-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow var(--t), transform var(--t), border-color var(--t);
  cursor: default;
  box-shadow: 0 1px 2px rgba(15, 16, 32, .04);
}

.product-card:hover {
  box-shadow: var(--sh-md);
  transform: translateY(-2px);
}

.product-card__image-link {
  display: block;
  text-decoration: none;
  outline: none;
}

.product-card__image-link:focus-visible {
  box-shadow: inset 0 0 0 2px var(--clr-accent, #0f1020);
}

.product-card:hover .product-card-img .vial-svg,
.product-card:hover .product-card-img img {
  transform: scale(1.04);
}

.product-card-img {
  aspect-ratio: 1;
  display: block;
  position: relative;
  overflow: hidden;
  padding: 0;
  background: var(--clr-bg-soft);
}

.product-card-img::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 32%;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 0%, rgba(15, 16, 32, .07) 100%);
}

.product-card-img--category {
  background: linear-gradient(180deg,
      color-mix(in srgb, var(--category-bg, #d8dcdf) 55%, #fff) 0%,
      var(--category-bg, #d8dcdf) 100%);
}

.product-card-category {
  font-weight: 600;
  color: var(--ink, #15203a);
}

.product-card-sub__detail {
  display: block;
  font-size: 0.875em;
  opacity: 0.85;
}

.shop-archive-header--category {
  padding: 1.25rem 1rem;
  margin-bottom: 0.5rem;
  border-radius: var(--radius-lg, 12px);
  background: linear-gradient(135deg,
      color-mix(in srgb, var(--category-header-bg, #d8dcdf) 70%, #fff) 0%,
      var(--category-header-bg, #d8dcdf) 100%);
}

.filter-btn__swatch {
  display: inline-block;
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 50%;
  margin-right: 0.35rem;
  vertical-align: middle;
  border: 1px solid rgba(0, 0, 0, 0.12);
}

.product-card-img.bg-mint {
  background: linear-gradient(180deg, #eaf6ef 0%, #cfe6d8 100%);
}

.product-card-img.bg-lemon {
  background: linear-gradient(180deg, #faf8de 0%, #e8e4b0 100%);
}

.product-card-img.bg-lavender {
  background: linear-gradient(180deg, #f0eafb 0%, #d8ccec 100%);
}

.product-card-img.bg-peach {
  background: linear-gradient(180deg, #fcf0e9 0%, #efc4ad 100%);
}

.product-card-img.bg-rose {
  background: linear-gradient(180deg, #fdeeee 0%, #f0cbcb 100%);
}

.product-card-img.bg-sky {
  background: linear-gradient(180deg, #e9f3fc 0%, #cfe0f5 100%);
}

.product-card-img img {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform var(--t-slow);
}

.product-card-vial-fallback {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--sp-6);
  color: var(--clr-green);
}

.product-card-body {
  padding: var(--sp-5);
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 0;
  background: #fff;
  position: relative;
  z-index: 1;
}

.product-card-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--sp-3);
  margin-bottom: var(--sp-2);
}

.product-card-title {
  margin: 0;
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.2;
  flex: 1;
  min-width: 0;
}

.product-card-title a {
  color: inherit;
  text-decoration: none;
}

.product-card-title a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.product-card-title a:focus-visible {
  outline: 2px solid var(--clr-accent, #0f1020);
  outline-offset: 3px;
  border-radius: 2px;
}

.product-card-price {
  text-align: right;
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.15;
  white-space: nowrap;
  flex-shrink: 0;
}

.product-card-price .from {
  font-size: .6875rem;
  color: var(--clr-text-3);
  font-weight: 500;
  display: block;
  margin-bottom: 2px;
  letter-spacing: 0;
  line-height: 1;
}

.product-card-price__amount {
  display: inline-block;
}

.product-card-price__amount .woocommerce-Price-amount {
  font-weight: 700;
}

/* Sale / compare-at price — smaller + muted (cards only; PDP uses .pdp-price etc.) */
.product-card .product-card-price del,
.product-card .product-card-price .price del {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--clr-text-3);
  letter-spacing: 0;
  opacity: 1;
}

.product-card .product-card-price ins {
  text-decoration: none;
  background: transparent;
}

.product-card-sub {
  font-size: .8125rem;
  color: var(--clr-text-3);
  margin: 0 0 var(--sp-4);
  flex: 1;
  line-height: 1.35;
}

/* Product card footer buttons — see assets/css/product-card-buttons.css */

@media (max-width: 639px) {

  .product-card .product-card-row {
    flex-direction: column;
    align-items: stretch;
    gap: var(--sp-2);
  }

  .product-card .product-card-title {
    flex: none;
    width: 100%;
    min-width: 0;
    font-size: 0.9375rem;
  }

  .product-card .product-card-price {
    align-self: flex-end;
    width: 100%;
    text-align: right;
  }
}

/* ─────────────────────────────────────────────
   BLOG — archive listing (.blog-archive), single (.single-post), related (.related-posts)
───────────────────────────────────────────── */
.blog-archive__intro {
  margin-top: var(--sp-3);
  font-size: .9375rem;
  line-height: 1.55;
  color: var(--clr-text-2);
  max-width: 52rem;
}

.blog-archive .blog-archive__grid,
.related-posts .blog-archive__grid,
.related-posts .related-posts__grid {
  display: grid;
  gap: var(--sp-5);
  grid-template-columns: 1fr;
}

@media (min-width: 640px) {

  .blog-archive .blog-archive__grid,
  .related-posts .blog-archive__grid,
  .related-posts .related-posts__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {

  .blog-archive .blog-archive__grid,
  .related-posts .blog-archive__grid,
  .related-posts .related-posts__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

:is(.blog-archive, .related-posts) .post-card {
  position: relative;
  background: #fff;
  border: 1px solid var(--clr-border);
  border-radius: var(--r-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow var(--t), transform var(--t), border-color var(--t);
  box-shadow: 0 1px 2px rgba(15, 16, 32, .04);
}

:is(.blog-archive, .related-posts) .post-card:hover {
  box-shadow: var(--sh-md);
  transform: translateY(-2px);
}

:is(.blog-archive, .related-posts) .post-card__media-link {
  display: block;
  outline: none;
  text-decoration: none;
}

:is(.blog-archive, .related-posts) .post-card__media-link:focus-visible .post-card__media {
  box-shadow: inset 0 0 0 2px var(--clr-accent, #0f1020);
}

:is(.blog-archive, .related-posts) .post-card__media {
  aspect-ratio: 16 / 9;
  position: relative;
  overflow: hidden;
  background: var(--clr-bg-soft);
}

:is(.blog-archive, .related-posts) .post-card__media.bg-mint {
  background: linear-gradient(180deg, #eaf6ef 0%, #cfe6d8 100%);
}

:is(.blog-archive, .related-posts) .post-card__media.bg-lemon {
  background: linear-gradient(180deg, #faf8de 0%, #e8e4b0 100%);
}

:is(.blog-archive, .related-posts) .post-card__media.bg-lavender {
  background: linear-gradient(180deg, #f0eafb 0%, #d8ccec 100%);
}

:is(.blog-archive, .related-posts) .post-card__media.bg-peach {
  background: linear-gradient(180deg, #fcf0e9 0%, #efc4ad 100%);
}

:is(.blog-archive, .related-posts) .post-card__media.bg-rose {
  background: linear-gradient(180deg, #fdeeee 0%, #f0cbcb 100%);
}

:is(.blog-archive, .related-posts) .post-card__media.bg-sky {
  background: linear-gradient(180deg, #e9f3fc 0%, #cfe0f5 100%);
}

:is(.blog-archive, .related-posts) .post-card__thumb-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform var(--t-slow);
}

:is(.blog-archive, .related-posts) .post-card:hover .post-card__thumb-img {
  transform: scale(1.04);
}

:is(.blog-archive, .related-posts) .post-card__placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--clr-text-3);
  opacity: .85;
}

:is(.blog-archive, .related-posts) .post-card__body {
  padding: var(--sp-5);
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 0;
}

:is(.blog-archive, .related-posts) .post-card__title {
  margin: 0 0 var(--sp-2);
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.25;
}

:is(.blog-archive, .related-posts) .post-card__title a {
  color: inherit;
  text-decoration: none;
}

:is(.blog-archive, .related-posts) .post-card__title a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

:is(.blog-archive, .related-posts) .post-card__title a:focus-visible {
  outline: 2px solid var(--clr-accent, #0f1020);
  outline-offset: 3px;
  border-radius: 2px;
}

:is(.blog-archive, .related-posts) .post-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-2);
  margin-bottom: var(--sp-3);
  font-size: .75rem;
  color: var(--clr-text-3);
}

:is(.blog-archive, .related-posts) .post-card__meta-sep {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--clr-border);
  flex-shrink: 0;
}

:is(.blog-archive, .related-posts) .post-card__cat {
  color: var(--clr-text-2);
  text-decoration: none;
  font-weight: 500;
}

:is(.blog-archive, .related-posts) .post-card__cat:hover {
  color: var(--clr-text);
  text-decoration: underline;
  text-underline-offset: 2px;
}

:is(.blog-archive, .related-posts) .post-card__excerpt {
  margin: 0 0 var(--sp-4);
  flex: 1;
  font-size: .8125rem;
  line-height: 1.45;
  color: var(--clr-text-3);
}

:is(.blog-archive, .related-posts) .post-card__foot {
  margin-top: auto;
}

.blog-archive__pagination {
  margin-top: var(--sp-10);
}

.blog-archive__pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  justify-content: center;
  align-items: center;
}

.blog-archive__pagination a.page-numbers,
.blog-archive__pagination span.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  padding: .35rem .65rem;
  border-radius: var(--r-md);
  border: 1px solid var(--clr-border);
  font-size: .8125rem;
  font-weight: 600;
  text-decoration: none;
  color: var(--clr-text);
  background: #fff;
}

.blog-archive__pagination a.page-numbers:hover {
  border-color: var(--clr-text);
  background: var(--clr-bg-soft);
}

.blog-archive__pagination span.page-numbers.current {
  background: var(--clr-text);
  border-color: var(--clr-text);
  color: var(--clr-white);
}

.blog-archive__pagination a.page-numbers:focus-visible {
  outline: 2px solid var(--clr-accent);
  outline-offset: 2px;
}

.blog-archive__empty {
  margin: 0;
  color: var(--clr-text-3);
}

.related-posts__heading {
  margin: 0 0 var(--sp-8);
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
  font-weight: 700;
  letter-spacing: -.02em;
}

.single-post .single-post__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--sp-2) var(--sp-3);
  margin-top: var(--sp-4);
  font-size: .875rem;
  color: var(--clr-text-2);
}

.single-post .single-post__meta-sep {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--clr-border);
  align-self: center;
  flex-shrink: 0;
}

.single-post .single-post__time {
  font-weight: 500;
  color: var(--clr-text-3);
}

.single-post .single-post__cats a,
.single-post .single-post__tags a {
  color: var(--clr-green);
  text-decoration: none;
  font-weight: 500;
}

.single-post .single-post__cats a:hover,
.single-post .single-post__tags a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.single-post .single-post__featured {
  margin: 0 0 var(--sp-8);
  border-radius: var(--r-xl);
  overflow: hidden;
  border: 1px solid var(--clr-border);
  background: var(--clr-bg-soft);
}

.single-post .single-post__featured-img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: middle;
}

.single-post .single-post__content {
  font-size: 1.0625rem;
  line-height: 1.75;
  color: var(--clr-text-2);
}

.single-post .single-post__content>*:first-child {
  margin-top: 0;
}

.single-post .single-post__content>*:last-child {
  margin-bottom: 0;
}

.single-post .single-post__content h2,
.single-post .single-post__content h3,
.single-post .single-post__content h4 {
  color: var(--clr-text);
  margin-top: var(--sp-8);
  margin-bottom: var(--sp-3);
  letter-spacing: -.02em;
}

.single-post .single-post__content h2 {
  font-size: 1.35rem;
}

.single-post .single-post__content h3 {
  font-size: 1.2rem;
}

.single-post .single-post__content a {
  color: var(--clr-green);
}

.single-post .single-post__page-links {
  margin-top: var(--sp-8);
  font-size: .875rem;
  color: var(--clr-text-2);
}

.single-post .single-post__adjacent {
  margin-top: var(--sp-10);
  padding-top: var(--sp-8);
  border-top: 1px solid var(--clr-border);
}

.single-post .single-post__adjacent .nav-links {
  display: grid;
  gap: var(--sp-4);
}

@media (min-width: 560px) {

  .single-post .single-post__adjacent .nav-links {
    grid-template-columns: 1fr 1fr;
  }
}

.single-post .single-post__adjacent .nav-previous,
.single-post .single-post__adjacent .nav-next {
  margin: 0;
}

.single-post .single-post__adjacent .nav-next {
  text-align: right;
}

.single-post .single-post__adjacent a {
  display: inline-flex;
  flex-direction: column;
  gap: var(--sp-1);
  text-decoration: none;
  color: inherit;
  padding: var(--sp-3);
  border-radius: var(--r-md);
  border: 1px solid var(--clr-border);
  background: var(--clr-bg-soft);
  transition: border-color var(--t), background var(--t);
}

.single-post .single-post__adjacent a:hover {
  border-color: var(--clr-text-3);
  background: #fff;
}

.single-post .single-post__nav-k {
  font-size: .6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--clr-text-3);
}

.single-post .single-post__nav-t {
  font-size: .9375rem;
  font-weight: 600;
  color: var(--clr-text);
  line-height: 1.35;
}

/* Legacy filter pills (non-shop) */
.filter-row {
  display: flex;
  gap: var(--sp-2);
  flex-wrap: wrap;
  margin-bottom: var(--sp-8)
}

.filter-pill {
  padding: 6px 16px;
  border: 1.5px solid var(--clr-border);
  border-radius: var(--r-pill);
  font-size: .8125rem;
  font-weight: 600;
  color: var(--clr-text-2);
  background: transparent;
  cursor: pointer;
  transition: all var(--t);
  font-family: var(--font-body)
}

.filter-pill:hover,
.filter-pill.active {
  background: var(--clr-accent);
  color: #fff;
  border-color: var(--clr-accent)
}

/* ─────────────────────────────────────────────
   ██ SLIDE-OVER CART
───────────────────────────────────────────── */
.cart-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .4);
  z-index: 1100;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--t-slow);
}

.cart-overlay.open {
  opacity: 1;
  pointer-events: all
}

.cart-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: auto;
  width: 420px;
  max-width: 100vw;
  height: 100vh;
  max-height: 100vh;
  height: -webkit-fill-available;
  max-height: -webkit-fill-available;
  height: 100svh;
  max-height: 100svh;
  height: 100dvh;
  max-height: 100dvh;
  background: #fff;
  z-index: 1101;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform var(--t-slow) cubic-bezier(.4, 0, .2, 1);
  box-shadow: var(--sh-xl);
  box-sizing: border-box;
  padding-top: env(safe-area-inset-top, 0px);
  padding-inline: env(safe-area-inset-left, 0px) env(safe-area-inset-right, 0px);
}

.cart-drawer.open {
  transform: translateX(0)
}

.cart-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--sp-5) var(--sp-6);
  border-bottom: 1px solid var(--clr-border);
}

.cart-drawer-head h3 {
  font-size: 1.125rem;
  font-weight: 700
}

.cart-close-btn {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-md);
  color: var(--clr-text-2);
  transition: background var(--t);
}

.cart-close-btn:hover {
  background: var(--clr-bg-soft)
}

.cart-items {
  flex: 1;
  overflow-y: auto;
  padding: var(--sp-4) var(--sp-6)
}

.cart-item {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-4);
  padding: var(--sp-4) 0;
  border-bottom: 1px solid var(--clr-border);
}

.cart-item:last-child {
  border-bottom: none
}

.cart-item-img {
  width: 72px;
  height: 72px;
  flex-shrink: 0;
  background: var(--clr-bg-soft);
  border-radius: var(--r-md);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.cart-item-img img {
  max-height: 60px;
  width: auto;
  object-fit: contain
}

.cart-item-info {
  flex: 1;
  min-width: 0
}

.cart-item-name {
  font-size: .9375rem;
  font-weight: 700;
  letter-spacing: -.01em;
  margin-bottom: 2px
}

.cart-item-variant {
  font-size: .8125rem;
  color: var(--clr-text-3)
}

.cart-item-price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: var(--sp-3)
}

.cart-item-qty {
  display: flex;
  align-items: center;
  border: 1.5px solid var(--clr-border);
  border-radius: var(--r-pill);
  overflow: hidden;
}

.cart-qty-btn {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: var(--clr-text-2);
  transition: background var(--t);
}

.cart-qty-btn:hover {
  background: var(--clr-bg-soft)
}

.cart-qty-val {
  padding: 0 8px;
  min-width: 28px;
  text-align: center;
  font-size: .875rem;
  font-weight: 600;
  border-left: 1px solid var(--clr-border);
  border-right: 1px solid var(--clr-border);
  line-height: 30px;
}

.cart-item-total {
  font-size: .9375rem;
  font-weight: 700
}

.cart-item-remove {
  color: var(--clr-text-3);
  margin-left: var(--sp-2);
  padding: 4px;
  border-radius: var(--r-sm);
  transition: color var(--t), background var(--t);
  flex-shrink: 0;
}

.cart-item-remove:hover {
  color: var(--clr-red);
  background: rgba(220, 38, 38, .06)
}

/* Cart footer */
.cart-footer {
  padding: var(--sp-5) var(--sp-6);
  border-top: 1px solid var(--clr-border);
  display: flex;
  flex-direction: column;
  gap: var(--sp-3)
}

/* Promo code */
.promo-row {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-3) var(--sp-4);
  border: 1.5px solid var(--clr-border);
  border-radius: var(--r-md);
  cursor: pointer;
  transition: border-color var(--t);
}

.promo-row:hover {
  border-color: var(--clr-text)
}

.promo-row span {
  font-size: .9rem;
  font-weight: 500;
  color: var(--clr-text-2)
}

/* Cart subtotal */
.cart-subtotal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1rem;
  font-weight: 700
}

.cart-subtotal .amount {
  font-size: 1.25rem;
  letter-spacing: -.03em
}

/* Express checkout note */
.express-note {
  font-size: .75rem;
  color: var(--clr-text-3);
  text-align: center
}

.express-divider {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  color: var(--clr-text-3);
  font-size: .75rem
}

.express-divider::before,
.express-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--clr-border)
}

.estimated-date {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .8125rem;
  color: var(--clr-amber);
  font-weight: 500;
  justify-content: center;
}

/* ─────────────────────────────────────────────
   ██ PRODUCT SINGLE PAGE
───────────────────────────────────────────── */
.research-notice-bar {
  background: var(--clr-bg-dark);
  color: rgba(255, 255, 255, .9);
  padding: 10px var(--sp-6);
  font-size: .8125rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  text-align: center;
}

.research-notice-bar .warn-icon {
  font-size: 1rem;
  flex-shrink: 0
}

.research-notice-bar strong {
  color: #fbbf24
}

.research-notice-bar__icon {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  line-height: 0
}

.research-notice-bar__icon svg {
  display: block
}

.research-notice-bar--supply {
  background: linear-gradient(180deg, #0c4a6e 0%, #0e7490 100%)
}

.research-notice-bar--custom {
  background: #374151
}

.research-notice-bar--research {
  background: var(--clr-bg-dark)
}

.product-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: var(--sp-3)
}

.product-cat-chip {
  font-size: .65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 6px 10px;
  border-radius: var(--r-pill);
  border: 1px solid var(--clr-border);
  color: var(--clr-text-2);
  text-decoration: none;
  transition: color var(--t), border-color var(--t), background var(--t)
}

.product-cat-chip:hover {
  color: var(--clr-text);
  border-color: var(--clr-text-3);
  background: var(--clr-bg-soft)
}

.pdp-long-description__body {
  font-size: .9375rem;
  line-height: 1.7;
  color: var(--clr-text)
}

.pdp-long-description__body p:first-child {
  margin-top: 0
}

.pdp-long-description__body p:last-child {
  margin-bottom: 0
}

.pdp-spec-cards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: var(--sp-4)
}

.pdp-spec-highlight-card {
  display: flex;
  gap: var(--sp-3);
  align-items: flex-start;
  background: var(--clr-bg);
  border: 1px solid var(--clr-border);
  border-radius: var(--r-xl);
  padding: var(--sp-5);
  box-shadow: var(--sh-sm, 0 8px 24px rgba(0, 0, 0, .05))
}

.pdp-spec-highlight-card__icon {
  font-size: 1.5rem;
  line-height: 1;
  flex-shrink: 0
}

.pdp-spec-highlight-card__main {
  min-width: 0
}

.pdp-spec-highlight-card__pct {
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--clr-green);
  line-height: 1.15
}

.pdp-spec-highlight-card__salt {
  font-size: .9rem;
  font-weight: 700;
  color: var(--clr-text);
  margin-top: 4px
}

.pdp-spec-highlight-card__info {
  margin: 8px 0 0;
  font-size: .8125rem;
  color: var(--clr-text-2);
  line-height: 1.5
}

/* Compound panel legacy stability list — replaced by .compound-storage-boxes */

.product-single {
  padding-top: var(--sp-6);
  padding-bottom: var(--sp-16)
}

/* ── PDP — structure from amoni-pdp.jsx / amoni.css ── */
.pdp {
  padding-bottom: 0;
}

/* Matches amoni: outer .pdp (here .wc-main-content--pdp) + inner .container (.pdp-container). */
.wc-main-content--pdp {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

.wc-main-content--pdp .pdp-container.container {
  width: 100%;
}

/* Standard pages — same inner column as PDP: base `.container` (--max-w, --sp-6 padding). */
.wc-main-content--page {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

.wc-main-content--page .page-container.container {
  width: 100%;
}

/* Elementor (e.g. kit CSS: `body.elementor-page-{id} .container { max-width: 1440px; }`) — match theme width token. */
html body[class*="elementor-page-"] .container {
  max-width: var(--max-w);
  width: 100%;
}

.page-intro-band {
  background: var(--clr-bg-soft);
  padding-block: var(--sp-8);
  border-bottom: 1px solid var(--clr-border);
}

.page-intro-band__title {
  margin-top: var(--sp-3);
}

body.page .wc-main-content--page .entry-content {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--clr-text-2);
}

.wc-main-content--pdp .research-bar {
  width: 100%;
  box-sizing: border-box;
}

.pdp-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-12);
  align-items: stretch;
  margin-top: var(--sp-6);
}

/* PDP hero — reference layout: equal-height columns, gallery fills with object-cover */
.pdp-hero-shell.pdp-inner {
  align-items: stretch;
}

.pdp-gallery-column {
  display: flex;
  flex-direction: column;
  min-width: 0;
  align-self: start;
}

.pdp-hero-shell .pdp-gallery.product-gallery {
  position: static;
  top: auto;
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
  min-height: 0;
  gap: var(--sp-4);
}

.pdp-hero-shell .pdp-gallery-main.product-gallery-main {
  flex: 0 0 auto;
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 1 / 1;
  padding: 0;
  position: relative;
  display: block;
  overflow: hidden;
  background: var(--clr-bg-soft);
  border-radius: var(--r-2xl);
  border: 1px solid var(--clr-border);
}

.product-gallery-main--category {
  background: linear-gradient(180deg,
      color-mix(in srgb, var(--category-bg, #d8dcdf) 55%, #fff) 0%,
      var(--category-bg, #d8dcdf) 100%);
}

.pdp-hero-shell .pdp-gallery-main.product-gallery-main.product-gallery-main--category {
  background: linear-gradient(180deg,
      color-mix(in srgb, var(--category-bg, #d8dcdf) 55%, #fff) 0%,
      var(--category-bg, #d8dcdf) 100%);
}

.product-image-placeholder {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  padding: 1rem;
  background: transparent;
  border: none;
  box-shadow: none;
  text-align: center;
  pointer-events: none;
}

.product-image-placeholder__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: color-mix(in srgb, var(--clr-text, #15203a) 42%, transparent);
  line-height: 0;
}

.product-image-placeholder__icon .vial-svg,
.product-image-placeholder__icon svg {
  width: 3.25rem;
  height: 3.25rem;
  opacity: 0.55;
}

.product-image-placeholder__label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--clr-text-3, #5c6478) 88%, transparent);
  max-width: 12rem;
  line-height: 1.35;
}

.product-image-placeholder--pdp .product-image-placeholder__icon svg,
.product-image-placeholder--pdp .product-image-placeholder__icon .vial-svg {
  width: 4rem;
  height: 4rem;
}

.product-image-placeholder--pdp .product-image-placeholder__label {
  font-size: 0.8125rem;
}

.pdp-hero-shell .pdp-gallery-main.product-gallery-main--has-photo {
  background: #fff;
}

.pdp-hero-shell .pdp-gallery-main img,
.pdp-hero-shell .product-gallery-main img.pdp-gallery-main-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: opacity var(--t), transform var(--t-slow);
}

.pdp-hero-shell .pdp-thumbs.product-gallery-thumbs {
  flex-shrink: 0;
  margin-top: 0;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  align-items: flex-start;
  justify-content: flex-start;
}

.pdp-hero-shell .pdp-thumbs .pdp-thumb.product-gallery-thumb {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
}

.pdp-hero-shell .pdp-gallery-main:hover img,
.pdp-hero-shell .product-gallery-main:hover img {
  transform: none;
}

.pdp .breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-2);
  font-size: .8125rem;
  color: var(--clr-text-3);
  margin-bottom: var(--sp-2);
}

.pdp .breadcrumb a {
  color: var(--clr-text-3);
  text-decoration: none;
  transition: color var(--t);
}

.pdp .breadcrumb a:hover {
  color: var(--clr-text);
}

.pdp .breadcrumb .sep {
  color: var(--clr-text-3);
  user-select: none;
}

.pdp-cat {
  font-size: .7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--clr-text-3);
  margin-bottom: var(--sp-2);
  font-family: var(--font-mono, ui-monospace, monospace);
}

.pdp-cat a {
  color: inherit;
  text-decoration: none;
}

.pdp-cat a:hover {
  color: var(--clr-text);
}

.pdp-aliases {
  display: flex;
  gap: var(--sp-2);
  flex-wrap: wrap;
  margin-bottom: var(--sp-5);
}

.pdp-aliases .chip {
  display: inline-block;
  padding: 4px 10px;
  border-radius: var(--r-pill);
  border: 1px solid var(--clr-border);
  font-size: .75rem;
  font-weight: 600;
  color: var(--clr-text-2);
  text-decoration: none;
  transition: border-color var(--t), background var(--t);
}

.pdp-aliases .chip:hover {
  border-color: var(--clr-text);
  background: var(--clr-bg-soft);
}

.pdp-primary-cat {
  font-size: .8125rem;
  font-style: italic;
  font-weight: 500;
  color: var(--clr-text-2);
  margin-bottom: var(--sp-2);
  line-height: 1.3;
}

.pdp-primary-cat a {
  color: inherit;
  text-decoration: none;
}

.pdp-primary-cat a:hover {
  color: var(--clr-text);
}

.pdp-cat-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  margin-bottom: var(--sp-4);
}

.pdp .woocommerce .pdp-cat-chips {
  display: flex;
}

.pdp-cat-chip {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  border-radius: var(--r-pill);
  border: 1px solid var(--clr-border);
  font-size: .75rem;
  font-weight: 600;
  color: var(--clr-text-2);
  text-decoration: none;
  background: #fff;
  transition: border-color var(--t), color var(--t), background var(--t);
  box-sizing: border-box;
}

.pdp .woocommerce .pdp-cat-chip {
  text-decoration: none;
  color: var(--clr-text-2);
  border: 1px solid var(--clr-border);
}

.pdp-cat-chip:hover {
  border-color: var(--clr-text-3);
  color: var(--clr-text);
  background: var(--clr-bg-soft);
}

.pdp-cat-chip--static {
  cursor: default;
}

.pdp-cat-chip--static:hover {
  border-color: var(--clr-border);
  color: var(--clr-text-2);
  background: #fff;
}

.pdp-title {
  margin-bottom: var(--sp-3);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.15;
}

.pdp-desc {
  font-size: .9375rem;
  color: var(--clr-text-2);
  line-height: 1.65;
  margin-bottom: var(--sp-3);
  padding-bottom: 0;
  border-bottom: none;
}

.pdp-desc__inner {
  max-height: calc(1.65em * 2);
  overflow: hidden;
}

.pdp-desc.is-expanded .pdp-desc__inner {
  max-height: none;
  overflow: visible;
}

.pdp-desc__toggle {
  display: inline-block;
  margin-top: var(--sp-1);
  padding: 0;
  border: none;
  background: none;
  font-size: .8125rem;
  font-weight: 600;
  color: var(--clr-text);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-family: inherit;
}

.pdp-desc__toggle:hover {
  color: var(--clr-text-2);
}

.pdp-desc__inner> :first-child {
  margin-top: 0;
}

.pdp-desc__inner> :last-child {
  margin-bottom: 0;
}

.pdp-desc p:last-child {
  margin-bottom: 0;
}

.pdp-gallery-main {
  background: linear-gradient(180deg, #e8f5ed 0%, #cfe8d8 100%);
  padding: var(--sp-16);
}

.pdp .pdp-gallery-main img,
.pdp-gallery-main img {
  max-height: 340px;
}

.pdp-hero-shell .pdp-gallery-main img,
.pdp-hero-shell .pdp-gallery-main .pdp-gallery-main-img {
  max-height: none;
}

.pdp-thumb {
  width: 80px;
  height: 80px;
  border-width: 1.5px;
  padding: var(--sp-3);
  background: var(--clr-bg-soft);
}

.pdp-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pdp-price-row {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: var(--sp-2);
  margin-bottom: var(--sp-5);
}

.pdp-price,
.pdp-price .price {
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: -.04em;
  margin: 0;
}

.pdp-atc {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
  margin-bottom: var(--sp-4);
}

.pdp-atc .atc-section {
  margin-bottom: 0;
}

.pdp-field-label {
  display: block;
  font-size: .8125rem;
  font-weight: 700;
  color: var(--clr-text);
  margin-bottom: var(--sp-1);
}

.pdp-qty-block {
  width: 100%;
  max-width: 148px;
  margin-bottom: var(--sp-2);
}

.pdp-price-qty-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--sp-2) var(--sp-4);
  width: 100%;
  margin-bottom: var(--sp-2);
}

.pdp-price-qty-row .pdp-qty-block {
  margin-bottom: 0;
  flex: 0 1 auto;
  max-width: 170px;
}

.pdp-price-qty-row__price {
  flex: 0 0 auto;
  margin-left: auto;
  text-align: right;
}

.pdp-price-qty-row__price .price {
  margin: 0;
  font-size: 1.65rem;
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1;
}

.pdp-qty-block .quantity {
  margin: 0;
}

.pdp-actions-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: var(--sp-3);
  width: 100%;
}

.pdp-actions-row .pdp-coa-atc-btn {
  flex: 0 0 auto !important;
}

.pdp-actions-row .single_add_to_cart_button.button {
  flex: 1 1 auto !important;
}

.pdp-actions-row .atc-coa-btn__ic {
  display: inline-flex;
  line-height: 0;
  flex-shrink: 0;
}

.pdp-trust-strip {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: var(--sp-3);
  padding: var(--sp-2) var(--sp-5);
  margin-top: var(--sp-2);
  margin-bottom: var(--sp-4);
  background: var(--clr-bg-soft);
  border-radius: var(--r-lg);
  border: 1px solid var(--clr-border);
}

.pdp-trust-strip__item {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  gap: var(--sp-2);
  min-width: 0;
  padding: var(--sp-1) var(--sp-2);
}

.pdp-trust-strip__ic {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--clr-green);
  line-height: 0;
  margin-top: 0;
  width: 16px;
  height: 16px;
}

.pdp-trust-strip__ic svg {
  width: 16px;
  height: 16px;
  display: block;
}

.pdp-trust-strip__ic--bolt {
  font-size: 16px;
  line-height: 1;
  width: 16px;
  height: 16px;
}

.pdp-trust-strip__txt {
  margin: 0;
  font-size: .72rem;
  line-height: 1.35;
  color: var(--clr-text-3);
  text-align: center;
  max-width: 12rem;
}

.payment-strip--pdp {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-2);
  margin-bottom: var(--sp-5);
  padding: 0;
  background: none;
  border: none;
}

.payment-strip--pdp .payment-strip-title {
  font-size: .65rem;
  font-weight: 600;
  color: var(--clr-text-3);
  margin: 0;
  text-transform: none;
  letter-spacing: 0;
}

.payment-strip--pdp .payment-icons--inline {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  flex-wrap: wrap;
}

.payment-strip--pdp .payment-badge {
  display: flex;
  align-items: center;
  line-height: 0;
  overflow: visible;
  color: #0a0a0a;
}

.payment-strip--pdp .payment-badge--visa {
  color: #1434CB;
}

.payment-strip--pdp .payment-badge__img {
  display: block;
  width: auto;
  max-width: 100%;
}

.payment-strip--pdp .payment-badge__img--apple {
  height: 1.5rem;
}

.payment-strip--pdp .payment-badge__img--visa {
  height: 1.25rem;
}

.payment-strip--pdp .payment-badge--mc svg {
  display: block;
  height: 16px;
  width: auto;
}

.pdp .payment-strip.payment-strip--pdp .payment-strip-title {
  font-size: .65rem;
  font-weight: 600;
  color: var(--clr-text-3);
  margin: 0;
  padding: 0;
  text-transform: none;
  letter-spacing: 0;
  font-family: inherit;
}

.pdp .pdp-trust-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-3);
  margin-bottom: var(--sp-5)
}

.pdp .pdp-trust-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: var(--sp-4);
  background: var(--clr-bg-soft);
  border: 1px solid var(--clr-border);
  border-radius: var(--r-md);
  text-align: center;
  transition: border-color var(--t), box-shadow var(--t);
}

.pdp .pdp-trust-item:hover {
  border-color: var(--clr-green);
  box-shadow: 0 0 0 3px rgba(26, 138, 82, .08);
}

.pdp .pdp-trust-item .ic {
  color: var(--clr-green);
  display: flex;
  justify-content: center;
  line-height: 0;
}

.pdp .pdp-trust-item .lbl {
  font-size: .7rem;
  font-weight: 700;
  color: var(--clr-text-2);
  line-height: 1.3;
}

.pdp .pdp-trust-item .sub {
  font-size: .65rem;
  color: var(--clr-text-3);
  font-family: var(--font-mono, ui-monospace, monospace);
}

.pdp .payment-strip:not(.payment-strip--pdp) {
  padding: var(--sp-3) var(--sp-4);
  background: var(--clr-bg-soft);
  border: 1px solid var(--clr-border);
  border-radius: var(--r-md);
}

.pdp .payment-strip.payment-strip--pdp {
  padding: 0 !important;
  margin: 0;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
}

.pdp .payment-strip-title {
  font-size: .68rem;
  font-weight: 700;
  color: var(--clr-text-3);
  margin-bottom: var(--sp-2);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-family: var(--font-mono, ui-monospace, monospace);
}

.pdp .payment-icons {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  flex-wrap: wrap;
}

.pdp .payment-icon {
  min-height: 22px;
  display: inline-flex;
  align-items: center;
  color: var(--clr-text-3);
  font-size: .7rem;
  font-weight: 700;
  padding: 3px 8px;
  border: 1px solid var(--clr-border);
  border-radius: 4px;
  background: #fff;
  font-family: var(--font-mono, ui-monospace, monospace);
}

.pdp .pdp-below {
  margin-top: var(--sp-16);
  gap: var(--sp-12);
}

.pdp .woocommerce-product-rating {
  margin-bottom: var(--sp-3);
}

@media (max-width: 900px) {
  .pdp-inner {
    grid-template-columns: 1fr;
    gap: var(--sp-8);
  }

  .pdp-gallery,
  .pdp .product-gallery {
    position: static;
  }

  .pdp .pdp-trust-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .pdp-trust-strip {
    flex-direction: column;
    align-items: stretch;
  }
}

.product-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-12);
  align-items: start
}

.pdp-hero-shell.product-layout {
  align-items: stretch;
}

.pdp-info-col {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* Gallery */
.product-gallery {
  position: sticky;
  top: calc(var(--header-h) + var(--sp-6))
}

.product-gallery-main {
  background: var(--clr-bg-soft);
  border-radius: var(--r-2xl);
  border: 1px solid var(--clr-border);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--sp-12);
  aspect-ratio: 1;
  overflow: hidden;
}

.product-gallery-main img {
  max-height: 340px;
  width: auto;
  object-fit: contain;
  transition: transform var(--t-slow)
}

.product-gallery-main:hover img {
  transform: scale(1.03)
}

.product-gallery-thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-3);
  margin-top: var(--sp-4)
}

.product-gallery-thumb {
  width: 72px;
  height: 72px;
  padding: 0;
  border: 2px solid var(--clr-border);
  border-radius: var(--r-md);
  background: var(--clr-bg-soft);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: border-color var(--t), box-shadow var(--t)
}

.product-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.product-gallery-thumb:hover,
.product-gallery-thumb.is-active {
  border-color: var(--clr-text);
  box-shadow: 0 0 0 2px rgba(0, 0, 0, .06)
}

.pdp-gallery-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .875rem;
  color: var(--clr-text-3);
}

.pdp-below {
  margin-top: var(--sp-12);
  display: flex;
  flex-direction: column;
  gap: 0
}

.pdp-section {
  scroll-margin-top: calc(var(--header-h) + var(--sp-4))
}

.pdp-section--ruled {
  padding-top: var(--sp-10);
  margin-top: var(--sp-2);
  border-top: 1px solid var(--clr-border)
}

.pdp-section-intro--row {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-4);
  margin-bottom: var(--sp-6)
}

.pdp-section-intro-text {
  flex: 1;
  min-width: 0
}

.pdp-section-intro--row .pdp-section-title {
  margin-bottom: var(--sp-2)
}

.pdp-section-intro-icon--muted {
  width: 48px;
  height: 48px;
  border-radius: var(--r-lg);
  background: var(--clr-bg-soft);
  border: 1px solid var(--clr-border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--clr-text-2);
  flex-shrink: 0
}

.pdp-section-intro-icon--book {
  background: rgba(219, 234, 254, .65);
  border-color: rgba(37, 99, 235, .15);
  color: var(--clr-blue, #2563eb)
}

.pdp-section-intro-icon--frost {
  background: rgba(224, 242, 254, .8);
  border-color: rgba(14, 165, 233, .2);
  font-size: 1.35rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center
}

.pdp-section-intro-icon--refs-stack {
  width: 48px;
  height: 48px;
  border-radius: var(--r-lg);
  background: rgba(16, 185, 129, .14);
  border: 1px solid rgba(16, 185, 129, .28);
  color: #059669;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.pdp-section-intro-icon--package {
  width: 48px;
  height: 48px;
  border-radius: var(--r-lg);
  background: rgba(239, 246, 255, .95);
  border: 1px solid rgba(37, 99, 235, .14);
  color: var(--clr-blue, #2563eb);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

/* PDP specifications card — desktop: half column width, left-aligned; narrow viewports: full width */
.pdp-specifications.pdp-spec-card {
  width: 100%;
  max-width: 50%;
  margin-inline-start: 0;
  margin-inline-end: auto
}

@media (max-width: 900px) {
  .pdp-specifications.pdp-spec-card {
    max-width: 100%
  }
}

.pdp-spec-empty {
  margin: 0;
  font-size: .875rem;
  line-height: 1.5
}

/* Label left, value right; optional info full width below */
.pdp-specifications .pdp-spec-card__kicker {
  margin-top: 0
}

.pdp-spec-items {
  margin: 0
}

.pdp-spec-item {
  padding: var(--sp-4) 0;
  border-bottom: 1px solid var(--clr-border)
}

.pdp-spec-item:first-child {
  padding-top: 0
}

.pdp-spec-item:last-child {
  border-bottom: none;
  padding-bottom: 0
}

.pdp-spec-item__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--sp-4) var(--sp-5);
  align-items: baseline
}

.pdp-spec-item__row--value-only {
  grid-template-columns: 1fr;
  justify-items: end
}

.pdp-spec-item__name {
  font-size: .875rem;
  font-weight: 500;
  color: var(--clr-text-2);
  margin: 0;
  line-height: 1.45;
  min-width: 0
}

.pdp-spec-item__value {
  font-size: .9375rem;
  font-weight: 700;
  color: var(--clr-text);
  line-height: 1.4;
  text-align: right
}

.pdp-spec-item__row--value-only .pdp-spec-item__value {
  text-align: right;
  justify-self: end
}

.pdp-spec-item__info {
  margin: var(--sp-2) 0 0;
  font-size: .8125rem;
  line-height: 1.5;
  color: var(--clr-text-3)
}

.pdp-spec-table-striped {
  width: 100%;
  border-collapse: collapse;
  font-size: .875rem;
  border: 1px solid var(--clr-border);
  border-radius: var(--r-lg);
  overflow: hidden
}

.pdp-spec-table-striped tr:nth-child(odd) {
  background: var(--clr-bg-soft)
}

.pdp-spec-table-striped tr:nth-child(even) {
  background: var(--clr-bg)
}

.pdp-spec-table-striped th,
.pdp-spec-table-striped td {
  padding: 12px 14px;
  text-align: left;
  border-bottom: 1px solid var(--clr-border);
  vertical-align: top
}

.pdp-spec-table-striped tr:last-child th,
.pdp-spec-table-striped tr:last-child td {
  border-bottom: none
}

.pdp-spec-table-striped th {
  width: 38%;
  font-weight: 700;
  color: var(--clr-text-2);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .06em
}

.pdp-spec-table-striped td {
  font-weight: 600;
  color: var(--clr-text)
}

.references-panel {
  --ref-journal-green: #10b981;
  --ref-meta-gray: #6b7280
}

.references-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-5)
}

@media (max-width: 900px) {
  .references-strip {
    grid-template-columns: 1fr
  }
}

.reference-tile__inner {
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 100%;
  min-height: 148px;
  padding: clamp(18px, 2.5vw, 24px);
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
  transition: box-shadow var(--t), border-color var(--t)
}

.reference-tile__inner--link:hover {
  border-color: #d1d5db;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .06)
}

.reference-tile__kicker {
  font-size: .65rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--ref-journal-green)
}

.reference-tile__title {
  font-size: .9375rem;
  font-weight: 700;
  color: #111827;
  line-height: 1.35
}

.reference-tile__meta {
  font-size: .75rem;
  color: var(--ref-meta-gray)
}

.reference-tile__authors {
  font-size: .8125rem;
  color: var(--ref-meta-gray);
  line-height: 1.45
}

.reference-tile__cta {
  margin-top: auto;
  padding-top: var(--sp-3);
  font-size: .78rem;
  font-weight: 700;
  color: var(--clr-green);
  display: inline-flex;
  align-items: center;
  gap: 6px
}

.reference-tile__cta-ic {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--clr-green)
}

.reference-tile__cta-ic svg {
  display: block
}

.product-trust--pdp {
  margin-top: var(--sp-5);
  margin-bottom: 0
}

.product-trust--pdp .product-trust-item {
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  text-align: left;
  background: #f1f5f9;
  border-color: #e2e8f0
}

.product-trust--pdp .product-trust-item .label {
  font-size: .78rem;
  font-weight: 700
}

.product-trust--pdp .product-trust-item .sub {
  display: none
}

.atc-section--pdp .variations {
  margin-bottom: var(--sp-2);
}

.atc-section--pdp .variations tr {
  display: block;
  margin-bottom: var(--sp-2);
}

.atc-section--pdp .variations th.label,
.atc-section--pdp .variations td.label {
  display: block;
  width: 100%;
  padding: 0 0 8px;
  font-size: .875rem;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
  color: var(--clr-text);
  text-align: left;
}

.atc-section--pdp .variations td.value {
  display: block;
  width: 100%;
  padding: 0
}

.atc-section--pdp .retaup-variation-picker {
  position: relative
}

.atc-section--pdp .retaup-variation-select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  opacity: 0
}

.atc-section--pdp .retaup-variation-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center
}

.atc-section--pdp .retaup-swatch {
  appearance: none;
  margin: 0;
  padding: 10px 20px;
  border-radius: var(--r-pill);
  border: 1px solid var(--clr-border);
  background: transparent;
  color: var(--clr-text-2);
  font-size: .9rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  line-height: 1.2;
  transition: border-color .15s ease, background .15s ease, color .15s ease
}

.atc-section--pdp .retaup-swatch:hover:not(:disabled):not(.is-selected) {
  background: transparent;
  border-color: var(--clr-text-3);
  color: var(--clr-text-2);
}

.atc-section--pdp .retaup-swatch.is-selected {
  background: #0a0a0a;
  color: #fff;
  border-color: #0a0a0a;
}

.atc-section--pdp .retaup-swatch.is-disabled {
  opacity: .45;
  cursor: not-allowed
}

.atc-section--pdp .retaup-swatch:focus-visible {
  outline: 2px solid var(--clr-green, #1a8a52);
  outline-offset: 2px
}

.atc-section--pdp .woocommerce-variation-price {
  margin: 0 !important;
}

.atc-section--pdp .woocommerce-variation-price .price {
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: -.04em;
  color: var(--clr-text)
}

.atc-section--pdp .woocommerce-variation-availability {
  margin-bottom: 0 !important;
  margin-top: 0;
  font-size: .85rem
}

.atc-section--pdp form.cart:not(.variations_form) {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 12px;
  margin-bottom: 0
}

.atc-section--pdp form.cart.variations_form .woocommerce-variation-add-to-cart.variations_button {
  display: contents;
  width: 100%;
}

.atc-section--pdp form.cart:not(.variations_form) .quantity,
.atc-section--pdp form.cart.variations_form .variations_button .quantity {
  flex: 1 1 100%;
  width: 100%;
  margin: 0
}

.atc-section--pdp form.cart .quantity .qty-control {
  display: flex;
  align-items: stretch;
  max-width: 148px;
  border: 1.5px solid var(--clr-border);
  border-radius: var(--r-pill);
  overflow: hidden;
  background: #fff
}

.atc-section--pdp form.cart .quantity .qty-control .qty-btn {
  width: 32px;
  min-height: 36px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: #fff;
  color: var(--clr-text-2);
  cursor: pointer;
  transition: background var(--t)
}

.atc-section--pdp form.cart .quantity .qty-control .qty-btn:hover {
  background: var(--clr-bg-soft)
}

.atc-section--pdp form.cart .quantity .qty-control .qty {
  flex: 1;
  min-width: 28px;
  height: 36px;
  margin: 0;
  border: none;
  border-inline: 1px solid var(--clr-border);
  border-radius: 0;
  text-align: center;
  font-size: .875rem;
  font-weight: 700;
  -moz-appearance: textfield;
  appearance: textfield
}

.atc-section--pdp form.cart .quantity .qty-control .qty::-webkit-outer-spin-button,
.atc-section--pdp form.cart .quantity .qty-control .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0
}

.atc-section--pdp form.cart .single_add_to_cart_button.button {
  flex: 1 1 auto;
  min-width: 0;
  width: auto !important;
  max-width: none !important;
  padding: 14px 24px;
  border-radius: var(--r-pill);
  border: none;
  background: #0a0a0a !important;
  color: #fff !important;
  box-shadow: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.atc-section--pdp form.cart .pdp-coa-atc-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex: 0 0 auto;
  min-width: 0;
  padding: 12px 20px !important;
  border-radius: var(--r-pill) !important;
  font-weight: 600 !important;
  font-size: .9375rem !important;
  border: 1.5px solid var(--clr-border) !important;
  background: #fff !important;
  color: var(--clr-text) !important;
  box-shadow: none !important;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  cursor: pointer
}

.atc-section--pdp form.cart .pdp-coa-atc-btn:hover {
  background: var(--clr-bg-soft) !important;
  color: var(--clr-text) !important
}

.atc-section--pdp form.cart .single_add_to_cart_button.button:hover:not(:disabled) {
  background: #262626 !important;
  color: #fff !important
}

.atc-section--pdp form.cart .single_add_to_cart_button.button:disabled {
  opacity: .88;
  cursor: not-allowed
}

.woocommerce .product .pdp-atc form.cart .single_add_to_cart_button.button.alt,
.woocommerce-page .product .pdp-atc form.cart .single_add_to_cart_button.button.alt {
  background: #0a0a0a !important;
  color: #fff !important;
  border-color: transparent !important;
}

.woocommerce .product .pdp-atc form.cart .single_add_to_cart_button.button.alt:hover:not(:disabled),
.woocommerce-page .product .pdp-atc form.cart .single_add_to_cart_button.button.alt:hover:not(:disabled) {
  background: #262626 !important;
  color: #fff !important;
}

.pdp-atc .variations .reset_variations {
  display: none !important;
}

/* Variable product: row — [Quantity left] | [price + stock right]; then full-width CoA + ATC */
.pdp-atc .single_variation_wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto auto auto;
  column-gap: var(--sp-4);
  row-gap: var(--sp-2);
  align-items: start;
  justify-items: stretch;
  position: relative;
}

.pdp-atc .single_variation_wrap>.woocommerce-variation.single_variation {
  display: contents;
}

.pdp-atc .single_variation_wrap>.variations_button {
  display: contents;
}

.pdp-atc .single_variation_wrap .woocommerce-variation-description {
  grid-column: 1 / -1;
  grid-row: 1;
}

.pdp-atc .single_variation_wrap .woocommerce-variation-description:empty {
  display: none;
}

.pdp-atc .single_variation_wrap .woocommerce-variation-price .price {
  font-size: 1.65rem;
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1;
  margin: 0;
}

.pdp-atc .single_variation_wrap .woocommerce-variation-price {
  grid-column: 2;
  grid-row: 2;
  margin: 0 !important;
  justify-self: end;
  align-self: start;
  text-align: right;
}

.pdp-atc .single_variation_wrap .woocommerce-variation-availability {
  grid-column: 2;
  grid-row: 3;
  justify-self: end;
  align-self: start;
  text-align: right;
  margin: 0 !important;
  font-size: .72rem;
  color: var(--clr-text-3);
}

.pdp-atc .single_variation_wrap .pdp-qty-block {
  grid-column: 1;
  grid-row: 2 / span 2;
  justify-self: start;
  align-self: start;
  margin-bottom: 0 !important;
  max-width: 148px;
  width: 100%;
}

.pdp-atc .single_variation_wrap .pdp-actions-row {
  grid-column: 1 / -1;
  grid-row: 4;
  margin-top: var(--sp-2);
}

.pdp-atc .single_variation_wrap>input[type="hidden"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* PDP cart: simple products — vertical stack for qty block + actions */
.pdp-atc .atc-section--pdp form.cart:not(.variations_form) {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 0;
}

.pdp-atc .atc-section--pdp form.cart:not(.variations_form) .quantity,
.pdp-atc .atc-section--pdp form.cart.variations_form .variations_button .quantity {
  flex: 0 0 auto;
  width: auto;
  margin: 0;
}

.pdp-atc form.cart:not(.variations_form) .pdp-actions-row {
  margin-top: var(--sp-2);
}

.pdp-atc .atc-section--pdp form.cart .quantity .qty-control {
  max-width: 148px;
}

.pdp-atc .atc-section--pdp form.cart .pdp-atc-btn-ic {
  display: inline-flex;
  line-height: 0;
  flex-shrink: 0;
}

.pdp-atc .atc-section--pdp form.cart .pdp-atc-btn-ic svg {
  display: block;
}

.pdp .atc-section--pdp .retaup-swatch {
  border-radius: var(--r-pill);
  padding: 9px 22px;
  border-width: 1px;
  color: var(--clr-text-2);
  border-color: var(--clr-border);
  background: transparent;
}

.pdp .atc-section--pdp .retaup-swatch.is-selected {
  background: #0a0a0a;
  color: #fff;
  border-color: #0a0a0a;
}

@media (max-width: 640px) {
  .pdp-actions-row {
    flex-wrap: wrap;
  }

  .pdp-actions-row .single_add_to_cart_button.button {
    flex: 1 1 100% !important;
    min-width: 100%;
  }
}

.pdp-trust-inline {
  margin-top: var(--sp-6);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--clr-border)
}

.pdp-trust-mini {
  list-style: none;
  margin: 0 0 var(--sp-3);
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
  font-size: .8125rem;
  color: var(--clr-text-2)
}

.pdp-trust-mini li {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  margin: 0
}

.pdp-trust-mini__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: var(--clr-green-bg);
  color: var(--clr-green);
  font-size: .65rem;
  font-weight: 800;
  flex-shrink: 0
}

.pdp-trust-payments {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center
}

.pdp-pay-badge {
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .08em;
  padding: 6px 10px;
  border-radius: 4px;
  border: 1px solid var(--clr-border);
  color: var(--clr-text-3);
  background: var(--clr-bg)
}

.pdp-trust-wide {
  background: #ecfdf5;
  border-top: 1px solid rgba(16, 185, 129, .2);
  border-bottom: 1px solid rgba(16, 185, 129, .15);
  padding: var(--sp-5) 0;
  margin-top: var(--sp-8);
  border-radius: var(--r-lg, 12px)
}

.pdp-trust-wide__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: var(--sp-4) var(--sp-6)
}

.pdp-trust-wide__item {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  font-size: .875rem;
  font-weight: 600;
  color: #166534
}

.pdp-trust-wide__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--clr-green, #1a8a52)
}

.pdp-trust-wide__icon svg {
  display: block
}

@media (max-width: 768px) {
  .pdp-trust-wide__inner {
    flex-direction: column;
    align-items: flex-start
  }
}

/* Related products — sibling of .pdp-container under .wc-main-content--pdp (no 100vw; avoids x-scroll). */
.pdp-related-band {
  margin-top: var(--sp-16);
  padding: var(--sp-12) 0 var(--sp-16);
  width: 100%;
  box-sizing: border-box;
  background: var(--clr-bg)
}

.pdp-related-band__title {
  text-align: center;
  font-size: 1.5rem;
  margin: 0 0 var(--sp-8);
  letter-spacing: -.02em
}

.ac-product-grid--related {
  justify-items: stretch
}

.pdp-section--tight {
  margin-top: 0;
  margin-bottom: 0
}

.pdp-section-title {
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 800;
  letter-spacing: -.02em;
  margin: 0 0 var(--sp-2);
  display: flex;
  align-items: center;
  gap: var(--sp-2);
}

.pdp-section-sub {
  margin: 0
}

.title-xs-muted {
  font-size: .8125rem;
  color: var(--clr-text-3)
}

.pdp-section-intro {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-3);
  margin-bottom: var(--sp-6)
}

.pdp-section-intro-icon {
  width: 44px;
  height: 44px;
  border-radius: var(--r-md);
  background: var(--clr-bg-soft);
  border: 1px solid var(--clr-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0
}

.pdp-section-intro-icon--green {
  background: var(--clr-green-bg);
  border-color: rgba(26, 138, 82, .25)
}

.product-trust--inline .icon {
  color: var(--clr-green);
  display: flex;
  justify-content: center
}

.product-trust-below-hero .product-trust-item .icon {
  color: var(--clr-green)
}

.payment-icon-faux {
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .06em;
  padding: 4px 8px;
  border: 1px solid var(--clr-border);
  border-radius: 4px;
  color: var(--clr-text-3)
}

.pdp-coa-badge {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  margin-top: var(--sp-4);
  padding: var(--sp-3) var(--sp-4);
  background: var(--clr-green-bg);
  border: 1px solid rgba(26, 138, 82, .2);
  border-radius: var(--r-md)
}

.pdp-coa-badge__purity {
  font-weight: 700;
  color: var(--clr-green)
}

.pdp-price-wrap {
  margin-bottom: var(--sp-4)
}

.pdp-price-wrap .price {
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: -.04em
}

/* Legacy — plugin provides CoA button styles */
.coa-view-btn--muted {
  background: var(--clr-bg-soft);
  color: var(--clr-text);
  border: 1px solid var(--clr-border)
}

.coa-view-btn--muted:hover {
  background: var(--clr-border)
}

.pdp-spec-card {
  background: var(--clr-bg);
  border: 1px solid var(--clr-border);
  border-radius: var(--r-xl);
  padding: var(--sp-6);
  box-shadow: var(--sh-sm, 0 8px 24px rgba(0, 0, 0, .06))
}

.pdp-spec-card__kicker {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--clr-green);
  margin-bottom: var(--sp-4)
}

.pdp-spec-card__kicker svg {
  flex-shrink: 0;
  color: var(--clr-green)
}

.storage-grid--tint .storage-card--tint {
  background: linear-gradient(180deg, rgba(219, 234, 254, .45) 0%, rgba(224, 242, 254, .35) 100%);
  border-color: rgba(37, 99, 235, .12)
}

.storage-card-kicker {
  font-size: .65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--clr-text-3);
  margin-bottom: 4px
}

.pdp-storage-section .storage-grid--pdp-storage {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-4)
}

@media (max-width: 900px) {
  .pdp-storage-section .storage-grid--pdp-storage {
    grid-template-columns: 1fr
  }
}

.pdp-storage-section .storage-card--pdp {
  padding: var(--sp-5) var(--sp-5);
  background: #f0f7ff;
  border: 1px solid rgba(37, 99, 235, .12);
  border-radius: 12px;
  text-align: center;
  transition: border-color var(--t)
}

.pdp-storage-section .storage-card--pdp:hover {
  border-color: rgba(37, 99, 235, .22)
}

.pdp-storage-section .storage-card--pdp .storage-card-kicker {
  color: #6b7280;
  margin-bottom: 6px
}

.pdp-storage-section .storage-card--pdp .storage-card-val {
  font-family: inherit;
  font-size: 1.0625rem;
  font-weight: 700;
  color: #111827;
  margin-bottom: 6px
}

.pdp-storage-section .storage-card-icon-wrap {
  font-size: 1.5rem;
  line-height: 1;
  margin: 0 auto var(--sp-3);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--clr-blue, #2563eb)
}

.pdp-storage-section .storage-card-icon-wrap svg {
  flex-shrink: 0
}

.pdp-storage-section .storage-card-desc {
  font-size: .75rem;
  color: #6b7280;
  margin: 0;
  line-height: 1.5
}

.pdp-warnings-box {
  margin-top: var(--sp-6);
  padding: var(--sp-5) var(--sp-6);
  background: #fffaf0;
  border: 1px solid rgba(251, 146, 60, .45);
  border-radius: 12px
}

.pdp-warnings-box__title {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  font-weight: 800;
  text-transform: uppercase;
  font-size: .78rem;
  letter-spacing: .06em;
  color: #7f1d1d;
  margin-bottom: var(--sp-3)
}

.pdp-warnings-box__ic {
  display: flex;
  color: #b45309;
  flex-shrink: 0
}

.pdp-warnings-list {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: .8125rem;
  color: #4b5563;
  line-height: 1.55
}

.pdp-warnings-list li {
  position: relative;
  padding-left: 1.1rem;
  margin-bottom: 8px
}

.pdp-warnings-list li:last-child {
  margin-bottom: 0
}

.pdp-warnings-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .55em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #f97316
}

.pdp-research-notice {
  background: rgba(253, 242, 248, .95);
  border: 1px solid rgba(190, 24, 93, .2);
  border-radius: var(--r-xl);
  padding: var(--sp-6)
}

.pdp-research-notice__title {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  color: #9f1239;
  font-size: 1rem;
  margin: 0 0 var(--sp-3)
}

.pdp-research-notice__body {
  font-size: .875rem;
  color: var(--clr-text-2);
  line-height: 1.65
}

.pdp-research-notice__body p {
  margin: 0 0 .75rem
}

.compound-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-5);
  align-items: stretch;
}

.compound-grid-2--info {
  gap: 1.25rem;
}

@media (min-width: 901px) {
  .compound-grid-2.compound-grid-2--info {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
  }

  .compound-grid-2--info>.compound-card--white {
    flex: 0 1 calc(100% / 3);
    max-width: calc(100% / 3);
    min-width: 0;
  }
}

@media (max-width:900px) {
  .compound-grid-2 {
    grid-template-columns: 1fr
  }

  .compound-grid-2--info {
    display: grid;
  }
}

.compound-panel__intro .compound-panel__intro-icon {
  color: var(--clr-green);
  line-height: 0;
}

.compound-panel__title {
  margin-bottom: 0.25rem;
}

.compound-panel__subtitle {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.45;
  color: #6b7280;
  font-weight: 500;
}

.compound-card--white {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  padding: 1.5rem;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

.compound-card__kicker {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.625rem;
}

.compound-card__kicker-icon {
  color: #6b7280;
  line-height: 0;
  display: inline-flex;
}

.compound-card__kicker-icon--blue {
  color: #3b82f6;
}

.compound-card__kicker-text {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6b7280;
}

.compound-card__title {
  font-size: 1.0625rem;
  font-weight: 700;
  margin: 0 0 1rem;
  color: #111827;
  line-height: 1.35;
}

.compound-spec-panel {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  overflow: hidden;
  margin-bottom: 1.25rem;
  flex: 1;
  min-height: 0;
}

.compound-spec-table {
  width: 100%;
  border-collapse: collapse;
}

.compound-spec-table--panel tbody tr {
  border-bottom: 1px solid #e5e7eb;
}

.compound-spec-table--panel tbody tr:last-child {
  border-bottom: none;
}

.compound-spec-table--panel th,
.compound-spec-table--panel td {
  padding: 0.65rem 1rem;
  font-size: 0.875rem;
  line-height: 1.45;
  vertical-align: top;
}

.compound-spec-table--panel th {
  width: 44%;
  font-weight: 500;
  color: #6b7280;
  text-align: left;
}

.compound-spec-table--panel td {
  font-weight: 600;
  color: #111827;
  text-align: right;
}

.compound-pubchem {
  margin-top: auto;
  padding-top: 0.25rem;
}

.compound-pubchem__link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #64748b;
  text-decoration: none;
  line-height: 1.2;
}

.compound-pubchem__link svg {
  flex-shrink: 0;
}

.compound-pubchem__link:hover {
  color: #3b82f6;
}

.compound-storage-taglist {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.compound-storage-pill {
  display: block;
  margin: 0;
  padding: 0.5rem 0.75rem;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #374151;
  line-height: 1.4;
}

.compound-storage-boxes {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.compound-storage-box {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.85rem 1rem;
  border: 1px solid #e5e7eb;
  border-radius: 0.75rem;
  background: #fff;
}

.compound-storage-box__icon {
  flex-shrink: 0;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.compound-storage-box--accent-0 .compound-storage-box__icon {
  background: #e0f2fe;
  color: #0284c7;
}

.compound-storage-box--accent-1 .compound-storage-box__icon {
  background: #d1fae5;
  color: #059669;
}

.compound-storage-box__emoji {
  font-size: 1.2rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.compound-storage-box__body {
  min-width: 0;
  flex: 1;
}

.compound-storage-box__title {
  font-size: 0.875rem;
  font-weight: 700;
  color: #111827;
  line-height: 1.3;
}

.compound-storage-box__meta {
  margin-top: 0.2rem;
  line-height: 1.4;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 0.35rem;
}

.compound-storage-box__temp {
  font-size: 0.875rem;
  font-weight: 700;
  color: #111827;
  margin-right: 0.15rem;
}

.compound-storage-box__meta-sep {
  font-size: 0.75rem;
  font-weight: 400;
  color: #6b7280;
}

.compound-storage-box__dur {
  font-size: 0.75rem;
  font-weight: 400;
  color: #6b7280;
}

.references-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: var(--sp-4)
}

.reference-card__cat {
  font-size: .65rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--clr-green);
  margin-bottom: var(--sp-2)
}

.reference-card__title {
  font-size: .9375rem;
  font-weight: 700;
  margin-bottom: var(--sp-2);
  line-height: 1.35;
  color: var(--clr-text)
}

.reference-card__meta {
  font-size: .75rem;
  color: var(--clr-text-3);
  margin-bottom: var(--sp-2)
}

.reference-card__authors {
  font-size: .75rem;
  color: var(--clr-text-3);
  margin-bottom: var(--sp-2)
}

.reference-card__link {
  font-size: .75rem;
  font-weight: 700;
  color: var(--clr-text);
  display: inline-flex;
  align-items: center;
  gap: 4px
}

a.reference-card {
  text-decoration: none;
  color: inherit
}

/* Product info column */
.product-info-col {}

.product-aliases {
  display: flex;
  gap: var(--sp-2);
  flex-wrap: wrap;
  margin-bottom: var(--sp-5)
}

.product-cat-label {
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--clr-text-3);
  margin-bottom: var(--sp-2)
}

.product-title {
  margin-bottom: var(--sp-3)
}

.product-desc {
  font-size: .9375rem;
  color: var(--clr-text-2);
  line-height: 1.75;
  margin-bottom: var(--sp-6);
  padding-bottom: var(--sp-6);
  border-bottom: 1px solid var(--clr-border)
}

/* Variant selector */
.variant-label {
  font-size: .875rem;
  font-weight: 600;
  margin-bottom: var(--sp-2)
}

.variant-btns {
  display: flex;
  gap: var(--sp-2);
  flex-wrap: wrap;
  margin-bottom: var(--sp-5)
}

.variant-btn {
  padding: 8px 20px;
  border: 1.5px solid var(--clr-border);
  border-radius: var(--r-pill);
  font-size: .9rem;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--t);
  background: transparent;
  color: var(--clr-text);
  font-family: var(--font-body);
}

.variant-btn.active,
.variant-btn:hover {
  background: var(--clr-accent);
  color: #fff;
  border-color: var(--clr-accent)
}

/* Price */
.product-price-row {
  display: flex;
  align-items: baseline;
  gap: var(--sp-2);
  margin-bottom: var(--sp-5)
}

.product-price {
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: -.04em
}

.product-price-compare {
  font-size: 1.1rem;
  color: var(--clr-text-3);
  text-decoration: line-through
}

/* Add to cart */
.atc-section {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  margin-bottom: var(--sp-5)
}

.qty-row {
  display: flex;
  align-items: center;
  gap: var(--sp-3)
}

.qty-ctrl {
  display: flex;
  align-items: center;
  border: 1.5px solid var(--clr-border);
  border-radius: var(--r-pill);
  overflow: hidden;
  background: #fff
}

.qty-btn {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  color: var(--clr-text-2);
  transition: background var(--t)
}

.qty-btn:hover {
  background: var(--clr-bg-soft)
}

.qty-input {
  width: 48px;
  text-align: center;
  border: none;
  border-inline: 1px solid var(--clr-border);
  height: 40px;
  font-size: .9375rem;
  font-weight: 700;
  outline: none
}

.qty-input::-webkit-outer-spin-button,
.qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none
}

/* Payment strip */
.payment-strip {
  padding: var(--sp-3) var(--sp-4);
  background: var(--clr-bg-soft);
  border-radius: var(--r-md);
  border: 1px solid var(--clr-border)
}

.payment-strip-title {
  font-size: .75rem;
  font-weight: 600;
  color: var(--clr-text-3);
  margin-bottom: var(--sp-2);
  text-transform: uppercase;
  letter-spacing: .06em
}

.payment-icons {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  flex-wrap: wrap
}

.payment-icon {
  height: 22px;
  width: auto;
  opacity: .7
}

/* Trust mini row */
.product-trust-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-3);
  margin-bottom: var(--sp-5)
}

.product-trust-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: var(--sp-3);
  background: var(--clr-bg-soft);
  border: 1px solid var(--clr-border);
  border-radius: var(--r-md);
  text-align: center;
  transition: border-color var(--t), box-shadow var(--t);
}

.product-trust-item:hover {
  border-color: var(--clr-green);
  box-shadow: 0 0 0 3px rgba(26, 138, 82, .08)
}

.product-trust-item .icon {
  color: var(--clr-green);
  margin-bottom: 2px
}

.product-trust-item .label {
  font-size: .7rem;
  font-weight: 700;
  color: var(--clr-text-2);
  line-height: 1.3
}

.product-trust-item .sub {
  font-size: .65rem;
  color: var(--clr-text-3)
}

/* ─────────────────────────────────────────────
   ██ PRODUCT PANELS (Compound / Stats / Storage / Warnings)
───────────────────────────────────────────── */
.product-panel {
  border: 1px solid var(--clr-border);
  border-radius: var(--r-xl);
  overflow: hidden;
  margin-top: var(--sp-4);
  transition: box-shadow var(--t);
}

.product-panel:hover {
  box-shadow: var(--sh-sm)
}

.panel-header {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-5) var(--sp-6);
  background: var(--clr-bg-soft);
  border-bottom: 1px solid var(--clr-border);
  cursor: pointer;
  user-select: none;
}

.panel-header h3 {
  font-size: 1rem;
  font-weight: 700;
  flex: 1
}

.panel-subtitle {
  font-size: .8125rem;
  color: var(--clr-text-3)
}

.panel-toggle-icon {
  color: var(--clr-text-3);
  transition: transform var(--t);
  flex-shrink: 0
}

.panel-header.is-open .panel-toggle-icon {
  transform: rotate(180deg)
}

.panel-body {
  padding: var(--sp-6);
  display: none
}

.panel-body.is-open {
  display: block
}

/* Key stats row (e.g. percentage, grade, sterile) — max 3 cards, grouped center */
.product-key-stats,
.pdp-key-stats {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 12px;
  margin-bottom: var(--sp-8)
}

.key-stat-card {
  aspect-ratio: 1 / 1;
  box-sizing: border-box;
  flex: 0 0 220px;
  width: 220px;
  max-width: 220px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  background: transparent;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: var(--sp-4);
  text-align: center;
  transition: border-color var(--t);
}

@media(max-width:639px) {

  .product-key-stats .key-stat-card,
  .pdp-key-stats .key-stat-card {
    flex: 0 0 calc((100% - 12px)/2);
    width: auto;
    max-width: 220px;
    min-width: 0
  }
}

.key-stat-card:hover {
  border-color: #d1d5db;
  box-shadow: none
}

.key-stat-card--tone-0 {
  --key-stat-icon-bg: rgba(236, 253, 245, .95)
}

.key-stat-card--tone-1 {
  --key-stat-icon-bg: rgba(239, 246, 255, .95)
}

.key-stat-card--tone-2 {
  --key-stat-icon-bg: rgba(245, 243, 255, .95)
}

.key-stat-icon-wrap {
  width: 40px;
  height: 40px;
  margin-bottom: 2px;
  border-radius: 10px;
  background: var(--key-stat-icon-bg, rgba(241, 245, 249, .95));
  display: flex;
  align-items: center;
  justify-content: center;
}

.key-stat-icon {
  font-size: 1.35rem;
  line-height: 1;
  display: block
}

.key-stat-val {
  font-size: clamp(1.0625rem, 2.6vw, 1.35rem);
  font-weight: 800;
  letter-spacing: -.03em;
  color: #111827;
  line-height: 1.08;
}

.key-stat-sub {
  font-size: .625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .085em;
  color: #6b7280;
}

.key-stat-label {
  font-size: .6875rem;
  font-weight: 500;
  color: #9ca3af;
  line-height: 1.35;
  margin-top: 2px;
}


/* What Is section */
.what-is-section {
  margin-bottom: var(--sp-8)
}

.what-is-section h2 {
  margin-bottom: var(--sp-3)
}

.what-is-description {
  font-size: 1rem;
  color: var(--clr-text-2);
  line-height: 1.75;
  margin-bottom: var(--sp-6)
}

/* PDP feature cards (below What is it?) */
.pdp-feature-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-4);
  margin-block: 0 var(--sp-10);
  align-items: stretch
}

.pdp-feature-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  min-height: 100%;
  padding: 30px;
  box-sizing: border-box;
  background: var(--clr-bg-soft);
  border: 1px solid var(--clr-border);
  border-radius: 12px;
  transition: border-color var(--t), box-shadow var(--t), transform var(--t);
}

@media (hover: hover) {
  .pdp-feature-card:hover {
    border-color: var(--clr-green);
    box-shadow: var(--sh-sm);
    transform: translateY(-2px)
  }
}

.pdp-feature-card__media {
  margin-bottom: var(--sp-3);
  line-height: 0
}

.pdp-feature-card__img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  border-radius: var(--r-sm);
  display: block
}

.pdp-feature-card__emoji {
  font-size: 1.75rem;
  line-height: 1;
  margin-bottom: var(--sp-3)
}

.pdp-feature-card__title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 0 0 var(--sp-2)
}

.pdp-feature-card__desc {
  margin: 0;
  font-size: .875rem;
  line-height: 1.6;
  color: var(--clr-text-2);
  flex: 1;
  flex-grow: 1
}

/* Spec table */
.spec-table {
  width: 100%;
  border-collapse: collapse
}

.spec-table tr {
  border-bottom: 1px solid var(--clr-border)
}

.spec-table tr:last-child {
  border-bottom: none
}

.spec-table td {
  padding: 10px 0;
  font-size: .9rem;
  vertical-align: top
}

.spec-table .spec-key {
  width: 45%;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--clr-text-3)
}

.spec-table .spec-val {
  font-family: var(--font-mono);
  font-size: .8125rem;
  color: var(--clr-text)
}

/* Storage cards (legacy + PDP extends scoped styles below) */
.storage-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-4)
}

.storage-card {
  padding: var(--sp-5);
  background: var(--clr-bg-soft);
  border: 1px solid var(--clr-border);
  border-radius: var(--r-lg);
  transition: border-color var(--t);
}

.storage-card:hover {
  border-color: var(--clr-green)
}

.storage-card-icon {
  font-size: 1.5rem;
  margin-bottom: var(--sp-2)
}

.storage-card h4 {
  font-size: .875rem;
  margin-bottom: 4px
}

.storage-card-val {
  font-size: 1rem;
  font-weight: 700;
  font-family: var(--font-mono);
  color: var(--clr-text);
  margin-bottom: 4px
}

.storage-card p {
  font-size: .75rem;
  margin: 0
}

/* Warnings */
.warnings-list {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3)
}

.warning-item {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-3);
  padding: var(--sp-4);
  background: var(--clr-amber-bg);
  border: 1px solid rgba(180, 83, 9, .15);
  border-radius: var(--r-md);
}

.warning-item .w-icon {
  flex-shrink: 0;
  font-size: 1rem;
  margin-top: 1px
}

.warning-item p {
  font-size: .875rem;
  color: var(--clr-amber);
  font-weight: 500;
  margin: 0
}

/* Research supply notice */
.research-supply-notice {
  padding: var(--sp-5) var(--sp-6);
  background: linear-gradient(135deg, var(--clr-blue-bg) 0%, rgba(239, 246, 255, .4) 100%);
  border: 1px solid rgba(37, 99, 235, .15);
  border-radius: var(--r-lg);
  margin-top: var(--sp-4);
}

.research-supply-notice h4 {
  font-size: .9375rem;
  color: var(--clr-blue);
  margin-bottom: var(--sp-2)
}

.research-supply-notice p {
  font-size: .875rem;
  color: var(--clr-text-2);
  margin: 0
}

/* References */
.references-list {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3)
}

.reference-card {
  display: block;
  padding: var(--sp-4) var(--sp-5);
  background: var(--clr-bg);
  border: 1px solid var(--clr-border);
  border-radius: var(--r-md);
  transition: border-color var(--t), box-shadow var(--t);
}

.reference-card:hover {
  border-color: var(--clr-text);
  box-shadow: var(--sh-sm)
}

.ref-journal {
  font-size: .65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--clr-text-3);
  margin-bottom: 3px
}

.ref-title {
  font-size: .875rem;
  font-weight: 600;
  color: var(--clr-text);
  margin-bottom: 3px;
  line-height: 1.4
}

.ref-meta {
  font-size: .7rem;
  color: var(--clr-text-3);
  font-family: var(--font-mono)
}

.ref-authors {
  font-size: .7rem;
  color: var(--clr-text-3);
  margin-top: 2px
}

.ref-source-link {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: .75rem;
  font-weight: 600;
  color: var(--clr-blue);
  margin-top: var(--sp-2)
}

/* Sequence code */
.sequence-code {
  background: var(--clr-bg-dark);
  border-radius: var(--r-sm);
  padding: var(--sp-2) var(--sp-4);
  font-family: var(--font-mono);
  font-size: .875rem;
  color: #4ade80;
  letter-spacing: .1em;
  word-break: break-all
}

/* ─────────────────────────────────────────────
   ██ MOBILE STICKY ADD-TO-CART BAR
───────────────────────────────────────────── */
.mobile-atc-bar {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 800;
  background: #fff;
  border-top: 1px solid var(--clr-border);
  padding: var(--sp-3) var(--sp-4);
  box-shadow: 0 -4px 24px rgba(0, 0, 0, .12);
}

.mobile-atc-product-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--sp-3);
}

.mobile-atc-name {
  font-size: .9375rem;
  font-weight: 700;
  letter-spacing: -.01em
}

.mobile-atc-price {
  font-size: .9375rem;
  font-weight: 700
}

.mobile-atc-variant-row {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  overflow-x: auto;
  margin-bottom: var(--sp-3);
  padding-bottom: 2px;
  scrollbar-width: none;
}

.mobile-atc-variant-row::-webkit-scrollbar {
  display: none
}

.mobile-atc-btn-row {
  display: flex;
  gap: var(--sp-2)
}

.mobile-atc-add {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  height: 48px;
  background: var(--clr-accent);
  color: #fff;
  border-radius: var(--r-pill);
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  font-family: var(--font-body);
  transition: background var(--t);
}

.mobile-atc-add:hover {
  background: var(--clr-accent-h)
}

.pdp-coa-inline {
  margin-top: var(--sp-3)
}

.pdp-coa-inline__btn {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2)
}

/* ─────────────────────────────────────────────
   ██ FREQUENTLY RESEARCHED TOGETHER (horizontal scroll)
───────────────────────────────────────────── */
.frt-track {
  display: flex;
  gap: var(--sp-4);
  overflow-x: auto;
  padding-bottom: var(--sp-2);
  scroll-snap-type: x mandatory;
  scrollbar-width: none
}

.frt-track::-webkit-scrollbar {
  display: none
}

.frt-card {
  flex-shrink: 0;
  width: 200px;
  scroll-snap-align: start;
  background: var(--clr-bg);
  border: 1px solid var(--clr-border);
  border-radius: var(--r-xl);
  overflow: hidden;
  text-align: center;
  padding: var(--sp-5);
  transition: box-shadow var(--t), transform var(--t);
}

.frt-card:hover {
  box-shadow: var(--sh-md);
  transform: translateY(-2px)
}

.frt-card-img {
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--sp-3)
}

.frt-card-img img {
  max-height: 90px;
  width: auto;
  object-fit: contain
}

.frt-card-name {
  font-size: .875rem;
  font-weight: 700;
  margin-bottom: 2px
}

.frt-card-sub {
  font-size: .72rem;
  color: var(--clr-text-3)
}

.frt-card-price {
  font-size: .875rem;
  font-weight: 700;
  margin-top: var(--sp-2)
}

/* ─────────────────────────────────────────────
   FOOTER
───────────────────────────────────────────── */
#site-footer {
  background: var(--clr-bg-dark2)
}

.footer-top {
  padding: var(--sp-16) 0;
  border-bottom: 1px solid var(--clr-border-dark)
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr 1fr;
  gap: var(--sp-12)
}

.footer-brand p {
  font-size: .875rem;
  color: rgba(255, 255, 255, .4);
  line-height: 1.7;
  margin-top: var(--sp-4)
}

.footer-col h5 {
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: rgba(255, 255, 255, .9);
  margin-bottom: var(--sp-4)
}

.footer-col ul {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3)
}

.footer-col ul a {
  font-size: .875rem;
  color: rgba(255, 255, 255, .4);
  transition: color var(--t)
}

.footer-col ul a:hover {
  color: rgba(255, 255, 255, .9)
}

.footer-bottom {
  padding: var(--sp-5) 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--sp-4);
}

.footer-bottom p {
  font-size: .8125rem;
  color: rgba(255, 255, 255, .3)
}

.footer-trust-badges {
  display: flex;
  gap: var(--sp-6)
}

.footer-trust-item {
  font-size: .75rem;
  font-weight: 600;
  color: rgba(255, 255, 255, .4);
  display: flex;
  align-items: center;
  gap: 4px
}

.footer-trust-item::before {
  content: '✓';
  color: var(--clr-green);
  font-weight: 900
}

/* ─────────────────────────────────────────────
   CHECKOUT & CART PAGES
───────────────────────────────────────────── */
.woocommerce-cart .wc-main-content,
.woocommerce-checkout .wc-main-content {
  width: 100%;
  max-width: none;
  margin-inline: auto;
  box-sizing: border-box;
  /* padding-block: var(--sp-10); */
  padding-inline: 0;
}

body.woocommerce-cart .wc-main-content {
  background: #f0f0eb;
}

body.woocommerce-checkout .wc-main-content {
  background: #f0f0eb;
}

body.woocommerce-checkout .wc-main-content>.container {
  padding-bottom: var(--sp-10);
}

body.woocommerce-checkout .wc-main-content .woocommerce-notices-wrapper {
  margin-bottom: var(--sp-6);
}

/*
 * Checkout — horizontal inset for notice stacks (match .retaup-checkout-page-layout rhythm).
 * Top-of-page wrapper: aligns with columns inside the white card (same sp-6 as layout).
 * Form-level NoticeGroup / .woocommerce-notices-wrapper: inset inside full-bleed card shell.
 * (Nested .retaup-checkout-page-layout / #payment .payment_box are already padded — not targeted.)
 */
body.woocommerce-checkout .wc-main-content>.container>.woocommerce-notices-wrapper {
  padding-inline: var(--sp-6);
  box-sizing: border-box;
}

/*
 * Checkout — notices: page load, AJAX update_order_review / place order (NoticeGroup),
 * and payment-box gateway output. Scoped to checkout + cart shell only.
 */
body.woocommerce-checkout .wc-main-content .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-checkout .wc-main-content .woocommerce-notices-wrapper .woocommerce-info,
body.woocommerce-checkout .wc-main-content .woocommerce-notices-wrapper ul.woocommerce-error,
body.woocommerce-checkout .retaup-checkout-page-outer .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-checkout .retaup-checkout-page-outer .woocommerce-notices-wrapper .woocommerce-info,
body.woocommerce-checkout .retaup-checkout-page-outer .woocommerce-notices-wrapper ul.woocommerce-error,
body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup .woocommerce-message,
body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup .woocommerce-info,
body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup ul.woocommerce-error,
body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup>div.woocommerce-error,
body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup [role="alert"]>div.woocommerce-error,
body.woocommerce-checkout .retaup-checkout-page #payment .payment_box .woocommerce-message,
body.woocommerce-checkout .retaup-checkout-page #payment .payment_box .woocommerce-info,
body.woocommerce-checkout .retaup-checkout-page #payment .payment_box ul.woocommerce-error,
body.woocommerce-checkout .retaup-checkout-page #payment .payment_box div.woocommerce-error {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-4);
  margin: 0 0 var(--sp-4);
  padding: var(--sp-4) var(--sp-6);
  list-style: none;
  border: 1px solid var(--clr-border);
  border-radius: var(--r-lg);
  background: var(--clr-bg-soft);
  color: var(--clr-text);
  font-size: .9375rem;
  line-height: 1.5;
  box-shadow: var(--sh-sm);
}

body.woocommerce-checkout .wc-main-content .woocommerce-notices-wrapper ul.woocommerce-error,
body.woocommerce-checkout .retaup-checkout-page-outer .woocommerce-notices-wrapper ul.woocommerce-error,
body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup ul.woocommerce-error,
body.woocommerce-checkout .retaup-checkout-page #payment .payment_box ul.woocommerce-error {
  flex-direction: column;
  gap: var(--sp-3);
  margin-left: 0;
  padding-left: var(--sp-6);
}

body.woocommerce-checkout .wc-main-content .woocommerce-notices-wrapper ul.woocommerce-error li,
body.woocommerce-checkout .retaup-checkout-page-outer .woocommerce-notices-wrapper ul.woocommerce-error li,
body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup ul.woocommerce-error li,
body.woocommerce-checkout .retaup-checkout-page #payment .payment_box ul.woocommerce-error li {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-4);
  margin: 0;
  padding: 0;
  list-style: none;
}

body.woocommerce-checkout .wc-main-content .woocommerce-notices-wrapper ul.woocommerce-error li::before,
body.woocommerce-checkout .retaup-checkout-page-outer .woocommerce-notices-wrapper ul.woocommerce-error li::before,
body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup ul.woocommerce-error li::before,
body.woocommerce-checkout .retaup-checkout-page #payment .payment_box ul.woocommerce-error li::before {
  content: "";
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: .15rem;
  background-color: var(--clr-red);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='white' stroke-width='2'/%3E%3Cpath stroke='white' stroke-width='2' stroke-linecap='round' d='M12 8v5M12 16h.01'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='white' stroke-width='2'/%3E%3Cpath stroke='white' stroke-width='2' stroke-linecap='round' d='M12 8v5M12 16h.01'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.woocommerce-checkout .wc-main-content .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-checkout .retaup-checkout-page-outer .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup .woocommerce-message,
body.woocommerce-checkout .retaup-checkout-page #payment .payment_box .woocommerce-message {
  border-color: rgb(26 138 82 / .35);
  background: var(--clr-green-bg);
  color: var(--clr-text);
}

body.woocommerce-checkout .wc-main-content .woocommerce-notices-wrapper .woocommerce-info,
body.woocommerce-checkout .retaup-checkout-page-outer .woocommerce-notices-wrapper .woocommerce-info,
body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup .woocommerce-info,
body.woocommerce-checkout .retaup-checkout-page #payment .payment_box .woocommerce-info {
  border-color: rgb(37 99 235 / .3);
  background: var(--clr-blue-bg);
}

body.woocommerce-checkout .wc-main-content .woocommerce-notices-wrapper ul.woocommerce-error,
body.woocommerce-checkout .retaup-checkout-page-outer .woocommerce-notices-wrapper ul.woocommerce-error,
body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup ul.woocommerce-error,
body.woocommerce-checkout .retaup-checkout-page #payment .payment_box ul.woocommerce-error,
body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup>div.woocommerce-error,
body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup [role="alert"]>div.woocommerce-error,
body.woocommerce-checkout .retaup-checkout-page #payment .payment_box div.woocommerce-error {
  border-color: rgb(220 38 38 / .35);
  background: #fef2f2;
  color: var(--clr-text);
}

body.woocommerce-checkout .wc-main-content .woocommerce-notices-wrapper .woocommerce-message::before,
body.woocommerce-checkout .wc-main-content .woocommerce-notices-wrapper .woocommerce-info::before,
body.woocommerce-checkout .retaup-checkout-page-outer .woocommerce-notices-wrapper .woocommerce-message::before,
body.woocommerce-checkout .retaup-checkout-page-outer .woocommerce-notices-wrapper .woocommerce-info::before,
body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup .woocommerce-message::before,
body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup .woocommerce-info::before,
body.woocommerce-checkout .retaup-checkout-page #payment .payment_box .woocommerce-message::before,
body.woocommerce-checkout .retaup-checkout-page #payment .payment_box .woocommerce-info::before {
  content: "";
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: .15rem;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
  background-color: var(--clr-green);
}

body.woocommerce-checkout .wc-main-content .woocommerce-notices-wrapper .woocommerce-info::before,
body.woocommerce-checkout .retaup-checkout-page-outer .woocommerce-notices-wrapper .woocommerce-info::before,
body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup .woocommerce-info::before,
body.woocommerce-checkout .retaup-checkout-page #payment .payment_box .woocommerce-info::before {
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='white' stroke-width='2'/%3E%3Cpath stroke='white' stroke-width='2' stroke-linecap='round' d='M12 8v5M12 16h.01'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='white' stroke-width='2'/%3E%3Cpath stroke='white' stroke-width='2' stroke-linecap='round' d='M12 8v5M12 16h.01'/%3E%3C/svg%3E") center / contain no-repeat;
  background-color: var(--clr-blue);
}

body.woocommerce-checkout .wc-main-content .woocommerce-notices-wrapper ul.woocommerce-error::before,
body.woocommerce-checkout .retaup-checkout-page-outer .woocommerce-notices-wrapper ul.woocommerce-error::before,
body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup ul.woocommerce-error::before,
body.woocommerce-checkout .retaup-checkout-page #payment .payment_box ul.woocommerce-error::before {
  content: none;
}

body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup>div.woocommerce-error::before,
body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup [role="alert"]>div.woocommerce-error::before,
body.woocommerce-checkout .retaup-checkout-page #payment .payment_box div.woocommerce-error::before {
  content: "";
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: .15rem;
  background-color: var(--clr-red);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='white' stroke-width='2'/%3E%3Cpath stroke='white' stroke-width='2' stroke-linecap='round' d='M12 8v5M12 16h.01'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='white' stroke-width='2'/%3E%3Cpath stroke='white' stroke-width='2' stroke-linecap='round' d='M12 8v5M12 16h.01'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.woocommerce-checkout .wc-main-content .woocommerce-notices-wrapper .woocommerce-message:last-child,
body.woocommerce-checkout .wc-main-content .woocommerce-notices-wrapper .woocommerce-info:last-child,
body.woocommerce-checkout .wc-main-content .woocommerce-notices-wrapper ul.woocommerce-error:last-child,
body.woocommerce-checkout .retaup-checkout-page-outer .woocommerce-notices-wrapper .woocommerce-message:last-child,
body.woocommerce-checkout .retaup-checkout-page-outer .woocommerce-notices-wrapper .woocommerce-info:last-child,
body.woocommerce-checkout .retaup-checkout-page-outer .woocommerce-notices-wrapper ul.woocommerce-error:last-child {
  margin-bottom: 0;
}

body.woocommerce-checkout .retaup-checkout-form>.woocommerce-NoticeGroup,
body.woocommerce-checkout .retaup-checkout-form>.woocommerce-notices-wrapper {
  margin: 0 0 var(--sp-5);
  padding-inline: var(--sp-6);
  box-sizing: border-box;
}

body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup [role="alert"] {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  margin: 0;
  padding: 0;
}

body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup [role="alert"]:last-child .woocommerce-error:last-child,
body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup [role="alert"]:last-child .woocommerce-message:last-child,
body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup [role="alert"]:last-child .woocommerce-info:last-child,
body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup [role="alert"]:last-child ul.woocommerce-error:last-child {
  margin-bottom: 0;
}

body.woocommerce-checkout .retaup-checkout-form .checkout-inline-error-message {
  margin-top: var(--sp-2);
  margin-bottom: 0;
  font-size: .8125rem;
  font-weight: 600;
  line-height: 1.45;
  color: #991b1b;
}

@media (prefers-reduced-motion: reduce) {

  body.woocommerce-checkout .wc-main-content .woocommerce-notices-wrapper .woocommerce-message,
  body.woocommerce-checkout .wc-main-content .woocommerce-notices-wrapper .woocommerce-info,
  body.woocommerce-checkout .retaup-checkout-page-outer .woocommerce-notices-wrapper .woocommerce-message,
  body.woocommerce-checkout .retaup-checkout-page-outer .woocommerce-notices-wrapper .woocommerce-info,
  body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup .woocommerce-message,
  body.woocommerce-checkout .retaup-checkout-form .woocommerce-NoticeGroup .woocommerce-info {
    scroll-margin-top: calc(var(--header-h) + var(--sp-4));
  }
}

/* Cart page only: notice icon + text one row; cart totals label/value columns */
body.woocommerce-cart .woocommerce-notices-wrapper {
  margin-block: var(--sp-5);
}

body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: var(--sp-4);
  align-items: start;
}

body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message::before,
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info::before {
  grid-column: 1;
  grid-row: 1 / -1;
  margin-top: .15rem;
  align-self: start;
}

body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message>*,
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info>* {
  grid-column: 2;
  min-width: 0;
}

body.woocommerce-cart .woocommerce-notices-wrapper ul.woocommerce-error {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--sp-3);
  padding-left: var(--sp-6);
}

body.woocommerce-cart .woocommerce-notices-wrapper ul.woocommerce-error::before {
  display: none;
}

body.woocommerce-cart .woocommerce-notices-wrapper ul.woocommerce-error li {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-4);
  margin: 0;
  padding: 0;
  list-style: none;
}

body.woocommerce-cart .woocommerce-notices-wrapper ul.woocommerce-error li::before {
  content: "";
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: .15rem;
  background-color: var(--clr-red);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='white' stroke-width='2'/%3E%3Cpath stroke='white' stroke-width='2' stroke-linecap='round' d='M12 8v5M12 16h.01'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='white' stroke-width='2'/%3E%3Cpath stroke='white' stroke-width='2' stroke-linecap='round' d='M12 8v5M12 16h.01'/%3E%3C/svg%3E") center / contain no-repeat;
}

@media (min-width: 769px) {

  body.woocommerce-cart .retaup-cart-page .retaup-cart-page-col--totals .cart_totals table.shop_table_responsive tbody tr th {
    text-align: left;
  }

  body.woocommerce-cart .retaup-cart-page .retaup-cart-page-col--totals .cart_totals table.shop_table_responsive tbody tr td {
    text-align: right;
  }
}

/* Full cart page — card shell + two columns (drawer-aligned typography) */
.retaup-cart-page-outer {
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
  box-sizing: border-box;
}

.retaup-cart-page {
  background: #fff;
  border: 1px solid #f0f0ec;
  border-radius: 16px;
  box-shadow: 0 16px 48px rgba(15, 16, 32, .07);
  overflow: hidden;
}

.retaup-cart-page-head {
  padding: var(--sp-5) var(--sp-6);
}

.retaup-cart-page-layout {
  display: grid;
  gap: var(--sp-8);
  padding: 0 var(--sp-6) var(--sp-8);
  width: 100%;
  box-sizing: border-box;
}

.retaup-cart-page-layout>.retaup-cart-page-col {
  min-width: 0;
}

.retaup-cart-page-col--items .woocommerce-cart-form {
  width: 100%;
  display: block;
}

@media (min-width: 960px) {
  .retaup-cart-page-layout {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
    align-items: start;
    gap: var(--sp-10);
    padding-bottom: var(--sp-8);
  }

  .retaup-cart-page-summary {
    position: sticky;
    top: calc(var(--header-h, 80px) + 16px);
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: var(--sp-5);
  }
}

.retaup-cart-page .woocommerce-cart-form__contents {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}

.retaup-cart-page .woocommerce-cart-form__contents thead th {
  padding: 12px 10px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #888;
  border-bottom: 1px solid #f0f0ec;
  text-align: left;
}

.retaup-cart-page .woocommerce-cart-form__contents tbody td {
  padding: 18px 10px;
  vertical-align: middle;
  border-bottom: 1px solid #f0f0ec;
  font-size: 14px;
  color: #0f1020;
}

.retaup-cart-page .woocommerce-cart-form__contents .product-thumbnail img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 10px;
  background: #f5f5f0;
}

.retaup-cart-page .woocommerce-cart-form__contents .product-name a {
  font-weight: 600;
  color: #0f1020;
  text-decoration: none;
}

.retaup-cart-page .woocommerce-cart-form__contents .product-name a:hover {
  text-decoration: underline;
}

.retaup-cart-page .woocommerce-cart-form__contents .product-remove a.remove {
  color: #a14a4a !important;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
}

.retaup-cart-page .woocommerce-cart-form__contents .actions {
  padding: var(--sp-6) 10px var(--sp-4);
  border-bottom: 0;
}

/* Coupon UI lives in sidebar (.retaup-cart-page-promo); extensions may inject .coupon via woocommerce_cart_coupon */
.retaup-cart-page-promo .coupon {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-3);
  align-items: center;
  margin-top: var(--sp-3);
}

.retaup-cart-page-promo .coupon .input-text {
  flex: 1;
  min-width: 140px;
  padding: 11px 14px;
  border: 1.5px solid #ececea;
  border-radius: 10px;
  font-family: var(--font-body);
  font-size: .9375rem;
}

.retaup-cart-page-col--totals .cart-collaterals {
  margin: 0;
  width: 100%;
  float: none;
  clear: both;
}

.retaup-cart-page-col--totals .cart-collaterals::after,
.retaup-cart-page-col--totals .cart-collaterals::before {
  display: none;
}

.retaup-cart-page-col--totals .cart-collaterals .cart_totals,
.retaup-cart-page-col--totals .cart-collaterals .cross-sells {
  float: none;
  width: 100%;
  max-width: 100%;
  clear: none;
}

.retaup-cart-page-promo {
  margin-bottom: var(--sp-2);
}

.retaup-cart-page-promo-label {
  margin: 0 0 var(--sp-2);
  font-size: .8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #888;
}

.retaup-cart-page-promo-row {
  margin-top: 0;
}

.retaup-cart-page .retaup-cart-pricing-cell .retaup-cart-item-unit-price {
  font-weight: 700;
  font-size: 0.9375rem;
  color: #0f1020;
  white-space: nowrap;
}

.retaup-cart-page .retaup-cart-pricing-cell .retaup-cart-item-unit-price .amount {
  font-weight: inherit;
}

.retaup-cart-line-pricing-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: var(--sp-3);
  width: 100%;
}

.retaup-cart-line-price-qty {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-2);
  min-width: 0;
}

.retaup-cart-line-subtotal-display {
  font-weight: 700;
  text-align: right;
  flex-shrink: 0;
  margin-left: auto;
}

.retaup-cart-line-subtotal-display .amount {
  font-weight: inherit;
}

@media (min-width: 960px) {
  .retaup-cart-table.woocommerce-cart-form__contents thead {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }

  .retaup-cart-table.woocommerce-cart-form__contents tbody tr.woocommerce-cart-form__cart-item {
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    column-gap: 18px;
    row-gap: 12px;
    padding: var(--sp-5) 0;
    border-bottom: 1px solid #f0f0ec;
    align-items: start;
  }

  .retaup-cart-table.woocommerce-cart-form__contents tbody td.product-thumbnail {
    grid-column: 1;
    grid-row: 1 / span 2;
    padding: 0;
    border: 0;
    align-self: start;
  }

  .retaup-cart-table.woocommerce-cart-form__contents tbody td.product-name {
    grid-column: 2;
    grid-row: 1;
    padding: 0;
    border: 0;
  }

  .retaup-cart-table.woocommerce-cart-form__contents tbody td.product-remove {
    grid-column: 3;
    grid-row: 1;
    padding: 0;
    text-align: right;
    border: 0;
    align-self: start;
  }

  .retaup-cart-table.woocommerce-cart-form__contents tbody td.retaup-cart-pricing-cell {
    grid-column: 2 / span 2;
    grid-row: 2;
    padding: 0;
    border: 0;
    align-self: center;
  }

  .retaup-cart-table.woocommerce-cart-form__contents .product-name a {
    font-size: 1rem;
    font-weight: 700;
  }
}

.retaup-cart-table.woocommerce-cart-form__contents .retaup-cart-pricing-cell .qty-control .quantity {
  display: flex;
  align-items: center;
  margin: 0;
}

.retaup-cart-table.woocommerce-cart-form__contents .retaup-cart-pricing-cell .qty-control {
  display: inline-flex;
  align-items: center;
}

.retaup-cart-page-qty input.qty {
  width: 32px;
  min-width: 32px;
  max-width: 4rem;
  padding: 4px 0;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  color: #0f1020;
  border: 0;
  background: none;
  border-radius: 0;
  -moz-appearance: textfield;
}

.retaup-cart-page-qty input.qty::-webkit-outer-spin-button,
.retaup-cart-page-qty input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.retaup-cart-page-col--totals .cross-sells {
  margin-bottom: var(--sp-8);
}

.retaup-cart-page-col--totals .cross-sells>h2 {
  margin: 0 0 var(--sp-4);
  font-size: 1rem;
  font-weight: 700;
  color: #0f1020;
}

.retaup-cart-page-col--totals .cart_totals {
  background: #fff;
  border: 1px solid #f0f0ec;
  border-radius: 12px;
  padding: var(--sp-6);
}

.retaup-cart-page-col--totals .cart_totals tr.retaup-cart-page-promo-tr td {
  padding: var(--sp-5) 0;
  border-bottom: 1px solid #f0f0ec;
  vertical-align: top;
}

.retaup-cart-page-col--totals .cart_totals tr.retaup-cart-page-promo-tr .cart-drawer-promo {
  margin: 0;
}

.retaup-cart-page-col--totals .cart_totals tr.retaup-cart-page-promo-tr .retaup-cart-page-promo-label {
  margin: 0 0 var(--sp-2);
}

.retaup-cart-page-col--totals .cart_totals>h2 {
  margin: 0 0 var(--sp-5);
  font-size: 1rem;
  font-weight: 700;
  color: #0f1020;
}

.retaup-cart-page-col--totals .cart_totals table {
  width: 100%;
  border-collapse: collapse;
}

.retaup-cart-page-col--totals .cart_totals tr th,
.retaup-cart-page-col--totals .cart_totals tr td {
  padding: 10px 0;
  border-bottom: 1px solid #f0f0ec;
  font-size: 14px;
}

.retaup-cart-page-col--totals .cart_totals tr:last-child th,
.retaup-cart-page-col--totals .cart_totals tr:last-child td {
  border-bottom: 0;
  font-weight: 700;
  font-size: 16px;
  padding-top: var(--sp-4);
}

.retaup-cart-page .wc-proceed-to-checkout {
  padding: var(--sp-5) 0 0;
}

.retaup-cart-page .wc-proceed-to-checkout .checkout-button.btn-primary {
  width: 100%;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-decoration: none;
  line-height: 1.2;
  box-sizing: border-box;
  border: none;
  box-shadow: none;
}

.retaup-cart-page .woocommerce-cart-form .button[name="update_cart"],
.retaup-cart-page .button[name="apply_coupon"] {
  border-radius: var(--r-pill);
  font-weight: 700;
  font-family: var(--font-body);
  cursor: pointer;
  transition: background var(--t), border-color var(--t), color var(--t);
  padding: 10px 18px;
  background: #fff;
  color: #0f1020 !important;
  border: 1.5px solid #ececea !important;
}

.retaup-cart-page .woocommerce-cart-form .button[name="update_cart"]:hover,
.retaup-cart-page .button[name="apply_coupon"]:hover {
  background: #f5f5f0;
}

.retaup-cart-page--empty .retaup-cart-page-return {
  padding: 0 var(--sp-6) var(--sp-8);
  margin: 0;
  max-width: 320px;
  margin-inline: auto;
}

@media (max-width: 768px) {
  .retaup-cart-page .woocommerce-cart-form__contents thead {
    display: none;
  }

  .retaup-cart-page .woocommerce-cart-form__contents tbody tr {
    display: block;
    padding: var(--sp-4) 0;
    border-bottom: 1px solid #f0f0ec;
  }

  .retaup-cart-page .woocommerce-cart-form__contents tbody td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--sp-4);
    padding: 8px 0;
    border: 0;
  }

  .retaup-cart-page .woocommerce-cart-form__contents tbody td::before {
    content: attr(data-title);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #888;
    flex-shrink: 0;
  }

  .retaup-cart-page .woocommerce-cart-form__contents .product-remove::before {
    display: none;
  }

  .retaup-cart-page .woocommerce-cart-form__contents .product-remove {
    justify-content: flex-end;
  }

  .retaup-cart-page .woocommerce-cart-form__contents tbody td.retaup-cart-pricing-cell {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .retaup-cart-page .woocommerce-cart-form__contents tbody td.retaup-cart-pricing-cell .retaup-cart-line-pricing-inner {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    flex: 1;
    min-width: 0;
    gap: var(--sp-4);
  }

  .retaup-cart-page .woocommerce-cart-form__contents tbody td.retaup-cart-pricing-cell::before {
    align-self: flex-start;
    padding-top: 2px;
  }

  .retaup-cart-page .woocommerce-cart-form__contents tbody td.retaup-cart-pricing-cell .retaup-cart-line-price-qty {
    justify-content: flex-start;
  }

  .retaup-cart-page .woocommerce-cart-form__contents tbody td.retaup-cart-pricing-cell .retaup-cart-line-subtotal-display {
    margin-left: 0;
    text-align: right;
    align-self: flex-end;
  }
}

/* Classic checkout — two columns on desktop (billing left, sticky order right) */
.retaup-checkout-page-outer {
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
  box-sizing: border-box;
}

.retaup-checkout-page {
  background: #fff;
  border: 1px solid #f0f0ec;
  border-radius: 16px;
  box-shadow: 0 16px 48px rgba(15, 16, 32, .07);
  /* visible so sticky order column can stick to viewport (hidden clips position:sticky) */
  overflow: visible;
  box-sizing: border-box;
  padding-block: 0;
  padding-inline: 0;
}

.retaup-checkout-page-head {
  padding: var(--sp-4) var(--sp-6);
}

body.woocommerce-checkout .retaup-checkout-page .retaup-checkout-page-head {
  margin-bottom: var(--sp-4);
}

.retaup-checkout-page-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--sp-6);
  padding: 0 var(--sp-6) var(--sp-6);
  width: 100%;
  box-sizing: border-box;
}

.retaup-checkout-page-layout .retaup-checkout-page-col {
  min-width: 0;
}

body.woocommerce-checkout .retaup-checkout-page .retaup-checkout-page-col--customer,
body.woocommerce-checkout .retaup-checkout-page .retaup-checkout-page-col--summary {
  padding-block: 0;
  padding-inline: 0;
  box-sizing: border-box;
}

.retaup-checkout-page-row {
  min-width: 0;
  width: 100%;
}

.retaup-checkout-order-review-wrap {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.retaup-checkout-page-row--main {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
  width: 100%;
  min-width: 0;
}

.retaup-checkout-form.checkout {
  margin: 0;
}

@media (min-width: 960px) {
  .retaup-checkout-page-layout {
    gap: var(--sp-6);
    padding-bottom: var(--sp-6);
  }

  .retaup-checkout-page-row--main:not(.retaup-checkout-page-row--summary-only) {
    display: grid;
    grid-template-columns: 1fr min(420px, 40%);
    gap: var(--sp-6);
    align-items: start;
  }

  body.woocommerce-checkout .retaup-checkout-page .retaup-checkout-page-row--main:not(.retaup-checkout-page-row--summary-only) .retaup-checkout-order-review-wrap {
    position: sticky;
    top: calc(var(--header-h) + 1rem);
    overflow-y: visible;
  }
}

body.woocommerce-checkout .retaup-checkout-page #customer_details.col2-set {
  width: 100%;
  display: grid;
  gap: var(--sp-4);
  margin: 0;
  padding: 0;
  border: 0;
  float: none;
}

body.woocommerce-checkout .retaup-checkout-page #customer_details.col2-set::before,
body.woocommerce-checkout .retaup-checkout-page #customer_details.col2-set::after {
  display: none;
}

body.woocommerce-checkout .retaup-checkout-page #customer_details .col-1,
body.woocommerce-checkout .retaup-checkout-page #customer_details .col-2 {
  float: none;
  width: 100%;
  padding: var(--sp-6);
  background: #fafaf8;
  border: 1px solid #f0f0ec;
  border-radius: 12px;
  box-sizing: border-box;
}

/* col-1 wraps billing + order notes stack — outer col-1 is a shell only */
body.woocommerce-checkout .retaup-checkout-page #customer_details .col-1 {
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

body.woocommerce-checkout .retaup-checkout-page .retaup-checkout-customer-col-inner {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
  width: 100%;
  min-width: 0;
}

body.woocommerce-checkout .retaup-checkout-page .retaup-checkout-billing-block {
  margin-top: var(--sp-3);
}

body.woocommerce-checkout .retaup-checkout-page .retaup-checkout-billing-block,
body.woocommerce-checkout .retaup-checkout-page .retaup-checkout-order-fields {
  padding: var(--sp-4) var(--sp-6);
  background: #fafaf8;
  border: 1px solid #f0f0ec;
  border-radius: 12px;
  box-sizing: border-box;
  min-width: 0;
}

@media (min-width: 640px) {

  body.woocommerce-checkout .retaup-checkout-page .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .retaup-checkout-page .woocommerce-shipping-fields__field-wrapper,
  body.woocommerce-checkout .retaup-checkout-page .woocommerce-additional-fields__field-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--sp-4);
    row-gap: var(--sp-3);
  }

  body.woocommerce-checkout .retaup-checkout-page .woocommerce-billing-fields__field-wrapper .form-row-wide,
  body.woocommerce-checkout .retaup-checkout-page .woocommerce-shipping-fields__field-wrapper .form-row-wide,
  body.woocommerce-checkout .retaup-checkout-page .woocommerce-additional-fields__field-wrapper .form-row-wide {
    grid-column: 1 / -1;
  }

  body.woocommerce-checkout .retaup-checkout-page .woocommerce-billing-fields__field-wrapper>.form-row,
  body.woocommerce-checkout .retaup-checkout-page .woocommerce-shipping-fields__field-wrapper>.form-row,
  body.woocommerce-checkout .retaup-checkout-page .woocommerce-additional-fields__field-wrapper>.form-row {
    float: none;
    width: 100%;
    margin-bottom: 0;
  }
}

/* Checkout — order notes full width (scoped; avoids cart / billing grid quirks). */
body.woocommerce-checkout .retaup-checkout-page .woocommerce-additional-fields__field-wrapper {
  width: 100%;
  display: block;
}

body.woocommerce-checkout .retaup-checkout-page .woocommerce-additional-fields__field-wrapper .form-row.notes,
body.woocommerce-checkout .retaup-checkout-page #order_comments_field {
  width: 100%;
  float: none;
  clear: both;
  min-width: 0;
}

body.woocommerce-checkout .retaup-checkout-page .woocommerce-additional-fields__field-wrapper .form-row.notes .woocommerce-input-wrapper {
  display: block;
  width: 100%;
}

body.woocommerce-checkout .retaup-checkout-page #order_comments {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  min-height: 8rem;
  min-width: 0;
}

body.woocommerce-checkout .retaup-checkout-page #customer_details .col-2 {
  padding: var(--sp-4) var(--sp-6);
}

@media (min-width: 960px) {
  body.woocommerce-checkout .retaup-checkout-page #customer_details.col2-set:has(.col-2) {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }
}

body.woocommerce-checkout .retaup-checkout-page .woocommerce-billing-fields>h3,
body.woocommerce-checkout .retaup-checkout-page .woocommerce-shipping-fields>h3,
body.woocommerce-checkout .retaup-checkout-page .woocommerce-additional-fields>h3 {
  margin: 0 0 var(--sp-4);
  font-size: 1rem;
  font-weight: 700;
  color: #0f1020;
}

body.woocommerce-checkout .retaup-checkout-page #ship-to-different-address {
  display: block;
  visibility: visible;
  position: static;
  height: auto;
  width: auto;
  overflow: visible;
  clip: auto;
  margin: 0 0 var(--sp-4);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  color: #0f1020;
}

body.woocommerce-checkout .retaup-checkout-page #ship-to-different-address label {
  font-size: .9375rem;
  font-weight: 600;
  cursor: pointer;
}

body.woocommerce-checkout .retaup-checkout-page .create-account label,
body.woocommerce-checkout .retaup-checkout-page .woocommerce-form__label-for-checkbox {
  font-size: .9375rem;
  font-weight: 600;
}

.retaup-checkout-summary-card {
  background: #fafaf8;
  border: 1px solid #f0f0ec;
  border-radius: 12px;
  padding: var(--sp-4) var(--sp-6);
  box-sizing: border-box;
}

body.woocommerce-checkout .retaup-checkout-page #order_review_heading {
  margin: 0 0 var(--sp-4);
  font-size: 1rem;
  font-weight: 700;
  color: #0f1020;
}

body.woocommerce-checkout .retaup-checkout-page #order_review {
  margin: 0;
  padding: 0;
  float: none;
  width: 100%;
}

body.woocommerce-checkout .retaup-checkout-page .select2-container--default .select2-selection--single {
  height: auto;
  min-height: 46px;
  padding: 8px 12px;
  border: 1.5px solid #ececea;
  border-radius: var(--r-md);
  background: #fff;
  transition: border-color var(--t), box-shadow var(--t);
}

body.woocommerce-checkout .retaup-checkout-page .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 0;
  line-height: 1.45;
  color: var(--clr-text);
}

body.woocommerce-checkout .retaup-checkout-page .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 44px;
  right: 8px;
}

body.woocommerce-checkout .retaup-checkout-page .select2-container--default.select2-container--open .select2-selection--single,
body.woocommerce-checkout .retaup-checkout-page .select2-container--default.select2-container--focus .select2-selection--single {
  border-color: var(--clr-accent);
  box-shadow: 0 0 0 3px rgba(10, 10, 10, .08);
}

body.woocommerce-checkout .retaup-checkout-page #payment {
  background: transparent;
}

body.woocommerce-checkout .retaup-checkout-page #payment ul.payment_methods {
  list-style: none;
  margin: 0 0 var(--sp-5);
  padding: 0;
  border: 0;
}

body.woocommerce-checkout .retaup-checkout-page #payment ul.payment_methods li {
  margin: 0 0 var(--sp-3);
  padding: var(--sp-4);
  border: 1px solid #f0f0ec;
  border-radius: var(--r-md);
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  list-style: none;
}

body.woocommerce-checkout .retaup-checkout-page #payment ul.payment_methods li>input.input-radio {
  flex: 0 0 auto;
  margin: 0 !important;
  align-self: center;
}

body.woocommerce-checkout .retaup-checkout-page #payment ul.payment_methods li>label {
  flex: 1 1 auto;
  margin: 0;
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  cursor: pointer;
  min-width: 0;
}

/* Gateway icons (often injected inside label, e.g. Stripe) stay inline with title */
body.woocommerce-checkout .retaup-checkout-page #payment ul.payment_methods li>label img {
  max-height: 28px;
  width: auto;
  flex: 0 0 auto;
}

body.woocommerce-checkout .retaup-checkout-page #payment ul.payment_methods li>.payment_box {
  flex: 1 1 100%;
  margin-top: var(--sp-2);
}

body.woocommerce-checkout .retaup-checkout-page #payment ul.payment_methods li:last-child {
  margin-bottom: 0;
}

body.woocommerce-checkout .retaup-checkout-page #payment div.payment_box {
  position: relative;
  margin: var(--sp-3) 0 0;
  padding: var(--sp-4);
  background: var(--clr-bg-soft);
  border-radius: var(--r-sm);
  border: 1px solid #ececea;
  font-size: .875rem;
  line-height: 1.55;
  color: var(--clr-text-2);
}

body.woocommerce-checkout .retaup-checkout-page #payment div.payment_box::before {
  display: none;
}

body.woocommerce-checkout .retaup-checkout-page #payment .payment_box p:last-child {
  margin-bottom: 0;
}

body.woocommerce-checkout .retaup-checkout-page #payment .form-row.place-order {
  margin: var(--sp-6) 0 0;
  padding: var(--sp-5) 0 0;
  border-top: 1px solid var(--clr-border);
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
}

body.woocommerce-checkout .retaup-checkout-page .woocommerce-terms-and-conditions-wrapper {
  padding: 0;
  margin: 0;
  font-size: .875rem;
  line-height: 1.5;
  color: var(--clr-text-2);
}

body.woocommerce-checkout .retaup-checkout-page .woocommerce-terms-and-conditions-wrapper label {
  font-weight: 600;
  color: var(--clr-text);
}

/* Checkout form styling (scoped — avoids my account / misc WC forms) */
body.woocommerce-checkout .retaup-checkout-page .form-row {
  margin-bottom: var(--sp-3);
}

body.woocommerce-checkout .retaup-checkout-page .form-row label {
  font-size: .875rem;
  font-weight: 600;
  margin-bottom: 6px;
  display: block
}

body.woocommerce-checkout .retaup-checkout-page .form-row input.input-text,
body.woocommerce-checkout .retaup-checkout-page .form-row select {
  width: 100%;
  padding: 11px 14px;
  border: 1.5px solid #ececea;
  border-radius: var(--r-md);
  font-family: var(--font-body);
  font-size: .9375rem;
  transition: border-color var(--t), box-shadow var(--t);
  background: #fff;
  color: var(--clr-text);
}

body.woocommerce-checkout .retaup-checkout-page .form-row textarea.input-text {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  min-height: 100px;
  resize: vertical;
  line-height: 1.5;
}

body.woocommerce-checkout .retaup-checkout-page .form-row.notes,
body.woocommerce-checkout .retaup-checkout-page .woocommerce-additional-fields__field-wrapper .form-row.notes {
  width: 100%;
  max-width: none;
  float: none;
  clear: both;
}

body.woocommerce-checkout .retaup-checkout-page .form-row input.input-text:focus,
body.woocommerce-checkout .retaup-checkout-page .form-row select:focus {
  outline: none;
  border-color: var(--clr-accent);
  box-shadow: 0 0 0 3px rgba(10, 10, 10, .08)
}

/* Checkout order review */
body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse
}

body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table thead th {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #888;
  padding: 10px 0;
  border-bottom: 1px solid #f0f0ec;
}

body.woocommerce-checkout .retaup-checkout-page table.shop_table.woocommerce-checkout-review-order-table thead th.product-name {
  text-align: left;
}

body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table thead th.product-total {
  text-align: right;
}

body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table td {
  padding: 10px 0;
  border-bottom: 1px solid #f0f0ec;
  font-size: .9rem;
  vertical-align: top;
}

body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table .product-name {
  font-weight: 600;
  color: #0f1020;
}

body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table .product-total {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table tbody td.product-total {
  font-weight: 600;
  color: #0f1020;
}

body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table .retaup-checkout-line-pricing {
  margin-top: 6px;
  font-size: .8125rem;
  font-weight: 500;
  color: var(--clr-text-2);
  line-height: 1.4;
}

body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table .retaup-checkout-line-qty-price {
  font-variant-numeric: tabular-nums;
}

body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table .retaup-checkout-line-mult {
  opacity: .85;
}

body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table tfoot th {
  font-weight: 600;
  color: var(--clr-text-2);
  text-align: left;
}

body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table tfoot td {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* Global .cart-subtotal { display:flex } targets tr — restore table semantics + balance subtotal vs total */
body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table tr.cart-subtotal {
  display: table-row;
}

body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table tr.cart-subtotal th,
body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table tr.cart-subtotal td {
  display: table-cell;
  vertical-align: baseline;
}

body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th,
body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td {
  font-size: .9rem;
  font-weight: 600;
  color: var(--clr-text-2);
  padding-top: var(--sp-3);
}

body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table tr.cart-subtotal td .amount {
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: normal;
}

/* Global rules (e.g. .cart-subtotal { display:flex }) must not flatten shipping totals rows */
body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping,
body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table tr.shipping {
  display: table-row;
}

body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping th,
body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping td,
body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table tr.shipping th,
body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table tr.shipping td {
  display: table-cell;
  vertical-align: top;
}

body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table tfoot tr.order-total th,
body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table tfoot tr.order-total td {
  font-size: 1.1875rem;
  font-weight: 700;
  color: #0f1020;
  border-bottom: none;
  padding-top: var(--sp-4);
}

body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table tfoot tr.order-total td .amount {
  font-weight: 700;
}

/* Shipping row sits above order total (review-order.php); free rates wrapped via retaup_cart_shipping_method_full_label_free_wrap */
body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table tr.shipping td .retaup-shipping-label--free,
body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td .retaup-shipping-label--free {
  color: var(--clr-green);
  font-weight: 600;
}

body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals:has(.retaup-shipping-label--free) td .amount,
body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals:has(.retaup-shipping-label--free) td .woocommerce-Price-amount,
body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table tr.shipping:has(.retaup-shipping-label--free) td .amount,
body.woocommerce-checkout .retaup-checkout-page .woocommerce-checkout-review-order-table tr.shipping:has(.retaup-shipping-label--free) td .woocommerce-Price-amount {
  color: var(--clr-green);
  font-weight: 600;
}

/* WC checkout CTA — .btn-* merged via woocommerce_order_button_html */
body.woocommerce-checkout .retaup-checkout-page #payment #place_order.button.alt,
body.woocommerce-checkout .retaup-checkout-page #payment #place_order.btn-primary {
  line-height: 1.2;
  box-shadow: none;
  text-transform: none;
  letter-spacing: -0.01em;
}

body.woocommerce-checkout .retaup-checkout-page #payment #place_order:disabled {
  opacity: .55;
  cursor: not-allowed;
  transform: none;
}

/* ─────────────────────────────────────────────
   ORDER RECEIVED / THANK YOU (classic checkout endpoint)
───────────────────────────────────────────── */
body.woocommerce-order-received .wc-main-content {
  width: 100%;
  max-width: none;
  margin-inline: auto;
  box-sizing: border-box;
  padding-inline: 0;
  background: #f0f0eb;
}

body.woocommerce-order-received .wc-main-content>.container {
  padding-bottom: var(--sp-10);
}

body.woocommerce-order-received .retaup-order-received__title {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0;
}

body.woocommerce-order-received .retaup-order-received-layout {
  display: flex;
  flex-direction: column;
  gap: var(--sp-6);
  width: 100%;
  min-width: 0;
}

body.woocommerce-order-received .retaup-order-received .woocommerce-order {
  display: flex;
  flex-direction: column;
  gap: var(--sp-6);
  width: 100%;
  min-width: 0;
  margin: 0;
}

body.woocommerce-order-received .retaup-order-received .woocommerce-notice {
  margin: 0;
  padding: var(--sp-4) var(--sp-5);
  border-radius: 12px;
  box-sizing: border-box;
  font-size: .9375rem;
  line-height: 1.5;
}

body.woocommerce-order-received .retaup-order-received .woocommerce-notice--success {
  background: rgba(34, 139, 84, .09);
  border: 1px solid rgba(34, 139, 84, .22);
  color: #0f1020;
}

body.woocommerce-order-received .retaup-order-received .woocommerce-notice--error {
  background: rgba(176, 40, 40, .06);
  border: 1px solid rgba(176, 40, 40, .2);
}

body.woocommerce-order-received .retaup-order-received .woocommerce-thankyou-order-failed-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-3);
  align-items: center;
}

body.woocommerce-order-received .retaup-order-received .woocommerce-thankyou-order-failed-actions .button {
  margin: 0;
}

body.woocommerce-order-received .woocommerce-order-overview {
  list-style: none;
  margin: 0;
  padding: var(--sp-5) var(--sp-6);
  background: #fafaf8;
  border: 1px solid #f0f0ec;
  border-radius: 12px;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
  gap: var(--sp-4) var(--sp-6);
}

body.woocommerce-order-received .woocommerce-order-overview li {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: .8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--clr-text-2);
  font-variant-numeric: tabular-nums;
}

body.woocommerce-order-received .woocommerce-order-overview li strong {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  text-transform: none;
  letter-spacing: -0.01em;
  color: #0f1020;
}

body.woocommerce-order-received .woocommerce-order-overview__total strong {
  font-size: 1.0625rem;
}

body.woocommerce-order-received .retaup-order-received .woocommerce-order-details {
  margin: 0;
  padding: var(--sp-5) var(--sp-6);
  background: #fafaf8;
  border: 1px solid #f0f0ec;
  border-radius: 12px;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
}

body.woocommerce-order-received .retaup-order-received .woocommerce-order-details__title {
  margin: 0 0 var(--sp-4);
  padding: 0;
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #0f1020;
}

body.woocommerce-order-received .retaup-order-received table.order_details,
body.woocommerce-order-received .retaup-order-received table.woocommerce-table--order-details {
  width: 100%;
  min-width: 280px;
  border-collapse: collapse;
  margin: 0;
  background: #fff;
  border: 1px solid #f0f0ec;
  border-radius: 10px;
  overflow: hidden;
}

body.woocommerce-order-received .retaup-order-received .woocommerce-order-details,
body.woocommerce-order-received .retaup-order-received .woocommerce-customer-details {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

body.woocommerce-order-received .retaup-order-received table.order_details thead th,
body.woocommerce-order-received .retaup-order-received table.woocommerce-table--order-details thead th {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #888;
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0ec;
  background: #fafaf8;
  text-align: left;
}

body.woocommerce-order-received .retaup-order-received table.order_details thead th.product-total,
body.woocommerce-order-received .retaup-order-received table.woocommerce-table--order-details thead th.product-total {
  text-align: right;
}

body.woocommerce-order-received .retaup-order-received table.order_details tbody th,
body.woocommerce-order-received .retaup-order-received table.order_details tbody td,
body.woocommerce-order-received .retaup-order-received table.woocommerce-table--order-details tbody th,
body.woocommerce-order-received .retaup-order-received table.woocommerce-table--order-details tbody td {
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0ec;
  font-size: .9rem;
  vertical-align: top;
}

body.woocommerce-order-received .retaup-order-received table.order_details tbody .product-name,
body.woocommerce-order-received .retaup-order-received table.woocommerce-table--order-details tbody .product-name {
  font-weight: 600;
  color: #0f1020;
}

body.woocommerce-order-received .retaup-order-received table.order_details tbody .product-total,
body.woocommerce-order-received .retaup-order-received table.woocommerce-table--order-details tbody .product-total {
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  white-space: nowrap;
}

body.woocommerce-order-received .retaup-order-received table.order_details tfoot th,
body.woocommerce-order-received .retaup-order-received table.order_details tfoot td,
body.woocommerce-order-received .retaup-order-received table.woocommerce-table--order-details tfoot th,
body.woocommerce-order-received .retaup-order-received table.woocommerce-table--order-details tfoot td {
  padding: 10px 16px;
  border-bottom: 1px solid #f0f0ec;
  font-size: .9rem;
  font-variant-numeric: tabular-nums;
}

body.woocommerce-order-received .retaup-order-received table.order_details tfoot th,
body.woocommerce-order-received .retaup-order-received table.woocommerce-table--order-details tfoot th {
  font-weight: 600;
  color: var(--clr-text-2);
  text-align: left;
}

body.woocommerce-order-received .retaup-order-received table.order_details tfoot td,
body.woocommerce-order-received .retaup-order-received table.woocommerce-table--order-details tfoot td {
  text-align: right;
}

body.woocommerce-order-received .retaup-order-received table.order_details tfoot tr.order-total th,
body.woocommerce-order-received .retaup-order-received table.order_details tfoot tr.order-total td,
body.woocommerce-order-received .retaup-order-received table.woocommerce-table--order-details tfoot tr.order-total th,
body.woocommerce-order-received .retaup-order-received table.woocommerce-table--order-details tfoot tr.order-total td {
  font-size: 1.1875rem;
  font-weight: 700;
  color: #0f1020;
  border-bottom: none;
  padding-top: var(--sp-4);
  padding-bottom: var(--sp-3);
}

body.woocommerce-order-received .retaup-order-received table.order_details tfoot tr:last-child th,
body.woocommerce-order-received .retaup-order-received table.order_details tfoot tr:last-child td,
body.woocommerce-order-received .retaup-order-received table.woocommerce-table--order-details tfoot tr:last-child th,
body.woocommerce-order-received .retaup-order-received table.woocommerce-table--order-details tfoot tr:last-child td {
  border-bottom: none;
}

/* Global `.cart-subtotal { display:flex }` targets tfoot tr — restore order details table layout */
body.woocommerce-order-received .retaup-order-received table.order_details tr.cart-subtotal,
body.woocommerce-order-received .retaup-order-received table.woocommerce-table--order-details tr.cart-subtotal {
  display: table-row;
}

body.woocommerce-order-received .retaup-order-received table.order_details tr.cart-subtotal th,
body.woocommerce-order-received .retaup-order-received table.order_details tr.cart-subtotal td,
body.woocommerce-order-received .retaup-order-received table.woocommerce-table--order-details tr.cart-subtotal th,
body.woocommerce-order-received .retaup-order-received table.woocommerce-table--order-details tr.cart-subtotal td {
  display: table-cell;
  vertical-align: baseline;
}

body.woocommerce-order-received .retaup-order-received table.order_details tr.woocommerce-shipping-totals.shipping,
body.woocommerce-order-received .retaup-order-received table.order_details tr.shipping,
body.woocommerce-order-received .retaup-order-received table.woocommerce-table--order-details tr.woocommerce-shipping-totals.shipping,
body.woocommerce-order-received .retaup-order-received table.woocommerce-table--order-details tr.shipping {
  display: table-row;
}

body.woocommerce-order-received .retaup-order-received table.order_details tr.woocommerce-shipping-totals.shipping th,
body.woocommerce-order-received .retaup-order-received table.order_details tr.woocommerce-shipping-totals.shipping td,
body.woocommerce-order-received .retaup-order-received table.order_details tr.shipping th,
body.woocommerce-order-received .retaup-order-received table.order_details tr.shipping td,
body.woocommerce-order-received .retaup-order-received table.woocommerce-table--order-details tr.woocommerce-shipping-totals.shipping th,
body.woocommerce-order-received .retaup-order-received table.woocommerce-table--order-details tr.woocommerce-shipping-totals.shipping td,
body.woocommerce-order-received .retaup-order-received table.woocommerce-table--order-details tr.shipping th,
body.woocommerce-order-received .retaup-order-received table.woocommerce-table--order-details tr.shipping td {
  display: table-cell;
  vertical-align: top;
}

body.woocommerce-order-received .woocommerce-customer-details {
  margin: 0;
  padding: var(--sp-5) var(--sp-6);
  background: #fafaf8;
  border: 1px solid #f0f0ec;
  border-radius: 12px;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-column__title {
  margin: 0 0 var(--sp-3);
  font-size: 1rem;
  font-weight: 700;
  color: #0f1020;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns--addresses {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-5);
  margin: 0;
  padding: 0;
  border: 0;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns--addresses .col-1,
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns--addresses .col-2 {
  float: none;
  width: 100%;
  padding: var(--sp-4) var(--sp-5);
  margin: 0;
  background: #fff;
  border: 1px solid #f0f0ec;
  border-radius: 10px;
  box-sizing: border-box;
}

body.woocommerce-order-received .woocommerce-customer-details address {
  font-style: normal;
  font-size: .9375rem;
  line-height: 1.55;
  color: var(--clr-text);
  margin: 0;
}

body.woocommerce-order-received .woocommerce-customer-details .woocommerce-customer-details--phone,
body.woocommerce-order-received .woocommerce-customer-details .woocommerce-customer-details--email {
  margin: var(--sp-2) 0 0;
  font-size: .9375rem;
}

@media (min-width: 640px) {

  body.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns--addresses {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.woocommerce .checkout-button {
  width: 100%;
  height: 52px;
  background: var(--clr-accent);
  color: #fff;
  border: none;
  border-radius: var(--r-pill);
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  font-family: var(--font-body);
  transition: background var(--t);
}

.woocommerce .checkout-button:hover {
  background: var(--clr-accent-h);
  color: #fff;
}

/* WooCommerce forms — global (my account, extensions); checkout uses more specific rules above */
.woocommerce form .form-row {
  margin-bottom: var(--sp-4)
}

.woocommerce form .form-row label {
  font-size: .875rem;
  font-weight: 600;
  margin-bottom: 6px;
  display: block
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select {
  width: 100%;
  padding: 11px 14px;
  border: 1.5px solid var(--clr-border);
  border-radius: var(--r-md);
  font-family: var(--font-body);
  font-size: .9375rem;
  transition: border-color var(--t), box-shadow var(--t);
  background: #fff;
  color: var(--clr-text);
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus {
  outline: none;
  border-color: var(--clr-accent);
  box-shadow: 0 0 0 3px rgba(10, 10, 10, .08)
}

/* ─────────────────────────────────────────────
   SITE FORMS & CONTACT FORM 7
   Content + CF7; checkout body excluded so .retaup-checkout-page
   rules stay authoritative. Skips .qty (cart quantity UI).
───────────────────────────────────────────── */

body:not(.woocommerce-checkout) :is(main, .entry-content, .form-basic) :where(input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="number"],
  textarea,
  select):not(.qty),
body:not(.woocommerce-checkout) .wpcf7 :where(input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="number"],
  textarea,
  select):not(.qty) {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-height: 48px;
  padding: 11px 14px;
  border: 1.5px solid var(--clr-border);
  border-radius: var(--r-md);
  font-family: inherit;
  font-size: .9375rem;
  line-height: 1.45;
  color: var(--clr-text);
  background: var(--clr-bg);
  transition: border-color var(--t), box-shadow var(--t);
}

body:not(.woocommerce-checkout) :is(main, .entry-content, .form-basic) textarea:not(.qty),
body:not(.woocommerce-checkout) .wpcf7 textarea:not(.qty) {
  min-height: 120px;
  resize: vertical;
  padding-block: 12px;
}

body:not(.woocommerce-checkout) :is(main, .entry-content, .form-basic) select:not(.qty),
body:not(.woocommerce-checkout) .wpcf7 select:not(.qty) {
  cursor: pointer;
}

body:not(.woocommerce-checkout) :is(main, .entry-content, .form-basic) :where(input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="number"],
  textarea,
  select):not(.qty):focus,
body:not(.woocommerce-checkout) .wpcf7 :where(input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="number"],
  textarea,
  select):not(.qty):focus {
  outline: none;
  border-color: var(--clr-accent);
  box-shadow: 0 0 0 3px rgba(10, 10, 10, .08);
}

body:not(.woocommerce-checkout) :is(main, .entry-content, .form-basic) :where(input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="number"],
  textarea,
  select):not(.qty):disabled,
body:not(.woocommerce-checkout) .wpcf7 :where(input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="number"],
  textarea,
  select):not(.qty):disabled {
  opacity: .65;
  cursor: not-allowed;
}

/* CF7 layout */
body:not(.woocommerce-checkout) .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  max-width: 100%;
}

body:not(.woocommerce-checkout) .wpcf7-form>p:has(.wpcf7-form-control-wrap) {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin: 0 0 var(--sp-4);
}

body:not(.woocommerce-checkout) .wpcf7-form>p:has(.wpcf7-submit) {
  margin: var(--sp-2) 0 0;
}

body:not(.woocommerce-checkout) .wpcf7-form>p:has(.wpcf7-submit):last-child {
  margin-bottom: 0;
}

body:not(.woocommerce-checkout) .wpcf7-form>p:has(.wpcf7-form-control-wrap)>label:first-child {
  display: block;
  font-size: .875rem;
  font-weight: 600;
  color: var(--clr-text);
  margin-bottom: var(--sp-2);
  width: 100%;
}

body:not(.woocommerce-checkout) .wpcf7-form .wpcf7-list-item-label {
  font-size: .875rem;
  font-weight: 500;
  color: var(--clr-text-2);
}

body:not(.woocommerce-checkout) .wpcf7-form br {
  display: none;
}

body:not(.woocommerce-checkout) .wpcf7-form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

@media (max-width: 639px) {
  body:not(.woocommerce-checkout) .wpcf7-form .wpcf7-form-control-wrap {
    width: 100%;
    min-width: 0;
  }
}

/* CF7 acceptance / checkbox rows */
body:not(.woocommerce-checkout) .wpcf7-form .wpcf7-acceptance label,
body:not(.woocommerce-checkout) .wpcf7-form .wpcf7-list-item.first label {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-2);
  font-weight: 500;
  margin-bottom: 0;
}

body:not(.woocommerce-checkout) .wpcf7-form .wpcf7-acceptance input,
body:not(.woocommerce-checkout) .wpcf7-form .wpcf7-checkbox input {
  min-height: auto;
  width: auto;
  margin-top: .2em;
  flex-shrink: 0;
}

/* CF7 validation */
body:not(.woocommerce-checkout) .wpcf7-not-valid-tip {
  display: block;
  margin-top: var(--sp-2);
  font-size: .8125rem;
  line-height: 1.4;
  color: var(--clr-red);
}

body:not(.woocommerce-checkout) .wpcf7-not-valid {
  border-color: var(--clr-red) !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, .12);
}

body:not(.woocommerce-checkout) .wpcf7-not-valid:focus {
  border-color: var(--clr-red);
  box-shadow: 0 0 0 3px rgba(220, 38, 38, .15);
}

/* CF7 response banner */
body:not(.woocommerce-checkout) .wpcf7 form .wpcf7-response-output {
  margin: var(--sp-4) 0 var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  border-radius: var(--r-md);
  border-width: 1px;
  border-style: solid;
  border-color: var(--clr-border);
  font-size: .875rem;
  line-height: 1.5;
  clear: both;
  color: var(--clr-text-2);
}

body:not(.woocommerce-checkout) .wpcf7 form.sent .wpcf7-response-output,
body:not(.woocommerce-checkout) .wpcf7-response-output.wpcf7-mail-sent-ok {
  background: var(--clr-green-bg);
  border-color: rgba(26, 138, 82, .35);
  color: var(--clr-green);
}

body:not(.woocommerce-checkout) .wpcf7 form.invalid .wpcf7-response-output,
body:not(.woocommerce-checkout) .wpcf7 form.failed .wpcf7-response-output,
body:not(.woocommerce-checkout) .wpcf7 form.aborted .wpcf7-response-output,
body:not(.woocommerce-checkout) .wpcf7 form.unaccepted .wpcf7-response-output,
body:not(.woocommerce-checkout) .wpcf7-response-output.wpcf7-validation-errors,
body:not(.woocommerce-checkout) .wpcf7-response-output.wpcf7-mail-sent-ng,
body:not(.woocommerce-checkout) .wpcf7-response-output.wpcf7-spam-blocked,
body:not(.woocommerce-checkout) .wpcf7-response-output.wpcf7-aborted {
  background: rgba(220, 38, 38, .06);
  border-color: rgba(220, 38, 38, .35);
  color: var(--clr-red);
}

body:not(.woocommerce-checkout) .wpcf7 form.spam .wpcf7-response-output,
body:not(.woocommerce-checkout) .wpcf7 form.payment-required .wpcf7-response-output {
  background: var(--clr-amber-bg);
  border-color: rgba(180, 83, 9, .4);
  color: var(--clr-amber);
}

/* CF7 Ajax spinner (plugin uses ::before animation; keep structure compatible) */
body:not(.woocommerce-checkout) .wpcf7-spinner {
  margin: 0 var(--sp-2);
  vertical-align: middle;
  background-color: var(--clr-accent);
  opacity: .85;
}

body:not(.woocommerce-checkout) .wpcf7-spinner::before {
  background-color: var(--clr-bg);
}

/* CF7 submit — primary button parity */
body:not(.woocommerce-checkout) .wpcf7 :is(input.wpcf7-form-control.wpcf7-submit,
  button.wpcf7-submit) {
  margin-top: var(--sp-4);
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  padding: 11px 24px;
  border-radius: var(--r-pill);
  font-size: .9375rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  font-family: var(--font-body);
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
  border: 1.5px solid var(--clr-accent);
  background: var(--clr-accent);
  color: #fff;
  transition: all var(--t);
  appearance: none;
  -webkit-appearance: none;
}

body:not(.woocommerce-checkout) .wpcf7 :is(input.wpcf7-form-control.wpcf7-submit,
  button.wpcf7-submit):hover:not(:disabled) {
  background: var(--clr-accent-h);
  border-color: var(--clr-accent-h);
  transform: translateY(-1px);
  box-shadow: var(--sh-md);
}

body:not(.woocommerce-checkout) .wpcf7 :is(input.wpcf7-form-control.wpcf7-submit,
  button.wpcf7-submit):focus {
  outline: none;
  border-color: var(--clr-accent);
  box-shadow: 0 0 0 3px rgba(10, 10, 10, .08);
}

body:not(.woocommerce-checkout) .wpcf7 :is(input.wpcf7-form-control.wpcf7-submit,
  button.wpcf7-submit):disabled {
  opacity: .65;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

body:not(.woocommerce-checkout) .wpcf7 p:has(.wpcf7-submit.has-spinner) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-2);
}

body:not(.woocommerce-checkout) .wpcf7 p:has(.wpcf7-submit.has-spinner) .wpcf7-spinner {
  margin: 0;
}

/* ─────────────────────────────────────────────
   QUALITY TABS
───────────────────────────────────────────── */
.quality-tabs,
.qt-tabs {
  display: flex;
  gap: 0;
  border-bottom: 2px solid var(--clr-border);
  overflow-x: auto;
  scrollbar-width: none
}

.quality-tabs::-webkit-scrollbar,
.qt-tabs::-webkit-scrollbar {
  display: none
}

.quality-tab-btn,
.qt-btn {
  padding: var(--sp-4) var(--sp-5);
  font-size: .875rem;
  font-weight: 600;
  color: var(--clr-text-3);
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  background: transparent;
  cursor: pointer;
  white-space: nowrap;
  font-family: var(--font-body);
  transition: color var(--t), border-color var(--t);
}

.quality-tab-btn.active,
.quality-tab-btn:hover,
.qt-btn.active,
.qt-btn:hover {
  color: var(--clr-text);
  border-bottom-color: var(--clr-text)
}

.quality-tab-pane,
.qt-pane {
  display: none;
  padding-top: var(--sp-10);
}

.quality-tab-pane.active,
.qt-pane.active {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-10);
  align-items: center
}

.qt-pane h3 {
  margin-bottom: var(--sp-2)
}

.qt-pane .qt-meta {
  color: var(--clr-text-3);
  font-size: .8125rem;
  margin-bottom: var(--sp-3);
  font-family: var(--font-mono);
  text-transform: uppercase;
  letter-spacing: .06em
}

.qt-vis {
  background: #fff;
  border: 1px solid var(--clr-border);
  border-radius: var(--r-2xl);
  padding: var(--sp-12);
  text-align: center
}

.qt-vis.green {
  background: var(--clr-green-bg);
  border-color: rgba(26, 138, 82, .2)
}

.qt-vis-num {
  font-size: 4rem;
  font-weight: 800;
  letter-spacing: -.05em;
  line-height: 1
}

.qt-vis-cap {
  color: var(--clr-text-3);
  font-size: .875rem;
  margin-top: var(--sp-2)
}

.qt-vis.green .qt-vis-num {
  color: var(--clr-green)
}

.qt-vis.green .qt-vis-cap {
  color: var(--clr-green);
  font-weight: 600
}

/* ─────────────────────────────────────────────
   FAQ ACCORDION
───────────────────────────────────────────── */
.faq-list {
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
  --faq-acc-dur: 340ms;
  --faq-acc-ease: cubic-bezier(0.22, 1, 0.36, 1)
}

.faq-item {
  border: 1px solid var(--clr-border);
  border-radius: var(--r-md);
  overflow: hidden;
  background: #fff;
  transition: box-shadow var(--t)
}

.faq-item:hover {
  box-shadow: var(--sh-sm)
}

.faq-q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--sp-5) var(--sp-6);
  cursor: pointer;
  font-weight: 600;
  font-size: .9375rem;
  gap: var(--sp-4);
}

.faq-q .icon,
.faq-q .ic {
  flex-shrink: 0;
  transition: transform var(--faq-acc-dur) var(--faq-acc-ease);
  color: var(--clr-text-3)
}

.faq-item.open .faq-q .icon,
.faq-item.open .faq-q .ic {
  transform: rotate(180deg)
}

.faq-a,
.faq-answer {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: grid-template-rows var(--faq-acc-dur) var(--faq-acc-ease);
}

.faq-item.open .faq-a,
.faq-item.open .faq-answer {
  grid-template-rows: 1fr;
}

.faq-item:not(.open) .faq-a-inner {
  opacity: 0;
}

.faq-item.open .faq-a-inner {
  opacity: 1;
}

.faq-a-inner {
  overflow: hidden;
  min-height: 0;
  padding: 0 var(--sp-6) var(--sp-5);
  font-size: .9375rem;
  color: var(--clr-text-2);
  border-top: 1px solid var(--clr-border);
  padding-top: var(--sp-4);
  line-height: 1.75;
  transition: opacity var(--faq-acc-dur) var(--faq-acc-ease);
}

/* ─────────────────────────────────────────────
   HOMEPAGE — prototype guarantee rows / “why choose”
───────────────────────────────────────────── */
.home-guarantee-head {
  margin-bottom: var(--sp-8);
}

.home-guarantee-head h2 {
  font-size: 1.875rem;
}

.guarantee-grid--stack3 {
  grid-template-columns: 1fr;
  gap: var(--sp-3);
  max-width: 42rem;
  margin-inline: auto;
}

.guarantee-grid.three {
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-4);
}

.guarantee-card--proto {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-4);
  text-align: left;
  background: #fff;
  border: 1px solid rgba(255, 255, 255, .65);
  border-radius: var(--r-xl);
  padding: var(--sp-6);
}

.guarantee-card--proto:hover {
  box-shadow: var(--sh-md);
  transform: translateY(-2px);
  border-color: var(--clr-green);
}

.guarantee-card--proto .guarantee-icon--tone {
  width: 40px;
  height: 40px;
  margin: 0;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--r-md);
  border: 1px solid var(--clr-border);
  background: #fff;
}

.guarantee-icon--tone.green {
  color: var(--clr-green);
  background: var(--clr-green-bg) !important;
  border-color: rgba(26, 138, 82, .22) !important;
}

.guarantee-icon--tone.lavender {
  color: #7c3aed;
  background: #ede9fe !important;
  border-color: rgba(124, 58, 237, .2) !important;
}

.guarantee-icon--tone.rose {
  color: #be185d;
  background: #fce7f3 !important;
  border-color: rgba(190, 24, 93, .2) !important;
}

.guarantee-icon--tone.amber {
  color: var(--clr-amber);
  background: var(--clr-amber-bg) !important;
  border-color: rgba(180, 83, 9, .22) !important;
}

.guarantee-icon--tone.sky {
  color: #0369a1;
  background: #e0f2fe !important;
  border-color: rgba(3, 105, 161, .22) !important;
}

.guarantee-icon--tone.mint {
  color: var(--clr-green);
  background: var(--clr-green-bg) !important;
  border-color: rgba(26, 138, 82, .22) !important;
}

.guarantee-card--proto .gc-body {
  flex: 1;
}

@media (max-width: 960px) {
  .guarantee-grid.three {
    grid-template-columns: 1fr;
  }
}

/* ─────────────────────────────────────────────
   GUARANTEE / FEATURE GRID
───────────────────────────────────────────── */
.guarantee-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-5)
}

.guarantee-card {
  padding: var(--sp-6);
  border: 1px solid var(--clr-border);
  border-radius: var(--r-xl);
  text-align: center;
  transition: box-shadow var(--t), transform var(--t), border-color var(--t);
}

.guarantee-card:hover {
  box-shadow: var(--sh-md);
  transform: translateY(-2px);
  border-color: var(--clr-green)
}

.guarantee-card.guarantee-card--club:hover {
  transform: translateY(-5px);
  box-shadow: 0 26px 52px rgba(15, 16, 32, .1);
  border-color: rgba(26, 138, 82, .22);
}

.guarantee-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto var(--sp-5);
  background: var(--clr-green-bg);
  border-radius: var(--r-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.375rem;
}

.guarantee-card h3 {
  font-size: 1rem;
  margin-bottom: var(--sp-2)
}

.guarantee-card p {
  font-size: .875rem;
  margin: 0
}

.section-mint .guarantee-grid--everything {
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-4)
}

.section-mint .guarantee-card--everything {
  display: flex;
  align-items: flex-start;
  gap: var(--sp-4);
  text-align: left;
  background: #fff;
  border: 1px solid rgba(255, 255, 255, .65)
}

.section-mint .guarantee-card--everything .guarantee-icon--tone {
  width: 40px;
  height: 40px;
  margin: 0;
  flex-shrink: 0;
  font-size: 1.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.section-mint .gc-body {
  flex: 1
}

.section-mint .gc-cta {
  margin-top: var(--sp-3)
}

@media (max-width: 720px) {
  .section-mint .guarantee-grid--everything {
    grid-template-columns: 1fr
  }
}

/* ─────────────────────────────────────────────
   STATS STRIP
───────────────────────────────────────────── */
.stats-strip {
  background: var(--clr-bg-dark);
  padding: var(--sp-10) 0
}

.stats-inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  text-align: center;
  gap: var(--sp-6)
}

.stat-val {
  display: block;
  font-size: 2.125rem;
  font-weight: 800;
  letter-spacing: -.05em;
  color: #fff
}

.stat-lbl {
  font-size: .75rem;
  color: rgba(255, 255, 255, .45);
  margin-top: 4px
}

/* ─────────────────────────────────────────────
   BREADCRUMB
───────────────────────────────────────────── */
.ac-breadcrumb {
  margin-bottom: var(--sp-5)
}

.ac-breadcrumb ol {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  flex-wrap: wrap
}

.ac-breadcrumb li {
  font-size: .8125rem;
  color: var(--clr-text-3)
}

.ac-breadcrumb li:not(:last-child)::after {
  content: '/';
  margin-left: var(--sp-2)
}

.ac-breadcrumb a:hover {
  color: var(--clr-text)
}

/* ─────────────────────────────────────────────
   MOBILE RESPONSIVE
───────────────────────────────────────────── */
@media(max-width:1024px) {
  .hero-inner {
    grid-template-columns: 1fr;
    gap: var(--sp-10)
  }

  .hero-visual {
    min-height: 320px
  }

  .hero-vial--main {
    width: 160px
  }

  .hero-vial--left {
    width: 110px
  }

  .hero-vial--right {
    width: 100px
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--sp-8)
  }

  .stats-inner {
    grid-template-columns: repeat(2, 1fr)
  }

  .guarantee-grid {
    grid-template-columns: 1fr 1fr
  }

  .guarantee-grid.home-guarantee-six {
    grid-template-columns: repeat(2, 1fr);
  }

  .quality-tab-pane.active,
  .qt-pane.active {
    grid-template-columns: 1fr
  }
}

@media(max-width:768px) {
  :root {
    --header-h: 60px
  }

  .menu-toggle {
    display: flex
  }

  body.mobile-nav-open {
    overflow: hidden
  }

  .primary-nav-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 896;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: rgba(0, 0, 0, .35);
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--t), visibility var(--t)
  }

  .primary-nav-backdrop.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 904
  }

  .primary-nav {
    display: none;
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100dvh;
    min-height: 100vh;
    max-height: 100dvh;
    box-sizing: border-box;
    padding: env(safe-area-inset-top, 0px) 0 0;
    margin: 0;
    background: #fff;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 0;
    overflow: hidden;
    z-index: 897;
    border-top: 0
  }

  .primary-nav.open {
    display: flex;
    z-index: 905
  }

  .primary-nav__mobile-head,
  .primary-nav__mobile-rule,
  .primary-nav__mobile-foot {
    display: block
  }

  .primary-nav__mobile-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-4);
    flex-shrink: 0;
    width: 100%;
    box-sizing: border-box;
    height: var(--header-h);
    padding-inline: var(--sp-6);
    border-bottom: 1px solid var(--clr-border)
  }

  .primary-nav__logo {
    min-width: 0
  }

  .primary-nav__close {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: var(--r-md);
    background: transparent;
    color: var(--clr-text);
    font: inherit;
    line-height: 1;
    cursor: pointer;
    transition: background var(--t), color var(--t);
    -webkit-appearance: none;
    appearance: none
  }

  .primary-nav__close:hover {
    background: var(--clr-bg-soft);
    color: var(--clr-text)
  }

  .primary-nav__close:focus-visible {
    outline: 2px solid var(--clr-accent);
    outline-offset: 2px
  }

  .primary-nav__close-x {
    font-size: 1.75rem;
    font-weight: 400;
    line-height: 1
  }

  .primary-nav__mobile-rule {
    display: none
  }

  .primary-nav__scroll {
    display: block;
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: var(--sp-6);
    -webkit-overflow-scrolling: touch
  }

  .primary-nav__mobile-foot {
    flex-shrink: 0;
    border-top: 1px solid var(--clr-border);
    padding: var(--sp-4) var(--sp-6);
    background: #fff
  }

  .primary-nav__mobile-foot-inner {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: var(--sp-6)
  }

  .primary-nav__foot-link {
    font-size: 1rem;
    font-weight: 600;
    color: var(--clr-text);
    text-decoration: none
  }

  .primary-nav__foot-link:hover {
    color: var(--clr-text-2)
  }

  .primary-nav .nav-menu {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--sp-4);
    width: 100%
  }

  .primary-nav .nav-menu a {
    font-size: 1.125rem
  }

  /* Mobile drawer: show nested menus stacked with indent (keyboard / no-JS safe) */
  #primary-nav .nav-menu>li,
  #primary-nav .nav-menu li {
    width: 100%
  }

  #primary-nav .nav-menu .sub-menu {
    position: static;
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    visibility: visible;
    opacity: 1;
    max-width: none;
    min-width: 0;
    width: 100%;
    margin: var(--sp-2) 0 0;
    padding: var(--sp-2) 0 var(--sp-3) var(--sp-5);
    gap: var(--sp-2);
    box-shadow: none;
    border: 0;
    border-left: 2px solid var(--clr-border);
    border-radius: 0 var(--r-sm) var(--r-sm) 0;
    background: rgb(247 247 245 / .6)
  }

  #primary-nav .nav-menu .sub-menu .sub-menu {
    margin-top: var(--sp-2)
  }

  #primary-nav .nav-menu .sub-menu a {
    font-size: 1rem;
    padding-block: var(--sp-2)
  }

  .product-layout {
    grid-template-columns: 1fr;
    gap: var(--sp-6)
  }

  .product-gallery {
    position: static
  }

  .product-trust-row {
    grid-template-columns: repeat(3, 1fr)
  }

  .key-stat-card .key-stat-val {
    font-size: 1rem
  }

  .pdp-feature-cards {
    grid-template-columns: 1fr
  }

  .grid-2,
  .grid-3,
  .grid-4 {
    grid-template-columns: 1fr
  }

  .guarantee-grid {
    grid-template-columns: 1fr
  }

  .guarantee-grid.home-guarantee-six {
    grid-template-columns: 1fr;
  }

  .quality-tab-pane.active,
  .qt-pane.active {
    grid-template-columns: 1fr
  }

  .footer-grid {
    grid-template-columns: 1fr
  }

  .stats-inner {
    grid-template-columns: repeat(2, 1fr)
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start
  }

  .trust-bar-inner {
    gap: var(--sp-6);
    justify-content: flex-start
  }

  .cart-drawer {
    width: 100%;
    border-radius: var(--r-2xl) var(--r-2xl) 0 0;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    max-width: none;
    height: auto;
    max-height: 100vh;
    max-height: -webkit-fill-available;
    max-height: 100svh;
    max-height: 100dvh;
    min-height: 0;
    padding-inline: env(safe-area-inset-left, 0px) env(safe-area-inset-right, 0px);
    transform: translateY(100%)
  }

  .cart-drawer.open {
    transform: translateY(0)
  }
}

@media(max-width:480px) {
  .hero-stats {
    flex-direction: column;
    gap: var(--sp-4)
  }
}


/* AC-V2-EXTENSIONS */


/* ============================================================
   AUTH SCREENS  (sign-in / sign-up / forgot-password)
   ============================================================ */
.is-auth-page #site-header,
.is-auth-page .site-footer,
.is-auth-page .bottom-cta {
  display: none !important;
}

.is-auth-page main,
.is-auth-page #main {
  margin: 0;
  padding: 0;
}

.auth-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: var(--ac-bg, #fafaf7);
}

@media (max-width: 880px) {
  .auth-shell {
    grid-template-columns: 1fr;
  }

  .auth-shell-side {
    display: none;
  }
}

.auth-shell-side {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px;
  overflow: hidden;
}

.auth-shell-side-inner {
  position: relative;
  width: 100%;
  max-width: 460px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}

.auth-shell-logo {
  display: flex;
  align-items: baseline;
  gap: 6px;
  text-decoration: none;
  color: #0f1020;
  font-family: 'DM Sans', system-ui, sans-serif;
  letter-spacing: -.02em;
  position: absolute;
  top: 0;
  left: 0;
}

.auth-shell-logo .logo-amoni {
  font-weight: 800;
  font-size: 28px;
}

.auth-shell-logo .logo-labs {
  font-weight: 400;
  font-size: 18px;
  opacity: .7;
  font-style: italic;
}

.auth-shell-vial {
  filter: drop-shadow(0 12px 36px rgba(15, 16, 32, .18));
}

.auth-shell-quote {
  background: rgba(255, 255, 255, .6);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 18px;
  padding: 20px 22px;
  border: 1px solid rgba(255, 255, 255, .7);
}

.auth-shell-quote p {
  margin: 0 0 8px;
  font-size: 16px;
  line-height: 1.45;
  color: #1a1a2e;
}

.auth-shell-quote span {
  font-size: 13px;
  color: rgba(15, 16, 32, .6);
  font-weight: 600;
}

.auth-shell-form {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 64px 32px;
}

.auth-shell-form-inner {
  width: 100%;
  max-width: 440px;
}

.auth-shell-head h1 {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: clamp(28px, 4vw, 36px);
  font-weight: 700;
  letter-spacing: -.02em;
  margin: 0 0 8px;
  color: #0f1020;
}

.auth-shell-head p {
  color: #555;
  margin: 0 0 32px;
  font-size: 15px;
}

.auth-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.auth-row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.auth-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.auth-field>span:first-child {
  font-size: 13px;
  font-weight: 600;
  color: #0f1020;
}

.auth-field-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.auth-field-row a {
  color: #1a8a52;
  font-size: 12px;
  text-decoration: none;
  font-weight: 600;
}

.auth-field-row a:hover {
  text-decoration: underline;
}

.auth-field input,
.auth-field select {
  width: 100%;
  padding: 12px 14px;
  border: 1.5px solid #e5e5e0;
  border-radius: 10px;
  font-size: 15px;
  font-family: inherit;
  background: #fff;
  transition: border-color .15s, box-shadow .15s;
}

.auth-field input:focus,
.auth-field select:focus {
  outline: none;
  border-color: #0f1020;
  box-shadow: 0 0 0 3px rgba(15, 16, 32, .08);
}

.auth-field input:disabled {
  background: #f5f5f0;
  color: #888;
  cursor: not-allowed;
}

.auth-field small {
  font-size: 12px;
  color: #888;
}

.auth-field-pw {
  position: relative;
}

.auth-field-pw input {
  padding-right: 44px;
}

.auth-field-pw button {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: 0;
  padding: 6px;
  cursor: pointer;
  color: #888;
  border-radius: 6px;
}

.auth-field-pw button:hover {
  color: #0f1020;
  background: #f5f5f0;
}

.auth-pw-hint {
  font-size: 12px;
  color: #888;
  margin: -8px 0 4px;
}

.auth-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-size: 14px;
  color: #444;
}

.auth-check input {
  margin-top: 3px;
  accent-color: #0f1020;
}

.auth-check a {
  color: #0f1020;
  text-decoration: underline;
}

.btn-full {
  width: 100%;
  justify-content: center;
}

.btn-lg {
  padding: 14px 24px;
  font-size: 15px;
}

.auth-error {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 14px;
  background: #fee;
  border: 1px solid #fcc;
  border-radius: 10px;
  font-size: 14px;
  color: #a14a4a;
  margin-bottom: 20px;
}

.auth-shell-foot {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid #ececea;
  font-size: 14px;
  color: #555;
  text-align: center;
}

.auth-shell-foot a {
  color: #0f1020;
  font-weight: 600;
  text-decoration: none;
}

.auth-shell-foot a:hover {
  text-decoration: underline;
}

.auth-success {
  text-align: center;
  padding: 32px 16px;
  background: #f5faf6;
  border: 1px solid #cce5d4;
  border-radius: 14px;
}

.auth-success-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #1a8a52;
  color: #fff;
  border-radius: 999px;
}

.auth-success-meta {
  font-family: 'JetBrains Mono', monospace;
  background: #fff;
  padding: 8px 12px;
  border-radius: 8px;
  display: inline-block;
  margin: 8px 0 16px;
  font-size: 13px;
}

.auth-success p {
  margin: 8px 0;
  color: #444;
  font-size: 14px;
}

.auth-success a {
  color: #1a8a52;
  text-decoration: none;
  font-weight: 600;
}

.auth-success .btn {
  margin-top: 16px;
}

/* ============================================================
   ACCOUNT DASHBOARD
   ============================================================ */
.account-page {
  padding: 56px 0 80px;
  min-height: calc(100vh - 200px);
  background: var(--ac-bg, #fafaf7);
}

.account-head {
  margin-bottom: 24px;
}

.account-head h1 {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 700;
  letter-spacing: -.02em;
  margin: 0 0 4px;
}

.account-head p {
  color: #666;
  margin: 0;
}

.account-flash {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 14px;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 10px;
  color: #1a8a52;
  font-size: 14px;
  margin-bottom: 20px;
}

.account-grid {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 32px;
}

@media (max-width: 880px) {
  .account-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.account-side {
  background: #fff;
  border: 1px solid #ececea;
  border-radius: 16px;
  padding: 24px 16px;
  height: fit-content;
  position: sticky;
  top: 96px;
}

@media (max-width: 880px) {
  .account-side {
    position: static;
  }
}

.account-side-user {
  text-align: center;
  padding: 8px 8px 24px;
  border-bottom: 1px solid #f0f0ec;
  margin-bottom: 16px;
}

.account-avatar {
  width: 64px;
  height: 64px;
  border-radius: 999px;
  background: linear-gradient(135deg, #f7dcdc, #e3def7);
  color: #0f1020;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 22px;
  font-weight: 700;
  margin: 0 auto 12px;
  letter-spacing: -.01em;
}

.account-side-name {
  font-weight: 600;
  color: #0f1020;
}

.account-side-email {
  font-size: 13px;
  color: #888;
  word-break: break-word;
}

.account-nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.account-nav-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 14px;
  border-radius: 10px;
  text-decoration: none;
  color: #444;
  font-size: 14px;
  font-weight: 500;
  transition: background .15s, color .15s;
}

.account-nav-item:hover {
  background: #f7f7f3;
  color: #0f1020;
}

.account-nav-item.active {
  background: #0f1020;
  color: #fff;
}

.account-nav-icon {
  display: flex;
}

.account-nav-signout {
  color: #a14a4a;
  margin-top: 8px;
  padding-top: 16px;
  border-top: 1px solid #f0f0ec;
  border-radius: 0;
}

.account-nav-signout:hover {
  background: #fff5f5;
  color: #a14a4a;
}

.account-main {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.account-stat-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 4px;
}

@media (max-width: 640px) {
  .account-stat-row {
    grid-template-columns: 1fr;
  }
}

.account-stat {
  background: #fff;
  border: 1px solid #ececea;
  border-radius: 14px;
  padding: 18px 20px;
}

.account-stat-lbl {
  font-size: 12px;
  font-weight: 600;
  color: #888;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 6px;
}

.account-stat-val {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 28px;
  font-weight: 700;
  color: #0f1020;
  letter-spacing: -.02em;
}

.account-card {
  background: #fff;
  border: 1px solid #ececea;
  border-radius: 16px;
  overflow: hidden;
}

.account-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 22px;
  border-bottom: 1px solid #f0f0ec;
}

.account-card-head--col {
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  border-bottom: 1px solid #f0f0ec;
}

.account-card-head h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: #0f1020;
}

.account-card-link {
  color: #0f1020;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

.account-card-link:hover {
  text-decoration: underline;
}

.account-card-body {
  padding: 20px 22px;
}

.account-empty {
  text-align: center;
  color: #666;
  padding: 24px 0;
}

.account-empty p {
  margin: 0 0 16px;
}

.account-filters {
  display: flex;
  gap: 4px;
}

.account-filter {
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  color: #666;
}

.account-filter:hover {
  background: #f7f7f3;
  color: #0f1020;
}

.account-filter.active {
  background: #0f1020;
  color: #fff;
}

.account-order-list-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 640px) {
  .account-card-head:has(.account-filters) {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 12px;
  }

  .account-card-head:has(.account-filters)>h3 {
    flex: 1 1 100%;
    width: 100%;
    min-width: 0;
  }

  .account-card-head:has(.account-filters)>.account-filters {
    flex: 1 1 100%;
    width: 100%;
  }

  .account-filters {
    flex-wrap: wrap;
  }

  .order-row {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .order-row-info {
    min-width: 0;
  }

  .order-row-summary {
    overflow-wrap: anywhere;
    word-break: break-word;
  }
}

.order-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 16px 22px;
  border-bottom: 1px solid #f0f0ec;
  text-decoration: none;
  color: inherit;
  transition: background .15s;
}

.order-row:last-child {
  border-bottom: 0;
}

.order-row:hover {
  background: #fafaf7;
}

.order-row-thumbs {
  display: flex;
  gap: 6px;
}

.account-thumb {
  width: 56px;
  height: 56px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  object-fit: cover;
  background: #f0f0ec;
}

.order-row-meta {
  font-size: 12px;
  color: #888;
  margin-bottom: 4px;
}

.order-row-id {
  font-family: 'JetBrains Mono', monospace;
  font-weight: 600;
  color: #0f1020;
}

.order-row-dot {
  color: #ccc;
  margin: 0 4px;
}

.order-row-summary {
  color: #0f1020;
  font-weight: 500;
  font-size: 14px;
}

.order-row-right {
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
}

.order-row-total {
  font-weight: 700;
  color: #0f1020;
}

.order-row-title {
  font-weight: 600;
  font-size: 14px;
  color: #0f1020;
}

.account-coa-row__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  align-items: center;
}

.account-coa-btn-group {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.account-coa-ext-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  border: 1px solid #e0e0d8;
  color: #0f1020;
  background: #fff;
  text-decoration: none;
  flex-shrink: 0;
  transition: background .15s, border-color .15s;
}

.account-coa-ext-link:hover {
  background: #f6f6f2;
  border-color: #c8c8c0;
  color: #0f1020;
}

.order-detail-item-name a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.order-detail-item-name a:hover {
  color: var(--clr-accent, #1a8a52);
}

.account-order-certs .account-card-head--col {
  padding-bottom: 22px;
}

.account-order-certs__body {
  padding: 28px 22px 24px;
}

.account-order-certs__grid {
  margin-top: 0;
}

.account-order-certs__unmatched {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #f0f0ec;
}

.account-order-certs__unmatched-title {
  margin: 0 0 0.75rem;
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #888;
}

.account-order-certs__unmatched-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.account-order-certs__unmatched-item {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.75rem;
  padding: 0.75rem 1rem;
  background: #fafaf7;
  border: 1px solid #f0f0ec;
  border-radius: 10px;
}

.account-order-certs__unmatched-name {
  font-weight: 600;
  color: #0f1020;
}

.account-order-certs__unmatched-msg {
  font-size: 0.875rem;
  color: #666;
}

.account-order-certs__unmatched-link {
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.account-order-certs__empty-all {
  padding: 0 0 1rem;
  text-align: left;
}

.account-order-certs__empty-all p {
  margin: 0;
}

@media (max-width: 640px) {
  .account-coa-row {
    grid-template-columns: auto 1fr;
  }

  .account-coa-row__actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

.status-pill {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.status-pill--green {
  background: #dcefdc;
  color: #1a8a52;
}

.status-pill--amber {
  background: #fbeec0;
  color: #a17a1a;
}

.status-pill--red {
  background: #fee;
  color: #a14a4a;
}

.status-pill--gray {
  background: #f0f0ec;
  color: #666;
}

.account-order-detail {
  display: flex;
  flex-direction: column;
  gap: 28px;
  max-width: 960px;
}

@media (max-width: 640px) {
  .account-order-detail {
    gap: 22px;
  }
}

.account-order-detail>.account-back {
  margin-bottom: 0;
}

.account-order-detail>.account-card,
.account-order-detail>.account-order-certs {
  margin: 0;
}

.account-back {
  display: inline-block;
  color: #666;
  text-decoration: none;
  font-size: 14px;
  margin-bottom: 12px;
}

.account-back:hover {
  color: #0f1020;
}

.order-detail-head {
  display: flex;
  align-items: center;
  gap: 12px;
}

.order-detail-meta {
  color: #666;
  font-size: 14px;
  margin: 0;
}

.order-detail-meta code {
  background: #f5f5f0;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 12px;
}

.order-detail-items {
  display: flex;
  flex-direction: column;
}

.order-detail-item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid #f0f0ec;
}

.order-detail-item:last-child {
  border-bottom: 0;
}

.order-detail-item-name {
  font-weight: 600;
  color: #0f1020;
}

.order-detail-item-meta {
  font-size: 13px;
  color: #888;
}

.order-detail-item-total {
  font-weight: 600;
  color: #0f1020;
}

.order-detail-totals {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 2px solid #0f1020;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.order-detail-totals>div {
  display: flex;
  justify-content: space-between;
  color: #555;
  font-size: 14px;
}

.order-detail-totals-final {
  padding-top: 8px;
  border-top: 1px solid #f0f0ec;
  font-weight: 700;
  font-size: 16px;
  color: #0f1020;
}

.account-address-grid {
  display: grid;
  gap: 12px;
}

.account-address-card {
  border: 1px solid #ececea;
  border-radius: 12px;
  padding: 16px;
}

.account-address-card[open] {
  background: #fafaf7;
}

.account-address-card summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  list-style: none;
  gap: 12px;
}

.account-address-card summary::-webkit-details-marker {
  display: none;
}

.account-address-label {
  font-weight: 700;
  color: #0f1020;
}

.account-address-summary {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  padding-left: 16px;
  font-size: 13px;
  color: #555;
}

.account-address-summary strong {
  color: #0f1020;
}

.account-address-empty {
  font-size: 13px;
  color: #888;
  flex: 1;
  padding-left: 16px;
}

.account-address-form {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #f0f0ec;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.account-address-edit-shell .account-address-cancel {
  display: inline-block;
  margin-bottom: 14px;
  font-size: 14px;
  font-weight: 600;
  color: var(--clr-text-2, #555);
  text-decoration: none;
}

.account-address-edit-shell .account-address-cancel:hover {
  color: var(--clr-text);
  text-decoration: underline;
}

.account-address-edit-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 0;
}

.account-address-edit-shell .account-form.account-address-form {
  max-width: none;
}

.account-address-cards-wrap {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.account-address-cards,
.addresses-cards-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}

.account-addr-card {
  background: var(--clr-bg, #fff);
  border: 1px solid var(--clr-border, #ececea);
  border-radius: var(--r-md, 10px);
  padding: var(--sp-5, 20px);
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.account-addr-card--default {
  border-width: 2px;
  border-color: var(--clr-text);
  background: var(--clr-bg-soft, #fafaf7);
}

.account-addr-card--secondary {
  border-color: var(--clr-border, #ececea);
  background: var(--clr-bg, #fff);
}

.account-addr-card__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
}

.account-addr-card__title {
  font-weight: 700;
  font-size: 15px;
  color: var(--clr-text);
  letter-spacing: -0.02em;
}

.account-addr-card__badge {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: var(--r-pill, 999px);
  font-size: 12px;
  font-weight: 600;
  color: var(--clr-green, #1a8a52);
  background: var(--clr-green-bg, #f0faf5);
  border: none;
}

.account-addr-card__badge--muted {
  color: var(--clr-text-2, #555);
  background: var(--clr-bg-soft, #fafaf7);
  border: 1px solid var(--clr-border, #ececea);
}

.account-addr-card__body {
  flex: 1;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--clr-border);
}

.account-addr-card__name {
  font-weight: 700;
  margin: 0 0 8px;
  color: var(--clr-text);
  font-size: 15px;
}

.account-addr-card__lines {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 14px;
  line-height: 1.55;
  color: var(--clr-text-2, #555);
}

.account-addr-card__lines--muted {
  opacity: .92;
}

.account-addr-card__same-note {
  font-size: 13px;
  font-style: italic;
  color: var(--clr-text-2, #555);
  margin: 0 0 10px;
}

.account-addr-card__phone {
  font-family: var(--font-mono, 'JetBrains Mono', monospace);
  font-size: 13px;
  color: var(--clr-text-3, #888);
  margin: 12px 0 0;
}

.account-addr-card__empty {
  font-size: 14px;
  color: var(--clr-text-3, #888);
  margin: 0;
}

.account-addr-card__foot {
  padding-top: 16px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 12px;
}

.account-addr-card__edit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: var(--r-pill, 999px);
  font-size: 13px;
  font-weight: 600;
  color: var(--clr-text);
  border: 1px solid var(--clr-border);
  background: var(--clr-bg, #fff);
  text-decoration: none;
  transition: border-color .15s ease, background .15s ease;
}

.account-addr-card__edit:hover {
  border-color: var(--clr-text-2);
  background: var(--clr-bg-soft, #fafaf7);
}

.account-address-copyhint {
  margin: 0;
  width: 100%;
  font-size: 13px;
  color: var(--clr-text-3, #888);
}

.account-address-copyhint a {
  color: var(--clr-text-2, #555);
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.account-address-copyhint a:hover {
  color: var(--clr-text);
}

@media (max-width: 780px) {

  .account-address-cards,
  .addresses-cards-grid {
    grid-template-columns: 1fr;
  }
}

.account-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 480px;
}

/* ============================================================
   AGE / RESEARCHER GATE
   ============================================================ */
body.gate-open {
  overflow: hidden;
}

.age-gate {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(15, 16, 32, .55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  animation: ag-fade .25s ease-out;
}

.age-gate.closing {
  opacity: 0;
  transition: opacity .2s;
  pointer-events: none;
}

@keyframes ag-fade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.age-gate-card {
  background: #fff;
  border-radius: 18px;
  max-width: 480px;
  width: 100%;
  padding: 36px 32px;
  text-align: center;
  box-shadow: 0 24px 80px rgba(15, 16, 32, .32);
  animation: ag-pop .3s ease-out;
}

@keyframes ag-pop {
  from {
    transform: translateY(8px) scale(.98);
    opacity: 0;
  }

  to {
    transform: none;
    opacity: 1;
  }
}

.age-gate-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fbeec0;
  color: #a17a1a;
  border-radius: 999px;
}

.age-gate h2 {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -.02em;
  color: #0f1020;
  margin: 0 0 12px;
}

.age-gate p {
  color: #555;
  line-height: 1.55;
  margin: 0 0 20px;
  font-size: 14px;
}

.age-gate-list {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.age-gate-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: #fafaf7;
  border-radius: 10px;
  font-size: 14px;
  color: #0f1020;
}

.age-gate-list li svg {
  color: #1a8a52;
  flex-shrink: 0;
}

.age-gate-actions {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  margin-bottom: 16px;
}

.age-gate-fine {
  font-size: 11px;
  color: #999;
  margin: 0;
  line-height: 1.4;
}

.btn-ghost {
  background: transparent;
  color: #666;
  border: 1.5px solid #e5e5e0;
}

.btn-ghost:hover {
  background: #f7f7f3;
  color: #0f1020;
}

/* ============================================================
   CART DRAWER
   ============================================================ */
body.drawer-open {
  overflow: hidden;
}

.cart-overlay,
.coa-overlay,
.coa-soon-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 16, 32, .5);
  z-index: 9000;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.cart-overlay.open,
.coa-overlay.open,
.coa-soon-overlay.open {
  opacity: 1;
  pointer-events: auto;
}

.cart-drawer {
  position: fixed;
  right: 0;
  top: 0;
  bottom: auto;
  width: 100%;
  max-width: 440px;
  height: 100vh;
  max-height: 100vh;
  height: -webkit-fill-available;
  max-height: -webkit-fill-available;
  height: 100svh;
  max-height: 100svh;
  height: 100dvh;
  max-height: 100dvh;
  background: #fff;
  z-index: 9100;
  transform: translateX(100%);
  transition: transform .3s cubic-bezier(.32, .72, 0, 1);
  display: flex;
  flex-direction: column;
  box-shadow: -16px 0 48px rgba(15, 16, 32, .18);
  box-sizing: border-box;
  padding-top: env(safe-area-inset-top, 0px);
  padding-inline: env(safe-area-inset-left, 0px) env(safe-area-inset-right, 0px);
}

.cart-drawer.open {
  transform: translateX(0);
}

.cart-drawer.updating {
  opacity: .7;
  pointer-events: none;
  transition: opacity .15s;
}

.cart-drawer-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid #f0f0ec;
  flex-shrink: 0;
}

.cart-drawer-head h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: #0f1020;
}

.cart-drawer-count {
  background: #0f1020;
  color: #fff;
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 12px;
  margin-left: 6px;
  vertical-align: middle;
}

.cart-close,
.coa-close {
  background: none;
  border: 0;
  padding: 8px;
  cursor: pointer;
  color: #666;
  border-radius: 8px;
}

.cart-close:hover,
.coa-close:hover {
  background: #f5f5f0;
  color: #0f1020;
}

.coa-close--abs {
  position: absolute;
  top: 12px;
  right: 12px;
}

#cart-drawer .cart-empty {
  padding: 40px 24px calc(env(safe-area-inset-bottom, 0px) + 16px);
}

#cart-drawer .cart-empty,
.retaup-cart-page-empty-visual {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.retaup-cart-page-empty-visual {
  padding: 40px 24px;
}

#cart-drawer .cart-empty-icon,
.retaup-cart-page-empty-visual .cart-empty-icon {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f5f5f0;
  color: #888;
  border-radius: 999px;
  margin-bottom: 16px;
}

#cart-drawer .cart-empty h4,
.retaup-cart-page-empty-visual h4 {
  font-family: 'DM Sans';
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 8px;
  color: #0f1020;
}

#cart-drawer .cart-empty p,
.retaup-cart-page-empty-visual p {
  color: #666;
  margin: 0 0 20px;
}

.cart-items {
  flex: 1;
  overflow-y: auto;
  padding: 8px 24px;
}

.cart-item {
  display: grid;
  grid-template-columns: 80px 1fr auto;
  gap: 14px;
  padding: 16px 0;
  border-bottom: 1px solid #f0f0ec;
  align-items: flex-start;
}

.cart-item:last-child {
  border-bottom: 0;
}

.cart-item-thumb {
  width: 80px;
  height: 80px;
  border-radius: 10px;
  overflow: hidden;
  background: #f5f5f0;
}

.cart-item-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cart-item-thumb-fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
}

.cart-item-name {
  display: block;
  font-weight: 600;
  color: #0f1020;
  text-decoration: none;
  font-size: 14px;
  margin-bottom: 2px;
}

.cart-item-name:hover {
  text-decoration: underline;
}

.cart-item-variant {
  font-size: 12px;
  color: #888;
  margin-bottom: 8px;
}

.cart-item-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.cart-item-price {
  font-weight: 700;
  color: #0f1020;
  font-size: 14px;
  white-space: nowrap;
}

.qty-control {
  display: inline-flex;
  align-items: center;
  border: 1.5px solid #ececea;
  border-radius: 10px;
  overflow: hidden;
}

.qty-control button {
  width: 30px;
  height: 30px;
  background: #fff;
  border: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #444;
}

.qty-control button:hover {
  background: #f5f5f0;
}

.qty-control input,
.qty-control .qty-val {
  width: 32px;
  min-width: 32px;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  color: #0f1020;
  border: 0;
  background: none;
  padding: 4px 0;
}

.cart-item-remove {
  background: none;
  border: 0;
  font-size: 12px;
  color: #a14a4a;
  cursor: pointer;
  padding: 4px;
}

.cart-item-remove:hover {
  text-decoration: underline;
}

.cart-foot {
  border-top: 1px solid #f0f0ec;
  padding: 20px 24px calc(env(safe-area-inset-bottom, 0px) + 16px);
  background: #fafaf7;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-shrink: 0;
}

.cart-totals {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.cart-totals-row {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  color: #444;
}

.cart-totals-row--meta {
  color: #888;
  font-size: 12px;
}

.cart-foot-link {
  text-align: center;
  color: #666;
  font-size: 13px;
  text-decoration: none;
}

.cart-foot-link:hover {
  color: #0f1020;
  text-decoration: underline;
}

/* —— Cart drawer refresh (reference layout) —— */
.cart-drawer-title {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: #0f1020;
  letter-spacing: -.01em;
}

.cart-close-x {
  display: block;
  font-size: 26px;
  line-height: 1;
  font-weight: 400;
}

.cart-drawer-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.cart-drawer-scroll .cart-items {
  flex: none;
  overflow: visible;
}

.cart-item {
  display: flex;
  gap: 14px;
  padding: 16px 0;
  border-bottom: 1px solid #f0f0ec;
  align-items: flex-start;
}

.cart-item:last-child {
  border-bottom: 0;
}

.cart-item-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cart-item-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.cart-item-titles {
  min-width: 0;
}

.cart-item-name {
  display: block;
  font-weight: 700;
  color: #0f1020;
  text-decoration: none;
  font-size: 15px;
  line-height: 1.25;
  margin: 0;
}

.cart-item-variant {
  font-size: 12px;
  color: var(--clr-text-3, #888);
  margin-top: 4px;
}

.cart-item-variant dl,
.cart-item-variant dd,
.cart-item-variant dt {
  margin: 0;
  font-size: inherit;
  color: inherit;
}

.cart-item-price-remove {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  flex-shrink: 0;
}

.cart-item-price {
  font-weight: 700;
  color: #0f1020;
  font-size: 15px;
  white-space: nowrap;
}

.cart-item-remove {
  background: none;
  border: 0;
  padding: 0 2px;
  cursor: pointer;
  color: var(--clr-text-3, #888);
  font-size: 20px;
  line-height: 1;
  border-radius: 4px;
  transition: color var(--t), background var(--t);
}

.cart-item-remove:hover {
  color: var(--clr-red, #a14a4a);
  background: rgba(220, 38, 38, .06);
}

.cart-item-qty-row {
  margin-top: 0;
}

.qty-control {
  border-radius: var(--r-pill, 999px);
}

.cart-drawer-promo {
  background: #fff;
  border: 1.5px solid var(--clr-border, #ececea);
  border-radius: var(--r-md, 12px);
  overflow: hidden;
}

.cart-drawer-promo--inline {
  overflow: visible;
  padding: 12px 14px;
}

.cart-drawer-promo--inline .cart-drawer-coupon-row {
  margin-top: 0;
}

/* Cart drawer only: no bordered bar; cart totals page keeps .cart-drawer-promo card. */
#cart-drawer .cart-drawer-coupon-disclosure.cart-drawer-promo--inline {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
}

.cart-drawer-coupon-toggle {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0;
  margin: 0;
  border: none;
  background: none;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.35;
  font-weight: 500;
  color: var(--clr-text-3, #777);
  text-align: left;
  -webkit-appearance: none;
  appearance: none;
}

.cart-drawer-coupon-toggle:hover {
  color: var(--clr-text-2, #555);
}

.cart-drawer-coupon-toggle:focus {
  outline: none;
}

.cart-drawer-coupon-toggle:focus-visible {
  outline: 2px solid #0f1020;
  outline-offset: 2px;
  border-radius: 2px;
}

.cart-drawer-coupon-toggle__ic {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  opacity: 0.5;
  transition: transform 0.2s ease;
}

.cart-drawer-coupon-toggle__ic svg {
  display: block;
}

.cart-drawer-coupon-toggle.is-open .cart-drawer-coupon-toggle__ic {
  transform: rotate(180deg);
}

#cart-drawer .cart-drawer-coupon-panel:not([hidden]) {
  margin-top: 10px;
}

.cart-drawer-coupon-panel .cart-drawer-coupon-row {
  margin-top: 0;
}

.cart-drawer-lines {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 4px;
}

.cart-totals-row--cart-subtotal,
.cart-totals-row--total-lg {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 14px;
  font-weight: 600;
  color: var(--clr-text-2, #555);
}

.cart-totals-row--total-lg {
  font-size: 1.125rem;
  font-weight: 700;
  color: #0f1020;
  padding-top: 4px;
  border-top: 1px solid var(--clr-border, #ececea);
  margin-top: 2px;
}

.cart-totals-row--total-lg .woocommerce-price-suffix {
  font-weight: 600;
}

.cart-totals-row--total-lg span:last-child {
  font-size: 1.25rem;
  letter-spacing: -.03em;
}

.cart-drawer-lines .woocommerce-Price-amount {
  font-variant-numeric: tabular-nums;
}

/* Cart drawer + checkout — tiered shipping progress (two segments) */
.cart-drawer .cart-progress,
body.woocommerce-checkout .retaup-checkout-page .cart-progress {
  --retaup-ship-progress-green: var(--clr-green, #1a8a52);
  --retaup-ship-progress-track: #e8ebe9;
  margin: 0;
  padding: 0;
}

.cart-drawer .cart-progress {
  margin-top: 2px;
}

body.woocommerce-checkout .retaup-checkout-page .cart-progress--checkout {
  margin-bottom: var(--sp-5, 1.25rem);
}

.cart-drawer .cart-progress-msg,
body.woocommerce-checkout .retaup-checkout-page .cart-progress-msg {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 10px;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 600;
  color: var(--retaup-ship-progress-green);
  text-align: center;
}

.cart-drawer .cart-progress-msg__icon,
body.woocommerce-checkout .retaup-checkout-page .cart-progress-msg__icon {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--retaup-ship-progress-green);
}

.cart-drawer .cart-progress-msg__icon svg,
body.woocommerce-checkout .retaup-checkout-page .cart-progress-msg__icon svg {
  display: block;
}

.cart-drawer .cart-progress-msg__text,
body.woocommerce-checkout .retaup-checkout-page .cart-progress-msg__text {
  color: inherit;
}

.cart-drawer .cart-progress-msg .woocommerce-Price-amount,
body.woocommerce-checkout .retaup-checkout-page .cart-progress-msg .woocommerce-Price-amount {
  color: var(--retaup-ship-progress-green);
}

.cart-drawer .cart-progress-segments,
body.woocommerce-checkout .retaup-checkout-page .cart-progress-segments {
  display: flex;
  gap: 6px;
  width: 100%;
  margin: 0 0 8px;
}

.cart-drawer .cart-progress-seg,
body.woocommerce-checkout .retaup-checkout-page .cart-progress-seg {
  flex: 1;
  min-width: 0;
  height: 8px;
  border-radius: 999px;
  background: var(--retaup-ship-progress-track);
  overflow: hidden;
}

.cart-drawer .cart-progress-seg-fill,
body.woocommerce-checkout .retaup-checkout-page .cart-progress-seg-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--retaup-ship-progress-green);
  transition: width 0.35s ease;
  min-width: 0;
}

.cart-drawer .cart-progress-labels,
body.woocommerce-checkout .retaup-checkout-page .cart-progress-labels {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  font-size: 12px;
  line-height: 1.3;
  font-weight: 500;
  color: var(--clr-text-3, #777);
  text-align: center;
}

.cart-drawer .cart-progress-labels span,
body.woocommerce-checkout .retaup-checkout-page .cart-progress-labels span {
  min-width: 0;
}

.cart-drawer .cart-progress-bar,
body.woocommerce-checkout .retaup-checkout-page .cart-progress-bar {
  height: 8px;
  border-radius: 999px;
  background: var(--retaup-ship-progress-track);
  overflow: hidden;
  margin-top: 6px;
}

.cart-drawer .cart-progress-fill,
body.woocommerce-checkout .retaup-checkout-page .cart-progress-fill {
  height: 100%;
  border-radius: inherit;
  background: var(--retaup-ship-progress-green);
  transition: width 0.35s ease;
}

.cart-drawer-promo-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  background: #fff;
  border: 0;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: .9375rem;
  font-weight: 600;
  color: var(--clr-text-2, #555);
  text-align: left;
  transition: background .15s;
}

.cart-drawer-promo-toggle:hover {
  background: var(--clr-bg-soft, #f5f5f0);
}

.cart-drawer-promo-toggle.is-open .cart-drawer-promo-toggle__ic {
  transform: rotate(180deg);
}

.cart-drawer-promo-toggle__ic {
  display: flex;
  color: #888;
  transition: transform .2s;
}

.cart-drawer-promo-panel {
  padding: 0 14px 14px;
  border-top: 1px solid #f0f0ec;
}

.cart-drawer-promo-hint {
  margin: 12px 0;
  font-size: 13px;
  color: #666;
  line-height: 1.45;
}

.cart-drawer-coupon-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 4px;
}

.cart-drawer-coupon-input {
  flex: 1 1 140px;
  min-width: 0;
  padding: 10px 12px;
  border: 1.5px solid var(--clr-border, #ececea);
  border-radius: 10px;
  font-family: var(--font-body);
  font-size: .875rem;
}

.cart-drawer-coupon-input:focus {
  outline: none;
  border-color: #0f1020;
}

.cart-drawer-coupon-apply {
  flex-shrink: 0;
}

.cart-drawer-applied-coupons {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.cart-drawer-applied-coupon {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 13px;
  padding: 8px 10px;
  background: var(--clr-bg-soft, #f5f5f0);
  border-radius: 8px;
}

.cart-drawer-applied-coupon--discount-row {
  align-items: flex-start;
  flex-wrap: nowrap;
  gap: 10px;
}

.cart-drawer-applied-coupon__label-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  flex: 1 1 auto;
  min-width: 0;
}

.cart-drawer-applied-coupon__label {
  font-size: 13px;
  font-weight: 600;
  color: #0f1020;
}

.cart-drawer-applied-coupon__amount {
  font-size: 13px;
  font-weight: 700;
  color: #1a5c3a;
}

.cart-drawer-applied-coupon__remove {
  background: none;
  border: 0;
  padding: 0;
  font-size: 12px;
  font-weight: 600;
  color: #a14a4a;
  cursor: pointer;
  text-decoration: underline;
}

.cart-drawer-applied-coupon__remove:hover {
  color: #7a3838;
}

.cart-drawer-notices {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.cart-drawer-notice {
  margin: 0;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 13px;
  line-height: 1.4;
}

.cart-drawer-notice--error {
  background: #fdf2f2;
  color: #7a3838;
}

.cart-drawer-notice--notice,
.cart-drawer-notice--success,
.cart-drawer-notice--info {
  background: #f0faf4;
  color: #1a5c3a;
}

.cart-totals-row--discount {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 14px;
  font-weight: 600;
  color: #1a5c3a;
}

.cart-totals-row--subtotal-lg {
  font-size: 1.125rem;
  font-weight: 700;
  color: #0f1020;
  justify-content: space-between;
  display: flex;
  align-items: baseline;
}

.cart-totals-row--subtotal-lg span:last-child {
  font-size: 1.25rem;
  letter-spacing: -.03em;
}

.cart-drawer-express-wrap {
  width: 100%;
}

.cart-drawer-express-wrap[hidden],
.cart-drawer-or[hidden] {
  display: none !important;
}

.cart-drawer-express-inner:empty {
  display: none;
}

.cart-drawer-express-inner #wc-stripe-payment-request-wrapper {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  width: 100% !important;
  clear: both;
}

.cart-drawer-express-inner #wc-stripe-payment-request-button {
  min-height: 48px;
}

.cart-drawer-or {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--clr-text-3, #888);
  font-size: 12px;
  font-weight: 600;
}

.cart-drawer-or::before,
.cart-drawer-or::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--clr-border, #ececea);
}

.cart-drawer-packdate {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  width: 100%;
  font-size: 13px;
  font-weight: 600;
  color: var(--clr-green, #1a8a52);
  text-align: center;
}

.cart-drawer-packdate__ic {
  display: inline-flex;
  color: var(--clr-green, #1a8a52);
}

.cart-foot .btn-lg.btn-full {
  margin-top: 2px;
}

.cart-foot {
  gap: 14px;
}

/* ============================================================
   BOTTOM CTA (stacked hero + floating newsletter)
   ============================================================ */
.bottom-cta {
  position: relative;
  background: #fff;
  padding: 0;
  overflow: visible;
}

.bottom-cta__top {
  position: relative;
  background: linear-gradient(90deg, #fefce8 0%, #f0fdf4 55%, #ecfdf5 100%);
  padding: clamp(64px, 10vw, 108px) 0 clamp(72px, 12vw, 120px);
  overflow: hidden;
}

.bottom-cta__top-inner {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 40rem;
  margin-inline: auto;
}

.bottom-cta__title {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: clamp(1.45rem, 3.6vw, 2.35rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.18;
  margin: 0 0 clamp(20px, 3vw, 28px);
  color: #0f1020;
  text-wrap: balance;
}

.bottom-cta__title .bottom-cta__highlight {
  position: relative;
  display: inline-block;
  padding: 0.08em 0.22em 0.32em;
  margin: 0 -0.06em;
  border-radius: 6px;
  background: linear-gradient(180deg, rgba(236, 253, 241, 0.95) 0%, rgba(209, 250, 229, 0.75) 100%);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.bottom-cta__title .bottom-cta__highlight::after {
  content: "";
  position: absolute;
  left: 0.18em;
  right: 0.18em;
  bottom: 0.12em;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #16a34a 0%, #4ade80 55%, #86efac 100%);
  pointer-events: none;
}

.bottom-cta-shop {
  margin-top: 0;
  border-radius: 999px;
}

.bottom-cta-shop.btn-arrow .btn-arrow__ic {
  margin-left: 6px;
  display: inline-block;
  transition: transform 0.2s ease;
}

.bottom-cta-shop.btn-arrow:hover .btn-arrow__ic {
  transform: translateX(3px);
}

.bottom-cta-vial {
  position: absolute;
  pointer-events: none;
  z-index: 0;
  opacity: 0.92;
  filter: drop-shadow(0 16px 32px rgba(15, 16, 32, 0.12));
}

.bottom-cta-vial img,
.bottom-cta-vial svg {
  display: block;
  width: 100%;
  max-width: 100px;
  max-height: 200px;
  height: auto;
  object-fit: contain;
}

.bottom-cta-vial--tl {
  top: clamp(8px, 2vw, 20px);
  left: clamp(-8px, 1vw, 16px);
  transform: rotate(14deg);
}

.bottom-cta-vial--br {
  bottom: clamp(12px, 3vw, 28px);
  right: clamp(-4px, 2vw, 24px);
  transform: rotate(-12deg);
}

.bottom-cta__bottom {
  position: relative;
  z-index: 2;
  margin-top: clamp(-40px, -5vw, -32px);
  padding-bottom: clamp(48px, 8vw, 80px);
}

.bottom-cta-newsletter-card {
  width: 100%;
  max-width: none;
  margin: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.95fr);
  gap: clamp(24px, 4vw, 40px);
  align-items: center;
  background: linear-gradient(90deg, #ede9fe 0%, #f5f0ff 35%, #fce7f3 100%);
  border-radius: 20px;
  padding: clamp(22px, 4vw, 34px) clamp(22px, 4vw, 36px);
  border: 1px solid rgba(255, 255, 255, 0.75);
  box-shadow: 0 18px 48px rgba(15, 16, 32, 0.08);
}

.bottom-cta-newsletter-card__copy {
  text-align: left;
  min-width: 0;
}

.bottom-cta-newsletter-card h3 {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: clamp(1.1rem, 2.2vw, 1.45rem);
  font-weight: 800;
  margin: 0 0 10px;
  color: #0f1020;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.bottom-cta-newsletter__sub {
  color: #5c5f72;
  margin: 0 0 12px;
  font-size: 0.9375rem;
  line-height: 1.55;
}

.bottom-cta-newsletter__fineprint,
.bottom-cta-newsletter__fineprint--inline {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.5;
  color: #6b6e7a;
}

.bottom-cta-newsletter-card__form {
  min-width: 0;
}

.retaup-bottom-cta-subscribe-stack,
.research-updates .retaup-bottom-cta-subscribe-stack {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  min-width: 0;
}

.bottom-cta .privacy-text,
.research-updates .privacy-text {
  display: block;
  width: 100%;
  flex: 0 0 100%;
  margin-top: 11px;
  margin-bottom: 0;
  font-size: 0.75rem;
  line-height: 1.5;
  color: #6b6e7a;
}

.bottom-cta .privacy-text:first-child,
.research-updates .privacy-text:first-child {
  margin-top: 0;
}

.bottom-cta .privacy-text a,
.research-updates .privacy-text a {
  color: #0f1020;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.bottom-cta .privacy-text a:hover,
.research-updates .privacy-text a:hover {
  color: #1a1a2e;
}

/* Bottom CTA — Mailchimp for WP: stack below pill row; pill is only `.retaup-mc4wp-pill-row` */
.bottom-cta form.mc4wp-form,
.research-updates form.mc4wp-form {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.bottom-cta form.mc4wp-form .mc4wp-form-fields,
.research-updates form.mc4wp-form .mc4wp-form-fields {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  flex: none;
  min-width: 0;
  padding: 0;
  margin: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}

.bottom-cta .retaup-mc4wp-pill-row,
.research-updates .retaup-mc4wp-pill-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0;
  flex: none;
  min-width: 0;
  padding: 4px;
  background: #fff;
  border-radius: 999px;
  border: 1.5px solid #e4e4ea;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

.bottom-cta form.mc4wp-form:focus-within .retaup-mc4wp-pill-row,
.research-updates form.mc4wp-form:focus-within .retaup-mc4wp-pill-row {
  border-color: #c8c9d4;
  box-shadow: 0 0 0 3px rgba(15, 16, 32, 0.07);
}

.bottom-cta .retaup-mc4wp-pill-row>*,
.research-updates .retaup-mc4wp-pill-row>* {
  margin: 0;
  padding: 0;
  border: none;
  display: flex;
  align-items: stretch;
  min-width: 0;
}

.bottom-cta .retaup-mc4wp-pill-row>*:first-child,
.research-updates .retaup-mc4wp-pill-row>*:first-child {
  flex: 1 1 auto;
}

.bottom-cta .retaup-mc4wp-pill-row>*:not(:first-child),
.research-updates .retaup-mc4wp-pill-row>*:not(:first-child) {
  flex-shrink: 0;
}

.bottom-cta .retaup-mc4wp-pill-row label,
.research-updates .retaup-mc4wp-pill-row label {
  display: flex;
  flex: 1 1 auto;
  align-items: stretch;
  min-width: 0;
  margin: 0;
  gap: 0;
  font-weight: inherit;
  width: 100%;
}

.bottom-cta .mc4wp-response,
.research-updates .mc4wp-response {
  margin: 8px 0 0;
  padding: 0;
  border: none;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: #5c5f72;
  width: 100%;
  max-width: min(100%, 28rem);
  align-self: flex-start;
}

.bottom-cta form.mc4wp-form .mc4wp-alert,
.bottom-cta .retaup-bottom-cta-subscribe-stack .mc4wp-alert,
.research-updates form.mc4wp-form .mc4wp-alert,
.research-updates .retaup-bottom-cta-subscribe-stack .mc4wp-alert {
  margin: 8px 0 0;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 0.72rem;
  line-height: 1.42;
  width: auto;
  max-width: min(100%, 28rem);
  align-self: flex-start;
  background: rgba(15, 16, 32, 0.045);
  border: 1px solid rgba(15, 16, 32, 0.1);
  color: #5c5f72;
}

.bottom-cta form.mc4wp-form .mc4wp-alert.mc4wp-error,
.bottom-cta .retaup-bottom-cta-subscribe-stack .mc4wp-alert.mc4wp-error,
.research-updates form.mc4wp-form .mc4wp-alert.mc4wp-error,
.research-updates .retaup-bottom-cta-subscribe-stack .mc4wp-alert.mc4wp-error {
  background: rgba(220, 53, 69, 0.06);
  border-color: rgba(220, 53, 69, 0.18);
  color: #7a1e2b;
}

.newsletter-form {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 0;
  padding: 4px;
  background: #fff;
  border-radius: 999px;
  border: 1.5px solid #e4e4ea;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

.newsletter-input,
.subscribe-input.size-lg,
.bottom-cta .mc4wp-form input.subscribe-input.size-lg[type="email"],
.bottom-cta .mc4wp-form-fields input[type="email"],
.bottom-cta .retaup-mc4wp-pill-row input[type="email"],
.research-updates .mc4wp-form input.subscribe-input.size-lg[type="email"],
.research-updates .retaup-mc4wp-pill-row input[type="email"] {
  flex: 1 1 auto;
  min-width: 0;
  padding: 12px 16px;
  border: none;
  border-radius: 999px;
  font-family: inherit;
  font-size: 0.9375rem;
  background: transparent;
}

.newsletter-input::placeholder,
.subscribe-input.size-lg::placeholder,
.bottom-cta .mc4wp-form-fields input[type="email"]::placeholder,
.bottom-cta .retaup-mc4wp-pill-row input[type="email"]::placeholder,
.research-updates .retaup-mc4wp-pill-row input[type="email"]::placeholder {
  color: #9b9eaa;
}

.newsletter-input:focus,
.subscribe-input.size-lg:focus,
.bottom-cta .mc4wp-form-fields input[type="email"]:focus,
.bottom-cta .retaup-mc4wp-pill-row input[type="email"]:focus,
.research-updates .retaup-mc4wp-pill-row input[type="email"]:focus {
  outline: none;
  box-shadow: none;
}

.bottom-cta .newsletter-form:focus-within {
  border-color: #c8c9d4;
  box-shadow: 0 0 0 3px rgba(15, 16, 32, 0.07);
}

.bottom-cta .newsletter-form:focus-within .newsletter-input:focus,
.bottom-cta .newsletter-form:focus-within .subscribe-input.size-lg:focus {
  outline: none;
}

.bottom-cta .newsletter-form .newsletter-submit,
.bottom-cta .newsletter-form .button.primary,
.bottom-cta form.mc4wp-form .retaup-mc4wp-pill-row input[type="submit"],
.bottom-cta form.mc4wp-form .retaup-mc4wp-pill-row button[type="submit"],
.research-updates form.mc4wp-form .retaup-mc4wp-pill-row input[type="submit"],
.research-updates form.mc4wp-form .retaup-mc4wp-pill-row button[type="submit"] {
  flex-shrink: 0;
  border-radius: 999px;
  padding: 12px 22px;
  font-weight: 600;
  font-size: 0.875rem;
  border: none;
  margin: 0;
  white-space: nowrap;
  cursor: pointer;
  background: var(--clr-accent);
  color: #fff;
  font-family: inherit;
  transition: background 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
}

.bottom-cta .newsletter-form .button.primary:hover,
.bottom-cta .newsletter-form .newsletter-submit:hover,
.bottom-cta form.mc4wp-form .retaup-mc4wp-pill-row input[type="submit"]:hover,
.bottom-cta form.mc4wp-form .retaup-mc4wp-pill-row button[type="submit"]:hover,
.research-updates form.mc4wp-form .retaup-mc4wp-pill-row input[type="submit"]:hover,
.research-updates form.mc4wp-form .retaup-mc4wp-pill-row button[type="submit"]:hover {
  opacity: 0.94;
  transform: translateY(-1px);
}

@media (max-width: 880px) {

  .bottom-cta-newsletter-card {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .bottom-cta-newsletter-card__copy {
    text-align: center;
  }
}

@media (max-width: 560px) {

  .bottom-cta-vial img,
  .bottom-cta-vial svg {
    max-width: 55px;
    max-height: 110px;
  }

  .bottom-cta-vial--tl {
    top: 4px;
    left: 0;
  }

  .bottom-cta-vial--br {
    bottom: 8px;
    right: 0;
  }

  .bottom-cta__bottom {
    margin-top: clamp(-28px, -6vw, -20px);
  }

  .newsletter-form,
  .bottom-cta .retaup-mc4wp-pill-row,
  .research-updates .retaup-mc4wp-pill-row {
    flex-wrap: wrap;
    border-radius: 16px;
    padding: 6px;
  }

  .bottom-cta .retaup-mc4wp-pill-row>*,
  .research-updates .retaup-mc4wp-pill-row>* {
    flex: 1 1 100%;
    width: 100%;
  }

  .newsletter-input,
  .subscribe-input.size-lg,
  .bottom-cta .mc4wp-form-fields input[type="email"],
  .bottom-cta .retaup-mc4wp-pill-row input[type="email"],
  .research-updates .retaup-mc4wp-pill-row input[type="email"] {
    width: 100%;
    border-radius: 12px;
    background: #fafafb;
  }

  .bottom-cta .newsletter-form .newsletter-submit,
  .bottom-cta .newsletter-form .button.primary,
  .bottom-cta form.mc4wp-form .retaup-mc4wp-pill-row input[type="submit"],
  .bottom-cta form.mc4wp-form .retaup-mc4wp-pill-row button[type="submit"],
  .research-updates form.mc4wp-form .retaup-mc4wp-pill-row input[type="submit"],
  .research-updates form.mc4wp-form .retaup-mc4wp-pill-row button[type="submit"] {
    width: 100%;
    border-radius: 12px;
  }
}

.btn-dark {
  background: #0f1020;
  color: #fff;
}

.btn-dark:hover {
  background: #1a1a2e;
}

/* Account flash success svg color */
.account-flash svg {
  color: #1a8a52;
}

/* Header account link */
.header-account-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  text-decoration: none;
  color: #0f1020;
  font-weight: 600;
  font-size: 14px;
  transition: background .15s, color .15s;
  gap: 6px;
}

.header-account-link:hover {
  background: #f5f5f0;
}

.header-account-link svg {
  width: 20px;
  height: 20px;
}

.header-account-link--text {
  padding: 0 14px;
}

@media (max-width: 640px) {
  .header-account-link--text {
    padding: 0 10px;
    font-size: 13px;
  }
}

/* ============================================================
   Homepage — full-page reference screenshot (theme/uploads/
   Firefox_Screenshot_2026-04-26T19-53-41.455Z.png)
   Split hero — May 2026 ref (white | pastel gradient, 3 bottles)
   ============================================================ */
.hero.hero--ref.hero--split {
  background: #fff;
  display: block;
  align-items: stretch;
  min-height: 0;
  padding: 0;
  overflow: hidden;
}

.hero.hero--ref.hero--split.hero--bg-slides {
  overflow-x: clip;
  overflow-y: hidden;
}

.hero-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: minmax(min(88vh, 760px), auto);
  position: relative;
  isolation: isolate;
}

.hero-split__white {
  grid-column: 1;
  grid-row: 1;
  z-index: 2;
  background: #fff;
  pointer-events: none;
}

.hero-split__art {
  grid-column: 2;
  grid-row: 1;
  z-index: 2;
  min-height: 100%;
  width: 100%;
  background: linear-gradient(135deg, #f0f4ff 0%, #eef4ff 42%, #f9f0ff 100%);
}

/* Customizer background slideshow — right column, bleeds into left (home-hero-slideshow.js) */
.hero-split__bg-slides {
  grid-column: 2;
  grid-row: 1;
  z-index: 1;
  position: relative;
  min-height: 100%;
  width: calc(100% + var(--hero-bg-bleed, 32%));
  max-width: none;
  margin-left: calc(-1 * var(--hero-bg-bleed, 32%));
  overflow: hidden;
}

.hero-split__bg-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1.1s ease-in-out;
  will-change: opacity;
}

.hero-split__bg-slide.is-active {
  opacity: 1;
}

.hero-split__bg-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
  -webkit-mask-image: linear-gradient(90deg,
      transparent 0%,
      rgba(0, 0, 0, 0.2) 10%,
      rgba(0, 0, 0, 0.55) 22%,
      rgba(0, 0, 0, 0.88) 36%,
      #000 52%,
      #000 100%);
  mask-image: linear-gradient(90deg,
      transparent 0%,
      rgba(0, 0, 0, 0.2) 10%,
      rgba(0, 0, 0, 0.55) 22%,
      rgba(0, 0, 0, 0.88) 36%,
      #000 52%,
      #000 100%);
}

.hero-split__bg-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg,
      #fff 0%,
      rgba(255, 255, 255, 0.96) 12%,
      rgba(255, 255, 255, 0.78) 24%,
      rgba(255, 255, 255, 0.42) 38%,
      rgba(255, 255, 255, 0.12) 52%,
      transparent 66%);
}

.hero--bg-slides .hero-split__white {
  z-index: 3;
  background: linear-gradient(90deg,
      #fff 0%,
      #fff 58%,
      rgba(255, 255, 255, 0.94) 72%,
      rgba(255, 255, 255, 0.72) 82%,
      rgba(255, 255, 255, 0.28) 92%,
      transparent 100%);
}

.hero--bg-slides .hero-split__art {
  display: none;
}

.hero--no-vials .hero-split__foreground-inner {
  grid-template-columns: 1fr;
}

.hero--no-vials .hero-split__copy {
  grid-column: 1;
  max-width: min(36rem, 100%);
}

/* Text + bottles align to site .container; backgrounds stay full-bleed 50/50 */
.hero-split__foreground {
  grid-column: 1 / -1;
  grid-row: 1;
  z-index: 4;
  position: relative;
  display: flex;
  align-items: stretch;
  min-height: 100%;
  pointer-events: none;
}

.hero-split__foreground .container {
  pointer-events: auto;
}

.hero-split__foreground-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1rem, 3vw, 2rem);
  align-items: center;
  width: 100%;
  min-height: min(88vh, 760px);
  padding-block: clamp(3rem, 8vw, 5.25rem);
}

.hero-split__copy {
  grid-column: 1;
  position: relative;
  z-index: 6;
  min-width: 0;
  align-self: center;
}

.hero-split__copy-inner {
  width: 100%;
  max-width: 36rem;
}

.hero-split__bottles-host {
  grid-column: 2;
  position: relative;
  z-index: 3;
  align-self: stretch;
  min-height: min(52vh, 520px);
  overflow: visible;
}

.hero-bottles {
  position: absolute;
  inset: 0;
  overflow: visible;
  pointer-events: none;
}

.hero-bottle {
  position: absolute;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  transform-origin: 50% 85%;
  filter: drop-shadow(0 22px 44px rgba(15, 16, 32, 0.13));
}

/* Static tilt on wrapper — applies on first paint; float only on .hero-bottle__media */
.hero-bottle__media {
  width: 100%;
  line-height: 0;
}

.hero-bottle__img {
  width: 100%;
  height: auto;
  display: block;
  vertical-align: bottom;
}

.hero-bottle__svg {
  display: block;
  width: 100%;
}

.hero-bottle__svg svg {
  width: 100%;
  height: auto;
  display: block;
}

/* Large: overlap toward copy column (negative left within host) */
.hero-bottle--lg {
  width: min(42vw, 400px);
  left: -6%;
  bottom: -10%;
  z-index: 5;
  transform: translateX(-18%) rotate(-24deg);
}

.hero-bottle--lg.hero-bottle--pink .hero-bottle__svg {
  color: #c2185b;
}

.hero-bottle--sm.hero-bottle--blue {
  width: min(22vw, 190px);
  max-width: 48%;
  left: 38%;
  top: 4%;
  z-index: 2;
  opacity: 0.96;
  transform: translateX(-50%) rotate(-11deg);
}

.hero-bottle--sm.hero-bottle--blue .hero-bottle__svg {
  color: #3b7dd6;
}

.hero-bottle--sm.hero-bottle--green {
  width: min(20vw, 178px);
  max-width: 46%;
  left: 48%;
  top: 34%;
  z-index: 3;
  opacity: 0.97;
  transform: rotate(15deg);
}

.hero-bottle--sm.hero-bottle--green .hero-bottle__svg {
  color: #1a8a52;
}

.hero-bottle--float-a .hero-bottle__media {
  animation: hero-bottle-y-a 4.9s ease-in-out infinite;
}

.hero-bottle--float-b .hero-bottle__media {
  animation: hero-bottle-y-b 5.3s ease-in-out infinite 0.45s;
}

.hero-bottle--float-c .hero-bottle__media {
  animation: hero-bottle-y-c 4.7s ease-in-out infinite 0.85s;
}

@keyframes hero-bottle-y-a {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-14px);
  }
}

@keyframes hero-bottle-y-b {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-13px);
  }
}

@keyframes hero-bottle-y-c {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-11px);
  }
}

@media (prefers-reduced-motion: reduce) {

  .hero-bottle--float-a .hero-bottle__media,
  .hero-bottle--float-b .hero-bottle__media,
  .hero-bottle--float-c .hero-bottle__media {
    animation: none;
  }

  .qt-copy-slot--bounce .qt-panel-card {
    animation: none;
  }

  .qt-proof-bar:hover {
    transform: none;
  }

  .qt-showcase__vial {
    transform: none;
  }
}

@media (max-width: 960px) {
  .hero.hero--ref.hero--split:not(.hero--bg-slides) {
    background: linear-gradient(135deg, #f0f4ff 0%, #eef4ff 42%, #f9f0ff 100%);
  }

  .hero.hero--ref.hero--split.hero--bg-slides {
    background: #fff;
  }

  /* Background slideshow: full-width image band on top, copy below */
  .hero.hero--bg-slides .hero-split {
    display: flex;
    flex-direction: column;
    grid-template-columns: 1fr;
    grid-template-rows: none;
    position: relative;
  }

  .hero.hero--bg-slides .hero-split__bg-slides {
    position: relative;
    order: 1;
    flex: 0 0 auto;
    grid-column: auto;
    grid-row: auto;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    height: clamp(240px, 52vw, 400px);
    min-height: clamp(240px, 52vw, 400px);
  }

  .hero.hero--bg-slides .hero-split__bg-slide img {
    object-position: center;
    -webkit-mask-image: linear-gradient(180deg,
        #000 0%,
        #000 58%,
        rgba(0, 0, 0, 0.72) 78%,
        transparent 100%);
    mask-image: linear-gradient(180deg,
        #000 0%,
        #000 58%,
        rgba(0, 0, 0, 0.72) 78%,
        transparent 100%);
  }

  .hero.hero--bg-slides .hero-split__bg-overlay {
    background: linear-gradient(180deg,
        transparent 0%,
        rgba(255, 255, 255, 0.12) 45%,
        rgba(255, 255, 255, 0.88) 82%,
        #fff 100%);
  }

  .hero.hero--bg-slides .hero-split__white {
    display: none;
  }

  .hero.hero--bg-slides .hero-split__foreground {
    position: relative;
    order: 2;
    flex: 0 0 auto;
    grid-column: auto;
    grid-row: auto;
    z-index: 4;
    width: 100%;
  }

  .hero.hero--bg-slides .hero-split__foreground-inner {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    min-height: 0;
    padding-block: clamp(1.5rem, 5vw, 2.5rem);
    justify-items: stretch;
    gap: 0;
  }

  .hero.hero--bg-slides .hero-split__copy {
    grid-column: 1;
    grid-row: 1;
    text-align: left;
    padding-bottom: 0;
    width: 100%;
  }

  .hero.hero--bg-slides .hero-split__copy-inner {
    margin-inline: 0;
    max-width: 36rem;
  }

  .hero.hero--bg-slides .hero-lede-ref {
    margin-inline: 0;
  }

  .hero.hero--bg-slides .hero-bullets {
    margin-inline: 0;
    max-width: 36rem;
  }

  .hero.hero--bg-slides .hero-ctas--ref,
  .hero.hero--bg-slides .hero-stats.hero-stats--pills {
    justify-content: flex-start;
  }

  .hero.hero--bg-slides .hero-split__copy .hero-pill {
    align-items: flex-start;
    text-align: left;
  }

  .hero.hero--bg-slides .hero-split__bottles-host {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-width: none;
    height: clamp(240px, 52vw, 400px);
    margin: 0;
    z-index: 3;
    pointer-events: none;
    display: flex;
    justify-content: center;
    align-items: flex-end;
  }

  .hero.hero--bg-slides .hero-bottles {
    height: 100%;
    max-height: clamp(240px, 52vw, 400px);
  }

  .hero--no-vials:not(.hero--bg-slides) .hero-split__foreground-inner {
    grid-template-rows: auto;
    justify-items: stretch;
  }

  .hero--no-vials:not(.hero--bg-slides) .hero-split__copy {
    grid-row: 1;
    text-align: left;
    padding-bottom: clamp(1.5rem, 5vw, 2.5rem);
  }

  .hero--no-vials:not(.hero--bg-slides) .hero-split__copy-inner {
    margin-inline: 0;
  }

  .hero--no-vials:not(.hero--bg-slides) .hero-ctas--ref {
    justify-content: flex-start;
  }

  .hero--no-vials:not(.hero--bg-slides) .hero-stats.hero-stats--pills {
    justify-content: flex-start;
  }

  .hero-split {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    position: relative;
    min-height: 0;
  }

  .hero-split__white {
    display: none;
  }

  /* Full-bleed gradient behind stacked content (height follows foreground) */
  .hero-split__art {
    grid-column: 1;
    grid-row: 1;
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    min-height: 100%;
  }

  .hero-split__foreground {
    grid-column: 1;
    grid-row: 1;
    position: relative;
    z-index: 4;
  }

  .hero-split__foreground-inner {
    grid-template-columns: 1fr;
    /* bottles first, copy below — both centered */
    grid-template-rows: minmax(min(52vw, 300px), auto) auto;
    gap: clamp(1.25rem, 4vw, 2rem);
    min-height: 0;
    padding-block: clamp(2rem, 6vw, 3rem);
    justify-items: center;
  }

  .hero-split__bottles-host {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    max-width: 400px;
    min-height: min(58vw, 310px);
    margin-inline: auto;
    display: flex;
    justify-content: center;
    align-items: flex-end;
  }

  .hero-bottles {
    position: relative;
    width: 100%;
    max-width: 360px;
    height: min(58vw, 300px);
    margin-inline: auto;
    inset: unset;
    flex-shrink: 0;
  }

  .hero-split__copy {
    grid-column: 1;
    grid-row: 2;
    text-align: center;
    padding-bottom: clamp(1.5rem, 5vw, 2.5rem);
    width: 100%;
  }

  .hero-split__copy-inner {
    margin-inline: auto;
    max-width: 36rem;
  }

  .hero.hero--ref.hero--split .hero-lede-ref {
    margin-inline: auto;
  }

  .hero-bullets {
    grid-template-columns: 1fr;
    max-width: 22rem;
    margin-inline: auto;
    gap: 8px;
  }

  .hero-trust-line,
  .hero-tests-intro {
    margin-inline: auto;
    text-align: left;
  }

  .hero-bullets__item {
    text-align: left;
  }

  .hero-ctas--ref {
    justify-content: center;
  }

  .hero-stats.hero-stats--pills {
    justify-content: center;
    flex-wrap: wrap;
  }

  .hero-split__copy .hero-pill {
    align-items: center;
    text-align: center;
  }

  /* Centered bottle cluster (positions relative to .hero-bottles box) */
  .hero-bottle--lg {
    width: min(58vw, 260px);
    left: 44%;
    bottom: -12%;
    transform: translateX(-50%) rotate(-24deg);
  }

  .hero-bottle--sm.hero-bottle--blue {
    width: min(30vw, 150px);
    max-width: none;
    left: 50%;
    top: 2%;
    transform: translateX(-50%) rotate(-11deg);
  }

  .hero-bottle--sm.hero-bottle--green {
    width: min(28vw, 140px);
    max-width: none;
    left: 56%;
    top: 34%;
    transform: rotate(14deg);
  }
}

.hero.hero--ref.hero--split .hero-title-ref {
  font-size: clamp(2.5rem, 5.5vw, 3.75rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.05;
  color: #0f1020;
}

.hero.hero--ref.hero--split .hero-lede-ref {
  max-width: 32rem;
  color: #5c5f72;
  font-size: 1.0625rem;
  line-height: 1.6;
}

.hero-lede-ref p {
  margin: 0 0 0.65em;
}

.hero-lede-ref p:last-child {
  margin-bottom: 0;
}

.hero-lede-ref strong,
.hero-lede-ref b {
  font-weight: 700;
  color: #0f1020;
}

.hero-trust-line {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.1em;
  margin: 0 0 1rem;
  max-width: 36rem;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.45;
  color: #0f1020;
}

.hero-trust-footnote {
  position: relative;
  display: inline-flex;
  vertical-align: baseline;
}

.hero-trust-footnote__btn {
  margin: 0;
  padding: 0 0.15em;
  border: none;
  background: transparent;
  font: inherit;
  font-weight: 700;
  color: var(--clr-green, #1a8a52);
  cursor: help;
  line-height: 1;
}

.hero-trust-footnote__btn:hover,
.hero-trust-footnote__btn:focus-visible {
  color: #0f1020;
}

.hero-trust-footnote__btn:focus-visible {
  outline: 2px solid var(--clr-accent, #0f1020);
  outline-offset: 2px;
  border-radius: 2px;
}

.hero-trust-footnote__bubble {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 8px);
  z-index: 5;
  width: max-content;
  max-width: min(18rem, 78vw);
  padding: 0.65rem 0.75rem;
  border-radius: 10px;
  background: #0f1020;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.45;
  text-align: left;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-50%) translateY(4px);
  transition: opacity var(--t), transform var(--t), visibility var(--t);
  box-shadow: 0 8px 24px rgba(15, 16, 32, 0.18);
}

.hero-trust-footnote__bubble::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: #0f1020;
}

@media (hover: hover) {

  .hero-trust-footnote:hover .hero-trust-footnote__bubble,
  .hero-trust-footnote:focus-within .hero-trust-footnote__bubble {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
  }
}

.hero-tests-intro {
  margin: 0 0 0.65rem;
  max-width: 36rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #5c5f72;
}

.hero-bullets {
  list-style: none;
  margin: 0 0 1.5rem;
  padding: 0;
  max-width: 36rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 16px;
}

.hero-bullets__item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #5c5f72;
  font-size: 0.8125rem;
  line-height: 1.45;
}

.hero-bullets__check {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  min-width: 24px;
  min-height: 24px;
  margin-top: 1px;
  flex-shrink: 0;
  line-height: 0;
  color: var(--clr-green, #1a8a52);
}

.hero-bullets__check::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background-color: var(--clr-green-bg, #e6f6ed);
  border: 1px solid rgba(26, 138, 82, 0.22);
  box-sizing: border-box;
}

.hero-bullets__check svg {
  position: relative;
  z-index: 1;
  display: block;
  width: 12px;
  height: 12px;
  stroke: var(--clr-green, #1a8a52);
  color: var(--clr-green, #1a8a52);
}

.hero-bullets__text {
  flex: 1;
  min-width: 0;
}

.hero-ctas--ref .btn-primary.btn-lg {
  border-radius: 999px;
  padding-inline: 1.5rem;
}

.btn-arrow .btn-arrow__ic {
  margin-left: 6px;
  display: inline-block;
  transition: transform 0.2s ease;
}

.btn-arrow:hover .btn-arrow__ic {
  transform: translateX(3px);
}

.btn-arrow--subtle {
  border-radius: 10px;
}

.trust-bar--ref {
  border-bottom: 1px solid #e8e8e4;
}

.home-guarantee-ref.section {
  padding-block: 0;
}

.home-guarantee-ref {
  background: transparent;
  overflow: visible;
}

.home-guarantee-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  overflow: visible;
}

.home-guarantee-visual {
  position: relative;
  min-height: 100%;
  background: linear-gradient(100deg, #e9e2f5 0%, #f0ebf8 42%, #faf8fc 100%);
  overflow: hidden;
}

.home-guarantee-visual--has-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: linear-gradient(100deg,
      rgba(233, 226, 245, 0.28) 0%,
      rgba(240, 235, 248, 0.18) 45%,
      rgba(250, 248, 252, 0.12) 100%),
    var(--guarantee-column-bg);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  pointer-events: none;
}

.home-guarantee-visual--has-vial {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: clamp(56px, 10vw, 100px) clamp(16px, 4vw, 40px) clamp(56px, 10vw, 100px) max(4px, min(1.25vw, 16px));
}

.home-guarantee-vial {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: min(320px, 46vw);
}

@media (min-width: 961px) {
  .home-guarantee-visual--has-vial {
    padding: clamp(56px, 10vw, 100px) clamp(8px, 1.5vw, 24px) clamp(56px, 10vw, 100px) var(--sp-6);
    justify-content: flex-start;
  }

  .home-guarantee-vial {
    justify-content: flex-start;
    max-width: min(460px, 62vw);
  }
}

.home-guarantee-vial__img,
.home-guarantee-vial img {
  max-width: 100%;
  width: auto;
  height: auto;
  display: block;
  filter: drop-shadow(0 24px 48px rgba(15, 16, 32, 0.12));
  transform: rotate(16deg);
  transform-origin: 45% 70%;
}

.home-guarantee-aside {
  background: #fff;
  padding: clamp(56px, 10vw, 100px) 0;
  overflow: visible;
}

.home-guarantee-aside__inner {
  max-width: var(--max-w);
  margin-inline: auto;
  padding-inline: var(--sp-6);
}

@media (min-width: 961px) {

  /* No left padding on inner so cards (and accent ::before) can reach the column seam; headings keep gutter */
  .home-guarantee-aside__inner {
    padding-left: 0;
    padding-right: var(--sp-6);
  }

  .home-guarantee-aside__inner>.eyebrow,
  .home-guarantee-aside__inner>h2,
  .home-guarantee-aside__inner>.home-guarantee-sub {
    padding-left: var(--sp-6);
  }
}

.home-guarantee-aside h2 {
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
  color: #0f1020;
}

.home-guarantee-sub {
  color: #5c5f72;
  margin-bottom: 28px;
  max-width: 36rem;
  line-height: 1.6;
}

.home-guarantee-cards {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 40rem;
  text-align: left;
}

.home-guarantee-card {
  position: relative;
  z-index: 2;
  margin: 0;
  overflow: visible;
  filter: drop-shadow(0 4px 22px rgba(15, 16, 32, 0.07));
}

.home-guarantee-card__main {
  position: relative;
  flex: 1;
  display: flex;
  gap: 18px;
  align-items: flex-start;
  padding: 18px 22px 18px 16px;
  background: #fff;
  border-radius: 0 14px 14px 0;
  min-width: 0;
}

/* Colored stripe: flush with white card (right: 100%), extends only leftward */
.home-guarantee-card__main::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 100%;
  width: clamp(10px, 1.8vw, 16px);
  border-radius: 14px 0 0 14px;
  z-index: 0;
  pointer-events: none;
}

.home-guarantee-card--green .home-guarantee-card__main::before {
  background: var(--clr-green-bg);
}

.home-guarantee-card--sky .home-guarantee-card__main::before {
  background: #e0f2fe;
}

.home-guarantee-card--amber .home-guarantee-card__main::before {
  background: var(--clr-amber-bg);
}

@media (min-width: 961px) {

  .home-guarantee-card {
    filter: none;
  }

  .home-guarantee-card__main {
    z-index: 1;
    margin-left: 0;
    border-radius: 0 14px 14px 0;
    box-shadow: 0 4px 22px rgba(15, 16, 32, 0.07);
    width: 100%;
    box-sizing: border-box;
  }

  .home-guarantee-card__main::before {
    width: clamp(16px, 2.2vw, 24px);
  }
}

.home-guarantee-card__icon {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.home-guarantee-card__body {
  flex: 1;
  min-width: 0;
  position: relative;
  z-index: 1;
}

.home-guarantee-card__title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  font-size: 1rem;
  font-weight: 700;
  margin: 0 0 6px;
  color: #0f1020;
  line-height: 1.25;
}

.home-guarantee-card__desc {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: #5c5f72;
}

.home-guarantee-card__tip {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.home-guarantee-card__tip-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: #f0f1f5;
  color: #7a7d8c;
  cursor: help;
  flex-shrink: 0;
  transition: background 0.15s, color 0.15s;
}

.home-guarantee-card__tip-btn:hover,
.home-guarantee-card__tip-btn:focus-visible {
  background: #e4e6ee;
  color: #3a3d4a;
  outline: none;
}

.home-guarantee-card__tip-btn:focus-visible {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #0f1020;
}

.home-guarantee-card__tip-bubble {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 10px);
  transform: translateX(-50%);
  min-width: 200px;
  max-width: min(280px, 72vw);
  padding: 10px 12px;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.45;
  color: #2d3040;
  background: #fff;
  border: 1px solid #e2e4ec;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(15, 16, 32, 0.12);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 8;
  transition: opacity 0.15s, visibility 0.15s;
}

.home-guarantee-card__tip-bubble::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
  border: 7px solid transparent;
  border-top-color: #fff;
  filter: drop-shadow(0 2px 0 #e2e4ec);
}

@media (hover: hover) {

  .home-guarantee-card__tip:hover .home-guarantee-card__tip-bubble,
  .home-guarantee-card__tip:focus-within .home-guarantee-card__tip-bubble {
    opacity: 1;
    visibility: visible;
  }
}

@media (hover: none) {

  .home-guarantee-card__tip:focus-within .home-guarantee-card__tip-bubble {
    opacity: 1;
    visibility: visible;
  }
}

.section-mint.home-everything-ref {
  background: linear-gradient(180deg, #d4efd8 0%, #c5e8cb 100%);
  padding-block: clamp(56px, 10vw, 96px);
}

.home-everything-ref__head h2 {
  font-size: clamp(1.75rem, 3.2vw, 2.5rem);
  font-weight: 800;
  margin-bottom: 0;
}

.home-ev-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 40px;
}

.home-ev-card {
  background: #fff;
  border-radius: 20px;
  padding: 24px 26px;
  border: 1px solid rgba(255, 255, 255, 0.9);
  box-shadow: 0 12px 36px rgba(15, 16, 32, 0.06);
}

.home-ev-card--wide {
  grid-column: 1 / -1;
}

.home-ev-grid--mosaic {
  grid-template-columns: repeat(6, 1fr);
}

.home-ev-grid--mosaic .home-ev-card:nth-child(1),
.home-ev-grid--mosaic .home-ev-card:nth-child(2),
.home-ev-grid--mosaic .home-ev-card:nth-child(3) {
  grid-column: span 2;
}

.home-ev-grid--mosaic .home-ev-card:nth-child(4),
.home-ev-grid--mosaic .home-ev-card:nth-child(5) {
  grid-column: span 3;
}

.home-ev-grid--mosaic .home-ev-card--wide {
  grid-column: 1 / -1;
}

.home-ev-card__inner {
  display: flex;
  gap: 18px;
  align-items: flex-start;
}

.home-ev-card__inner .home-ev-card__emoji,
.home-ev-card__inner .home-ev-card__emoji--empty {
  flex-shrink: 0;
  margin-bottom: 0;
  margin-top: 2px;
}

.home-ev-card__copy {
  flex: 1;
  min-width: 0;
}

.home-ev-card__copy h3 {
  color: #0f1020;
}

.home-ev-card__copy p {
  color: #3d4152;
}

.home-ev-card__emoji {
  font-size: 1.75rem;
  line-height: 1;
  margin-bottom: 14px;
}

.home-ev-card__emoji--empty {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  margin-bottom: 14px;
}

.home-ev-card h3 {
  font-size: 1.0625rem;
  font-weight: 700;
  margin: 0 0 10px;
  letter-spacing: -0.01em;
}

.home-ev-card p {
  margin: 0 0 16px;
  font-size: 0.9rem;
  color: #444;
  line-height: 1.55;
}

.home-ev-card__cta {
  margin-top: 4px;
}

.home-featured-ref {
  background: #fff;
}

.home-featured-ref__intro .section-head {
  margin-bottom: 0;
}

.home-featured-ref__intro {
  margin-bottom: clamp(16px, 2.5vw, 24px);
}

.home-featured-ref__hero {
  padding: 0;
}

.home-featured-ref__category {
  display: flex;
  flex-direction: column;
  gap: clamp(16px, 2.5vw, 24px);
  margin-bottom: clamp(16px, 2.5vw, 24px);
}

.home-featured-ref__header.shop-archive-header {
  margin: 0;
}

.home-featured-ref__header.shop-archive-header--category {
  margin-bottom: 0;
}

.home-featured-ref__header-copy {
  min-width: 0;
}

.home-featured-ref__filters {
  margin: 0;
}

.home-featured-ref__body {
  padding-top: 0;
}

.home-featured-ref__panels {
  display: flex;
  flex-direction: column;
  gap: clamp(28px, 4vw, 40px);
}

.home-featured-ref__panel.is-hidden {
  display: none;
}

/* Horizontal scroll layout (one product per family) */
.home-featured-scroll-wrap {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  position: relative;
  --home-featured-edge: clamp(18px, 3.5vw, 40px);
}

.home-featured-ref {
  overflow-x: clip;
}

.home-featured-scroll {
  display: flex;
  gap: var(--sp-4, 1rem);
  overflow-x: auto;
  overflow-y: hidden;
  align-items: stretch;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  padding: 0;
  margin: 0;
  scrollbar-width: none;
  /* Firefox */
  -ms-overflow-style: none;
  /* IE/Edge legacy */
}

.home-featured-scroll::before,
.home-featured-scroll::after {
  content: "";
  flex: 0 0 var(--home-featured-edge);
}

.home-featured-scroll::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.home-featured-scroll__item {
  flex: 0 0 280px;
  display: flex;
  flex-direction: column;
  scroll-snap-align: start;
}

.home-featured-scroll__item .product-card {
  height: 100%;
  width: 100%;
  flex: 1;
}

.home-featured-scroll__item .product-card-sub__detail {
  display: none;
}

.home-featured-scroll-wrap::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: min(72px, 10vw);
  z-index: 3;
  pointer-events: none;
}

.home-featured-scroll-wrap::after {
  right: 0;
  background: linear-gradient(270deg, #fff 0%, rgba(255, 255, 255, 0.92) 35%, rgba(255, 255, 255, 0) 100%);
}

.home-featured-scroll__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
  transition: transform var(--t), opacity var(--t);
}

.home-featured-scroll__arrow--left {
  left: calc(var(--home-featured-edge) - 6px);
}

.home-featured-scroll__arrow--left .qt-proof-bar__arrow svg {
  transform: rotate(90deg);
}

.home-featured-scroll__arrow--right {
  right: calc(var(--home-featured-edge) - 6px);
}

.home-featured-scroll__arrow--right .qt-proof-bar__arrow svg {
  transform: rotate(-90deg);
}

.home-featured-scroll__arrow:active {
  transform: translateY(-50%) scale(0.98);
}

.home-featured-scroll__arrow:focus-visible {
  outline: 2px solid var(--clr-accent, #0f1020);
  outline-offset: 2px;
}

.home-featured-scroll__arrow[hidden] {
  display: none;
}

@media (max-width: 640px) {
  .home-featured-scroll {
    gap: var(--sp-3, 0.75rem);
  }

  .home-featured-scroll__item {
    flex-basis: min(72vw, 280px);
  }
}

.shop-filter-tags button.filter-btn {
  appearance: none;
  -webkit-appearance: none;
  font: inherit;
}

/* ── Shipping & Service (homepage) ─────────────────────────── */
.shipping-service-ref {
  background: var(--clr-bg-soft, #f6f6f2);
}

.shipping-service-ref__inner {
  max-width: 38rem;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.shipping-service-ref__title {
  margin: 0 0 16px;
  font-size: clamp(1.75rem, 3.2vw, 2.15rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.12;
  color: #0f1020;
}

.shipping-service-ref__intro {
  margin: 0 auto 20px;
  max-width: 36rem;
  color: #5c5f72;
  font-size: 1.0625rem;
  line-height: 1.6;
}

.shipping-service-ref__intro p {
  margin: 0;
}

.shipping-service-ref__intro p+p {
  margin-top: 0.75rem;
}

.shipping-service-ref__bullets {
  margin-inline: auto;
  width: fit-content;
  max-width: 100%;
  align-self: center;
  text-align: left;
  align-items: flex-start;
}

/* ── Quality section (homepage reference) ─────────────────── */
.quality-section-ref {
  background: #fff;
  padding-block: clamp(56px, 10vw, 100px);
}

.qt-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(32px, 5vw, 56px);
  align-items: stretch;
}

.qt-layout__visual {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100%;
}

.qt-layout__title {
  font-size: clamp(1.85rem, 3.2vw, 2.35rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.12;
  margin: 0 0 16px;
  color: #0f1020;
}

.qt-layout__intro {
  margin: 0 0 28px;
  max-width: 38rem;
  color: #5c5f72;
  font-size: 1.0625rem;
  line-height: 1.6;
}

.qt-layout__intro+.qt-layout__bullets {
  margin-top: -12px;
}

.qt-layout__bullets {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
  max-width: 38rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  text-align: left;
}

.qt-layout__bullet {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: #5c5f72;
  font-size: 1rem;
  line-height: 1.5;
}

.quality-section-ref .qt-layout__bullet-icon,
.shipping-service-ref .qt-layout__bullet-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  min-width: 24px;
  min-height: 24px;
  margin-top: 2px;
  flex-shrink: 0;
  line-height: 0;
  color: var(--clr-green, #1a8a52);
}

.quality-section-ref .qt-layout__bullet-icon::before,
.shipping-service-ref .qt-layout__bullet-icon::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background-color: var(--clr-green-bg, #e6f6ed);
  border: 1px solid rgba(26, 138, 82, 0.22);
  box-sizing: border-box;
}

.quality-section-ref .qt-layout__bullet-icon svg,
.shipping-service-ref .qt-layout__bullet-icon svg {
  position: relative;
  z-index: 1;
  display: block;
  width: 12px;
  height: 12px;
  stroke: var(--clr-green, #1a8a52);
  color: var(--clr-green, #1a8a52);
}

.qt-layout__bullet-text {
  flex: 1;
  min-width: 0;
}

.qt-layout__bullet-text p {
  margin: 0;
}

.qt-stats-row--inline {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0;
  margin: 0 0 28px;
  max-width: 100%;
}

.qt-stat-item {
  display: inline-flex;
  flex-direction: row;
  align-items: baseline;
  gap: 8px;
  padding: 4px 28px 4px 0;
  text-align: left;
}

.qt-stat-item:not(:last-child) {
  border-right: 1px solid #e3e4ea;
  padding-right: 28px;
  margin-right: 8px;
}

.qt-stat-item__val {
  flex-shrink: 0;
  font-size: 1.85rem;
  font-weight: 800;
  letter-spacing: -0.04em;
  color: #0f1020;
  line-height: 1.05;
}

.qt-stat-item__lbl {
  font-size: 0.8rem;
  font-weight: 500;
  color: #6b6e7a;
  line-height: 1.35;
  white-space: nowrap;
}

.qt-layout__rule {
  border: none;
  border-top: 1px solid #e6e7ec;
  margin: 0 0 22px;
}

.qt-home--ref .qt-tabs-scroll-wrap {
  position: relative;
  margin: 0 0 20px;
}

.qt-home--ref .qt-tabs-scroll-wrap .qt-tabs--ref,
.qt-home--ref .qt-tabs-scroll-wrap .quality-tabs {
  border: none;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
}

.qt-tabs-scroll-hint {
  display: none;
}

.qt-home--ref .qt-btn--pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: none !important;
  border-radius: 999px !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: #3a3d4a !important;
  background: #f7f7f7 !important;
  box-shadow: none !important;
}

.qt-home--ref .qt-btn--pill .qt-btn__ic {
  display: flex;
  color: inherit;
}

.qt-home--ref .qt-btn--pill.active {
  background: #0f1020 !important;
  color: #fff !important;
}

.qt-home--ref .qt-btn--pill.active .qt-btn__ic {
  color: #fff;
}

.qt-panels {
  position: relative;
  min-height: 1px;
}

.qt-copy-slot {
  display: none;
}

.qt-copy-slot.is-active {
  display: block;
}

.qt-panel-card {
  background: #f7f7f7;
  border: 1px solid #e8e8ea;
  border-radius: 16px;
  padding: 22px 22px 20px;
}

.qt-panel-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 14px;
  margin-bottom: 12px;
}

.qt-panel-card__title {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 700;
  color: #0f1020;
  letter-spacing: -0.02em;
}

.qt-panel-card__badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #1a8a52;
  background: #e6f6ed;
  border: 1px solid rgba(26, 138, 82, 0.22);
}

.qt-panel-card__badge-ic {
  display: flex;
  width: 18px;
  height: 18px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #1a8a52;
  color: #fff;
  flex-shrink: 0;
}

.qt-panel-card__body {
  margin: 0 0 18px;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: #5c5f72;
}

.qt-panel-card__matters {
  margin: 0;
  background: #fff;
  border: 1px solid #e8e9ef;
  border-left: 4px solid #1a8a52;
  border-radius: 12px;
  padding: 14px 16px;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #4a4d5a;
}

.qt-panel-card__matters-lead {
  display: inline;
  font-weight: 700;
  color: #0f1020;
  font-size: inherit;
}

.qt-copy-slot--bounce .qt-panel-card {
  animation: qt-panel-bounce 0.48s cubic-bezier(0.34, 1.28, 0.64, 1);
}

@keyframes qt-panel-bounce {

  0% {
    transform: scale(1);
  }

  35% {
    transform: scale(1.012);
  }

  65% {
    transform: scale(0.996);
  }

  100% {
    transform: scale(1);
  }
}

.qt-copy-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px 24px;
  margin-top: 28px;
}

.qt-copy-foot__note {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 0.9rem;
  color: #5c5f72;
}

.quality-section-ref .qt-copy-foot .qt-copy-foot__shop.btn-lg {
  padding: 10px 42px;
  border-radius: 999px;
}

.qt-copy-foot__note-ic {
  display: flex;
  color: #1a8a52;
  flex-shrink: 0;
}

/* Showcase: white field, inset rounded square gradient (centered in column) */
.qt-showcase-frame {
  background: #fff;
  border-radius: 20px;
  padding: clamp(16px, 3vw, 24px);
  width: 100%;
  max-width: none;
  margin-inline: auto;
}

.qt-showcase {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  width: 100%;
  min-height: 200px;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 8px;
  padding: 20px 18px 14px;
  background: linear-gradient(180deg, #fff 0%, #edf4fc 100%);
  border: 1px solid #d0ddeb;
  container-type: size;
  container-name: qt-showcase;
}

@media (min-width: 961px) {

  .qt-showcase {
    min-height: 500px;
  }
}

.qt-showcase__stage-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(16px, 3vw, 22px);
  width: 100%;
  max-width: none;
  margin-inline: auto;
  text-align: center;
}

.qt-showcase__float-badge {
  position: static;
  align-self: center;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 16px;
  max-width: 100%;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 8px 28px rgba(15, 16, 32, 0.1);
}

.qt-showcase__float-badge-ic {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: #1a8a52;
  color: #fff;
  flex-shrink: 0;
}

.qt-showcase__float-badge-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.qt-showcase__float-badge-text strong {
  font-size: clamp(1.0625rem, 2.2vw, 1.25rem);
  font-weight: 800;
  color: #0f1020;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

.qt-showcase__float-badge-text span {
  font-size: 0.72rem;
  color: #6b6e7a;
  line-height: 1.35;
}

.qt-showcase__stage {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 0;
  padding: clamp(12px, 2vw, 20px) 0;
}

.qt-showcase__copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.375rem;
  width: 100%;
  text-align: center;
}

.qt-showcase__headline {
  margin: 0;
  align-self: stretch;
  width: 100%;
  max-width: none;
  font-size: clamp(1.2rem, 3vw, 1.625rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: #0f1020;
}

.qt-showcase__subline {
  margin: 0;
  max-width: 18rem;
  font-size: clamp(0.875rem, 2vw, 1rem);
  line-height: 1.45;
  color: #6b6e7a;
}

.qt-showcase .qt-proof-bar {
  margin-top: auto;
  flex-shrink: 0;
}

.qt-proof-bar {
  margin-top: 8px;
  align-self: stretch;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 14px 14px 12px;
  width: 100%;
  max-width: 100%;
  background: #fff;
  border: 1px solid #e8e9ef;
  border-radius: 14px;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 6px 22px rgba(15, 16, 32, 0.07);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.qt-proof-bar:hover {
  transform: scale(1.02);
  box-shadow: 0 10px 28px rgba(15, 16, 32, 0.1);
}

.qt-proof-bar__doc {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  border-radius: 12px;
  background: #eff0f4;
  color: #5c5f72;
}

.qt-proof-bar__copy {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.qt-proof-bar__title {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #0f1020;
}

.qt-proof-bar__sub {
  font-size: 0.78rem;
  color: #6b6e7a;
}

.qt-proof-bar__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  border-radius: 999px;
  background: #eff0f4;
  color: #5c5f72;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.qt-proof-bar__arrow svg {
  transform: rotate(-90deg);
}

.qt-proof-bar:hover .qt-proof-bar__arrow {
  background: #0f1020;
  color: #fff;
}

.qt-home--ref .qt-tabs-scroll-wrap .qt-tabs--ref::-webkit-scrollbar,
.qt-home--ref .qt-tabs-scroll-wrap .quality-tabs::-webkit-scrollbar {
  display: none;
}

.home-why-ref {
  position: relative;
  background: #fff;
  overflow: hidden;
}

.home-why-ref::before {
  content: "";
  position: absolute;
  inset: 10% -20% auto -20%;
  height: 70%;
  background: radial-gradient(ellipse at 50% 40%, rgba(15, 16, 32, 0.04) 0%, transparent 60%);
  pointer-events: none;
  opacity: 0.7;
}

.home-why-ref .container {
  position: relative;
  z-index: 1;
}

.home-why-grid-ref {
  margin-top: 8px;
}

.home-why-card {
  text-align: left;
  padding: 22px;
  border-radius: 18px;
  border: 1px solid #ececea;
  background: #fcfcfb;
  transition: box-shadow 0.2s;
}

.home-why-card:hover {
  box-shadow: 0 12px 32px rgba(15, 16, 32, 0.06);
}

.guarantee-icon--sq {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  margin: 0 0 14px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.home-faq-ref {
  background: #fff;
  padding-block: clamp(56px, 10vw, 96px);
}

.home-faq-ref .section-head--faq-ref {
  max-width: 38rem;
  margin-bottom: clamp(32px, 5vw, 48px);
}

.home-faq-ref .section-head--faq-ref h2 {
  margin: 0 0 12px;
  font-size: clamp(1.65rem, 3.6vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: #0f1020;
}

.home-faq-ref .section-head--faq-ref p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.55;
  color: #666;
}

.faq-list--ref {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 44rem;
  margin-inline: auto;
}

.faq-list--ref .faq-item {
  border: none;
  border-radius: 0;
  background: transparent;
  border-bottom: 1px solid #eee;
  box-shadow: none;
}

.faq-list--ref .faq-item:hover {
  box-shadow: none;
}

.faq-list--ref .faq-item:first-of-type {
  border-top: none;
}

.faq-list--ref .faq-q {
  padding: clamp(18px, 3vw, 22px) 0;
  font-size: 1rem;
  font-weight: 700;
  color: #0f1020;
  align-items: center;
  gap: 16px;
  line-height: 1.35;
}

.faq-list--ref .faq-q__text {
  flex: 1;
  min-width: 0;
  text-align: left;
}

.faq-list--ref .faq-q__toggle {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #f5f5f5;
  color: #4a4d5a;
  transition: background 0.2s ease, color 0.2s ease;
}

.faq-list--ref .faq-item.open .faq-q__toggle {
  background: #0f1020;
  color: #fff;
}

.faq-list--ref .faq-q__toggle svg {
  display: block;
  transition: transform var(--faq-acc-dur) var(--faq-acc-ease);
  transform-origin: center;
}

.faq-list--ref .faq-item.open .faq-q__toggle svg {
  transform: rotate(180deg);
}

/* Homepage FAQ: max-height + opacity (grid 0fr can leave text visible in some browsers). */
.faq-list--ref .faq-a,
.faq-list--ref .faq-answer {
  display: block;
  max-height: 0;
  overflow: hidden;
  margin: 0;
  padding: 0;
  border: none;
  opacity: 0;
  transition:
    max-height var(--faq-acc-dur) var(--faq-acc-ease),
    opacity var(--faq-acc-dur) var(--faq-acc-ease);
}

.faq-list--ref .faq-item.open .faq-a,
.faq-list--ref .faq-item.open .faq-answer {
  max-height: 120rem;
  opacity: 1;
}

/* Homepage ref: single opacity animation on .faq-a (inner stays opaque vs global .faq-a-inner fade). */
.faq-list--ref .faq-item .faq-a-inner {
  opacity: 1;
}

.faq-list--ref .faq-a-inner {
  overflow: hidden;
  min-height: 0;
  padding: 0 40px 24px 0;
  margin-top: 0;
  font-size: 0.9375rem;
  font-weight: 400;
  color: #666;
  line-height: 1.65;
  border: none;
}

.faq-list--ref .faq-item.open .faq-a-inner {
  margin-top: -4px;
}

@media (max-width: 560px) {

  .faq-list--ref .faq-a-inner {
    padding-right: 0;
  }

  .faq-list--ref .faq-q {
    font-size: 0.9375rem;
  }
}

@media (prefers-reduced-motion: reduce) {

  .faq-q .icon,
  .faq-q .ic {
    transition: none;
  }

  .faq-a,
  .faq-answer {
    transition: none;
  }

  .faq-a-inner {
    transition: none;
  }

  .faq-list--ref .faq-a,
  .faq-list--ref .faq-answer {
    transition: none;
    opacity: 1;
  }

  .faq-list--ref .faq-q__toggle,
  .faq-list--ref .faq-q__toggle svg {
    transition: none;
  }
}

@media (max-width: 960px) {

  .home-guarantee-split {
    grid-template-columns: 1fr;
  }

  .home-guarantee-aside {
    order: 1;
    padding: clamp(40px, 9vw, 72px) 0;
  }

  .home-guarantee-aside__inner {
    text-align: center;
  }

  .home-guarantee-sub {
    margin-inline: auto;
  }

  .home-guarantee-visual {
    order: 2;
  }

  .home-guarantee-visual--has-bg:not(.home-guarantee-visual--has-vial) {
    min-height: clamp(300px, 42vw, 320px);
  }

  .home-guarantee-visual--has-vial {
    padding: clamp(40px, 9vw, 72px) clamp(20px, 5vw, 40px);
    justify-content: center;
  }

  .home-guarantee-vial {
    justify-content: center;
    margin-inline: auto;
  }

  .home-guarantee-vial__img,
  .home-guarantee-vial img {
    max-width: min(280px, 76vw);
  }

  .home-guarantee-card {
    filter: drop-shadow(0 3px 16px rgba(15, 16, 32, 0.06));
  }

  .home-guarantee-card__tip-bubble {
    max-width: min(260px, 85vw);
  }

  .home-ev-grid--mosaic {
    grid-template-columns: 1fr;
  }

  .home-ev-grid--mosaic .home-ev-card:nth-child(1),
  .home-ev-grid--mosaic .home-ev-card:nth-child(2),
  .home-ev-grid--mosaic .home-ev-card:nth-child(3),
  .home-ev-grid--mosaic .home-ev-card:nth-child(4),
  .home-ev-grid--mosaic .home-ev-card:nth-child(5),
  .home-ev-grid--mosaic .home-ev-card--wide {
    grid-column: 1 / -1;
  }

  .qt-layout {
    grid-template-columns: 1fr;
  }

  .qt-layout__title,
  .qt-layout__intro {
    text-align: center;
    margin-inline: auto;
  }

  .qt-layout__intro {
    max-width: 36rem;
  }

  .qt-layout__bullets {
    max-width: 38rem;
    margin-inline: 0;
    align-items: flex-start;
    text-align: left;
  }

  .qt-layout__bullet {
    width: 100%;
    max-width: none;
    text-align: left;
  }

  .shipping-service-ref__inner {
    align-items: stretch;
  }

  .shipping-service-ref__bullets {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    align-self: stretch;
    align-items: flex-start;
    text-align: left;
  }

  .qt-home--ref .qt-tabs-scroll-wrap {
    max-width: 100%;
    overflow: hidden;
    padding-right: 36px;
  }

  .qt-home--ref .qt-tabs-scroll-wrap::before {
    content: "";
    position: absolute;
    right: 34px;
    top: 0;
    bottom: 0;
    width: 28px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #fff 85%);
    pointer-events: none;
    z-index: 1;
  }

  .qt-home--ref .qt-tabs-scroll-wrap .qt-tabs--ref,
  .qt-home--ref .qt-tabs-scroll-wrap .quality-tabs {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    gap: 8px;
    padding: 2px 0 8px;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
  }

  .qt-home--ref .qt-tabs-scroll-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: #ebecef;
    color: #7a7d8a;
    pointer-events: none;
    z-index: 2;
    box-shadow: -6px 0 10px rgba(255, 255, 255, 0.95);
  }

  .qt-home--ref .qt-tabs-scroll-hint::after {
    content: "";
    width: 5px;
    height: 5px;
    margin-left: -1px;
    border-right: 2px solid currentcolor;
    border-bottom: 2px solid currentcolor;
    transform: rotate(-45deg);
  }

  .qt-home--ref .qt-tabs-scroll-wrap .qt-btn--pill {
    flex-shrink: 0;
    padding: 8px 14px !important;
    font-size: 0.8125rem !important;
  }

  .qt-panels {
    text-align: left;
  }

  .qt-layout__copy {
    order: 1;
    max-width: 100%;
    overflow-x: hidden;
  }

  .qt-stats-row--inline {
    justify-content: center;
    flex-wrap: nowrap;
    gap: 0;
  }

  .qt-stat-item {
    flex-shrink: 1;
    min-width: 0;
    padding: 2px 8px 2px 0;
    text-align: center;
    justify-content: center;
    gap: 4px;
  }

  .qt-stat-item__val {
    font-size: clamp(0.9rem, 3.4vw, 1.28rem);
    letter-spacing: -0.03em;
  }

  .qt-stat-item__lbl {
    font-size: clamp(0.55rem, 2.3vw, 0.68rem);
    white-space: nowrap;
  }

  .qt-stat-item:not(:last-child) {
    padding-right: 8px;
    margin-right: 2px;
  }

  .qt-showcase-frame {
    margin-bottom: 12px;
    padding-left: 0;
    padding-right: 0;
  }

  .qt-showcase {
    min-height: 280px;
  }

  .qt-showcase__subline {
    margin-inline: auto;
  }

  .qt-copy-foot {
    justify-content: center;
    text-align: center;
  }

  .qt-copy-foot__note {
    justify-content: center;
  }
}
.pdp-thumbs{display:none}

.pdp-thumbs,.product-gallery-thumbs{display:none !important}

.woocommerce-product-gallery .flex-control-thumbs,img.attachment-woocommerce_gallery_thumbnail{display:none !important}

.pdp-gallery-lightbox-trigger{display:none !important}
.pdp-gallery-main-img,.woocommerce-product-gallery__image,.woocommerce-product-gallery__image a{pointer-events:none !important;cursor:default !important}
