/*
Theme Name: Blocksy Factory Child
Template: blocksy
Description: Client Site Factory child theme. Brand palette is applied by scripts/apply-brand.sh (lines marked @brand:*). Mirrors the proven a1-compounds/rts pattern: CSS custom properties override Blocksy surfaces; theme.json carries the block-editor palette.
Version: 1.0.6
*/

/* Google Fonts — must precede all CSS rules. Vegas Tides "Marble Vault" type system. */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
  /* @brand markers — apply-brand.sh rewrites the hex on each marked line */
  --bpc-primary:           #C9A227; /* @brand:primary */
  --bpc-primary-hover:     #E6C766; /* @brand:primary-hover */
  --bpc-foreground:        #F5EFE0; /* @brand:foreground */
  --bpc-body:              #C9C4B8; /* @brand:body */
  --bpc-background:        #0A0A0B; /* @brand:background */
  --bpc-card:              #121214; /* @brand:card */
  --bpc-border:            #342B11; /* @brand:border */
  --bpc-background-deeper: #060607; /* @brand:background-deeper */

  /* Marble Vault type system */
  --bpc-font-display: 'Cinzel', serif;                 /* headings, wordmark, gilded display */
  --bpc-font-serif:   'Cormorant Garamond', serif;     /* editorial accents */
  --bpc-font-sans:    'Inter', system-ui, sans-serif;  /* body */
  --bpc-font-mono:    'JetBrains Mono', ui-monospace, monospace; /* prices, SKUs */
  --bpc-radius: 20px;

  /* Gold hairline — translucent companion to the solid --bpc-border stand-in */
  --bpc-border-gold: rgba(201, 162, 39, 0.22);
}

/* Force the client palette onto Blocksy's surfaces (mirrors a1-compounds !important pattern) */
body {
  background: var(--bpc-background) !important;
  color: var(--bpc-foreground) !important;
  font-family: var(--bpc-font-sans);
}
a { color: var(--bpc-primary); }
a:hover { color: var(--bpc-primary-hover); }

/* Map the brand onto Blocksy's OWN palette variables. WITHOUT this, Blocksy renders buttons,
   links, breadcrumbs, the active-nav state, tags, and the add-to-cart CTA in its default accent
   #2872FA — off-brand AND only 4.31:1 on white (fails WCAG AA). apply-brand.sh fills --bpc-* above;
   these inherit it. !important is required: Blocksy emits its own :root palette inline in <head>
   AFTER this stylesheet, so only an !important custom-property declaration wins the cascade. */
:root {
  --theme-palette-color-1: var(--bpc-primary) !important;       /* links, buttons, accents, active nav */
  --theme-palette-color-2: var(--bpc-primary-hover) !important; /* hover / darker accent */
  --theme-palette-color-3: var(--bpc-foreground) !important;    /* headings, dark text */
  --theme-palette-color-4: var(--bpc-primary-hover) !important; /* secondary / meta text */
  --theme-palette-color-5: var(--bpc-border) !important;        /* borders */
  --theme-palette-color-6: var(--bpc-card) !important;          /* light surfaces */
  --theme-palette-color-8: var(--bpc-background) !important;    /* base background */
}

/* ---- Age gate: premium brand skin (one-click 21+ confirm) ---- */
.age-gate__wrapper {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  display: grid !important;
  place-items: center !important;
  width: 100vw !important;
  min-height: 100dvh !important;
  max-width: none !important;
  padding: clamp(20px, 4vw, 48px) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  border-radius: 0 !important;
  box-shadow: none !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(201, 162, 39, .16), transparent 42%),
    rgba(6, 6, 7, .96) !important;
}
.age-gate__background,
.age-gate__background-color,
.age-gate__loader {
  display: none !important;
}
.age-gate__wrapper .age-gate {
  width: min(100%, 700px) !important;
  max-width: 700px !important;
  margin: 0 auto !important;
  padding: clamp(34px, 5vw, 52px) !important;
  border: 1px solid var(--bpc-border-gold) !important;
  border-radius: 20px !important;
  background: #121214 !important;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .58) !important;
  color: var(--bpc-foreground) !important;
  text-align: center !important;
}
.age-gate__form {
  display: grid !important;
  gap: 18px !important;
  margin: 0 !important;
}
.age-gate__buttons {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: 12px !important;
}
.age-gate__buttons .age-gate__submit {
  flex: 1 1 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.age-gate__heading-title {
  font-family: var(--bpc-font-display) !important;
  color: var(--bpc-primary);
  font-size: 30px;
  font-weight: 800;
  letter-spacing: -0.01em;
}
.age-gate__subheadline {
  font-family: var(--bpc-font-sans) !important;
  color: var(--bpc-foreground);
  font-size: 15px;
  line-height: 1.55;
  max-width: 32ch;
  margin: 10px auto 22px;
}
.age-gate__button, .age-gate__submit {
  font-family: var(--bpc-font-display) !important;
  border-radius: 999px !important;
  padding: 13px 30px !important;
  font-weight: 700;
  font-size: 15px;
  border: 2px solid var(--bpc-primary) !important;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.age-gate__button--yes, .age-gate__submit--yes {
  background: var(--bpc-primary) !important;
  color: #fff !important;
}
.age-gate__button--yes:hover, .age-gate__submit--yes:hover { background: var(--bpc-primary-hover) !important; border-color: var(--bpc-primary-hover) !important; }
.age-gate__button--no, .age-gate__submit--no {
  background: transparent !important;
  color: var(--bpc-primary) !important;
}
.age-gate__button--no:hover, .age-gate__submit--no:hover { background: var(--bpc-border) !important; }
.age-gate__remember-wrapper, .age-gate__remember {
  font-family: var(--bpc-font-sans) !important;
  color: var(--bpc-foreground);
  font-size: 13px;
}
.age-gate__errors { color: #b3261e; font-size: 14px; }
@media (max-width: 689px) {
  .age-gate__wrapper { padding: 18px !important; }
  .age-gate__wrapper .age-gate {
    width: 100% !important;
    padding: 30px 22px !important;
  }
  .age-gate__buttons { flex-direction: column !important; }
  .age-gate__buttons .age-gate__submit { width: 100% !important; }
}
@media (max-height: 620px) {
  .age-gate__wrapper {
    place-items: start center !important;
  }
}

/* ---- Marble Vault typography overrides ----
   Blocksy emits dynamic typography CSS in <head> that beats the child stylesheet on
   specificity/order, so font-family must be forced with !important. Body = Inter, all
   headings + wordmark = Cinzel, monospace utility (prices/SKUs) = JetBrains Mono. */
body,
.entry-content,
p, li, td, th,
input, select, textarea, button {
  font-family: var(--bpc-font-sans) !important;
}
h1, h2, h3, h4, h5, h6,
.site-title,
.entry-title,
.woocommerce-loop-product__title,
.product_title {
  font-family: var(--bpc-font-display) !important;
}
.price, .amount, .woocommerce-Price-amount, .sku, code, kbd, pre {
  font-family: var(--bpc-font-mono) !important;
}

/* ---- Logo presence (Austin's bar): header mark >=48px tall on desktop ----
   Blocksy caps logo WIDTH by default, which lands this 900x462 mark at ~50px tall.
   Setting a height floor + auto width makes the 54px ceiling the binding constraint. */
[data-id="logo"] .site-logo-container img,
.site-logo-container img {
  height: 54px !important;
  max-height: 54px !important;
  width: auto !important;
  max-width: none !important;
}
@media (max-width: 768px) {
  [data-id="logo"] .site-logo-container img,
  .site-logo-container img { height: 46px !important; max-height: 46px !important; }
}
.site-title {
  font-size: 26px !important;
  font-family: var(--bpc-font-display) !important;
  letter-spacing: 0.02em;
}

/* ---- Front page: suppress Blocksy's auto "Home" page-title hero ----
   The static front page renders a duplicate "Home" H1 in the page header.
   The homepage copy/layout supplies its own H1, so hide the theme header on the
   front page only (csf-assemble step 7). */
body.home .entry-header,
body.home .page-title,
body.home .hero-section[data-type] {
  display: none !important;
}


/* ════════════════════════════════════════════════════════════════════════
   MANUS "MARBLE VAULT" HOMEPAGE PORT  (Phase G3 — faithful port of
   clients/vegas-tides/manus/index.html). All rules namespaced .vt-* so they
   cannot leak into shop/product/policy pages. Tokens reuse the --bpc-* set
   already declared above; the extended Manus ramp + glass tokens are added here.
   ════════════════════════════════════════════════════════════════════════ */
:root{
  /* translucent gold hairline used by the Manus surfaces (solid --bpc-border
     stays the @brand marker; this is the design's intended rgba hairline) */
  --vt-border: rgba(201,162,39,.22);
  --vt-gold-deep:#8A6D1F;
  --vt-gold-grad:linear-gradient(180deg,#F2E2A6 0%,#E6C766 35%,#C9A227 65%,#8A6D1F 100%);
  --vt-glass:rgba(255,255,255,.045);
  --vt-glass-border:rgba(255,255,255,.10);
  --vt-light:#EDEAE3;
  --vt-ink:#16140F;
}

/* ── Front-page chrome suppression ──
   The Marble Vault ships its own floating glass nav pill + footer, so the
   stock Blocksy header AND footer are hidden on the front page only. This is
   ALSO carried-fix (b): hiding #header removes the duplicate logo-mark +
   Cinzel wordmark — the pill carries the single logo mark. */
body.home #header,
body.home .ct-header,
body.home header[data-device]{ display:none !important; }
body.home .site-main > .ct-container,
body.home .entry-content{ margin:0 !important; padding:0 !important; max-width:none !important; }
body.home .entry-content > *{ margin-block:0; }
body.home #main,
body.home .site-main{ padding:0 !important; }
/* let the bands run edge-to-edge even inside Blocksy's constrained content */
body.home .vt-band{ width:100vw; margin-left:calc(50% - 50vw); }

/* ── shared layout primitives ── */
.vt-rail{width:100%;max-width:1200px;margin:0 auto;padding-left:clamp(20px,4vw,48px);padding-right:clamp(20px,4vw,48px)}
.vt-band{position:relative;width:100%}
.vt-band, .vt-band *{ box-sizing:border-box; }
.vt-eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--bpc-font-mono);font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--bpc-primary-hover);background:var(--vt-glass);border:1px solid var(--vt-glass-border);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:8px 16px;border-radius:999px}
.vt-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--vt-gold-grad);box-shadow:0 0 10px var(--bpc-primary)}
.vt-h2{font-family:var(--bpc-font-display) !important;font-weight:600;color:var(--bpc-foreground) !important;font-size:clamp(28px,3.6vw,46px);line-height:1.1;letter-spacing:.01em}
.vt-h2 em{font-style:normal;background:var(--vt-gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.vt-lead{font-size:16.5px;line-height:1.65;max-width:60ch;color:var(--bpc-body)}
.vt-sectionhead{display:flex;flex-direction:column;gap:16px;align-items:flex-start;margin-bottom:40px}
.vt-sectionhead.is-center{align-items:center;text-align:center}

/* ── buttons ── */
.vt-btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--bpc-font-sans) !important;font-weight:600;font-size:14.5px;letter-spacing:.02em;padding:14px 26px;border-radius:999px;cursor:pointer;border:1px solid transparent;transition:transform .25s,box-shadow .25s,background .25s,border-color .25s,color .25s;text-decoration:none}
.vt-btn--solid{background:var(--vt-gold-grad);color:#1a1505 !important;box-shadow:0 10px 30px rgba(201,162,39,.28)}
.vt-btn--solid:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(201,162,39,.42);color:#1a1505 !important}
.vt-btn--ghost{background:transparent;color:var(--bpc-foreground) !important;border-color:var(--vt-glass-border)}
.vt-btn--ghost:hover{border-color:var(--bpc-primary);color:var(--bpc-primary-hover) !important}

/* ── 1. HEADER — floating glass nav pill ── */
.vt-nav{position:fixed;z-index:9999;top:18px;left:50%;transform:translateX(-50%);width:min(1200px,calc(100% - 32px));
  display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 12px 10px 22px;
  background:rgba(10,10,11,.6);border:1px solid var(--vt-glass-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:999px;box-shadow:0 12px 34px rgba(0,0,0,.45)}
.vt-nav__logo{height:48px;width:auto;filter:drop-shadow(0 1px 4px rgba(0,0,0,.5))}
.vt-nav__links{display:flex;gap:28px;font-size:13.5px;letter-spacing:.04em;color:var(--bpc-body)}
.vt-nav__links a{transition:color .2s;color:var(--bpc-body);text-decoration:none}
.vt-nav__links a:hover{color:var(--bpc-primary-hover)}
.vt-nav__right{display:flex;align-items:center;gap:14px}
.vt-nav__cta{font-size:13px;font-weight:600;color:#1a1505 !important;background:var(--vt-gold-grad);padding:9px 20px;border-radius:999px;text-decoration:none}
.vt-nav__cart{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;border:1px solid var(--vt-glass-border);color:var(--bpc-primary-hover)}
.vt-nav__cart svg{width:18px;height:18px}
.vt-nav__burger{display:none;width:40px;height:40px;border-radius:999px;border:1px solid var(--vt-glass-border);color:var(--bpc-foreground);align-items:center;justify-content:center}
@media(max-width:900px){
  .vt-nav__links{display:none}
  .vt-nav__cta{display:none}
  .vt-nav__burger{display:inline-flex}
}

/* ── 2. HERO ── */
.vt-hero{position:relative;isolation:isolate;overflow:hidden;min-height:760px;display:flex;align-items:center;background:#000}
.vt-hero__media{
  position:absolute;inset:0;z-index:0;overflow:hidden;
  background:#050506 url('assets/home/vegas-tides-homepage-hero-poster.webp') 82% center/cover no-repeat;
}
.vt-hero__video{
  position:absolute;inset:0;width:100%;height:100%;display:block;
  object-fit:cover;object-position:82% center;
}
.vt-hero__media::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(4,4,5,.92) 0%,rgba(4,4,5,.82) 34%,rgba(4,4,5,.38) 56%,rgba(4,4,5,.08) 78%);
}
.vt-hero .vt-rail{position:relative;z-index:3;width:100%;display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:24px;padding-top:150px;padding-bottom:90px}
.vt-hero__copy{position:relative;z-index:2}
.vt-hero__title{font-family:var(--bpc-font-display) !important;color:var(--bpc-foreground) !important;font-weight:600;line-height:1.07;letter-spacing:.01em;margin:22px 0 0;font-size:clamp(38px,5.4vw,72px)}
.vt-hero__title em{font-style:normal;display:inline-block;background:var(--vt-gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.vt-hero__sub{font-size:17px;line-height:1.62;max-width:50ch;margin:22px 0 0;color:var(--bpc-body)}
.vt-hero__ctas{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}
.vt-hero__trust{display:flex;gap:24px;margin-top:30px;flex-wrap:wrap}
.vt-hero__trust span{font-size:12.5px;letter-spacing:.03em;color:var(--bpc-body);opacity:.85;display:inline-flex;align-items:center;gap:8px}
.vt-hero__trust span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--bpc-primary)}
.vt-hero__ruo{margin-top:30px;font-family:var(--bpc-font-mono);font-size:11px;letter-spacing:.07em;color:rgba(201,196,184,.5)}
.vt-hero__art{position:relative;z-index:2;justify-self:center;align-self:stretch;display:flex;align-items:center;justify-content:center}
.vt-hero__vial{width:min(420px,92%);height:auto;-webkit-mask-image:radial-gradient(70% 78% at 50% 46%,#000 55%,transparent 86%);mask-image:radial-gradient(70% 78% at 50% 46%,#000 55%,transparent 86%);filter:drop-shadow(0 30px 60px rgba(0,0,0,.6))}
@media(max-width:900px){
  .vt-hero{min-height:660px}
  .vt-hero__media{background-position:80% center}
  .vt-hero__video{object-position:80% center}
  .vt-hero__media::after{
    background:linear-gradient(90deg,rgba(4,4,5,.90) 0%,rgba(4,4,5,.78) 58%,rgba(4,4,5,.30) 100%);
  }
  .vt-hero .vt-rail{grid-template-columns:1fr;padding-top:130px;padding-bottom:64px}
  .vt-hero__copy{max-width:min(620px,78%)}
}
@media(max-width:520px){
  .vt-hero{min-height:720px;align-items:flex-start}
  .vt-hero__media{background-position:80% center}
  .vt-hero__video{object-position:80% center}
  .vt-hero__media::after{
    background:
      linear-gradient(180deg,rgba(4,4,5,.78) 0%,rgba(4,4,5,.70) 52%,rgba(4,4,5,.28) 78%,rgba(4,4,5,.10) 100%),
      linear-gradient(90deg,rgba(4,4,5,.84) 0%,rgba(4,4,5,.64) 66%,rgba(4,4,5,.18) 100%);
  }
  .vt-hero .vt-rail{padding-top:122px;padding-bottom:48px}
  .vt-hero__copy{max-width:100%}
  .vt-hero__title{font-size:clamp(36px,11.2vw,48px)}
  .vt-hero__sub{font-size:15px;line-height:1.55;max-width:32ch}
  .vt-hero__trust{gap:12px 18px;margin-top:24px}
  .vt-hero__ruo{max-width:34ch;margin-top:24px}
}
@media(prefers-reduced-motion:reduce){
  .vt-hero__video{display:none}
}

/* ── 3. TICKER / utility band ── */
.vt-ticker{background:var(--bpc-background-deeper);border-top:1px solid var(--vt-border);border-bottom:1px solid var(--vt-border)}
.vt-ticker .vt-rail{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;padding-top:18px;padding-bottom:18px}
.vt-ticker__item{display:inline-flex;align-items:center;gap:10px;letter-spacing:.05em;color:var(--bpc-body);text-transform:uppercase;font-family:var(--bpc-font-mono);font-size:11.5px}
.vt-ticker__item svg{width:16px;height:16px;color:var(--bpc-primary)}

/* ── 4. CATEGORY GRID ── */
.vt-cats{background:var(--bpc-background);padding:96px 0}
.vt-cats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.vt-cat{position:relative;border:1px solid var(--vt-border);border-radius:var(--bpc-radius);overflow:hidden;background:var(--bpc-card);transition:transform .3s,box-shadow .3s,border-color .3s;display:flex;flex-direction:column;text-decoration:none}
.vt-cat:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(0,0,0,.5);border-color:var(--bpc-primary)}
.vt-cat:hover .vt-cat__img{transform:scale(1.04)}
.vt-cat__well{position:relative;aspect-ratio:1/1;overflow:hidden;background:#1a1a1c}
.vt-cat__img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .5s}
.vt-cat__well::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,18,20,0) 55%,var(--bpc-card) 100%)}
.vt-cat__body{position:relative;z-index:2;padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.vt-cat__title{font-family:var(--bpc-font-display) !important;font-size:20px;color:var(--bpc-foreground) !important;font-weight:600;letter-spacing:.02em;line-height:1.15}
.vt-cat__desc{font-size:13px;margin-top:8px;color:var(--bpc-body);opacity:.85;flex:1}
.vt-cat__link{display:inline-flex;align-items:center;gap:7px;margin-top:16px;font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--bpc-primary-hover);text-transform:uppercase;font-family:var(--bpc-font-mono)}
@media(max-width:980px){.vt-cats__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.vt-cats__grid{grid-template-columns:1fr}}

/* ── 5. FEATURED PRODUCTS (dark band) — Woo loop styled to match the design ── */
.vt-featured{position:relative;isolation:isolate;overflow:hidden;background:var(--bpc-background);padding:96px 0;color:var(--bpc-foreground)}
.vt-featured__mark{position:absolute;z-index:0;left:50%;top:-8%;transform:translateX(-50%);width:min(900px,90%);opacity:.04;pointer-events:none}
.vt-featured .vt-rail{position:relative;z-index:2}
.vt-featured__foot{display:flex;justify-content:center;margin-top:44px}
/* Style the Woo [products] grid into the Manus photo-well card look */
.vt-featured__woo .woocommerce{margin:0}
.vt-featured__woo ul.products{display:grid !important;grid-template-columns:repeat(4,1fr);gap:22px;margin:0 !important;padding:0;list-style:none}
.vt-featured__woo ul.products::before,
.vt-featured__woo ul.products::after{display:none !important}
.vt-featured__woo ul.products li.product{width:auto !important;margin:0 !important;float:none !important;background:var(--bpc-card);border:1px solid var(--vt-border);border-radius:var(--bpc-radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s,border-color .3s;padding:0;text-align:left}
.vt-featured__woo ul.products li.product:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(0,0,0,.5);border-color:var(--bpc-primary)}
.vt-featured__woo li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;height:100%;text-decoration:none}
.vt-featured__woo li.product img{width:100%;aspect-ratio:1/1.06;object-fit:cover;margin:0 !important;background:#1a1a1c;border-radius:0}
.vt-featured__woo li.product .woocommerce-loop-product__title{font-family:var(--bpc-font-display) !important;font-size:19px;font-weight:600;color:var(--bpc-foreground) !important;letter-spacing:.01em;padding:20px 20px 0;margin:0}
.vt-featured__woo li.product .price{display:block;font-family:var(--bpc-font-mono) !important;font-size:16px;font-weight:500;color:var(--bpc-foreground) !important;padding:8px 20px 0;margin:0}
.vt-featured__woo li.product .price del{opacity:.5;font-size:12px}
.vt-featured__woo li.product .price ins{text-decoration:none}
/* "View product" CTA — csf-atc-gate already rewrites the featured-grid action to View product;
   style whatever button/link Woo renders to the Manus gold pill */
.vt-featured__woo li.product .button,
.vt-featured__woo li.product .added_to_cart{display:inline-flex;align-items:center;gap:6px;margin:14px 20px 22px !important;padding:10px 18px !important;font-family:var(--bpc-font-sans) !important;font-size:12.5px !important;font-weight:600;letter-spacing:.03em;color:var(--bpc-primary-hover) !important;background:transparent !important;border:1px solid var(--vt-glass-border) !important;border-radius:999px !important;width:max-content;transition:border-color .25s,color .25s}
.vt-featured__woo li.product .button:hover,
.vt-featured__woo li.product .added_to_cart:hover{border-color:var(--bpc-primary) !important;color:var(--bpc-foreground) !important}
@media(max-width:980px){.vt-featured__woo ul.products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.vt-featured__woo ul.products{grid-template-columns:1fr}}

/* ── 6. TRUST BAND ── */
.vt-trust{position:relative;isolation:isolate;overflow:hidden;background:var(--bpc-background-deeper);padding:100px 0}
.vt-trust__mark{position:absolute;z-index:0;right:-4%;top:50%;transform:translateY(-50%);width:min(640px,60%);opacity:.05;pointer-events:none}
.vt-trust__wave{position:absolute;z-index:0;left:-6%;bottom:-30%;width:min(560px,55%);opacity:.10;pointer-events:none;filter:drop-shadow(0 0 40px rgba(201,162,39,.3))}
.vt-trust .vt-rail{position:relative;z-index:2}
.vt-trust__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:42px}
.vt-tile{background:var(--vt-glass);border:1px solid var(--vt-glass-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--bpc-radius);padding:28px 24px;transition:transform .3s,border-color .3s}
.vt-tile:hover{transform:translateY(-5px);border-color:var(--bpc-primary)}
.vt-tile__icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:rgba(201,162,39,.12);color:var(--bpc-primary-hover);margin-bottom:16px}
.vt-tile__icon svg{width:21px;height:21px}
.vt-tile__title{font-family:var(--bpc-font-display) !important;font-size:17px;color:var(--bpc-foreground) !important;font-weight:600;letter-spacing:.01em}
.vt-tile__desc{font-size:13.5px;line-height:1.55;margin-top:8px;color:var(--bpc-body)}
@media(max-width:980px){.vt-trust__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.vt-trust__grid{grid-template-columns:1fr}}

/* ── 7. FAQ teaser ── */
.vt-faq{background:var(--bpc-background);padding:96px 0}
.vt-faq__layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:start}
.vt-faq__list{display:flex;flex-direction:column;gap:14px}
.vt-faq__item{border:1px solid var(--vt-border);border-radius:16px;background:var(--bpc-card);padding:22px 24px;transition:border-color .3s}
.vt-faq__item:hover{border-color:var(--bpc-primary)}
.vt-faq__q{font-family:var(--bpc-font-display) !important;font-size:17px;color:var(--bpc-foreground) !important;font-weight:600;letter-spacing:.01em}
.vt-faq__a{font-size:14px;line-height:1.6;margin-top:9px;color:var(--bpc-body)}
@media(max-width:880px){.vt-faq__layout{grid-template-columns:1fr;gap:32px}}

/* ── 8. RUO compliance band ── */
.vt-ruo{background:var(--bpc-background-deeper);padding:54px 0;border-top:1px solid var(--vt-border);border-bottom:1px solid var(--vt-border)}
.vt-ruo__inner{display:flex;align-items:center;gap:22px;justify-content:center;text-align:center;flex-wrap:wrap;max-width:880px;margin:0 auto;background:var(--vt-glass);border:1px solid var(--vt-glass-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--bpc-radius);padding:30px 36px}
.vt-ruo__icon{flex:0 0 auto;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:rgba(201,162,39,.12);color:var(--bpc-primary-hover)}
.vt-ruo__icon svg{width:24px;height:24px}
.vt-ruo__text{font-family:var(--bpc-font-serif) !important;font-size:19px;line-height:1.5;color:var(--bpc-foreground) !important;letter-spacing:.01em}
.vt-ruo__text strong{color:var(--bpc-primary-hover) !important;font-weight:600}

/* ── 9. CLOSING CTA band ── */
.vt-cta{position:relative;isolation:isolate;overflow:hidden;background:#000;padding:110px 0}
.vt-cta__bg{position:absolute;inset:0;z-index:0;background:url('/wp-content/uploads/2026/06/hero-marble-bg-1920.webp') center/cover no-repeat;transform:scaleX(-1)}
.vt-cta__bg::after{content:"";position:absolute;inset:0;background:radial-gradient(80% 80% at 50% 50%,rgba(6,6,7,.55),rgba(6,6,7,.92))}
.vt-cta .vt-rail{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}
.vt-cta__title{font-family:var(--bpc-font-display) !important;font-weight:600;color:var(--bpc-foreground) !important;font-size:clamp(32px,4.6vw,58px);line-height:1.08;letter-spacing:.01em}
.vt-cta__title em{font-style:normal;background:var(--vt-gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.vt-cta__sub{font-size:16.5px;line-height:1.6;max-width:54ch;color:var(--bpc-body)}
.vt-cta__btns{display:flex;gap:14px;margin-top:14px;flex-wrap:wrap;justify-content:center}

/* ── 10. FOOTER ── */
.vt-footer{background:var(--bpc-background-deeper);padding:72px 0 34px;border-top:1px solid var(--vt-border)}
.vt-footer__top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.vt-footer__brand img{height:42px;width:auto;margin-bottom:18px}
.vt-footer__brand p{font-size:13.5px;line-height:1.6;color:var(--bpc-body);max-width:34ch}
.vt-footer__col h2{font-family:var(--bpc-font-mono) !important;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--bpc-primary-hover) !important;margin-bottom:16px}
.vt-footer__col a{display:block;font-size:14px;color:var(--bpc-body);margin-bottom:11px;transition:color .2s;text-decoration:none}
.vt-footer__col a:hover{color:var(--bpc-primary-hover)}
.vt-footer__micro{margin-top:48px;padding-top:26px;border-top:1px solid var(--vt-border);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;align-items:center}
.vt-footer__ruo{font-family:var(--bpc-font-mono) !important;font-size:11px;letter-spacing:.05em;color:rgba(201,196,184,.55);max-width:62ch}
.vt-footer__copy{font-size:12px;color:rgba(201,196,184,.5)}
@media(max-width:880px){.vt-footer__top{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:540px){.vt-footer__top{grid-template-columns:1fr}.vt-footer__micro{flex-direction:column;align-items:flex-start}}

/* ── Mobile bottom-bar clearance (csf-bottom-bar fixed nav sits over the footer) ── */
@media(max-width:768px){
  body.home .vt-footer{ padding-bottom:calc(34px + 72px); }
}

/* ════════════════════════════════════════════════════════════════════════
   DESIGN ELEVATION — PASS 1 (global + commerce skin)
   Re-scopes the homepage's premium .vt-* system onto every INNER page (shop,
   product, cart, checkout, content) so the whole site reads as premium as the
   home. All rules guarded against body.home (the home keeps its faithful Manus
   port untouched). Reuses --bpc-* tokens + --vt-gold-grad + the glass vars.
   Gold-on-dark only (AA). NO new customer-facing copy.
   ════════════════════════════════════════════════════════════════════════ */

/* ── 1. TOP UTILITY STRIP (csf-topstrip) — stop the run-on ──
   Two phrases were butting together ("…consumptionUS shipping"). Lay them out
   as a centered wrapping flex row with a gap + a hairline separator so they
   never touch even when stacked. */
.csf-topstrip{
  display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;align-items:center;
  padding:7px 16px;background:var(--bpc-background-deeper);color:var(--bpc-body);
  font-family:var(--bpc-font-mono);font-size:11px;letter-spacing:.06em;line-height:1.3;
  border-bottom:1px solid var(--vt-glass-border);text-align:center;
}
.csf-topstrip > span{display:inline-flex;align-items:center}
/* dot separator between the two phrases; disappears when they wrap to two lines
   is fine — the gap still keeps them apart */
.csf-topstrip__right::before{
  content:"";display:inline-block;width:4px;height:4px;border-radius:50%;
  background:var(--bpc-primary);margin-right:14px;opacity:.7;
}
@media(max-width:560px){ .csf-topstrip__right::before{display:none} }
body.home .csf-topstrip{display:none !important} /* home pill nav owns the top; no strip */

/* ── 2. UNIFY THE HEADER (inner pages) — slim dark glass bar, single logo ──
   Home hides #header entirely (the floating glass pill is sole nav — left as-is).
   Inner pages get a matching dark-glass header so there's no "two sites" whiplash. */
/* kill the duplicate Cinzel wordmark everywhere */
#header .site-title, .ct-header .site-title{ display:none !important; }
body:not(.home) #header{
  background:rgba(10,10,11,.72) !important;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--vt-glass-border);
}
/* Blocksy paints the header bg on inner row wrappers — force them transparent so
   the glass on #header is what shows through */
body:not(.home) #header [data-row],
body:not(.home) #header .ct-header-middle,
body:not(.home) #header .ct-header-top,
body:not(.home) #header .ct-header-bottom{ background:transparent !important; }
/* nav links → body color, gold on hover/active */
body:not(.home) #header .ct-menu-link{ color:var(--bpc-body) !important; transition:color .2s; }
body:not(.home) #header .ct-menu-link:hover,
body:not(.home) #header .current-menu-item > .ct-menu-link{ color:var(--bpc-primary-hover) !important; }
/* header search/cart icons in brand gold */
body:not(.home) #header .ct-header-search,
body:not(.home) #header .ct-header-cart,
body:not(.home) #header .ct-toggle{ color:var(--bpc-primary-hover) !important; }
body:not(.home) #header .ct-header-search svg,
body:not(.home) #header .ct-header-cart svg,
body:not(.home) #header .ct-toggle svg{ color:var(--bpc-primary-hover) !important; fill:currentColor; }

/* ── 3. GLOBAL BRAND BUTTONS — gradient pills replace stock Woo rectangles ──
   Excludes the homepage's own .vt-btn (different system) and the bottom bar. */
.woocommerce a.button:not(.vt-btn),
.woocommerce button.button:not(.vt-btn),
.woocommerce input.button:not(.vt-btn),
.woocommerce #respond input#submit,
#place_order,
.single_add_to_cart_button,
.wc-block-cart__submit-button,
.checkout-button,
.woocommerce-button.button{
  background:var(--vt-gold-grad) !important;
  color:#1a1505 !important;
  border:none !important;
  border-radius:999px !important;
  padding:13px 28px !important;
  font-family:var(--bpc-font-sans) !important;
  font-weight:600 !important;
  letter-spacing:.02em;
  text-shadow:none !important;
  box-shadow:0 10px 30px rgba(201,162,39,.28);
  transition:transform .25s,box-shadow .25s !important;
  cursor:pointer;
}
.woocommerce a.button:not(.vt-btn):hover,
.woocommerce button.button:not(.vt-btn):hover,
.woocommerce input.button:not(.vt-btn):hover,
.woocommerce #respond input#submit:hover,
#place_order:hover,
.single_add_to_cart_button:hover,
.wc-block-cart__submit-button:hover,
.checkout-button:hover,
.woocommerce-button.button:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 40px rgba(201,162,39,.42);
  color:#1a1505 !important;
}
/* Ghost / secondary actions — transparent + gold hairline pill
   (coupon "Apply", "Update cart", and Woo's .alt-flagged-secondary buttons) */
.woocommerce button[name="apply_coupon"],
.woocommerce button[name="update_cart"],
.woocommerce input[name="apply_coupon"],
.woocommerce input[name="update_cart"],
.woocommerce a.button.wc-backward,
.woocommerce .button.alt--disabled{
  background:transparent !important;
  color:var(--bpc-primary-hover) !important;
  border:1px solid var(--vt-glass-border) !important;
  box-shadow:none !important;
}
.woocommerce button[name="apply_coupon"]:hover,
.woocommerce button[name="update_cart"]:hover,
.woocommerce input[name="apply_coupon"]:hover,
.woocommerce input[name="update_cart"]:hover,
.woocommerce a.button.wc-backward:hover{
  border-color:var(--bpc-primary) !important;
  color:var(--bpc-foreground) !important;
  transform:translateY(-1px);
}

/* ── 5. FOOTER ──
   (a) Home: kill the stock .ct-footer (csf-bigfoot) — the design ships .vt-footer,
       so the stock one is a duplicate below it.
   (b) Inner pages: discipline the .csf-bigfoot stock footer to a dark layout. */
body.home .ct-footer{ display:none !important; }

/* The .csf-bigfoot block (rendered through Blocksy's copyright element) had NO CSS
   anywhere — give it a real dark layout so inner-page footers read intentional. */
.ct-footer{ background:var(--bpc-background-deeper) !important; }
.csf-bigfoot{
  background:var(--bpc-background-deeper);
  padding:64px 0 30px;
  border-top:1px solid var(--vt-border);
}
.csf-bigfoot__wrap{
  width:100%;max-width:1160px;margin:0 auto;
  padding-left:clamp(20px,4vw,48px);padding-right:clamp(20px,4vw,48px);
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;
}
.csf-bigfoot__brand .csf-footer-logo{ height:38px;width:auto;margin-bottom:16px;display:block; }
.csf-bigfoot__name{
  display:block;font-family:var(--bpc-font-display);font-size:20px;letter-spacing:.04em;
  color:var(--bpc-foreground);margin-bottom:12px;
}
.csf-bigfoot__brand p{ font-size:13.5px;line-height:1.6;color:var(--bpc-body);max-width:34ch;margin:0; }
.csf-bigfoot__col h2{
  font-family:var(--bpc-font-mono) !important;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--bpc-primary-hover);margin:0 0 14px;
}
.csf-bigfoot__col a{
  display:block;margin-bottom:10px;font-size:14px;color:var(--bpc-body);
  text-decoration:none;transition:color .2s;
}
.csf-bigfoot__col a:hover{ color:var(--bpc-primary-hover); }
.csf-bigfoot__bar{
  max-width:1160px;margin:40px auto 0;padding:24px clamp(20px,4vw,48px) 0;
  border-top:1px solid var(--vt-border);
  font-family:var(--bpc-font-mono);font-size:11px;letter-spacing:.04em;line-height:1.6;
  color:rgba(201,196,184,.55);text-align:center;
}
/* If the big name shows beside a logo, hide the separate name when the logo carries it?
   Keep both — the wordmark is the brand; logo is the emblem. */
@media(max-width:880px){ .csf-bigfoot__wrap{grid-template-columns:1fr 1fr;gap:30px} }
@media(max-width:540px){
  .csf-bigfoot__wrap{grid-template-columns:1fr;gap:26px}
  /* fixed bottom bar clearance so footer links never hide behind it */
  .ct-footer{ padding-bottom:calc(30px + 72px) !important; }
}
@media(max-width:768px){
  .ct-footer{ padding-bottom:calc(30px + 72px) !important; }
}

/* ════════════════════════════════════════════════════════════════════════
   COMMERCE SKIN — the biggest cheap tells (shop / product / cart / checkout)
   ════════════════════════════════════════════════════════════════════════ */

/* ── 6. SHOP / CATEGORY ARCHIVE ──
   Scope: NOT inside the homepage featured band (.vt-featured already styles its
   own Woo loop). These rules hit the real archive loop on /shop/ + categories. */
/* archive header — wrap the bare "Shop" H1 in a vt-band-style header */
body.woocommerce-page:not(.home) .woocommerce-products-header,
.post-type-archive-product .woocommerce-products-header,
.tax-product_cat .woocommerce-products-header{
  text-align:center;padding:18px 0 8px;
}
.woocommerce-products-header__title.page-title,
.tax-product_cat .page-title{
  font-family:var(--bpc-font-display) !important;color:var(--bpc-foreground) !important;
  font-size:clamp(30px,3.4vw,44px);font-weight:600;letter-spacing:.01em;position:relative;
}
/* gold eyebrow above the archive title */
.woocommerce-products-header::before{
  content:"Vegas Tides Catalog";display:block;
  font-family:var(--bpc-font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--bpc-primary-hover);margin-bottom:10px;
}
/* result-count + ordering bar → brand */
.woocommerce .woocommerce-result-count{
  font-family:var(--bpc-font-mono) !important;font-size:11.5px;letter-spacing:.05em;
  color:var(--bpc-body) !important;opacity:.8;
}
.woocommerce .woocommerce-ordering select{
  background-color:var(--bpc-card) !important;color:var(--bpc-foreground) !important;
  border:1px solid var(--vt-glass-border) !important;border-radius:999px !important;
  padding:9px 38px 9px 16px !important;font-size:13px;cursor:pointer;
  -webkit-appearance:menulist;appearance:auto;
  background-image:none !important;
}
.woocommerce-ordering .ct-sort-icon{ display:none !important; }

/* product cards on the real archive loop.
   SCOPE NOTE: the home featured grid is DIV.vt-featured__woo > DIV.woocommerce —
   the marker class sits on the PARENT, so a `.woocommerce:not(.vt-featured__woo)`
   negation would NOT exclude it. Archive loops only ever render on non-home
   templates, so `body:not(.home)` is the correct, airtight isolation (the home
   featured grid keeps its .vt-featured__woo styling untouched). */
body:not(.home) ul.products li.product{
  background:var(--bpc-card);
  border:1px solid var(--vt-glass-border);
  border-radius:20px;
  overflow:hidden;
  padding:0;
  transition:transform .3s,box-shadow .3s,border-color .3s;
  display:flex;flex-direction:column;
}
body:not(.home) ul.products li.product:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 46px rgba(0,0,0,.5);
  border-color:var(--bpc-primary);
}
/* The media well is 4:5. Woo reuses .woocommerce-LoopProduct-link on the
   separate title anchor, so that class must never participate in media layout. */
body:not(.home) ul.products li.product a.ct-media-container{
  display:block;aspect-ratio:4/5 !important;overflow:hidden;background:#fff;
}
body:not(.home) ul.products li.product a.ct-media-container img{
  width:100% !important;height:100% !important;aspect-ratio:4/5 !important;
  object-fit:contain !important;background:#fff !important;
  margin:0 !important;border-radius:0;display:block;
}
body:not(.home) ul.products li.product a.woocommerce-LoopProduct-link:not(.ct-media-container){
  display:block;height:auto !important;min-height:0 !important;
  aspect-ratio:auto !important;overflow:visible !important;background:transparent !important;
}
/* title (Cinzel) + price (mono) + consistent internal padding */
body:not(.home) ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--bpc-font-display) !important;font-size:18px;font-weight:600;
  color:var(--bpc-foreground) !important;letter-spacing:.01em;line-height:1.2;
  padding:16px 18px 0;margin:0;
}
body:not(.home) ul.products li.product .price{
  font-family:var(--bpc-font-mono) !important;font-size:15.5px;font-weight:500;
  color:var(--bpc-foreground) !important;padding:4px 18px 16px;margin:0;display:block;
}
body:not(.home) ul.products li.product .price del{ opacity:.5;font-size:12px; }
body:not(.home) ul.products li.product .price ins{ text-decoration:none; }
/* the loop action — csf-atc-gate renders a "View product" link; gold pill/link with
   consistent 18-22px internal padding */
body:not(.home) ul.products li.product .button,
body:not(.home) ul.products li.product .added_to_cart{
  display:inline-flex !important;align-items:center;gap:6px;width:max-content;
  margin:auto 18px 20px !important;padding:10px 20px !important;
  font-family:var(--bpc-font-sans) !important;font-size:12.5px !important;font-weight:600;
  letter-spacing:.03em;border-radius:999px !important;
  background:var(--vt-gold-grad) !important;color:#1a1505 !important;border:none !important;
  box-shadow:0 8px 22px rgba(201,162,39,.26) !important;
  transition:transform .25s,box-shadow .25s !important;
}
body:not(.home) ul.products li.product .button:hover{
  transform:translateY(-2px);box-shadow:0 14px 32px rgba(201,162,39,.4) !important;color:#1a1505 !important;
}

/* ── 7. SINGLE PRODUCT PAGE ── */
/* gallery image in a glass well + subtle marble ambient */
body.single-product .woocommerce-product-gallery{
  background:var(--bpc-card);
  border:1px solid var(--vt-glass-border);
  border-radius:24px;
  padding:20px;
  box-shadow:0 24px 60px rgba(0,0,0,.45);
  position:relative;overflow:hidden;
}
body.single-product .woocommerce-product-gallery::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(120% 90% at 80% -10%,rgba(201,162,39,.10),transparent 60%);
}
body.single-product .woocommerce-product-gallery > *{ position:relative;z-index:1; }
body.single-product .woocommerce-product-gallery img{ border-radius:14px; }
/* title bigger Cinzel */
body.single-product .product_title{
  font-family:var(--bpc-font-display) !important;font-size:clamp(30px,3.4vw,40px) !important;
  color:var(--bpc-foreground) !important;letter-spacing:.01em;line-height:1.1;
}
/* price ~22px mono */
body.single-product .summary .price,
body.single-product .summary p.price{
  font-family:var(--bpc-font-mono) !important;font-size:22px !important;font-weight:500;
  color:var(--bpc-primary-hover) !important;
}
body.single-product .summary .price del{ opacity:.5;font-size:15px; }
body.single-product .summary .price ins{ text-decoration:none; }
/* RUO disclaimer as a small gold-accent callout */
body.single-product .csf-ruo{
  display:flex;align-items:flex-start;gap:9px;
  background:rgba(201,162,39,.08);border:1px solid var(--vt-border);
  border-left:3px solid var(--bpc-primary);border-radius:12px;
  padding:11px 14px;margin:14px 0 18px;
  font-size:12.5px;line-height:1.45;color:var(--bpc-body) !important;letter-spacing:.01em;
}
/* variation <select> — dark fill, gold hairline, native neutral indicator */
body.single-product .variations select,
body.single-product table.variations select{
  background-color:var(--bpc-card) !important;color:var(--bpc-foreground) !important;
  border:1px solid var(--bpc-border-gold) !important;border-radius:12px !important;
  min-height:48px !important;height:48px;padding:0 16px !important;
  font-family:var(--bpc-font-sans) !important;font-size:14px !important;cursor:pointer;
  -webkit-appearance:menulist;appearance:auto;
  background-image:none !important;
}
body.single-product .variations select:focus{
  outline:none;border-color:var(--bpc-primary) !important;
  box-shadow:0 0 0 3px rgba(201,162,39,.18) !important;
}
body.single-product table.variations th.label label{ color:var(--bpc-body) !important;font-weight:600; }
/* qty stepper */
body.single-product .quantity input.qty{
  background:var(--bpc-card) !important;color:var(--bpc-foreground) !important;
  border:1px solid var(--bpc-border-gold) !important;border-radius:12px !important;
  min-height:48px;text-align:center;font-family:var(--bpc-font-mono) !important;
}
body.single-product .quantity input.qty:focus{
  outline:none;border-color:var(--bpc-primary) !important;box-shadow:0 0 0 3px rgba(201,162,39,.18) !important;
}
/* Woo tabs (Description / Additional / Compliance) → brand */
body.single-product .woocommerce-tabs ul.tabs{ border:0;padding:0;margin:0 0 0; }
body.single-product .woocommerce-tabs ul.tabs::before{ display:none; }
body.single-product .woocommerce-tabs ul.tabs li{
  background:transparent !important;border:0 !important;border-radius:0 !important;margin:0 !important;
}
body.single-product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::after{ display:none !important; }
body.single-product .woocommerce-tabs ul.tabs li a{
  font-family:var(--bpc-font-mono) !important;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--bpc-body) !important;padding:14px 0 !important;margin-right:28px;
  border-bottom:2px solid transparent;transition:color .2s,border-color .2s;
}
body.single-product .woocommerce-tabs ul.tabs li.active a,
body.single-product .woocommerce-tabs ul.tabs li a:hover{
  color:var(--bpc-primary-hover) !important;border-bottom-color:var(--bpc-primary) !important;
}
body.single-product .woocommerce-tabs{ border-top:1px solid var(--vt-border);margin-top:34px;padding-top:8px; }
body.single-product .woocommerce-Tabs-panel{ color:var(--bpc-body); }
body.single-product .woocommerce-Tabs-panel h2{ font-family:var(--bpc-font-display) !important;color:var(--bpc-foreground) !important; }
/* strength pills (simple-product families — csf-strengths) styled to brand if present */
body.single-product .csf-strengths{ display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0 16px; }
body.single-product .csf-strengths__label{ font-family:var(--bpc-font-mono);font-size:12px;letter-spacing:.08em;color:var(--bpc-body);text-transform:uppercase;margin-right:4px; }
body.single-product .csf-strength{
  display:inline-flex;padding:8px 16px;border-radius:999px;border:1px solid var(--bpc-border-gold);
  background:var(--bpc-card);color:var(--bpc-body);font-family:var(--bpc-font-mono);font-size:13px;
  text-decoration:none;transition:border-color .2s,color .2s;
}
body.single-product .csf-strength:hover{ border-color:var(--bpc-primary);color:var(--bpc-foreground); }
body.single-product .csf-strength.is-active{ background:var(--vt-gold-grad);color:#1a1505;border-color:transparent; }

/* ── 8. CART ──
   Wrap the cart table + totals in glass panels; pill all buttons; hero pill for
   "Proceed to checkout"; pill the upsell ADD buttons. */
.woocommerce-cart .woocommerce-cart-form{
  background:var(--bpc-card);border:1px solid var(--vt-glass-border);border-radius:20px;
  padding:8px 22px 18px;
}
.woocommerce-cart table.cart{ background:transparent;border:0;margin:0; }
.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td{
  border-color:var(--vt-border) !important;color:var(--bpc-foreground);background:transparent !important;
}
.woocommerce-cart table.cart thead th{
  font-family:var(--bpc-font-mono) !important;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--bpc-primary-hover) !important;
}
.woocommerce-cart table.cart td.product-name a{ color:var(--bpc-foreground);font-family:var(--bpc-font-display);font-weight:600; }
.woocommerce-cart table.cart img{ border-radius:12px;border:1px solid var(--vt-border); }
.woocommerce-cart .cart-collaterals .cart_totals{
  background:var(--bpc-card);border:1px solid var(--vt-glass-border);border-radius:20px;
  padding:24px 24px 8px;
}
.woocommerce-cart .cart_totals h2{ font-family:var(--bpc-font-display) !important;color:var(--bpc-foreground) !important;font-size:20px; }
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td{ border-color:var(--vt-border) !important;color:var(--bpc-foreground); }
.woocommerce-cart .cart_totals .amount{ font-family:var(--bpc-font-mono) !important;color:var(--bpc-foreground); }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  display:block;text-align:center;width:100%;font-size:15px !important;
}
/* coupon row */
.woocommerce-cart .coupon{ display:flex;gap:10px;align-items:center;flex-wrap:wrap; }
.woocommerce-cart .coupon #coupon_code{
  background:var(--bpc-card) !important;color:var(--bpc-foreground) !important;
  border:1px solid var(--bpc-border-gold) !important;border-radius:999px !important;
  padding:11px 18px !important;min-height:44px;
}
/* csf-cart-upsell ADD buttons → gold pill (the owned upsell row) */
.csf-upsell .button,
.csf-cart-upsell .button,
[class*="upsell"] .add_to_cart_button{
  background:var(--vt-gold-grad) !important;color:#1a1505 !important;border:none !important;
  border-radius:999px !important;box-shadow:0 8px 22px rgba(201,162,39,.26) !important;
}

/* ── 9. CHECKOUT ── */
/* FIX the broken/invisible woocommerce-info bar (was light-gray bg + cream text) */
.woocommerce-info,
.woocommerce-message,
.woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-form-login-toggle .woocommerce-info{
  background:var(--bpc-card) !important;
  color:var(--bpc-foreground) !important;
  border-top:0 !important;
  border-left:3px solid var(--bpc-primary) !important;
  border-radius:12px !important;
}
.woocommerce-info::before,
.woocommerce-message::before{ color:var(--bpc-primary) !important; }
.woocommerce-info a,
.woocommerce-message a{ color:var(--bpc-primary-hover) !important; }
/* order review + payment box in glass panels */
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order{
  background:var(--bpc-card);border:1px solid var(--vt-glass-border);border-radius:20px;
  padding:24px;
}
.woocommerce-checkout #order_review table th,
.woocommerce-checkout #order_review table td{ border-color:var(--vt-border) !important;color:var(--bpc-foreground); }
.woocommerce-checkout #order_review .amount{ font-family:var(--bpc-font-mono) !important;color:var(--bpc-foreground); }
.woocommerce-checkout #payment{ background:transparent !important;border-radius:14px;border:0; }
.woocommerce-checkout #payment ul.payment_methods{ border-color:var(--vt-border) !important;background:transparent; }
.woocommerce-checkout #payment div.payment_box{
  background:rgba(201,162,39,.06) !important;border:1px solid var(--vt-border);border-radius:12px;
  color:var(--bpc-body);
}
.woocommerce-checkout #payment div.payment_box::before{ border-bottom-color:rgba(201,162,39,.06) !important; }
.woocommerce-checkout h3#order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3{
  font-family:var(--bpc-font-display) !important;color:var(--bpc-foreground) !important;
}
/* billing inputs — brand radius + gold-hairline focus ring */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout .select2-container--default .select2-selection--single,
.woocommerce form .form-row select{
  background:var(--bpc-card) !important;color:var(--bpc-foreground) !important;
  border:1px solid var(--bpc-border-gold) !important;border-radius:12px !important;
  min-height:46px;padding:10px 14px !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{
  outline:none;border-color:var(--bpc-primary) !important;box-shadow:0 0 0 3px rgba(201,162,39,.18) !important;
}
.woocommerce-checkout label{ color:var(--bpc-body) !important; }
.woocommerce .select2-dropdown{ background:var(--bpc-card);border:1px solid var(--bpc-border-gold);color:var(--bpc-foreground); }
.woocommerce .select2-results__option--highlighted{ background:rgba(201,162,39,.18) !important;color:var(--bpc-foreground) !important; }
/* place order — full-width pill with lift (inherits §3 gradient pill) */
.woocommerce-checkout #place_order{
  width:100% !important;display:block;font-size:15.5px !important;margin-top:8px;
}
/* consent checkboxes — larger, custom gold check, bordered container = deliberate */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
.woocommerce-checkout .csf-ruo-field{
  background:rgba(255,255,255,.03);border:1px solid var(--vt-border);border-radius:12px;
  padding:14px 16px;margin-bottom:12px;
}
.woocommerce-checkout .csf-ruo-field label,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label{
  display:flex;align-items:flex-start;gap:11px;color:var(--bpc-foreground) !important;
  font-size:13.5px;line-height:1.5;cursor:pointer;margin:0;
}
.woocommerce-checkout .csf-ruo-field input[type=checkbox],
.woocommerce-checkout .form-row input#terms{
  -webkit-appearance:none;appearance:none;flex:0 0 auto;
  width:22px;height:22px;margin:1px 0 0;border-radius:6px;cursor:pointer;
  background:var(--bpc-card);border:2px solid var(--bpc-border-gold);
  transition:background .15s,border-color .15s;position:relative;
}
.woocommerce-checkout .csf-ruo-field input[type=checkbox]:hover,
.woocommerce-checkout .form-row input#terms:hover{ border-color:var(--bpc-primary); }
.woocommerce-checkout .csf-ruo-field input[type=checkbox]:checked,
.woocommerce-checkout .form-row input#terms:checked{
  background:var(--vt-gold-grad);border-color:transparent;
}
.woocommerce-checkout .csf-ruo-field input[type=checkbox]:checked::after,
.woocommerce-checkout .form-row input#terms:checked::after{
  content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;
  border:solid #1a1505;border-width:0 2.4px 2.4px 0;transform:rotate(43deg);
}
.woocommerce-checkout .csf-ruo-field input[type=checkbox]:focus-visible,
.woocommerce-checkout .form-row input#terms:focus-visible{
  outline:none;box-shadow:0 0 0 3px rgba(201,162,39,.3);
}
/* the "rememberme" login checkbox in the info bar — keep it consistent */
.woocommerce-checkout .woocommerce-form-login input#rememberme{ accent-color:var(--bpc-primary); }

/* ════════════════════════════════════════════════════════════════════════
   DESIGN ELEVATION — PASS 2 (content-page structure)
   Lifts the content pages (About 145 / Contact 146 / FAQ 147 / COA 158) out of
   "Word-document" mode into the homepage's premium .vt-* system. Scoped tightly
   to those four page IDs so policy pages and everything else are untouched. The
   home keeps its faithful Manus port (these IDs are never the home).
   Reuses --bpc-* tokens + --vt-gold-grad + the glass vars. Gold-on-dark (AA).
   NO new customer-facing claim copy — operational/structural only.
   ════════════════════════════════════════════════════════════════════════ */

/* ── content-page shells: let the .vt-band run edge-to-edge ──
   Blocksy constrains .entry-content; neutralize its box on these four pages and
   reproduce the home full-bleed technique (100vw centered). */
body.page-id-145 #main, body.page-id-146 #main,
body.page-id-147 #main, body.page-id-158 #main,
body.page-id-145 .site-main, body.page-id-146 .site-main,
body.page-id-147 .site-main, body.page-id-158 .site-main{ padding-top:0 !important; }
body.page-id-145 .entry-content, body.page-id-146 .entry-content,
body.page-id-147 .entry-content, body.page-id-158 .entry-content{
  max-width:none !important; margin:0 !important; padding:0 !important;
}
body.page-id-145 .entry-content > *, body.page-id-146 .entry-content > *,
body.page-id-147 .entry-content > *, body.page-id-158 .entry-content > *{ margin-block:0; }
/* the entry-header (page title) on these pages — the .vt-band carries its own
   eyebrow + Cinzel head; suppress the duplicate theme page title */
body.page-id-145 .entry-header, body.page-id-146 .entry-header,
body.page-id-147 .entry-header, body.page-id-158 .entry-header{ display:none !important; }
/* full-bleed bands inside the constrained container */
body.page-id-145 .vt-band, body.page-id-146 .vt-band,
body.page-id-147 .vt-band, body.page-id-158 .vt-band{
  width:100vw; margin-left:calc(50% - 50vw);
}

/* ── content-page band rhythm ── */
.vt-cpage{ padding:clamp(54px,7vw,92px) 0; background:var(--bpc-background); }
.vt-cpage + .vt-cpage{ border-top:1px solid var(--vt-border); }
/* alternate band surface for a subtle two-tone reading rhythm */
.vt-about__supply, .vt-about__standards,
.vt-about__cta{ background:var(--bpc-background-deeper); }
/* reading rail for prose blocks (~70ch) */
.vt-prose{ max-width:70ch; }
.vt-prose p{ font-size:16.5px; line-height:1.72; color:var(--bpc-body); margin:0 0 18px; }
.vt-prose p:last-child{ margin-bottom:0; }
.vt-prose a{ color:var(--bpc-primary-hover); text-decoration:underline; text-underline-offset:3px; }
.vt-eyebrow--inline{ align-self:flex-start; }

/* ════════════ CONTACT (146) — two-column glass ════════════ */
.vt-contact{ display:grid; grid-template-columns:1.15fr .85fr; gap:26px; align-items:start; }
.vt-contact__form{ padding:34px 34px 30px; }
.vt-contact__formhead{ font-size:21px; }
.vt-contact__formsub{ margin:8px 0 22px; max-width:48ch; }
.vt-contact__panel{ display:flex; flex-direction:column; gap:22px; }
.vt-contact__ways, .vt-contact__help{ padding:28px 28px 26px; }
.vt-contact__list{ list-style:none; margin:18px 0 0; padding:0; display:flex; flex-direction:column; gap:18px; }
.vt-contact__row{ display:flex; gap:14px; align-items:flex-start; }
.vt-contact__ico{ flex:0 0 auto; width:40px; height:40px; display:flex; align-items:center; justify-content:center;
  border-radius:11px; background:rgba(201,162,39,.12); color:var(--bpc-primary-hover); }
.vt-contact__ico svg{ width:20px; height:20px; }
.vt-contact__rowtext{ display:flex; flex-direction:column; gap:3px; }
.vt-contact__rowtext strong{ font-family:var(--bpc-font-display); font-size:15px; color:var(--bpc-foreground); font-weight:600; letter-spacing:.01em; }
.vt-contact__rowtext span{ font-size:13.5px; line-height:1.55; color:var(--bpc-body); }
.vt-contact__helphead{ font-family:var(--bpc-font-display) !important; font-size:17px; color:var(--bpc-foreground) !important; font-weight:600; margin:0 0 14px; letter-spacing:.01em; }
.vt-contact__bullets{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
.vt-contact__bullets li{ position:relative; padding-left:22px; font-size:14px; line-height:1.55; color:var(--bpc-body); }
.vt-contact__bullets li::before{ content:""; position:absolute; left:0; top:8px; width:7px; height:7px; border-radius:50%; background:var(--vt-gold-grad); }
.vt-contact__bullets a{ color:var(--bpc-primary-hover); }
.vt-contact__note{ font-size:12.5px; line-height:1.6; color:var(--bpc-body); opacity:.85; margin:18px 0 0; padding-top:16px; border-top:1px solid var(--vt-border); }
.vt-contact__policies{ display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:16px; }
.vt-contact__policies a{ font-family:var(--bpc-font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--bpc-primary-hover); text-decoration:none; }
.vt-contact__policies a:hover{ color:var(--bpc-foreground); }

/* — FluentForm skin inside the glass card — */
.vt-contact__form .fluentform{ margin:0; }
.vt-contact__form .ff-el-group{ margin-bottom:16px; }
.vt-contact__form .ff-el-input--label label{
  font-family:var(--bpc-font-mono) !important; font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--bpc-primary-hover) !important; margin-bottom:7px;
}
.vt-contact__form .ff-el-form-control,
.vt-contact__form input[type=text], .vt-contact__form input[type=email],
.vt-contact__form textarea{
  background:var(--bpc-background-deeper) !important; color:var(--bpc-foreground) !important;
  border:1px solid var(--bpc-border-gold) !important; border-radius:12px !important;
  min-height:48px; padding:12px 15px !important; font-family:var(--bpc-font-sans) !important; font-size:14.5px;
  width:100%; box-shadow:none !important;
}
.vt-contact__form textarea{ min-height:128px; resize:vertical; }
.vt-contact__form .ff-el-form-control:focus,
.vt-contact__form input:focus, .vt-contact__form textarea:focus{
  outline:none; border-color:var(--bpc-primary) !important; box-shadow:0 0 0 3px rgba(201,162,39,.18) !important;
}
.vt-contact__form .ff-el-form-control::placeholder{ color:rgba(201,196,184,.45); }
.vt-contact__form .ff-el-input--content .ff-name-field-wrapper{ gap:14px; }
.vt-contact__form .ff-btn-submit, .vt-contact__form button[type=submit]{
  background:var(--vt-gold-grad) !important; color:#1a1505 !important; border:none !important;
  border-radius:999px !important; padding:14px 30px !important; font-family:var(--bpc-font-sans) !important;
  font-weight:600 !important; font-size:14.5px; letter-spacing:.02em; cursor:pointer;
  box-shadow:0 10px 30px rgba(201,162,39,.28); transition:transform .25s,box-shadow .25s; margin-top:4px;
}
.vt-contact__form .ff-btn-submit:hover, .vt-contact__form button[type=submit]:hover{
  transform:translateY(-2px); box-shadow:0 16px 40px rgba(201,162,39,.42); color:#1a1505 !important;
}
.vt-contact__form .ff-message-success{
  background:rgba(201,162,39,.08) !important; border:1px solid var(--vt-border) !important;
  border-left:3px solid var(--bpc-primary) !important; border-radius:12px !important;
  color:var(--bpc-foreground) !important; padding:16px 18px !important;
}
.vt-contact__form .error, .vt-contact__form .text-danger, .vt-contact__form .ff-el-is-error .text-danger{ color:#E8896B !important; font-size:12.5px; }

/* ════════════ COA LIBRARY (158) — document UI ════════════ */
.vt-coa{ margin-top:8px; }
.vt-coa__toolbar{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:16px; }
.vt-coa__count{ font-family:var(--bpc-font-mono); font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--bpc-primary-hover); }
.vt-coa__legend{ display:flex; gap:10px; }
.vt-badge{ display:inline-flex; align-items:center; gap:6px; font-family:var(--bpc-font-mono); font-size:10.5px; letter-spacing:.06em; text-transform:uppercase;
  padding:5px 12px; border-radius:999px; border:1px solid transparent; white-space:nowrap; }
.vt-badge::before{ content:""; width:6px; height:6px; border-radius:50%; }
.vt-badge--onfile{ color:#E6C766; background:rgba(201,162,39,.12); border-color:var(--bpc-border-gold); }
.vt-badge--onfile::before{ background:var(--vt-gold-grad); box-shadow:0 0 8px rgba(201,162,39,.6); }
.vt-badge--pending{ color:var(--bpc-body); background:rgba(255,255,255,.04); border-color:var(--vt-glass-border); }
.vt-badge--pending::before{ background:rgba(201,196,184,.5); }
.vt-coa__tablewrap{ background:var(--bpc-card); border:1px solid var(--vt-glass-border); border-radius:20px; overflow:hidden; box-shadow:0 24px 60px rgba(0,0,0,.4); }
.vt-coa__table{ width:100%; border-collapse:collapse; margin:0; font-size:14px; }
.vt-coa__table thead th{
  font-family:var(--bpc-font-mono) !important; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--bpc-primary-hover); text-align:left; font-weight:500; padding:16px 20px;
  background:var(--bpc-background-deeper); border-bottom:1px solid var(--vt-border);
}
.vt-coa__th-action{ text-align:right !important; }
.vt-coa__table tbody td{ padding:15px 20px; border-bottom:1px solid var(--vt-border); color:var(--bpc-foreground); vertical-align:middle; }
.vt-coa__table tbody tr:last-child td{ border-bottom:0; }
.vt-coa__table tbody tr{ transition:background .2s; }
.vt-coa__table tbody tr:hover{ background:rgba(201,162,39,.045); }
.vt-coa__table td:first-child{ font-family:var(--bpc-font-display); font-weight:600; letter-spacing:.01em; color:var(--bpc-foreground); }
.vt-coa__table td:nth-child(2){ color:var(--bpc-body); font-size:13px; }
.vt-coa__table td:nth-child(4){ font-family:var(--bpc-font-mono); font-size:12.5px; color:var(--bpc-body); }
.vt-lot{ font-family:var(--bpc-font-mono); font-size:12.5px; letter-spacing:.04em; color:var(--bpc-primary-hover);
  background:rgba(201,162,39,.08); border:1px solid var(--bpc-border-gold); border-radius:7px; padding:3px 9px; white-space:nowrap; }
.vt-coa__table td:last-child{ text-align:right; }
.vt-coa__req{ font-family:var(--bpc-font-mono); font-size:11.5px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--bpc-primary-hover); text-decoration:none; white-space:nowrap; transition:color .2s; }
.vt-coa__req:hover{ color:var(--bpc-foreground); }
.vt-coa__foot{ font-size:13.5px; line-height:1.65; color:var(--bpc-body); margin:18px 0 0; max-width:78ch; }
.vt-coa__foot a{ color:var(--bpc-primary-hover); }
.vt-coa__grid{ margin-top:44px; grid-template-columns:repeat(3,1fr); }
.vt-coa__ruo{ margin-top:34px; font-family:var(--bpc-font-mono); font-size:11.5px; letter-spacing:.05em; color:rgba(201,196,184,.6); }

/* ════════════ FAQ (147) — glass <details> accordion ════════════ */
.vt-faqp{ display:flex; flex-direction:column; gap:42px; margin-top:6px; }
.vt-faqp__group{ display:flex; flex-direction:column; gap:14px; }
.vt-faqp__list{ display:flex; flex-direction:column; gap:12px; }
.vt-faq__item{ overflow:hidden; }
.vt-faq__item summary.vt-faq__q{
  list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px;
  font-family:var(--bpc-font-display) !important; font-size:16.5px; color:var(--bpc-foreground) !important;
  font-weight:600; letter-spacing:.01em; line-height:1.35; padding:2px 0; user-select:none;
}
.vt-faq__item summary::-webkit-details-marker{ display:none; }
.vt-faq__item summary:focus-visible{ outline:none; }
.vt-faq__item:focus-within{ border-color:var(--bpc-primary); }
/* the +/- toggle marker */
.vt-faq__mk{ flex:0 0 auto; position:relative; width:20px; height:20px; }
.vt-faq__mk::before, .vt-faq__mk::after{
  content:""; position:absolute; left:50%; top:50%; background:var(--bpc-primary-hover);
  transition:transform .3s ease, opacity .3s ease;
}
.vt-faq__mk::before{ width:12px; height:2px; transform:translate(-50%,-50%); }
.vt-faq__mk::after{ width:2px; height:12px; transform:translate(-50%,-50%); }
.vt-faq__item[open] .vt-faq__mk::after{ transform:translate(-50%,-50%) rotate(90deg); opacity:0; }
.vt-faq__item[open]{ border-color:var(--bpc-primary); }
.vt-faq__a{ margin-top:0; max-height:0; overflow:hidden; }
.vt-faq__item[open] .vt-faq__a{ max-height:none; margin-top:12px; }
.vt-faq__a p{ font-size:14.5px; line-height:1.65; color:var(--bpc-body); margin:0; }
.vt-faq__a a{ color:var(--bpc-primary-hover); }
/* smooth open animation (content reveal) */
.vt-faq__item[open] .vt-faq__a{ animation:vtFaqReveal .28s ease both; }
@keyframes vtFaqReveal{ from{ opacity:0; transform:translateY(-4px); } to{ opacity:1; transform:translateY(0); } }
.vt-faqp__cta{ margin-top:46px; padding:26px 30px; background:var(--vt-glass); border:1px solid var(--vt-glass-border);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-radius:var(--bpc-radius); text-align:center; }
.vt-faqp__cta p{ font-family:var(--bpc-font-serif) !important; font-size:18px; line-height:1.5; color:var(--bpc-foreground); margin:0; }
.vt-faqp__cta a{ color:var(--bpc-primary-hover); font-weight:600; }

/* ════════════ ABOUT (145) — bands + ambient ════════════ */
.vt-about__operate{ position:relative; isolation:isolate; overflow:hidden; }
.vt-about__marble{ position:absolute; z-index:0; right:-6%; top:50%; transform:translateY(-50%);
  width:min(640px,58%); opacity:.06; pointer-events:none; -webkit-mask-image:linear-gradient(90deg,transparent,#000 40%); mask-image:linear-gradient(90deg,transparent,#000 40%); }
.vt-about__operate .vt-rail{ position:relative; z-index:2; }
.vt-about__operate .vt-trust__grid{ grid-template-columns:repeat(3,1fr); margin-top:38px; }
.vt-about__ctainner{ display:flex; flex-direction:column; align-items:flex-start; gap:16px; max-width:60ch; }
.vt-about__ctainner .vt-btn{ margin-top:6px; }

/* ════════════ MY ACCOUNT / LOGIN (12) — centered glass card ════════════ */
body.woocommerce-account:not(.logged-in) .woocommerce{
  max-width:480px; margin:24px auto 40px;
}
body.woocommerce-account:not(.logged-in) .woocommerce > h2,
body.woocommerce-account:not(.logged-in) .u-columns h2{
  font-family:var(--bpc-font-display) !important; color:var(--bpc-foreground) !important;
  font-size:24px; text-align:center; margin-bottom:18px;
}
/* the login form panel as a glass tile */
body.woocommerce-account .woocommerce-form-login,
body.woocommerce-account .woocommerce-form-register{
  background:var(--bpc-card) !important; border:1px solid var(--vt-glass-border) !important;
  border-radius:20px !important; padding:32px 30px !important; box-shadow:0 24px 60px rgba(0,0,0,.4) !important;
}
body.woocommerce-account .woocommerce-form-login::before{
  content:"Vegas Tides Account"; display:block; font-family:var(--bpc-font-mono); font-size:11px;
  letter-spacing:.18em; text-transform:uppercase; color:var(--bpc-primary-hover); text-align:center; margin-bottom:18px;
}
body.woocommerce-account .woocommerce-form-login label,
body.woocommerce-account .woocommerce-form-register label{
  font-family:var(--bpc-font-mono) !important; font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--bpc-primary-hover) !important;
}
body.woocommerce-account .woocommerce-form-login input.input-text,
body.woocommerce-account .woocommerce-form-register input.input-text{
  background:var(--bpc-background-deeper) !important; color:var(--bpc-foreground) !important;
  border:1px solid var(--bpc-border-gold) !important; border-radius:12px !important; min-height:48px; padding:12px 15px !important;
}
body.woocommerce-account .woocommerce-form-login input.input-text:focus,
body.woocommerce-account .woocommerce-form-register input.input-text:focus{
  outline:none; border-color:var(--bpc-primary) !important; box-shadow:0 0 0 3px rgba(201,162,39,.18) !important;
}
body.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme{ color:var(--bpc-body); font-size:13px; }
body.woocommerce-account .woocommerce-form-login input#rememberme,
body.woocommerce-account input[type=checkbox]{ accent-color:var(--bpc-primary); }
body.woocommerce-account .woocommerce-form-login__submit,
body.woocommerce-account .woocommerce-form-register__submit{ width:100%; display:block; margin-top:6px; }
body.woocommerce-account .woocommerce-LostPassword a{ color:var(--bpc-primary-hover); font-size:13px; }

/* ── responsive ── */
@media(max-width:900px){
  .vt-contact{ grid-template-columns:1fr; }
  .vt-coa__grid{ grid-template-columns:1fr !important; }
  .vt-about__operate .vt-trust__grid{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:640px){
  .vt-about__operate .vt-trust__grid{ grid-template-columns:1fr; }
  /* COA table → stacked cards on mobile */
  .vt-coa__table thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .vt-coa__table, .vt-coa__table tbody, .vt-coa__table tr, .vt-coa__table td{ display:block; width:100%; }
  .vt-coa__tablewrap{ background:transparent; border:0; box-shadow:none; overflow:visible; }
  .vt-coa__table tr{ background:var(--bpc-card); border:1px solid var(--vt-glass-border); border-radius:16px; margin-bottom:14px; padding:6px 4px; }
  .vt-coa__table tbody td{ border-bottom:1px solid var(--vt-border); padding:11px 18px; display:flex; justify-content:space-between; gap:16px; align-items:center; text-align:right; }
  .vt-coa__table tbody tr td:last-child{ border-bottom:0; }
  .vt-coa__table tbody td::before{ content:attr(data-label); font-family:var(--bpc-font-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--bpc-primary-hover); text-align:left; }
  .vt-coa__table td:first-child{ font-size:16px; }
  .vt-coa__table td:last-child{ text-align:right; }
}
/* mobile bottom-bar clearance (fixed csf-bbar) — these pages can end on a band */
@media(max-width:768px){
  body.page-id-145 .ct-footer, body.page-id-146 .ct-footer,
  body.page-id-147 .ct-footer, body.page-id-158 .ct-footer{ padding-bottom:calc(30px + 72px) !important; }
}

/* ============================================================
   DPH hardening pass 1 (2026-07-04) — evidence-driven fixes.
   Each rule maps to a ledgered finding. Additive + reversible.
   ============================================================ */
/* G11-D02: disclaimer text was blended ~3.9:1 (< 4.5 AA); raise to ~6.5:1.
   Also serves compliance prominence (PEPT-15). */
.vt-footer__ruo { color: rgba(201,196,184,.78); }
.csf-bigfoot__bar { color: rgba(201,196,184,.78); }
.vt-footer__copy { color: rgba(201,196,184,.72); }
/* G21-D01: never stretch homepage product photos. */
.home .vt-featured__woo li.product img.wp-post-image {
  aspect-ratio: 4 / 5; object-fit: contain; height: auto;
}
/* G21-D01: single-product hero — tall vial renders letterboxed, never distorted */
.single-product .ct-media-container img.wp-post-image {
  object-fit: contain; aspect-ratio: auto;
}
/* G10-D03: 'View product' loop buttons to 44px */
ul.products li.product .button, .vt-featured__woo li.product .button {
  min-height: 44px; display: inline-flex; align-items: center; justify-content: center;
}
/* G10-D03: footer link hit area to >=24px without changing the look */
.vt-footer__col a { padding-block: 4px; margin-bottom: 4px; }
/* G10-D04: prevent iOS zoom-on-focus — 16px form text at phone widths */
@media (max-width: 480px) {
  input:not([type=checkbox]):not([type=radio]), select, textarea { font-size: 16px !important; }
}
/* G10-D04 addendum: variation select was pinned at 14px by a more specific rule */
@media (max-width: 480px) {
  .single-product form.variations_form .variations select,
  table.variations select { font-size: 16px !important; }
}

/* ============================================================
   Austin live-review route-back (2026-07-16) — three approved
   visual fixes. Late + tightly scoped so they win over Blocksy's
   inline aspect-ratio stamps and the earlier hardening rules.
   Additive + reversible.
   ============================================================ */

/* R1 — Product photography is the frame. Use the original full-bleed marble
   photograph at its natural ratio: no added white canvas, no double frame,
   and no cropping of the cap, label, strength, or base. The card's overflow
   owns the rounded top corners. Applies to Home, Shop, categories, and related
   products so the rejected white-gutter treatment cannot reappear elsewhere. */
body ul.products li.product a.ct-media-container,
.home .vt-featured__woo li.product a.ct-media-container{
  display:block !important;overflow:hidden !important;
  aspect-ratio:921 / 1707 !important;background:transparent !important;
  line-height:0;
}
.home .vt-featured__woo li.product figure{
  display:block !important;width:100% !important;height:auto !important;
  aspect-ratio:921 / 1707 !important;overflow:hidden !important;
  margin:0 !important;line-height:0;
}
.home .vt-featured__woo li.product a.woocommerce-LoopProduct-link:not(.ct-media-container){
  height:auto !important;min-height:0 !important;aspect-ratio:auto !important;
  overflow:visible !important;background:transparent !important;
}
body ul.products li.product a.ct-media-container img,
.home .vt-featured__woo li.product figure img,
.home .vt-featured__woo li.product img,
.home .vt-featured__woo li.product img.wp-post-image{
  width:100% !important;height:auto !important;
  aspect-ratio:921 / 1707 !important;object-fit:cover !important;
  contain-intrinsic-size:none !important;content-visibility:visible !important;
  display:block;background:transparent !important;border-radius:0 !important;
}

/* R3 — PDP gallery: the portrait vial (552x1024) carried an inline
   `aspect-ratio:3/4` and rendered `object-fit:contain`, exposing gray side
   gutters inside a 20px-padded well (a second visible frame). Drop the imposed
   ratio, let the natural portrait ratio drive height, remove the inner padding,
   and let the rounded outer container own the frame — full vial, no gutters.
   Scoped strictly to single-product galleries. */
body.single-product .woocommerce-product-gallery{
  max-width:520px;margin-inline:auto;
  padding:0 !important;background:#fff !important;
  border-radius:24px;overflow:hidden;
}
body.single-product .woocommerce-product-gallery::before{ display:none; }
body.single-product .woocommerce-product-gallery .ct-media-container,
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image{
  width:100%;padding:0 !important;overflow:hidden;border-radius:24px;background:#fff;
}
body.single-product .woocommerce-product-gallery img,
body.single-product .woocommerce-product-gallery img.wp-post-image,
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img{
  display:block;width:100% !important;height:auto !important;
  aspect-ratio:auto !important;object-fit:contain !important;
  border-radius:24px !important;background:#fff;
}

/* The real disabled state remains in markup; only its presentation is restored.
   The enabled CTA gains a deeper glow so the state change stays perceptible. */
.single_add_to_cart_button.csf-atc-locked,
.single_add_to_cart_button.csf-atc-locked:disabled,
.single_add_to_cart_button.csf-atc-locked[disabled]{
  opacity:1 !important;cursor:not-allowed !important;filter:none !important;
  background:var(--vt-gold-grad) !important;color:#1a1505 !important;
  box-shadow:0 1px 0 rgba(255,255,255,.22) inset !important;
  transform:none !important;
}
.single_add_to_cart_button:not(.csf-atc-locked):not(:disabled){
  opacity:1 !important;cursor:pointer !important;
  box-shadow:0 16px 44px rgba(201, 162, 39, .48) !important;
}

/* ============================================================
   HYDRO-LUXE INNER HEADERS (1.0.5)
   Environmental art only. Route classes are supplied by the
   seven-value resolver in functions.php, keeping Home, products,
   cart, affiliates, checkout, and PRISM outside this surface.
   ============================================================ */

/* Shop and product categories keep the existing 250px live-title band. */
body.vt-inner-header--shop .entry-header{
  position:relative;isolation:isolate;overflow:hidden;
  width:100vw !important;max-width:none !important;
  min-height:250px;height:250px;
  margin-inline:calc(50% - 50vw) !important;
  padding:0 clamp(20px,5vw,72px) !important;
  display:flex;align-items:center;justify-content:center;text-align:center;
  background-image:
    linear-gradient(90deg,rgba(6,6,7,.72) 0%,rgba(6,6,7,.56) 32%,rgba(6,6,7,.50) 50%,rgba(6,6,7,.58) 68%,rgba(6,6,7,.76) 100%),
    linear-gradient(180deg,rgba(6,6,7,.20) 0%,rgba(6,6,7,.12) 58%,rgba(6,6,7,.72) 100%),
    url('assets/inner-headers/shop-desktop.webp');
  background-position:center;background-repeat:no-repeat;background-size:cover;
  border-bottom:1px solid rgba(201,162,39,.16);
}
body.vt-inner-header--shop .entry-header .page-title{
  position:relative;z-index:1;margin:0 !important;
  color:var(--bpc-foreground) !important;
  text-shadow:0 3px 24px rgba(0,0,0,.88);
}

/* Editorial pages use only the top 320px of their first content band. */
body.vt-inner-header--about .entry-content > .vt-band:first-child,
body.vt-inner-header--faq .entry-content > .vt-band:first-child,
body.vt-inner-header--contact .entry-content > .vt-band:first-child,
body.vt-inner-header--coa .entry-content > .vt-band:first-child{
  position:relative;isolation:isolate;overflow:hidden;
  min-height:320px;background:var(--bpc-background);
}
body.vt-inner-header--about .entry-content > .vt-band:first-child::before,
body.vt-inner-header--faq .entry-content > .vt-band:first-child::before,
body.vt-inner-header--contact .entry-content > .vt-band:first-child::before,
body.vt-inner-header--coa .entry-content > .vt-band:first-child::before,
body.vt-inner-header--about .entry-content > .vt-band:first-child::after,
body.vt-inner-header--faq .entry-content > .vt-band:first-child::after,
body.vt-inner-header--contact .entry-content > .vt-band:first-child::after,
body.vt-inner-header--coa .entry-content > .vt-band:first-child::after{
  content:"";position:absolute;z-index:-2;inset:0 0 auto;height:320px;
  pointer-events:none;background-position:center;background-repeat:no-repeat;background-size:cover;
}
body.vt-inner-header--about .entry-content > .vt-band:first-child::before{background-image:url('assets/inner-headers/about-desktop.webp');}
body.vt-inner-header--faq .entry-content > .vt-band:first-child::before{background-image:url('assets/inner-headers/faq-desktop.webp');}
body.vt-inner-header--contact .entry-content > .vt-band:first-child::before{background-image:url('assets/inner-headers/contact-desktop.webp');}
body.vt-inner-header--coa .entry-content > .vt-band:first-child::before{background-image:url('assets/inner-headers/coa-desktop.webp');}
body.vt-inner-header--about .entry-content > .vt-band:first-child::after,
body.vt-inner-header--faq .entry-content > .vt-band:first-child::after,
body.vt-inner-header--contact .entry-content > .vt-band:first-child::after,
body.vt-inner-header--coa .entry-content > .vt-band:first-child::after{
  z-index:-1;
  background:
    linear-gradient(90deg,rgba(6,6,7,.92) 0%,rgba(6,6,7,.88) 48%,rgba(6,6,7,.48) 76%,rgba(6,6,7,.64) 100%),
    linear-gradient(180deg,rgba(6,6,7,.18) 0%,rgba(6,6,7,.14) 56%,var(--bpc-background) 100%);
}
body.vt-inner-header--about .entry-content > .vt-band:first-child > .vt-rail,
body.vt-inner-header--faq .entry-content > .vt-band:first-child > .vt-rail,
body.vt-inner-header--contact .entry-content > .vt-band:first-child > .vt-rail,
body.vt-inner-header--coa .entry-content > .vt-band:first-child > .vt-rail{
  position:relative;z-index:1;
}
body.vt-inner-header--about .entry-content > .vt-band:first-child .vt-sectionhead,
body.vt-inner-header--faq .entry-content > .vt-band:first-child .vt-sectionhead,
body.vt-inner-header--contact .entry-content > .vt-band:first-child .vt-sectionhead,
body.vt-inner-header--coa .entry-content > .vt-band:first-child .vt-sectionhead{
  max-width:min(760px,58%);
}

/* Account and policy pages retain their live, left-aligned title. */
body.vt-inner-header--utility .entry-header{
  position:relative;isolation:isolate;overflow:hidden;
  width:100vw !important;max-width:none !important;
  min-height:180px;height:180px;
  margin-inline:calc(50% - 50vw) !important;
  padding:0 max(20px,calc((100vw - 1168px)/2)) !important;
  display:flex;align-items:center;justify-content:flex-start;text-align:left;
  background-image:
    linear-gradient(90deg,rgba(6,6,7,.88) 0%,rgba(6,6,7,.70) 48%,rgba(6,6,7,.46) 76%,rgba(6,6,7,.68) 100%),
    linear-gradient(180deg,rgba(6,6,7,.24) 0%,rgba(6,6,7,.40) 72%,rgba(6,6,7,.86) 100%),
    url('assets/inner-headers/utility-desktop.webp');
  background-position:center;background-repeat:no-repeat;background-size:cover;
  border-bottom:1px solid rgba(201,162,39,.14);
}
body.vt-inner-header--utility .entry-header .page-title{
  position:relative;z-index:1;margin:0 !important;
  color:var(--bpc-foreground) !important;text-shadow:0 3px 24px rgba(0,0,0,.92);
}

@media(max-width:768px){
  body.vt-inner-header--shop .entry-header{
    min-height:240px;height:240px;padding-inline:20px !important;
    background-image:
      linear-gradient(180deg,rgba(6,6,7,.42) 0%,rgba(6,6,7,.56) 58%,rgba(6,6,7,.86) 100%),
      url('assets/inner-headers/shop-mobile.webp');
  }
  body.vt-inner-header--about .entry-content > .vt-band:first-child,
  body.vt-inner-header--faq .entry-content > .vt-band:first-child,
  body.vt-inner-header--contact .entry-content > .vt-band:first-child,
  body.vt-inner-header--coa .entry-content > .vt-band:first-child{min-height:250px;}
  body.vt-inner-header--about .entry-content > .vt-band:first-child::before,
  body.vt-inner-header--faq .entry-content > .vt-band:first-child::before,
  body.vt-inner-header--contact .entry-content > .vt-band:first-child::before,
  body.vt-inner-header--coa .entry-content > .vt-band:first-child::before,
  body.vt-inner-header--about .entry-content > .vt-band:first-child::after,
  body.vt-inner-header--faq .entry-content > .vt-band:first-child::after,
  body.vt-inner-header--contact .entry-content > .vt-band:first-child::after,
  body.vt-inner-header--coa .entry-content > .vt-band:first-child::after{height:250px;}
  body.vt-inner-header--about .entry-content > .vt-band:first-child::before{background-image:url('assets/inner-headers/about-mobile.webp');}
  body.vt-inner-header--faq .entry-content > .vt-band:first-child::before{background-image:url('assets/inner-headers/faq-mobile.webp');}
  body.vt-inner-header--contact .entry-content > .vt-band:first-child::before{background-image:url('assets/inner-headers/contact-mobile.webp');}
  body.vt-inner-header--coa .entry-content > .vt-band:first-child::before{background-image:url('assets/inner-headers/coa-mobile.webp');}
  body.vt-inner-header--about .entry-content > .vt-band:first-child::after,
  body.vt-inner-header--faq .entry-content > .vt-band:first-child::after,
  body.vt-inner-header--contact .entry-content > .vt-band:first-child::after,
  body.vt-inner-header--coa .entry-content > .vt-band:first-child::after{
    background:linear-gradient(180deg,rgba(6,6,7,.54) 0%,rgba(6,6,7,.66) 58%,var(--bpc-background) 100%);
  }
  body.vt-inner-header--about .entry-content > .vt-band:first-child .vt-sectionhead,
  body.vt-inner-header--faq .entry-content > .vt-band:first-child .vt-sectionhead,
  body.vt-inner-header--contact .entry-content > .vt-band:first-child .vt-sectionhead,
  body.vt-inner-header--coa .entry-content > .vt-band:first-child .vt-sectionhead{max-width:none;}
  body.vt-inner-header--utility .entry-header{
    min-height:220px;height:220px;padding-inline:20px !important;
    background-image:
      linear-gradient(180deg,rgba(6,6,7,.56) 0%,rgba(6,6,7,.66) 58%,rgba(6,6,7,.88) 100%),
      url('assets/inner-headers/utility-mobile.webp');
  }
}
