html body .zova-site-header a[data-zova-affiliate-dashboard-link="true"] {
  display: none !important;
}

html body .zova-site-header .zova-primary-nav {
  gap: clamp(18px, 2.55vw, 32px) !important;
}

html body .zova-site-header .zova-primary-nav a {
  letter-spacing: 0 !important;
  font-weight: 650 !important;
}

html body .zova-site-header .zova-nav-right {
  gap: 10px !important;
}

html body footer.zova-site-footer:not(.zova-site-footer--premium) .zova-site-footer__grid > .zova-site-footer__group:nth-child(3) {
  display: none !important;
}

html body footer.zova-site-footer:not(.zova-site-footer--premium) .zova-site-footer__brand img,
html body footer.zova-site-footer:not(.zova-site-footer--premium) .zova-site-footer__brand .zova-site-brand--footer {
  display: none !important;
}

html body footer.zova-site-footer:not(.zova-site-footer--premium) .zova-site-footer__brand p {
  margin-top: 0 !important;
}

html body .zova-site-header .zova-icon-btn.zova-cart-btn--refined {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  color: #27313d !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: inline-grid !important;
  place-items: center !important;
  padding: 0 !important;
}

html body .zova-site-header .zova-icon-btn.zova-cart-btn--refined:hover {
  color: #111820 !important;
  box-shadow: none !important;
  transform: translateY(-1px) !important;
}

html body .zova-site-header .zova-icon-btn.zova-cart-btn--refined svg {
  width: 20px !important;
  height: 20px !important;
  stroke-width: 1.45 !important;
}

html body .zova-site-header .zova-cart-btn__count {
  top: 0 !important;
  right: 0 !important;
  min-width: 20px !important;
  height: 20px !important;
  background: #007f96 !important;
  border: 2px solid #fff !important;
  box-shadow: 0 2px 5px rgba(0, 127, 150, 0.28) !important;
  font-size: 11px !important;
  font-weight: 750 !important;
}

html body main .zova-pdp2-chip[href] {
  color: inherit !important;
  text-decoration: none !important;
  cursor: pointer !important;
  padding: 9px 13px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

html body main .zova-pdp2-chip[href]:hover {
  border-color: rgba(0, 127, 150, 0.34) !important;
  box-shadow: 0 12px 30px rgba(0, 127, 150, 0.1) !important;
  transform: translateY(-1px) !important;
}

html body main .zova-pdp2-chip[href]:focus-visible {
  outline: 3px solid rgba(0, 127, 150, 0.32) !important;
  outline-offset: 4px !important;
}

html body .zova-cart-drawer__discount {
  gap: 8px !important;
  margin-bottom: 2px !important;
  padding-top: 2px !important;
  padding-bottom: 0 !important;
}

/* Cart drawer compact summary (2026-07-10): tighter vertical rhythm so more of the
   items list stays visible on phones; finalize-note removed per request. */
html body .zova-drawer-overlay .zova-cart-drawer__summary {
  gap: 6px !important;
  padding-top: 8px !important;
  padding-bottom: calc(10px + env(safe-area-inset-bottom)) !important;
}

html body .zova-cart-drawer__note {
  display: none !important;
}

html body .zova-cart-drawer__discount-label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

html body .zova-cart-drawer__discount input::placeholder {
  color: #7d8994 !important;
  opacity: 1 !important;
  text-transform: none !important;
}

html body .zova-cart-drawer__discount input,
html body #zova-cart-discount {
  font-size: 16px !important;
  line-height: 1.35 !important;
  min-height: 44px !important;
  touch-action: manipulation !important;
  -webkit-text-size-adjust: 100% !important;
}

html body .zova-cart-drawer__discount button:disabled {
  cursor: wait !important;
  opacity: .68 !important;
}

html body .zova-cart-drawer__discount-message {
  grid-column: 1 / -1 !important;
  margin: -4px 0 0 !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  color: #60727c !important;
}

html body .zova-cart-drawer__discount-message[data-state="success"] {
  color: #007f96 !important;
}

html body .zova-cart-drawer__discount-message[data-state="error"] {
  color: #b74444 !important;
}

html body .zova-cart-drawer__subtotal--affiliate,
html body .zova-cart-drawer__subtotal--affiliate strong {
  color: #007f96 !important;
}

html body .zova-site-ticker {
  background: #effcff !important;
  color: #006f82 !important;
  border-bottom: 1px solid rgba(0, 127, 150, 0.12) !important;
  overflow: hidden !important;
}

html body .zova-site-ticker__track {
  display: flex !important;
  gap: 0 !important;
  width: max-content !important;
  min-width: 100% !important;
  animation: zovaTickerSeamless 36s linear infinite !important;
  will-change: transform !important;
}

html body .zova-site-ticker__track--triple {
  animation-name: zovaTickerSeamlessThird !important;
}

@keyframes zovaTickerSeamless {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

@keyframes zovaTickerSeamlessThird {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-33.333333%, 0, 0); }
}

html body .zova-site-ticker__set {
  display: flex !important;
  align-items: center !important;
  gap: 34px !important;
  padding: 8px 14px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}

html body .zova-site-ticker__set b {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  font: inherit !important;
}

html body .zova-site-ticker__icon {
  width: 18px !important;
  height: 18px !important;
  display: inline-grid !important;
  place-items: center !important;
  position: relative !important;
  flex: 0 0 18px !important;
  color: #008ca3 !important;
}

html body .zova-site-ticker__icon svg {
  width: 18px !important;
  height: 18px !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  margin: auto !important;
  vertical-align: top !important;
  stroke-width: 1.65 !important;
}

html body .zova-site-ticker__track > span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  padding: 8px 14px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

html body .zova-site-ticker__track > span::before {
  content: "•" !important;
  color: #00a2bc !important;
  margin-right: 18px !important;
}

html body .zova-site-ticker__set b::before {
  content: none !important;
}

html body footer.zova-site-footer.zova-site-footer--premium {
  background: #111316 !important;
  color: #f6f7f8 !important;
  padding: clamp(54px, 7vw, 76px) clamp(20px, 5vw, 58px) 34px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__grid {
  max-width: 1180px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(220px, 1.35fr) repeat(4, minmax(128px, 1fr)) !important;
  gap: clamp(28px, 4vw, 48px) !important;
}

html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__brand {
  max-width: 360px !important;
}

html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__brand img {
  width: 156px !important;
  height: auto !important;
  background: #fff !important;
  border-radius: 8px !important;
  padding: 8px 10px !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.2) !important;
}

html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__brand p {
  margin: 0 !important;
  color: #c7ccd2 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

html body footer.zova-site-footer.zova-site-footer--premium h3 {
  margin: 0 0 18px !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__links {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  gap: 12px !important;
}

html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__links a {
  color: #c9ced4 !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  transition: color 180ms ease, transform 180ms ease !important;
}

html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__links a:hover {
  color: #ffffff !important;
}

html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__notice {
  max-width: 1180px !important;
  margin: clamp(38px, 5vw, 58px) auto 40px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 8px !important;
  background: #1d1f24 !important;
  box-shadow: none !important;
  padding: 20px 22px !important;
  display: flex !important;
  gap: 14px !important;
  align-items: flex-start !important;
}

html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__notice svg {
  width: 22px !important;
  height: 22px !important;
  color: #6ee7f2 !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  flex: 0 0 auto !important;
  margin-top: 2px !important;
}

html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__notice-heading {
  display: inline !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  margin: 0 !important;
}

html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__notice p {
  display: inline !important;
  color: #d9dde2 !important;
  font-size: 13px !important;
  line-height: 1.68 !important;
  margin: 0 !important;
}

html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__bottom {
  max-width: 1180px !important;
  margin: 0 auto !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
  padding-top: 24px !important;
  color: #878f98 !important;
  font-size: 13px !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 20px !important;
}

html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__bottom span:last-child {
  letter-spacing: 0.24em !important;
}

html body .zova-reveal {
  opacity: 0 !important;
  transform: translateY(18px) !important;
  transition: opacity 520ms ease, transform 520ms ease, box-shadow 240ms ease, border-color 240ms ease !important;
}

html body .zova-reveal.is-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

html body main.zova-affiliate-page--v2 {
  background:
    radial-gradient(circle at 12% 8%, rgba(0, 127, 150, 0.08), transparent 28%),
    linear-gradient(180deg, #fbfdfe 0%, #ffffff 58%, #f8fcfd 100%) !important;
}

html body main.zova-affiliate-page--v2 .zova-aff-hero {
  padding-block: clamp(84px, 10vw, 142px) clamp(62px, 8vw, 108px) !important;
}

html body main.zova-affiliate-page--v2 .zova-aff-hero__grid {
  min-height: 0 !important;
}

html body main.zova-affiliate-page--v2 .zova-aff-hero__copy {
  gap: 22px !important;
  max-width: 760px !important;
}

html body main.zova-affiliate-page--v2 .zova-aff-hero__copy p {
  max-width: 650px !important;
  color: #4f5b66 !important;
  line-height: 1.68 !important;
}

html body main.zova-affiliate-page--v2 .zova-aff-earnings,
html body main.zova-affiliate-page--v2 .zova-aff-levels,
html body main.zova-affiliate-page--v2 .zova-aff-apply {
  padding-block: clamp(68px, 8vw, 112px) !important;
}

html body main.zova-affiliate-page--v2 .zova-aff-earnings__head,
html body main.zova-affiliate-page--v2 .zova-aff-levels__head,
html body main.zova-affiliate-page--v2 .zova-aff-apply__head {
  gap: 14px !important;
  max-width: 780px !important;
  margin-bottom: 34px !important;
}

html body main.zova-affiliate-page--v2 .zova-aff-earnings__card,
html body main.zova-affiliate-page--v2 .zova-aff-level,
html body main.zova-affiliate-page--v2 .zova-aff-gate {
  border: 1px solid rgba(0, 127, 150, 0.18) !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fcfd 100%) !important;
  box-shadow: 0 24px 70px rgba(17, 24, 32, 0.08) !important;
}

html body main.zova-affiliate-page--v2 .zova-aff-earnings__card {
  gap: 24px !important;
  padding: clamp(24px, 5vw, 44px) !important;
}

html body main.zova-affiliate-page--v2 .zova-aff-earnings__rows {
  gap: 14px !important;
}

html body main.zova-affiliate-page--v2 .zova-aff-earnings__row {
  border-radius: 18px !important;
  padding: 18px 20px !important;
}

html body main.zova-affiliate-page--v2 .zova-aff-earnings__total {
  border-radius: 22px !important;
  padding: clamp(22px, 4vw, 34px) !important;
}

html body main.zova-affiliate-page--v2 .zova-aff-levels__grid {
  gap: 18px !important;
}

html body main.zova-affiliate-page--v2 .zova-aff-level {
  gap: 14px !important;
  padding: clamp(24px, 4vw, 34px) !important;
}

html body main.zova-affiliate-page--v2 .zova-aff-level strong {
  letter-spacing: 0 !important;
}

html body main.zova-affiliate-page--v2 .zova-aff-level--recurring {
  border-color: rgba(0, 127, 150, 0.26) !important;
  background:
    linear-gradient(180deg, rgba(239, 252, 255, 0.9) 0%, #ffffff 72%) !important;
  box-shadow: 0 24px 70px rgba(0, 127, 150, 0.12) !important;
}

html body main.zova-affiliate-page--v2 .zova-aff-level--recurring span,
html body main.zova-affiliate-page--v2 .zova-aff-level--recurring strong {
  color: #007f96 !important;
}

html body main.zova-affiliate-page--v2 .zova-aff-level--recurring span {
  background: #effcff !important;
  border: 1px solid rgba(0, 127, 150, 0.22) !important;
  border-radius: 999px !important;
  padding: 7px 10px !important;
}

html body main.zova-affiliate-page--v2 .zova-aff-gate {
  max-width: 780px !important;
  margin-inline: auto !important;
  padding: clamp(26px, 5vw, 46px) !important;
}

html body main.zova-affiliate-page--v2 .zova-aff-gate__actions {
  gap: 12px !important;
  margin-top: 8px !important;
}

@media (max-width: 760px) {
  html body .zova-pdp-v2 .zova-pdp2-tabs {
    margin-bottom: 18px !important;
  }

  html body .zova-pdp-v2 .zova-pdp2-proof-stack {
    gap: 16px !important;
    padding-bottom: 34px !important;
  }

  html body .zova-pdp-v2 .zova-pdp2-coa-section,
  html body .zova-pdp-v2 .zova-pdp2-faq-section,
  html body .zova-pdp-v2 .zova-pdp2-reviews {
    min-height: 0 !important;
    opacity: 1 !important;
    transform: none !important;
  }

  html body .zova-site-header .zova-nav-right {
    gap: 8px !important;
  }

  html body .zova-site-header .zova-icon-btn.zova-cart-btn--refined {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
  }

  html body main.zova-affiliate-page--v2 .zova-aff-hero {
    padding-block: 54px 46px !important;
  }

  html body main.zova-affiliate-page--v2 .zova-aff-earnings,
  html body main.zova-affiliate-page--v2 .zova-aff-levels,
  html body main.zova-affiliate-page--v2 .zova-aff-apply {
    padding-block: 52px !important;
  }

  html body main.zova-affiliate-page--v2 .zova-aff-earnings__head,
  html body main.zova-affiliate-page--v2 .zova-aff-levels__head,
  html body main.zova-affiliate-page--v2 .zova-aff-apply__head {
    max-width: 340px !important;
    gap: 10px !important;
    margin-bottom: 24px !important;
  }

  html body main.zova-affiliate-page--v2 .zova-aff-earnings__head .zova-h2,
  html body main.zova-affiliate-page--v2 .zova-aff-levels__head .zova-h2,
  html body main.zova-affiliate-page--v2 .zova-aff-apply__head .zova-h2 {
    font-size: clamp(34px, 10vw, 42px) !important;
    line-height: 0.98 !important;
    letter-spacing: 0 !important;
  }

  html body main.zova-affiliate-page--v2 .zova-aff-earnings__head p,
  html body main.zova-affiliate-page--v2 .zova-aff-levels__head p,
  html body main.zova-affiliate-page--v2 .zova-aff-apply__head p {
    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  html body main.zova-affiliate-page--v2 .zova-aff-earnings__card {
    width: min(100%, 332px) !important;
    margin-inline: auto !important;
    gap: 18px !important;
    padding: 24px 18px !important;
    border-radius: 22px !important;
  }

  html body main.zova-affiliate-page--v2 .zova-aff-earnings__rows {
    gap: 10px !important;
  }

  html body main.zova-affiliate-page--v2 .zova-aff-earnings__row {
    gap: 10px !important;
    min-height: auto !important;
    padding: 14px 12px !important;
    border-radius: 16px !important;
  }

  html body main.zova-affiliate-page--v2 .zova-aff-earnings__row span {
    font-size: 18px !important;
    line-height: 1.15 !important;
  }

  html body main.zova-affiliate-page--v2 .zova-aff-earnings__amount {
    font-size: 34px !important;
    line-height: 1 !important;
  }

  html body main.zova-affiliate-page--v2 .zova-aff-earnings__total {
    padding: 20px 14px !important;
    border-radius: 20px !important;
  }

  html body main.zova-affiliate-page--v2 .zova-aff-earnings__total-label {
    font-size: 24px !important;
    line-height: 1.12 !important;
  }

  html body main.zova-affiliate-page--v2 .zova-aff-earnings__total-value {
    display: block !important;
    font-size: clamp(40px, 12vw, 46px) !important;
    line-height: 0.95 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  html body main.zova-affiliate-page--v2 .zova-aff-earnings__note {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  html body main.zova-bundles-page .zova-bundles-hero__copy {
    display: grid !important;
    justify-items: center !important;
    gap: 12px !important;
    text-align: center !important;
  }

  html body main.zova-bundles-page .zova-bundles-count {
    justify-self: center !important;
    margin: 0 auto !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    text-align: center !important;
  }

  html body .zova-site-ticker__set {
    gap: 24px !important;
    padding: 7px 12px !important;
    font-size: 10px !important;
    letter-spacing: 0.08em !important;
  }

  html body .zova-site-ticker__set b {
    gap: 7px !important;
  }

  html body .zova-site-ticker__icon,
  html body .zova-site-ticker__icon svg {
    width: 16px !important;
    height: 16px !important;
  }

  html body .zova-site-ticker__track > span {
    padding: 7px 12px !important;
    font-size: 10px !important;
    letter-spacing: 0.08em !important;
  }

  html body main.zova-affiliate-page--v2 input,
  html body main.zova-affiliate-page--v2 select,
  html body main.zova-affiliate-page--v2 textarea,
  html body .zova-affiliate-auth input,
  html body .zova-affiliate-auth select,
  html body .zova-affiliate-auth textarea,
  html body main[class*="affiliate"] input,
  html body main[class*="affiliate"] select,
  html body main[class*="affiliate"] textarea {
    font-size: 16px !important;
    line-height: 1.35 !important;
    touch-action: manipulation !important;
  }

  html body main.zova-affiliate-page--v2 .zova-reveal,
  html body main[class*="affiliate"] .zova-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  html body footer.zova-site-footer.zova-site-footer--premium {
    padding-inline: 20px !important;
  }

  html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__grid {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__brand {
    max-width: none !important;
  }

  html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__notice {
    padding: 18px !important;
  }

  html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__bottom {
    flex-direction: column !important;
  }
}

@media (min-width: 761px) and (max-width: 1040px) {
  html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__brand {
    grid-column: 1 / -1 !important;
    max-width: 480px !important;
  }
}

@media (min-width: 901px) {
  html body .zova-page.zova-home .zova-home-trust,
  html body main.zova-home .zova-home-trust {
    border-bottom: 0 !important;
  }

  html body .zova-page.zova-home .zova-home-us-vs-them,
  html body main.zova-home .zova-home-us-vs-them {
    background: #fff !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    padding-top: clamp(64px, 6vw, 92px) !important;
    padding-bottom: clamp(72px, 7vw, 104px) !important;
  }

  html body .zova-page.zova-home .zova-home-compare__intro,
  html body main.zova-home .zova-home-compare__intro {
    margin-bottom: 32px !important;
  }

  html body .zova-page.zova-home .zova-home-compare__intro .zova-h2,
  html body main.zova-home .zova-home-compare__intro .zova-h2 {
    letter-spacing: -0.025em !important;
    word-spacing: 0.04em !important;
    font-size: clamp(42px, 3.8vw, 56px) !important;
    line-height: 1.05 !important;
    max-width: min(100%, 1000px) !important;
    white-space: nowrap !important;
  }

  html body .zova-page.zova-home .zova-home-compare__table,
  html body main.zova-home .zova-home-compare__table {
    width: min(100%, 1080px) !important;
    margin-inline: auto !important;
    border-radius: 22px !important;
    box-shadow: 0 28px 80px rgba(0, 127, 150, 0.08) !important;
  }

  html body .zova-page.zova-home .zova-home-compare__row,
  html body main.zova-home .zova-home-compare__row {
    grid-template-columns: minmax(210px, 0.82fr) minmax(280px, 1.08fr) minmax(280px, 1.08fr) !important;
    min-height: 58px !important;
  }

  html body .zova-page.zova-home .zova-home-compare__row > span,
  html body .zova-page.zova-home .zova-home-compare__row > strong,
  html body .zova-page.zova-home .zova-home-compare__row > em,
  html body main.zova-home .zova-home-compare__row > span,
  html body main.zova-home .zova-home-compare__row > strong,
  html body main.zova-home .zova-home-compare__row > em {
    align-items: center !important;
    padding: 16px 22px !important;
    line-height: 1.35 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body .zova-site-ticker__track {
    animation: none !important;
    flex-wrap: wrap !important;
    width: auto !important;
  }

  html body .zova-site-ticker__set:nth-child(n+2) {
    display: none !important;
  }

  html body .zova-site-ticker__track > span:nth-child(n+5) {
    display: none !important;
  }

  html body .zova-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* === ZOVA polish pass v3 (2026-06-27) — targeted only === */

/* 1. Newsletter __head: actually centered + max width on desktop */
@media (min-width: 981px) {
  html body .zova-page.zova-home .zova-home-newsletter__head {
    max-width: 780px !important;
    margin: 0 auto !important;
    text-align: center !important;
  }
  html body .zova-page.zova-home .zova-home-newsletter__head .zova-eyebrow {
    margin-inline: auto !important;
  }
}

/* 2. Collection page title row: centered on desktop */
@media (min-width: 981px) {
  html body main.zova-collection-page--shopify .zova-collection-title-row,
  html body main.zova-collection-page .zova-collection-title-row {
    text-align: center !important;
    justify-items: center !important;
    align-items: center !important;
    margin-inline: auto !important;
    max-width: 1180px !important;
    padding-inline: 28px !important;
  }
  html body main.zova-collection-page--shopify .zova-collection-title-row > *,
  html body main.zova-collection-page .zova-collection-title-row > * {
    text-align: center !important;
    margin-inline: auto !important;
  }
}

/* 3. Header nav hover underline (no transition class, no top bar) */
html body .zova-site-header .zova-primary-nav a {
  position: relative !important;
  transition: color 180ms ease !important;
}
html body .zova-site-header .zova-primary-nav a::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  right: 50% !important;
  bottom: -8px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: #007f96 !important;
  opacity: 0 !important;
  transition: left 220ms ease, right 220ms ease, opacity 180ms ease !important;
}
html body .zova-site-header .zova-primary-nav a:hover,
html body .zova-site-header .zova-primary-nav a[aria-current="page"] {
  color: #007f96 !important;
}
html body .zova-site-header .zova-primary-nav a:hover::after,
html body .zova-site-header .zova-primary-nav a[aria-current="page"]::after {
  left: 14% !important;
  right: 14% !important;
  opacity: 1 !important;
}

/* === ZOVA comparison table flatten fix (2026-06-27) === */
@media (min-width: 901px) {
  html body .zova-page.zova-home .zova-home-compare__table,
  html body main.zova-home .zova-home-compare__table {
    overflow: hidden !important;
    border: 1px solid rgba(0, 127, 150, .18) !important;
    background: #fff !important;
    box-shadow: 0 24px 64px rgba(17, 24, 32, .06) !important;
  }

  html body .zova-page.zova-home .zova-home-compare__row,
  html body main.zova-home .zova-home-compare__row {
    background: #fff !important;
  }

  html body .zova-page.zova-home .zova-home-compare__row--head,
  html body main.zova-home .zova-home-compare__row--head {
    background: #f4fbfc !important;
  }

  html body .zova-page.zova-home .zova-home-compare__row > span,
  html body .zova-page.zova-home .zova-home-compare__row > strong,
  html body .zova-page.zova-home .zova-home-compare__row > em,
  html body main.zova-home .zova-home-compare__row > span,
  html body main.zova-home .zova-home-compare__row > strong,
  html body main.zova-home .zova-home-compare__row > em {
    background: transparent !important;
    border-color: rgba(0, 127, 150, .12) !important;
  }

  html body .zova-page.zova-home .zova-home-compare__row > strong,
  html body main.zova-home .zova-home-compare__row > strong {
    color: #007f96 !important;
    font-weight: 850 !important;
  }

  html body .zova-page.zova-home .zova-home-compare__row > em,
  html body main.zova-home .zova-home-compare__row > em {
    color: #667786 !important;
    font-style: normal !important;
  }
}

/* ZOVA_HOME_HERO_DESKTOP_CENTER_V1 */
@media (min-width: 761px) {
  html body .zova-home .zova-home-hero__content {
    text-align: center !important;
    justify-items: center !important;
    align-content: center !important;
    margin-inline: auto !important;
  }
  html body .zova-home .zova-home-hero__eyebrow,
  html body .zova-home .zova-home-hero__title,
  html body .zova-home .zova-home-hero__sub {
    text-align: center !important;
    margin-inline: auto !important;
  }
  html body .zova-home .zova-home-hero__actions {
    justify-content: center !important;
    align-items: center !important;
  }
  html body .zova-home .zova-home-hero__ruo {
    justify-self: center !important;
    margin-inline: auto !important;
  }
}
/* ZOVA_FOOTER_CENTER_LOGO_V1 — centered footer + white logo, all breakpoints */
html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__grid {
  grid-template-columns: repeat(4, minmax(130px, 200px)) !important;
  justify-content: center !important;
  justify-items: center !important;
  text-align: center !important;
  gap: clamp(30px, 4vw, 54px) clamp(24px, 3.4vw, 48px) !important;
}

html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__brand {
  grid-column: 1 / -1 !important;
  justify-self: center !important;
  max-width: 560px !important;
  display: grid !important;
  justify-items: center !important;
  gap: 20px !important;
}

html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__brand img,
html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__logo {
  width: 168px !important;
  height: auto !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__brand p {
  text-align: center !important;
}

html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__group h3 {
  text-align: center !important;
}

html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__links {
  justify-items: center !important;
}

html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__notice {
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  max-width: 860px !important;
  gap: 12px !important;
  padding: 26px 30px !important;
}

html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__notice svg {
  margin-top: 0 !important;
}

html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__bottom {
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 10px 34px !important;
  text-align: center !important;
}

@media (max-width: 760px) {
  html body footer.zova-site-footer.zova-site-footer--premium .zova-site-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ZOVA_PDP_DESKTOP_SCALE_V1 — bigger, centered desktop PDP; mobile (<901px) untouched */
@media (min-width: 901px) {
  html body main.zova-page.zova-pdp-v2 .zova-pdp2-grid {
    width: min(1240px, 100% - 48px) !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(400px, 1fr) !important;
    gap: clamp(44px, 5vw, 88px) !important;
    align-items: start !important;
    justify-content: center !important;
  }
  html body main.zova-page.zova-pdp-v2 .zova-pdp2-gallery {
    position: sticky !important;
    top: 92px !important;
    width: 100% !important;
  }
  html body main.zova-page.zova-pdp-v2 .zova-pdp2-main {
    min-height: 500px !important;
    width: 100% !important;
  }
  html body main.zova-page.zova-pdp-v2 .zova-pdp2-main-img {
    max-height: 560px !important;
  }
  html body main.zova-page.zova-pdp-v2 .zova-pdp2-info {
    max-width: 580px !important;
    width: 100% !important;
    justify-self: center !important;
    text-align: center !important;
    justify-items: center !important;
  }
  html body main.zova-page.zova-pdp-v2 .zova-pdp2-crumbs,
  html body main.zova-page.zova-pdp-v2 .zova-pdp2-price-row,
  html body main.zova-page.zova-pdp-v2 .zova-pdp2-chips,
  html body main.zova-page.zova-pdp-v2 .zova-pdp2-delivery,
  html body main.zova-page.zova-pdp-v2 .zova-pdp2-compare {
    justify-content: center !important;
  }
  html body main.zova-page.zova-pdp-v2 .zova-pdp2-priceline__note,
  html body main.zova-page.zova-pdp-v2 .zova-pdp2-label,
  html body main.zova-page.zova-pdp-v2 .zova-pdp2-type-label {
    text-align: center !important;
  }
  html body main.zova-page.zova-pdp-v2 .zova-pdp2-form {
    width: 100% !important;
  }
}

@media (min-width: 1200px) {
  html body main.zova-page.zova-pdp-v2 .zova-pdp2-hero {
    padding: 72px 0 88px !important;
  }
  html body main.zova-page.zova-pdp-v2 .zova-pdp2-main {
    min-height: 560px !important;
  }
  html body main.zova-page.zova-pdp-v2 .zova-pdp2-main-img {
    max-height: 600px !important;
  }
  html body main.zova-page.zova-pdp-v2 .zova-pdp2-title {
    font-size: clamp(44px, 3.6vw, 54px) !important;
    letter-spacing: -0.02em !important;
  }
  html body main.zova-page.zova-pdp-v2 .zova-pdp2-price {
    font-size: 34px !important;
  }
}


/* ZOVA_MOBILE_SCROLL_FIX_V1 — a Next chunk sets overflow-x:hidden on BOTH html and
   body under 768px, which turns each into a scroll container; iOS Safari then loses
   momentum scrolling (fast flicks stall). overflow-x:clip clips horizontal overflow
   without creating a scroll container, so the page keeps native scrolling. */
@media (max-width: 768px) {
  html, body {
    overflow-x: clip !important;
  }
}

/* ZOVA_MOBILE_SCROLL_FIX_V2 — a Next chunk sets html{scroll-behavior:smooth},
   which is a long-standing iOS Safari momentum killer: fast flicks abort while
   slow drags work. The existing auto overrides in the chunks are gated behind
   prefers-reduced-motion, so normal phones still got smooth. Disable it on
   touch devices; desktop keeps smooth anchor scrolling. */
@media (hover: none) and (pointer: coarse) {
  html {
    scroll-behavior: auto !important;
  }
}

/* ZOVA_MOBILE_SCROLL_FIX_V3 — a Next chunk applies overflow-x:hidden to every
   direct child of body under 768px. Per spec that computes overflow-y to auto,
   turning <main> into a nested scroll container; on the catalog page main's
   content overflows its box by ~18px, so iOS flick momentum gets trapped in it
   and dies instantly (slow drags chain to the page, fast flicks do not).
   overflow-x:clip contains horizontal overflow without creating a scroller. */
@media (max-width: 768px) {
  html body > * {
    overflow-x: clip !important;
  }
}

/* Touch devices: iOS Safari keeps :hover applied after a tap ("sticky hover"),
 * so a tapped best-seller card stayed stuck at the hover zoom — the vial
 * rendered oversized and cropped (reported on Selank, homepage). When there
 * is no real hover pointer, pin the hover transform to the resting value
 * (html body ... translateZ(0) is the final resting rule in the cascade). */
@media (hover: none), (pointer: coarse) {
  html body .zova-home-best__card:hover .zova-home-best__img {
    transform: translateZ(0) !important;
  }
}

/* ZOVA_PDP_PRICE_CENTER_V1 — .zova-pdp2-priceline is a flex column with
   align-items:flex-start from the base chunk CSS; the price row is
   fit-content wide so it hugged the left edge of the centered info column
   on desktop. Center the column's children; mobile (<901px) untouched. */
@media (min-width: 901px) {
  html body main.zova-page.zova-pdp-v2 .zova-pdp2-priceline {
    align-items: center !important;
  }
}

/* ZOVA_REVIEW_TOGGLE_CENTER_V2 — "Show all reviews" sat flush with the
   review cards' left edge on desktop and mobile; center it under them.
   V2 (2026-07-03): the pill also sat on top of the last review card's
   bottom edge (zero gap after .zova-review-cards) — give it clear air. */
html body main.zova-page .zova-review-toggle {
  display: flex !important;
  margin-top: 18px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 2026-07-03: hide the selected-state checkmark on the single-vial quantity tile (desktop only).
   The badge collides with nothing on Buy 2/3 (discount pill) but reads as clutter on Buy One. */
@media (min-width: 769px) {
  html body .zova-pdp-v2 .zova-pdp2-bundle.is-selected:not(.is-saver):not(.is-best):after,
  html body .zova-pdp2-bundle:not(.is-saver):not(.is-best) input[type=radio]:checked + .zova-pdp2-bundle__vials:after {
    content: none !important;
    display: none !important;
  }
}

/* Sign-in lives in the drawer on mobile; the bar link crowds the centered
   logo under 901px (search icon overlapped the wordmark). */
@media (max-width: 900px) {
  html body .zova-site-header .zova-nav-right .zova-nav-signin {
    display: none !important;
  }
}

/* === ZOVA_MOTION_POLISH_V1 (2026-07-19) — cart + site motion cohesion === */

/* 1. Cart drawer backdrop fades in/out with the panel (same easing family). */
@keyframes zovaBackdropIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes zovaBackdropOut {
  from { opacity: 1; }
  to { opacity: 0; }
}
html body .zova-cart-drawer::backdrop {
  animation: zovaBackdropIn 280ms cubic-bezier(.22, 1, .36, 1) both;
}
html body .zova-cart-drawer.dialog-closing::backdrop {
  animation: zovaBackdropOut 220ms ease-out both;
}

/* 2. Nav underline: transform-based (GPU) instead of left/right layout anim. */
html body .zova-site-header .zova-primary-nav a::after {
  left: 14% !important;
  right: 14% !important;
  transform: scaleX(0) !important;
  transform-origin: 50% 50% !important;
  transition: transform 220ms cubic-bezier(.22, 1, .36, 1), opacity 180ms ease !important;
  will-change: transform !important;
}
html body .zova-site-header .zova-primary-nav a:hover::after,
html body .zova-site-header .zova-primary-nav a[aria-current="page"]::after {
  transform: scaleX(1) !important;
}

/* 3. Cart line rows settle in gently (new rows only — React keys are stable). */
@keyframes zovaCartLineIn {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}
html body .zova-cart-drawer .zova-cart-line {
  animation: zovaCartLineIn 240ms cubic-bezier(.22, 1, .36, 1) both;
}

/* 4. Reveal-on-scroll: same easing family as the drawer, slightly quicker. */
html body .zova-reveal {
  transition: opacity 480ms cubic-bezier(.22, 1, .36, 1), transform 480ms cubic-bezier(.22, 1, .36, 1), box-shadow 240ms ease, border-color 240ms ease !important;
}

/* 5. Primary buttons: hover lift/settle transitions instead of snapping. */
html body .zova-pdp2-atc,
html body .zova-pdp2-buynow,
html body .zova-cart-drawer__checkout,
html body .zova-cart-drawer__summary button[type="submit"] {
  transition: transform 160ms cubic-bezier(.22, 1, .36, 1), background-color 180ms ease, border-color 180ms ease, box-shadow 200ms ease, color 180ms ease !important;
}

/* Reduced motion: kill everything above. */
@media (prefers-reduced-motion: reduce) {
  html body .zova-cart-drawer::backdrop,
  html body .zova-cart-drawer.dialog-closing::backdrop,
  html body .zova-cart-drawer .zova-cart-line {
    animation: none !important;
  }
  html body .zova-site-header .zova-primary-nav a::after,
  html body .zova-reveal,
  html body .zova-pdp2-atc,
  html body .zova-pdp2-buynow,
  html body .zova-cart-drawer__checkout,
  html body .zova-cart-drawer__summary button[type="submit"] {
    transition: none !important;
  }
  html body .zova-site-header .zova-primary-nav a:hover::after,
  html body .zova-site-header .zova-primary-nav a[aria-current="page"]::after {
    transform: scaleX(1) !important;
  }
}

/* === ZOVA_MOBILE_CART_COMPACT_V1 (2026-07-19) — mobile drawer density pass === */
@media (max-width: 520px) {
  /* Header + goals: trim chrome */
  html body .zova-cart-drawer__header {
    padding-top: 10px !important;
    padding-bottom: 8px !important;
  }
  html body .zova-cart-drawer__goals {
    padding-top: 6px !important;
    padding-bottom: 8px !important;
  }
  html body .zova-cart-drawer__goals-msg {
    font-size: 12px !important;
    margin-bottom: 6px !important;
  }
  html body .zova-cart-drawer__goals-labels {
    font-size: 9px !important;
    margin-top: 5px !important;
  }

  /* Line cards: smaller media, tighter rhythm */
  html body .zova-cart-drawer__items {
    gap: 10px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
  html body .zova-cart-line {
    grid-template-columns: 58px 1fr auto !important;
    gap: 10px !important;
    padding: 10px !important;
    border-radius: 14px !important;
  }
  html body .zova-cart-line img {
    width: 58px !important;
    height: 58px !important;
    border-radius: 10px !important;
  }
  html body .zova-cart-line strong {
    font-size: 14px !important;
    line-height: 1.25 !important;
  }
  html body .zova-cart-line span {
    font-size: 11.5px !important;
    line-height: 1.3 !important;
  }
  html body .zova-cart-qty {
    gap: 6px !important;
    margin-top: 6px !important;
  }
  html body .zova-cart-qty button {
    min-width: 26px !important;
    height: 26px !important;
    padding: 0 8px !important;
  }
  html body .zova-cart-line__remove {
    font-size: 10px !important;
  }

  /* Summary: dense but touch-safe (inputs/buttons stay >=40px) */
  html body .zova-cart-drawer__summary {
    gap: 8px !important;
    padding: 10px 14px 12px !important;
  }
  html body .zova-cart-drawer__discount {
    gap: 6px !important;
  }
  html body .zova-cart-drawer__discount input,
  html body .zova-cart-drawer__discount button {
    height: 40px !important;
    font-size: 11px !important;
  }
  html body .zova-cart-drawer__discount-message {
    font-size: 11px !important;
    margin: 2px 0 0 !important;
  }
  html body .zova-cart-drawer__protection {
    padding: 8px 10px !important;
    border-radius: 12px !important;
  }
  html body .zova-cart-drawer__protection-label {
    gap: 8px !important;
    font-size: 12.5px !important;
    line-height: 1.3 !important;
  }
  html body .zova-cart-drawer__protection-label span {
    font-size: 11px !important;
    line-height: 1.3 !important;
  }
  html body .zova-cart-drawer__subtotal {
    font-size: 13px !important;
  }
  html body .zova-cart-drawer__subtotal strong {
    font-size: 15px !important;
  }
  html body .zova-cart-drawer__summary label,
  html body .zova-cart-drawer__summary .zova-cart-drawer__note {
    font-size: 10px !important;
    letter-spacing: .1em !important;
  }
  html body .zova-cart-drawer__summary input[type="email"] {
    height: 40px !important;
    font-size: 13px !important;
  }
  html body .zova-cart-drawer__checkout {
    min-height: 46px !important;
    font-size: 13px !important;
  }
  html body .zova-cart-drawer__ruo {
    font-size: 10px !important;
    line-height: 1.3 !important;
  }
}

/* === ZOVA_MOBILE_CART_COMPACT_V2 (2026-07-19) — density pass 2, specificity-matched.
   Inputs keep 16px/44px (iOS anti-zoom). Space comes from chrome, not touch targets. === */
@media (max-width: 520px) {
  /* Goals strip */
  html body .zova-cart-drawer .zova-cart-drawer__goals {
    padding-top: 4px !important;
    padding-bottom: 6px !important;
  }
  html body .zova-cart-drawer .zova-cart-drawer__goals-msg {
    font-size: 11.5px !important;
    margin-bottom: 4px !important;
  }
  html body .zova-cart-drawer .zova-cart-drawer__goals-labels {
    font-size: 8.5px !important;
    margin-top: 4px !important;
  }

  /* Line card internals */
  html body .zova-cart-drawer .zova-cart-line {
    padding: 8px 10px !important;
    gap: 8px !important;
  }
  html body .zova-cart-drawer .zova-cart-line__details strong,
  html body .zova-cart-drawer .zova-cart-line strong {
    font-size: 13.5px !important;
    line-height: 1.2 !important;
  }
  html body .zova-cart-drawer .zova-cart-line span {
    font-size: 11px !important;
    line-height: 1.25 !important;
  }
  html body .zova-cart-drawer .zova-cart-line__prices {
    gap: 4px !important;
    margin-top: 2px !important;
  }
  html body .zova-cart-drawer .zova-cart-line__price {
    font-size: 15px !important;
  }
  html body .zova-cart-drawer .zova-cart-line__actions {
    margin-top: 4px !important;
    gap: 8px !important;
  }
  html body .zova-cart-drawer .zova-cart-qty {
    margin-top: 4px !important;
    gap: 5px !important;
  }
  html body .zova-cart-drawer .zova-cart-qty button {
    min-width: 26px !important;
    height: 26px !important;
    padding: 0 8px !important;
  }
  html body .zova-cart-drawer .zova-cart-line__remove {
    font-size: 10px !important;
    letter-spacing: .08em !important;
  }

  /* Protection card */
  html body .zova-cart-drawer .zova-cart-drawer__protection {
    padding: 6px 10px !important;
  }
  html body .zova-cart-drawer .zova-cart-drawer__protection-label {
    gap: 8px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
  }
  html body .zova-cart-drawer .zova-cart-drawer__protection-label span {
    font-size: 10.5px !important;
    line-height: 1.25 !important;
  }

  /* Summary text rows (inputs untouched) */
  html body .zova-drawer-overlay .zova-cart-drawer__summary,
  html body .zova-cart-drawer .zova-cart-drawer__summary {
    gap: 6px !important;
    padding-top: 8px !important;
  }
  html body .zova-cart-drawer .zova-cart-drawer__discount {
    margin-bottom: 0 !important;
  }
  html body .zova-cart-drawer .zova-cart-drawer__discount-message {
    font-size: 11px !important;
    margin: -2px 0 0 !important;
  }
  html body .zova-cart-drawer .zova-cart-drawer__subtotal {
    font-size: 13px !important;
  }
  html body .zova-cart-drawer .zova-cart-drawer__summary label {
    font-size: 9.5px !important;
    letter-spacing: .12em !important;
  }
  html body .zova-cart-drawer .zova-cart-drawer__ruo {
    font-size: 9.5px !important;
    line-height: 1.25 !important;
    opacity: .8 !important;
  }
}

/* === ZOVA_MOBILE_CART_COMPACT_V3 (2026-07-19) — wins over 42of chunk overrides
   (html body .zova-drawer-overlay .zova-cart-drawer <target> = +1 class).
   Inputs stay >=44px/16px (iOS anti-zoom + tap targets). === */
@media (max-width: 520px) {
  /* Goals strip */
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__goals {
    padding-block: 5px !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__goals-msg {
    font-size: 11.5px !important;
    margin-bottom: 4px !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__goals-labels {
    font-size: 8.5px !important;
    margin-top: 4px !important;
  }

  /* Line card: tighten internal rhythm (media already 52px) */
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-line {
    padding: 8px 10px !important;
    gap: 8px !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-line__meta {
    gap: 4px !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-line__details span {
    margin-top: 1px !important;
    font-size: 11px !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-line__prices {
    gap: 1px !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-line__actions {
    gap: 6px !important;
    margin-top: 0 !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-qty {
    margin-top: 0 !important;
    gap: 5px !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-qty button {
    min-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 9px !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-line__remove {
    min-height: 30px !important;
    font-size: 10px !important;
  }

  /* Summary: dense rows, same touch targets */
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary {
    gap: 6px !important;
    padding-top: 6px !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__discount {
    padding: 2px 0 2px !important;
    gap: 8px !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__discount-label {
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    color: #4a5560 !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__discount input,
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__discount button {
    min-height: 44px !important;
    height: 44px !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__discount-message {
    font-size: 11px !important;
    margin: 0 !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__protection {
    min-height: 44px !important;
    padding: 0 !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__protection-label {
    padding: 7px 10px !important;
    gap: 9px !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__protection-copy strong {
    font-size: 12px !important;
    line-height: 1.15 !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__protection-copy small {
    font-size: 10px !important;
    margin-top: 1px !important;
    line-height: 1.2 !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__subtotal {
    font-size: 13px !important;
  }
  /* EMAIL micro-block: shrink label, hide helper line (email box itself stays) */
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary label {
    font-size: 9.5px !important;
    letter-spacing: .12em !important;
    margin-bottom: 2px !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary input[type="email"] {
    height: 44px !important;
    min-height: 44px !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary input[type="email"] ~ small,
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary input[type="email"] + div,
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary input[type="email"] ~ p {
    font-size: 9.5px !important;
    margin: 2px 0 0 !important;
    line-height: 1.2 !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__checkout {
    min-height: 46px !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__ruo {
    font-size: 9px !important;
    line-height: 1.2 !important;
    opacity: .75 !important;
  }
}

/* === ZOVA_MOBILE_CART_COMPACT_V3B — line card: title left, prices right (2-col) === */
@media (max-width: 520px) {
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-line__top {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-line__prices {
    text-align: right !important;
    justify-items: end !important;
  }
}


/* === ZOVA_DISCOUNT_COLLAPSE_CSS_V2 — chevron toggle row + compact input, mobile only === */
html body .zova-discount-toggle {
  display: none;
}
@media (max-width: 520px) {
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary .zova-cart-drawer__discount {
    display: none !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary.zova-discount-open .zova-cart-drawer__discount {
    display: grid !important;
    animation: zovaDiscountReveal 200ms cubic-bezier(.22, 1, .36, 1) both;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary .zova-cart-drawer__discount-label {
    display: none !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary.zova-discount-open .zova-cart-drawer__discount {
    padding: 0 0 2px !important;
    gap: 8px !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary.zova-discount-open .zova-cart-drawer__discount input,
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary.zova-discount-open .zova-cart-drawer__discount button {
    height: 40px !important;
    min-height: 40px !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary.zova-discount-open .zova-cart-drawer__discount button {
    font-size: 11px !important;
    padding: 0 14px !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary .zova-discount-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: none;
    border: 0;
    padding: 4px 2px;
    min-height: 32px;
    color: #14161a;
    font: inherit;
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: .02em;
    cursor: pointer;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary .zova-discount-toggle svg {
    color: #007f96;
    transition: transform 200ms cubic-bezier(.22, 1, .36, 1);
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary.zova-discount-open .zova-discount-toggle svg {
    transform: rotate(180deg);
  }
  /* email helper line off on mobile (label + box stay) */
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary input[type="email"] ~ small,
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary input[type="email"] + div,
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary input[type="email"] ~ p {
    display: none !important;
  }
}
@keyframes zovaDiscountReveal {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary.zova-discount-open .zova-cart-drawer__discount {
    animation: none !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary .zova-discount-toggle svg {
    transition: none !important;
  }
}

/* === ZOVA_MOBILE_CART_COMPACT_V4 — slimmer discount pill + no pay-methods strip === */
@media (max-width: 520px) {
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary.zova-discount-open .zova-cart-drawer__discount input,
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary.zova-discount-open .zova-cart-drawer__discount button {
    height: 38px !important;
    min-height: 38px !important;
    border-width: 1px !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary.zova-discount-open .zova-cart-drawer__discount input {
    padding: 0 12px !important;
    box-shadow: none !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary.zova-discount-open .zova-cart-drawer__discount button {
    padding: 0 12px !important;
    font-size: 10.5px !important;
  }
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary .zova-cart-drawer__checkout + *:not(.zova-cart-drawer__ruo) {
    display: none !important;
  }
}

/* === ZOVA_HIDE_COA_CHIP_NO_COA_V1 (2026-07-19, Hen) — no COA affordance on
   products without a real COA (BAC Water). data-zova-product-coa="library"
   marks the no-COA fallback; real vials use ="true" and are untouched. === */
html body a.zova-pdp2-chip[data-zova-product-coa="library"],
html body a.zova-btn[data-zova-product-coa="library"],
html body [data-zova-product-coa="library"] {
  display: none !important;
}

/* === ZOVA_FIX_EMAIL_HINT_VISIBLE_V1 (2026-07-19) — CRITICAL: mobile density
   pass hid [data-zova-cart-email-hint], which is also the checkout email
   error container ("Enter a valid email to continue."). Hidden = checkout
   without email looked like a dead button. Keep it visible + compact. === */
@media (max-width: 520px) {
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary [data-zova-cart-email-hint][data-zova-cart-email-hint],
  html body .zova-drawer-overlay .zova-cart-drawer .zova-cart-drawer__summary input[type="email"] ~ [data-zova-cart-email-hint] {
    display: block !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    margin-top: 3px !important;
  }
}

/* === ZOVA_HIDE_VOLUME_SAVINGS_ROW_V1 (2026-07-26, Brad) — drawer/cart summary
   shows only the affiliate discount row. The volume discount is still applied
   (per-line "(Save $X)" + a final subtotal); the extra "Cart savings" /
   "Quantity discount" line was noise. Hidden in CSS so it never paints; polish
   v3 also forces display:none each normalize tick. === */
html body .zova-cart-drawer__subtotal--savings,
html body .zova-cart-page__summary .zova-cart-drawer__subtotal--savings {
  display: none !important;
}

/* 2026-08-03 catalog card alignment (Hen) — see note in zova-storefront-polish-v2.css */
html body main.zova-collection-page--shopify .zova-clean-card .zova-clean-card__title, html body .zova-clean-card a.zova-clean-card__title.zova-clean-card__title[href]{text-align:center !important;display:block !important;font-size:1em !important;line-height:1.15 !important;letter-spacing:-0.02em;min-height:0 !important;}
html body main .zova-clean-card .zova-clean-card__price.zova-clean-card__price{justify-content:center !important;text-align:center !important;min-height:0 !important;height:auto !important;}
html body main .zova-clean-card .zova-clean-card__body.zova-clean-card__body{display:flex !important;flex-direction:column !important;align-items:center !important;text-align:center !important;gap:9px !important;padding-bottom:14px !important;}
html body main .zova-clean-card{display:flex !important;flex-direction:column !important;padding-bottom:0 !important;}
html body main .zova-clean-card .zova-clean-card__body.zova-clean-card__body{flex:1 1 auto !important;}
html body main .zova-clean-card .zova-clean-card__body a[data-zova-view-options],html body main .zova-clean-card .zova-clean-card__body .zova-clean-card__button{margin-top:auto !important;align-self:stretch !important;}

/* === ZOVA_FOOTER_STALE_ACCOUNT_GROUP_MASK_V1 (2026-08-06) — paint-stability task 6b.
   Served footers were scrubbed in task-6, but the embedded RSC payload still
   carries the OLD footer model, so React briefly re-creates the retired Account
   group (Account record / Order history / Track dispatch ->
   https://zovalabs.co/account, DNS-dead) for ~380ms before
   zova-storefront-polish-v3.js upgradeFooter() swaps in the keeper footer. The
   keeper Account group links to /affiliate/dashboard, /pages/contact, /cart —
   no /account hrefs — so this mask can never hide it, and scrubbed served
   markup matches nothing. Only the RSC-recreated stale group carries /account
   hrefs, so it never paints. === */
html body footer.zova-site-footer .zova-site-footer__group:has(a[href*="/account"]) {
  display: none !important;
}

/* === ZOVA_CATALOG_HIDE_FROZEN_PRODUCT_COUNT_V1 (2026-08-06, Hen) — the
   source-less React/RSC toolbar bakes "12 of 13 products" while the hydrated
   catalog has 24 and grows from Supabase. Do not replace one maintenance trap
   with another count. CSS owns first paint and survives React rerenders; the
   rebuild omits the count node natively. === */
html body main.zova-collection-page--shopify .zova-catalog-toolbar__title > strong {
  display: none !important;
}

/* 2026-08-06 review scope: baked PDP review cards are donor/global fallback
 * copy and can name the wrong vial before the live scoped feed arrives. Hide
 * the fallback from first CSS paint; zova-reviews-v1.js renders the scoped
 * replacement under [data-zova-reviews]. */
html body main.zova-page .zova-pdp2-reviews > .zova-review-cards:not([data-zova-reviews]),
html body main.zova-page .zova-pdp2-reviews > .zova-review-toggle:not([data-zova-reviews-toggle]) {
  display: none !important;
}
