/* ============================================================
   LuxLife WordPress Plugin – Main Stylesheet
   Ported from src/index.css + tailwind.config.js + component styles
   ============================================================ */

/* ── Fonts ───────────────────────────────────────────────── */

@font-face {
  font-family: 'Recoleta';
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url('../fonts/recoleta-400-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'Recoleta';
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url('../fonts/recoleta-700-normal.woff2') format('woff2');
}

/* ── Design Tokens (from index.css :root) ────────────────── */
:root {
  --lx-bg:               hsl(40, 33%, 96%);
  --lx-fg:               hsl(181, 100%, 9%);
  --lx-card:             hsl(40, 30%, 99%);
  --lx-card-fg:          hsl(181, 100%, 9%);
  --lx-primary:          hsl(181, 100%, 24%);
  --lx-primary-fg:       hsl(40, 33%, 98%);
  --lx-secondary:        hsl(180, 48%, 92%);
  --lx-secondary-fg:     hsl(181, 100%, 18%);
  --lx-muted:            hsl(180, 30%, 90%);
  --lx-muted-fg:         hsl(181, 30%, 35%);
  --lx-accent:           hsl(35, 36%, 56%);    /* #c4a97a gold */
  --lx-accent-fg:        hsl(40, 33%, 98%);
  --lx-destructive:      hsl(0, 72%, 42%);
  --lx-border:           hsl(180, 20%, 86%);
  --lx-input:            hsl(180, 20%, 86%);
  --lx-ring:             hsl(181, 100%, 24%);
  --lx-radius:           0.25rem;

  /* Brand specifics */
  --lx-dark-teal:        #002D2E;
  --lx-teal:             #007A7C;
  --lx-teal-dark:        #006364;
  --lx-gold:             #c4a97a;
  --lx-cream:            #E0F4F4;

  /* Typography */
  --lx-font-heading:     'Recoleta', 'Crimson Text', Georgia, serif;
  --lx-font-body:        'Barlow', system-ui, sans-serif;
  --lx-font-mono:        'Space Mono', 'Courier New', monospace;
}

/* ── Label mono utility (used everywhere in LuxLife) ─────── */
.label-mono {
  font-family: 'Space Mono', ui-monospace, monospace;
  font-size: 0.65rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-weight: 500;
}

/* ── Buttons ─────────────────────────────────────────────── */
.luxlife-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 2rem;
  font-family: var(--lx-font-body);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: var(--lx-radius);
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
  border: 1px solid transparent;
}
.luxlife-btn--primary {
  background: #007A7C;
  color: #fff;
  border-color: #007A7C;
}
.luxlife-btn--primary:hover {
  background: var(--lx-teal-dark);
  border-color: var(--lx-teal-dark);
  color: #fff;
  text-decoration: none;
}
.luxlife-btn--outline {
  background: transparent;
  color: rgba(255,255,255,0.9);
  border-color: rgba(255,255,255,0.3);
}
.luxlife-btn--outline:hover {
  border-color: rgba(255,255,255,0.6);
  color: #fff;
  text-decoration: none;
}

/* ============================================================
   AGE GATE
   ============================================================ */
.luxlife-age-gate {
  position: fixed;
  inset: 0;
  z-index: 99999;
  overflow-y: auto;
  background-size: cover;
  background-position: center;
  transition: opacity 0.3s, transform 0.3s;
}
.luxlife-age-gate.leaving {
  opacity: 0;
  transform: scale(1.02);
  pointer-events: none;
}
.age-gate__video-wrap {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.age-gate__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.age-gate__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,45,46,0.7), rgba(0,45,46,0.4), rgba(0,45,46,0.8));
}
/* Values mirror AgeGate.jsx on livelux.io (Tailwind: sm = 640px). */
.luxlife-age-gate { font-family: "Inter", ui-sans-serif, system-ui, sans-serif; line-height: 1.5; -webkit-font-smoothing: antialiased; text-rendering: auto; }
.luxlife-age-gate p, .luxlife-age-gate h1, .luxlife-age-gate h2 { margin: 0; letter-spacing: normal; }
.age-gate__inner {
  position: relative;
  z-index: 10;
  display: flex;
  min-height: 100vh;
  min-height: 100dvh;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
}
.age-gate__card {
  width: 100%;
  max-width: 28rem;
  background: rgba(0,45,46,.9);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 1rem;
  padding: 1.5rem 1.25rem;
  text-align: center;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: 0 25px 50px -12px rgba(0,0,0,.25);
}
.age-gate__logo { display: block; margin: 0 auto .5rem; height: 3.5rem !important; width: auto !important; max-width: none; }
.luxlife-age-gate .age-gate__label {
  font-family: "Space Mono", ui-monospace, monospace;
  font-size: 9px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(224,244,244,.8);
}
.luxlife-age-gate .age-gate__title {
  margin-top: .375rem;
  font-family: "Fraunces", ui-serif, Georgia, serif;
  font-size: 1rem;
  line-height: 1.25;
  font-weight: 300;
  color: #fff;
  text-wrap: balance;
}
.age-gate__title em { font-style: italic; color: #c4a97a; }
.luxlife-age-gate .age-gate__body { margin-top: .5rem; font-size: 11px; line-height: 1.375; color: rgba(224,244,244,.85); }
.age-gate__body strong { font-weight: 600; color: #fff; }
.luxlife-age-gate .age-gate__sub { margin-top: .375rem; font-size: 10px; line-height: 1.375; color: rgba(224,244,244,.7); }
.age-gate__sub a { color: #c4a97a; text-decoration: underline; }
.age-gate__sub a:hover { color: #E0F4F4; }
.age-gate__actions { margin-top: 1rem; display: flex; flex-direction: column; gap: .625rem; }
.luxlife-age-gate .age-gate__btn {
  display: block;
  width: 100%;
  border-radius: .75rem;
  padding: .75rem 1.5rem;
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-size: .75rem;
  line-height: 1rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: all .15s cubic-bezier(.4,0,.2,1);
}
.luxlife-age-gate .age-gate__btn:active { transform: scale(.98); }
.luxlife-age-gate .age-gate__btn--enter { background: #007A7C; color: #fff; border: 0; box-shadow: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1); }
.luxlife-age-gate .age-gate__btn--enter:hover { background: #006364; }
.luxlife-age-gate .age-gate__btn--exit { padding-top: .625rem; padding-bottom: .625rem; background: transparent; color: rgba(255,255,255,.7); border: 1px solid rgba(255,255,255,.2); }
.luxlife-age-gate .age-gate__btn--exit:hover { border-color: rgba(255,255,255,.4); color: #fff; }
.luxlife-age-gate .age-gate__footer-note {
  margin-top: .75rem;
  font-family: "Space Mono", ui-monospace, monospace;
  font-size: 9px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(196,169,122,.8);
}
@media (min-width: 640px) {
  .age-gate__inner { padding-left: 1.5rem; padding-right: 1.5rem; }
  .age-gate__card { padding: 2rem; }
  .age-gate__logo { margin-bottom: 1rem; height: 6rem !important; }
  .luxlife-age-gate .age-gate__label { font-size: .75rem; line-height: 1rem; }
  .luxlife-age-gate .age-gate__title { margin-top: .75rem; font-size: 1.5rem; line-height: 2rem; }
  .luxlife-age-gate .age-gate__body { margin-top: 1rem; font-size: .75rem; line-height: 1.625; }
  .luxlife-age-gate .age-gate__sub { margin-top: .75rem; font-size: .75rem; line-height: 1.625; }
  .age-gate__actions { margin-top: 1.5rem; gap: .75rem; }
  .luxlife-age-gate .age-gate__btn { padding: .875rem 2rem; font-size: .875rem; line-height: 1.25rem; }
  .luxlife-age-gate .age-gate__btn--exit { padding: .75rem 2rem; }
  .luxlife-age-gate .age-gate__footer-note { margin-top: 1.25rem; font-size: 11px; }
}

/* Hero, marquee and homepage sections: see themes/storefront/luxlife-overrides.css */

/* ============================================================
   SHELL STORY / OUR STORY
   ============================================================ */
.luxlife-shell-story {
  background: rgba(224,244,244,0.4);
  padding: 4rem 0;
}
@media (min-width: 640px) { .luxlife-shell-story { padding: 6rem 0; } }
.luxlife-shell-story__inner {
  max-width: 48rem;
  margin: 0 auto;
  padding: 0 1.25rem;
}
.luxlife-accent-label { color: var(--lx-accent); margin-bottom: 1rem; display: block; }
.luxlife-shell-story__title {
  font-family: var(--lx-font-heading);
  font-size: clamp(1.75rem, 4vw, 3rem);
  font-weight: 300;
  line-height: 1.2;
  color: var(--lx-fg);
  margin-bottom: 1.5rem;
  text-wrap: balance;
}
.luxlife-shell-story__title em { font-style: italic; color: #007A7C; }
.luxlife-shell-story__text { font-size: 0.9rem; line-height: 1.75; color: rgba(0,45,46,0.75); }
.luxlife-shell-story__text p + p { margin-top: 1rem; }
.luxlife-shell-story__expect { margin-top: 3rem; }
.luxlife-shell-story__expect h3 { font-family: var(--lx-font-heading); font-size: 1.5rem; font-weight: 300; margin-bottom: 1.25rem; }
.luxlife-expect-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.75rem; }
.luxlife-expect-list__item { display: flex; align-items: center; gap: 0.75rem; font-size: 0.875rem; }
.luxlife-expect-list__emoji { font-size: 1.1rem; }
.luxlife-shell-story__figure { margin-top: 3rem; border-radius: 0.5rem; overflow: hidden; }
.luxlife-shell-story__figure img { width: 100%; height: auto; display: block; }

/* ============================================================
   RESEARCH DISCLAIMER
   ============================================================ */
.luxlife-disclaimer {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  background: #fff9ed;
  border-left: 4px solid var(--lx-accent);
  border-radius: 0.25rem;
  padding: 0.875rem 1rem;
  font-size: 0.8rem;
  line-height: 1.5;
  color: #5a4a2a;
  margin: 1rem 0;
}
.luxlife-disclaimer strong { color: #8b5e1a; }
.luxlife-disclaimer--checkout { background: #fff3e0; border-color: #e07b1a; }
.luxlife-disclaimer--standalone { font-size: 0.875rem; }

/* ============================================================
   WOOCOMMERCE OVERRIDES
   ============================================================ */

/* Product loop badge */
.luxlife-ruo-badge {
  display: inline-block;
  font-family: 'Space Mono', ui-monospace, monospace;
  font-size: 0.55rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--lx-muted-fg);
  background: var(--lx-muted);
  border-radius: 999px;
  padding: 0.2rem 0.6rem;
  margin-bottom: 0.4rem;
}

/* Product card */
.woocommerce ul.products li.product {
  background: var(--lx-card);
  border-radius: 0.5rem;
  border: 1px solid var(--lx-border);
  overflow: hidden;
  transition: box-shadow 0.2s, transform 0.2s;
}
.woocommerce ul.products li.product:hover {
  box-shadow: 0 8px 24px rgba(0,45,46,0.1);
  transform: translateY(-2px);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--lx-font-heading);
  font-weight: 400;
  color: var(--lx-fg);
}
.woocommerce ul.products li.product .price {
  color: #007A7C;
  font-weight: 600;
}

/* Buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #place_order {
  background: #007A7C !important;
  color: #fff !important;
  font-family: var(--lx-font-body);
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  border-radius: var(--lx-radius);
  border: none;
  padding: 0.75rem 1.5rem;
  transition: background 0.2s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #place_order:hover {
  background: var(--lx-teal-dark) !important;
  color: #fff !important;
}
.woocommerce a.button.alt,
.woocommerce button.button.alt {
  background: #002D2E !important;
}
.woocommerce a.button.alt:hover { background: #001a1b !important; }

/* Single product */
.woocommerce div.product .product_title {
  font-family: var(--lx-font-heading);
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  font-weight: 300;
  color: var(--lx-fg);
}
.woocommerce div.product .price {
  color: #007A7C;
  font-size: 1.5rem;
  font-weight: 600;
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #007A7C; border-color: #007A7C; }
.luxlife-coa-tab table { border-collapse: collapse; width: 100%; margin-top: 1rem; }
.luxlife-coa-tab table th, .luxlife-coa-tab table td { padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--lx-border); font-size: 0.875rem; }
.luxlife-coa-tab table th { font-family: 'Space Mono', ui-monospace, monospace; font-size: 0.65rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--lx-muted-fg); width: 35%; }
.luxlife-coa-tab__link { color: #007A7C; font-weight: 500; }
.luxlife-coa-tab__link:hover { color: var(--lx-teal-dark); }

/* Cart / Checkout */
.woocommerce .cart-collaterals, .woocommerce-checkout { font-family: var(--lx-font-body); }
.woocommerce form .form-row label { font-size: 0.8rem; font-weight: 500; color: var(--lx-fg); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select { border-color: var(--lx-border); border-radius: var(--lx-radius); }
.woocommerce form .form-row input.input-text:focus { border-color: #007A7C; outline: 2px solid rgba(0,122,124,0.25); }

/* ============================================================
   COA TABLE SHORTCODE
   ============================================================ */
.luxlife-coa { margin: 3rem 0; }
.luxlife-coa__header { text-align: center; margin-bottom: 2.5rem; }
.luxlife-coa__header .label-mono { color: var(--lx-accent); }
.luxlife-coa__title {
  font-family: var(--lx-font-heading);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 300;
  margin: 0.5rem 0;
}
.luxlife-coa__title em { font-style: italic; color: #007A7C; }
.luxlife-coa__subtitle { color: var(--lx-muted-fg); font-size: 0.9rem; }
.luxlife-coa__table-wrap { overflow-x: auto; }
.luxlife-coa__table { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
.luxlife-coa__table thead tr { background: #002D2E; color: var(--lx-cream); }
.luxlife-coa__table thead th { padding: 0.75rem 1rem; font-family: 'Space Mono', ui-monospace, monospace; font-size: 0.6rem; letter-spacing: 0.15em; text-transform: uppercase; text-align: left; }
.luxlife-coa__table tbody tr { border-bottom: 1px solid var(--lx-border); transition: background 0.15s; }
.luxlife-coa__table tbody tr:hover { background: var(--lx-secondary); }
.luxlife-coa__table tbody td { padding: 0.75rem 1rem; color: var(--lx-fg); }
.coa-product { font-weight: 600; }
.coa-batch code { font-size: 0.7rem; color: var(--lx-muted-fg); }
.coa-purity { color: #007A7C; font-weight: 600; }
.coa-link { color: #007A7C; text-decoration: none; font-weight: 500; white-space: nowrap; }
.coa-link:hover { color: var(--lx-teal-dark); text-decoration: underline; }
.luxlife-coa__disclaimer { margin-top: 1.25rem; font-size: 0.75rem; color: var(--lx-muted-fg); text-align: center; }

/* ============================================================
   NEWSLETTER
   ============================================================ */
.luxlife-newsletter { max-width: 32rem; margin: 0 auto; text-align: center; padding: 2rem; }
.luxlife-newsletter__title { font-family: var(--lx-font-heading); font-size: 1.5rem; font-weight: 300; margin-bottom: 0.5rem; }
.luxlife-newsletter__desc { font-size: 0.875rem; color: var(--lx-muted-fg); margin-bottom: 1.25rem; }
.luxlife-newsletter__row { display: flex; gap: 0.5rem; flex-wrap: wrap; justify-content: center; }
.luxlife-newsletter__input {
  flex: 1;
  min-width: 0;
  padding: 0.75rem 1rem;
  border: 1px solid var(--lx-border);
  border-radius: var(--lx-radius);
  font-size: 0.875rem;
  color: var(--lx-fg);
  background: var(--lx-card);
}
.luxlife-newsletter__input:focus { outline: 2px solid rgba(0,122,124,0.3); border-color: #007A7C; }
.luxlife-newsletter__status { margin-top: 0.75rem; font-size: 0.8rem; min-height: 1.25rem; color: #007A7C; }

/* ============================================================
   UTILITIES
   ============================================================ */
.luxlife-container { max-width: 80rem; margin: 0 auto; padding: 0 1.25rem; }
@media (min-width: 640px) { .luxlife-container { padding: 0 2rem; } }

/* Homepage: hidden until the visitor reaches the products (site JS adds .is-revealed). */
.luxlife-age-gate.is-delayed {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .5s ease, visibility 0s linear .5s;
}
.luxlife-age-gate.is-delayed.is-revealed { opacity: 1; visibility: visible; pointer-events: auto; transition: opacity .5s ease; }
.luxlife-age-gate.is-delayed.is-revealed.leaving { opacity: 0; pointer-events: none; }
html.lx-gate-open, html.lx-gate-open body { overflow: hidden; }
@media (prefers-reduced-motion: reduce) {
  .luxlife-age-gate.is-delayed, .luxlife-age-gate.is-delayed.is-revealed { transition: none; }
}
/* Focus ring on the gate buttons in brand gold (Storefront's default is purple). */
.luxlife-age-gate .age-gate__btn:focus { outline: 2px solid #c4a97a !important; outline-offset: 3px; }
.luxlife-age-gate .age-gate__btn:focus:not(:focus-visible) { outline: none !important; }

/* Admin-only shortcut to the Command Center (never shown to visitors) */
#masthead .lx-navbar__actions a.lx-navbar__admin {
  gap: .375rem; padding: .3rem .7rem; border-radius: 9999px;
  background: #002D2E; color: #fff !important;
  font-family: 'Space Mono', ui-monospace, monospace; font-size: .625rem; letter-spacing: .12em; text-transform: uppercase;
}
#masthead .lx-navbar__actions a.lx-navbar__admin:hover { background: #007A7C; color: #fff !important; }
.lx-navbar__admin .lx-icon { width: 1rem; height: 1rem; color: #c4a97a; }
@media (max-width: 1179px) { .lx-navbar__admin span { display: none; } #masthead .lx-navbar__actions a.lx-navbar__admin { padding: .35rem; } }
#masthead .lx-mobile-nav a.lx-mobile-nav__admin { margin-top: .25rem; padding-top: 1rem; border-top: 1px solid hsl(180 20% 86% / .6); color: #007A7C !important; }

/* ── 10% welcome pop-up ───────────────────────────────────── */
.lx-popup { position: fixed; inset: 0; z-index: 99990; display: flex; align-items: center; justify-content: center; padding: 1rem; opacity: 0; transition: opacity .25s ease; }
.lx-popup[hidden] { display: none; }
.lx-popup.is-open { opacity: 1; }
html.lx-popup-open, html.lx-popup-open body { overflow: hidden; }
.lx-popup__backdrop { position: absolute; inset: 0; background: rgba(0,45,46,.55); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.lx-popup__card { position: relative; width: 100%; max-width: 30rem; max-height: calc(100vh - 2rem); overflow-y: auto; padding: 2.25rem 1.75rem 1.5rem; background: #f8f6f1; border-top: 4px solid #c4a97a; border-radius: .75rem; box-shadow: 0 25px 50px -12px rgba(0,0,0,.35); text-align: center; transform: translateY(12px) scale(.98); transition: transform .25s ease; }
.lx-popup.is-open .lx-popup__card { transform: none; }
.lx-popup__close { position: absolute; top: .5rem; right: .75rem; width: 2.25rem; height: 2.25rem; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; color: rgba(0,45,46,.55) !important; font-size: 1.75rem !important; line-height: 1 !important; cursor: pointer; }
.lx-popup__close:hover { color: #002D2E !important; }
.lx-popup__logo { display: block; width: 64px; height: auto; margin: 0 auto .75rem; }
.lx-popup .lx-optin--popup .lx-optin__title { font-size: 2rem; line-height: 1.1; }
.lx-popup .lx-optin--popup .lx-optin__lead { margin: .75rem auto 0 !important; max-width: 24rem; font-size: .9375rem; }
.lx-popup .lx-optin--popup .lx-optin__form { margin-top: 1.25rem; grid-template-columns: 1fr !important; text-align: left; }
.lx-popup .lx-optin--popup .lx-optin__btn { width: 100%; }
.lx-popup__nothanks { margin-top: .5rem; padding: .5rem 1rem !important; border: 0 !important; background: none !important; box-shadow: none !important; color: rgba(0,45,46,.55) !important; font-family: 'Space Mono', ui-monospace, monospace !important; font-size: .6875rem !important; letter-spacing: .14em !important; text-transform: uppercase; cursor: pointer; }
.lx-popup__nothanks:hover { color: #002D2E !important; }
@media (max-width: 480px) { .lx-popup__card { padding: 2rem 1.25rem 1.25rem; } .lx-popup .lx-optin--popup .lx-optin__title { font-size: 1.625rem; } }

/* ── Cash App / Venmo / Zelle payment instructions (order received) ── */
.lx-pay { margin: 0 0 2rem; padding: 1.75rem 1.5rem; background: #f8f6f1; border: 2px solid #007A7C; border-radius: .75rem; }
.lx-pay__eyebrow { margin: 0 0 .35rem; font-family: 'Space Mono', ui-monospace, monospace; font-size: .6875rem; letter-spacing: .16em; text-transform: uppercase; color: #a8875a; }
.lx-pay__title { margin: 0 0 .5rem; font-size: 1.75rem; line-height: 1.15; color: #002D2E; }
.lx-pay__lead { margin: 0 0 1.25rem; color: rgba(0,45,46,.75); }
.lx-pay__rows { margin: 0 0 1.25rem; }
.lx-pay__rows > div { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid hsl(180 20% 86%); }
.lx-pay__rows dt { margin: 0; font-weight: 400; color: rgba(0,45,46,.7); }
.lx-pay__rows dd { margin: 0; display: flex; align-items: center; gap: .6rem; text-align: right; color: #002D2E; word-break: break-all; }
.lx-pay__rows strong { font-size: 1.0625rem; }
.lx-pay__note dd strong { color: #b32d2e; }
.lx-pay__copy { padding: .3rem .6rem !important; border: 1px solid #007A7C !important; border-radius: .375rem; background: #fff !important; color: #007A7C !important; font-size: .75rem !important; font-weight: 600; line-height: 1.2 !important; cursor: pointer; flex-shrink: 0; }
.lx-pay__copy.is-copied { background: #007A7C !important; color: #fff !important; }
.lx-pay__btn { display: inline-block; padding: .85rem 1.4rem; background: #007A7C; color: #fff !important; border-radius: .5rem; font-weight: 600; text-decoration: none !important; }
.lx-pay__btn:hover { background: #005f61; }
.lx-pay__hint { margin: 0; }
.lx-pay__fine { margin: 1.25rem 0 0; font-size: .875rem; color: rgba(0,45,46,.7); }
@media (max-width: 480px) { .lx-pay { padding: 1.25rem 1rem; } .lx-pay__title { font-size: 1.4rem; } .lx-pay__rows > div { flex-direction: column; align-items: flex-start; gap: .35rem; } .lx-pay__rows dd { text-align: left; } }

/* ── Tide Journal: eyebrow, research citations, related links ── */
.lux-eyebrow { font-family: 'Space Mono', ui-monospace, monospace; font-size: .6875rem; letter-spacing: .16em; text-transform: uppercase; color: #a8875a; }
.lux-citations { background: #f0f9f9; border-left: 3px solid #007A7C; border-radius: 0 .4rem .4rem 0; padding: 1rem 1.25rem; margin: 2rem 0; }
.lux-citations .label-mono { display: block; margin: 0 0 .75rem; font-family: 'Space Mono', ui-monospace, monospace; font-size: .6rem; letter-spacing: .2em; text-transform: uppercase; color: #5a7a7b; }
.lux-citations ul { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: .5rem; }
.lux-citations li { list-style: none !important; margin: 0 !important; font-size: .8rem; line-height: 1.5; color: #1a3a3b; }
.lux-citations li a { color: #007A7C; text-decoration: underline; }
.lux-citations li a:hover { color: #006364; }
.lux-citations li em { color: #5a7a7b; }
.lux-post-links { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid hsl(180 20% 86%); font-size: .875rem; line-height: 1.8; }
.lux-post-links a { color: #007A7C; }

/* Product page FAQ */
.lx-pdp__faq { margin: 2rem 0 0; }
.lx-pdp__faq > h2 { margin: 0 0 .5rem; font-size: .6875rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(0,45,46,.6); }
