/*
Theme Name: Elite Eons
Theme URI: https://eliteeons.com
Author: Elite Eons
Description: Research-grade peptide e-commerce theme for Elite Eons.
Version: 1.0
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: elite-eons
WC requires at least: 7.0
*/

/* ── VARIABLES ── */
:root {
  --bg: #ffffff; --surface: #f5f7fa; --surface2: #eaecf0;
  --border: #dde1e7; --border2: #c8cdd6;
  --white: #0d1117; --gray: #5a6472; --gray2: #4a5568;
  --accent: #00a882; --accent2: #008a6b; --red: #e03c3c;
  --fd: 'Bebas Neue', sans-serif; --fb: 'DM Sans', sans-serif; --fm: 'DM Mono', monospace;
}

/* ── RESET ── */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--bg); color: var(--white); font-family: var(--fb); overflow-x: hidden; line-height: 1.6; }
a { text-decoration: none; color: inherit; }
button { cursor: pointer; font-family: var(--fb); }
img { max-width: 100%; height: auto; display: block; }
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-thumb { background: var(--border2); }

/* ── ANIMATIONS ── */
@keyframes ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes fadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeDown { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }

/* ── AGE GATE ── */
#age-gate {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,0.97); backdrop-filter: blur(20px);
}
.ag-box {
  background: var(--surface); border: 1px solid var(--border2);
  padding: 56px 64px; max-width: 480px; width: 90%; text-align: center;
  animation: fadeUp .4s ease both;
}
.ag-line { width: 40px; height: 2px; background: var(--accent); margin: 0 auto 28px; }
.ag-box h2 { font-family: var(--fd); font-size: 32px; letter-spacing: 2px; margin-bottom: 12px; }
.ag-box p { font-size: 14px; color: var(--gray2); margin-bottom: 32px; line-height: 1.7; }
.ag-btns { display: flex; gap: 12px; justify-content: center; }

/* ── SITE BLUR ── */
#site-wrap { filter: blur(12px); pointer-events: none; transition: filter .4s; padding-top: calc(39px + env(safe-area-inset-top, 0px)); }
#site-wrap.unlocked { filter: none; pointer-events: all; }

/* ── BUTTONS ── */
.btn-primary { display: inline-block; background: var(--accent); color: #000; border: none; padding: 15px 36px; font-size: 12px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; transition: all .2s; cursor: pointer; }
.btn-primary:hover { background: var(--accent2); transform: translateY(-2px); color: #000; }
.btn-ghost { display: inline-block; background: transparent; color: var(--white); border: 1px solid var(--border2); padding: 14px 28px; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; transition: all .2s; cursor: pointer; }
.btn-ghost:hover { border-color: var(--accent); color: var(--accent); }
.btn-yes { background: var(--accent); color: #000; border: none; padding: 14px 40px; font-size: 13px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; transition: all .2s; }
.btn-yes:hover { background: var(--accent2); }
.btn-no { background: transparent; color: var(--gray2); border: 1px solid var(--border2); padding: 14px 40px; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; transition: all .2s; }
.btn-no:hover { border-color: var(--red); color: var(--red); }

/* ── TICKER ── */
.ticker { background: var(--accent); padding: 7px 0; overflow: hidden; white-space: nowrap; }
.ticker-inner { display: inline-flex; animation: ticker 28s linear infinite; }
.ticker-item { font-size: 11px; font-weight: 600; letter-spacing: 3px; text-transform: uppercase; color: #000; padding: 0 40px; }

/* ── NAV ── */
nav.site-nav {
  position: sticky; top: calc(39px + env(safe-area-inset-top, 0px)); z-index: 200;
  background: rgba(255,255,255,.97); backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border);
  padding: 0 48px; height: 68px;
  display: flex; align-items: center; justify-content: space-between;
}
.nav-logo { display: flex; align-items: center; gap: 12px; cursor: pointer; text-decoration: none; color: inherit; }
.nav-logo-text { font-family: var(--fd); font-size: 20px; letter-spacing: 4px; white-space: nowrap; }
.nav-logo-text span { color: var(--accent); }
.nav-logo-sub { font-size: 9px; letter-spacing: 4px; color: var(--gray); display: block; margin-top: -3px; }
.nav-links { display: flex; align-items: center; gap: 2px; list-style: none; }
.ni { position: relative; }
.ni > a, .ni > span { display: flex; align-items: center; gap: 4px; padding: 8px 13px; font-size: 12px; font-weight: 500; letter-spacing: 1.5px; text-transform: uppercase; color: var(--gray2); cursor: pointer; transition: color .2s; white-space: nowrap; }
.ni > a:hover, .ni > span:hover, .ni > a.current-menu-item { color: var(--white); }
.chev { font-size: 9px; opacity: .6; }
.drop { display: none; position: absolute; top: 100%; left: 0; background: var(--surface); border: 1px solid var(--border2); min-width: 200px; z-index: 300; padding: 8px 0; animation: fadeDown .15s ease both; }
.drop.right { left: auto; right: 0; }
.ni:hover > .drop { display: block; }
.drop a, .drop span { display: block; padding: 9px 18px; font-size: 12px; letter-spacing: 1px; color: var(--gray2); text-transform: uppercase; cursor: pointer; transition: all .15s; }
.drop a:hover, .drop span:hover { background: var(--surface2); color: var(--white); padding-left: 22px; }
.drop-div { height: 1px; background: var(--border); margin: 6px 0; }
.sub-wrap { position: relative; }
.sub-wrap > .sub-trig { display: flex; justify-content: space-between; align-items: center; }
.sub-drop { display: none; position: absolute; left: 100%; top: 0; background: var(--surface); border: 1px solid var(--border2); min-width: 220px; padding: 8px 0; }
.sub-wrap:hover > .sub-drop { display: block; }
.nav-right { display: flex; align-items: center; gap: 12px; }
.cart-btn { background: var(--accent); color: #000; border: none; padding: 8px 18px; font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; transition: all .2s; display: flex; align-items: center; gap: 8px; cursor: pointer; text-decoration: none; }
.cart-btn:hover { background: var(--accent2); color: #000; }
.cart-count-badge { background: #000; color: var(--accent); width: 18px; height: 18px; border-radius: 50%; font-size: 10px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.lang-toggle { background: transparent; border: 1px solid var(--border2); color: var(--gray2); padding: 6px 12px; font-size: 12px; font-weight: 600; letter-spacing: 1px; cursor: pointer; transition: all .2s; white-space: nowrap; font-family: var(--fb); }
.lang-toggle:hover { border-color: var(--accent); color: var(--accent); }

/* ── RESEARCH NOTICE BAR ── */
.research-notice-bar { background: var(--surface); border-bottom: 1px solid var(--border); padding: 9px 24px; text-align: center; font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; color: var(--gray); display: flex; align-items: center; justify-content: center; gap: 10px; }
.research-notice-dot { width: 6px; height: 6px; background: var(--accent); border-radius: 50%; flex-shrink: 0; }

/* ── MOBILE MENU ── */
.hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 8px; margin-left: 8px; background: none; border: none; }
.hamburger span { width: 22px; height: 2px; background: var(--white); border-radius: 2px; transition: all 0.3s; display: block; }
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.mobile-menu { display: none; position: fixed; top: calc(99px + env(safe-area-inset-top, 0px)); left: 0; right: 0; bottom: 0; background: var(--surface); z-index: 199; overflow-y: auto; padding: 20px 0; border-top: 1px solid var(--border); }
.mobile-menu.open { display: block; }
.mobile-menu a { display: block; padding: 14px 24px; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; color: var(--gray2); border-bottom: 1px solid var(--border); cursor: pointer; }
.mobile-menu a:hover { color: var(--white); background: var(--surface2); }
.mm-section { padding: 10px 24px 4px; font-size: 10px; letter-spacing: 3px; text-transform: uppercase; color: var(--accent); font-family: var(--fm); margin-top: 8px; }
.mm-sub a { padding-left: 40px; font-size: 12px; color: var(--gray); }

/* ── SIDE CART ── */
#side-cart { position: fixed; top: 0; right: -420px; width: 400px; height: 100vh; background: var(--surface); border-left: 1px solid var(--border2); z-index: 500; transition: right .3s ease; display: flex; flex-direction: column; }
#side-cart.open { right: 0; }
.sc-header { display: flex; justify-content: space-between; align-items: center; padding: 20px 24px; border-bottom: 1px solid var(--border); }
.sc-header h3 { font-family: var(--fd); font-size: 22px; letter-spacing: 2px; }
.sc-close { background: none; border: none; color: var(--gray2); font-size: 20px; cursor: pointer; }
.sc-close:hover { color: var(--white); }
#side-cart-inner { flex: 1; overflow-y: auto; display: flex; flex-direction: column; }
.sc-items { flex: 1; overflow-y: auto; padding: 16px; }
.sc-item { display: flex; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--border); }
.sc-vial-mini { width: 50px; height: 64px; flex-shrink: 0; background: var(--bg); border: 1px solid var(--border2); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.sc-vial-mini img { width: 100%; height: 100%; object-fit: cover; }
.sc-item-info { flex: 1; }
.sc-item-name { font-size: 13px; font-weight: 600; margin-bottom: 3px; }
.sc-item-dose { font-size: 11px; color: var(--accent); font-family: var(--fm); margin-bottom: 4px; }
.sc-item-price { font-family: var(--fd); font-size: 18px; }
.sc-item-price .woocommerce-Price-amount { font-family: var(--fd); font-size: 18px; }
.sc-item-remove { background: none; border: none; color: var(--gray); font-size: 16px; cursor: pointer; align-self: center; }
.sc-item-remove:hover { color: var(--red); }
.sc-footer { padding: 20px 24px; border-top: 1px solid var(--border); flex-shrink: 0; }
.sc-subtotal { display: flex; justify-content: space-between; margin-bottom: 16px; font-size: 14px; }
.sc-subtotal span:last-child { font-family: var(--fd); font-size: 20px; color: var(--accent); }
.sc-checkout-btn { display: block; width: 100%; background: var(--accent); color: #000; border: none; padding: 14px; font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; transition: all .2s; text-align: center; }
.sc-checkout-btn:hover { background: var(--accent2); color: #000; }
.sc-view-btn { display: block; width: 100%; background: transparent; color: var(--white); border: 1px solid var(--border2); padding: 10px; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; margin-top: 8px; transition: all .2s; text-align: center; }
.sc-view-btn:hover { border-color: var(--accent); color: var(--accent); }
.sc-empty { text-align: center; padding: 40px 20px; color: var(--gray); flex: 1; display: flex; align-items: center; justify-content: center; }

/* ── HERO ── */
.hero { min-height: calc(100vh - 96px); display: flex; align-items: center; justify-content: center; padding: 80px 48px; position: relative; overflow: hidden; }
.hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 60% at 50% 40%, #00c9a010, transparent); pointer-events: none; }
.hero-grid { position: absolute; inset: 0; background: repeating-linear-gradient(90deg, #ffffff04 0, #ffffff04 1px, transparent 1px, transparent 64px), repeating-linear-gradient(0deg, #ffffff04 0, #ffffff04 1px, transparent 1px, transparent 64px); }
.hero-center { position: relative; z-index: 1; text-align: center; max-width: 780px; }
.hero-badge { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: var(--accent); border: 1px solid var(--accent); padding: 8px 20px; margin-bottom: 32px; border-radius: 40px; }
.hero h1 { font-family: var(--fd); font-size: clamp(52px, 8vw, 100px); line-height: .92; letter-spacing: 1px; margin-bottom: 28px; }
.hero h1 em { color: var(--accent); font-style: normal; }
.hero-sub { font-size: 16px; color: var(--gray2); line-height: 1.8; max-width: 560px; margin: 0 auto 40px; font-weight: 300; }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; }
.disc-tag { font-size: 10px; color: var(--gray); letter-spacing: 2px; text-transform: uppercase; margin-top: 20px; }
/* Legacy selectors kept for any other pages that might reference them */
.hero-left { position: relative; z-index: 1; }
.hero-right { display: none; }
.stat-card { background: var(--surface); border: 1px solid var(--border); padding: 20px 24px; transition: border-color .2s; }
.stat-card:hover { border-color: var(--accent); }
.sc-label { font-size: 10px; letter-spacing: 3px; text-transform: uppercase; color: var(--accent); margin-bottom: 6px; font-family: var(--fm); }
.coa-row { display: flex; justify-content: space-between; font-size: 13px; padding: 4px 0; border-bottom: 1px solid var(--border); }
.coa-row:last-child { border: none; }
.coa-row span:last-child { color: var(--accent); font-family: var(--fm); }
.stat-row { display: flex; gap: 16px; }
.stat-mini { flex: 1; background: var(--surface); border: 1px solid var(--border); padding: 18px; text-align: center; }
.stat-mini-val { font-family: var(--fd); font-size: 28px; color: var(--accent); }
.stat-mini-lbl { font-size: 10px; color: var(--gray); letter-spacing: 2px; text-transform: uppercase; margin-top: 2px; }

/* ── STATS BAR ── */
.stats-bar { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--border); }
.sbi { background: var(--surface); padding: 32px 40px; }
.sbi-num { font-family: var(--fd); font-size: 44px; color: var(--accent); letter-spacing: 1px; }
.sbi-lbl { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); margin-top: 4px; }

/* ── SECTIONS ── */
.section { padding: 80px 48px; }
.sec-ey { font-size: 11px; letter-spacing: 4px; text-transform: uppercase; color: var(--accent); margin-bottom: 12px; font-family: var(--fm); }
.sec-title { font-family: var(--fd); font-size: clamp(40px, 5vw, 64px); letter-spacing: 1px; margin-bottom: 16px; }
.sec-hr { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 48px; flex-wrap: wrap; gap: 20px; }

/* ── CATEGORY TABS ── */
.cat-tabs { display: flex; gap: 2px; margin-bottom: 2px; flex-wrap: wrap; }
.cat-tab { background: var(--surface); border: 1px solid var(--border); padding: 10px 24px; font-size: 11px; font-weight: 500; letter-spacing: 2px; text-transform: uppercase; cursor: pointer; color: var(--gray2); transition: all .2s; border-bottom: none; }
.cat-tab.active { background: var(--surface2); color: var(--accent); border-color: var(--accent); }

/* ── PRODUCT GRID & CARDS ── */
.products-grid, ul.products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--border); list-style: none; margin: 0; padding: 0; }
.pc, li.product { background: var(--surface); cursor: pointer; transition: background .2s; position: relative; overflow: hidden; }
.pc:hover, li.product:hover { background: var(--surface2); }
.pia { aspect-ratio: 1; display: flex; align-items: center; justify-content: center; background: var(--bg); position: relative; overflow: hidden; }
.pia img { width: 100%; height: 100%; object-fit: cover; }
.pi { padding: 18px 20px 20px; }
.pcat { font-size: 9px; letter-spacing: 3px; text-transform: uppercase; color: var(--gray); margin-bottom: 5px; font-family: var(--fm); }
.pname { font-family: var(--fd); font-size: 20px; letter-spacing: .5px; margin-bottom: 3px; line-height: 1.1; }
.pdose { display: inline-block; font-size: 9px; font-weight: 700; letter-spacing: 1.5px; padding: 3px 10px; border-radius: 2px; margin-bottom: 8px; color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,.4); }
.pdesc { font-size: 12px; color: var(--gray2); line-height: 1.6; margin-bottom: 14px; font-weight: 300; }
.pfoot { display: flex; justify-content: space-between; align-items: center; }
.pprice { font-family: var(--fd); font-size: 20px; letter-spacing: .5px; }
.pprice .woocommerce-Price-amount { font-family: var(--fd); font-size: 20px; }
.atc { background: var(--white); color: var(--bg); border: none; padding: 7px 16px; font-size: 10px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; transition: all .2s; cursor: pointer; }
.atc:hover { background: var(--accent); color: #000; }
.rnote { font-size: 8px; color: var(--gray); letter-spacing: 1px; text-transform: uppercase; margin-top: 9px; }

/* ── PRODUCT DETAIL (PDP) ── */
.pdp-wrap { padding: 48px; }
.pdp-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.pdp-main-img { background: var(--surface); border: 1px solid var(--border2); aspect-ratio: 1; display: flex; align-items: center; justify-content: center; margin-bottom: 12px; overflow: hidden; }
.pdp-main-img img { width: 100%; height: 100%; object-fit: cover; }
.pdp-thumbs { display: flex; gap: 8px; }
.pdp-thumb { width: 64px; height: 64px; background: var(--surface); border: 1px solid var(--border); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: border-color .2s; overflow: hidden; }
.pdp-thumb.active, .pdp-thumb:hover { border-color: var(--accent); }
.pdp-thumb img { width: 100%; height: 100%; object-fit: cover; }
.pdp-sku { font-size: 11px; color: var(--gray); letter-spacing: 2px; font-family: var(--fm); margin-bottom: 12px; }
.pdp-title { font-family: var(--fd); font-size: 52px; letter-spacing: 1px; margin-bottom: 8px; line-height: 1; }
.pdp-price-old { font-size: 18px; color: var(--red); text-decoration: line-through; margin-right: 8px; }
.pdp-price { font-family: var(--fd); font-size: 40px; color: var(--accent); }
.pdp-price .woocommerce-Price-amount { font-family: var(--fd); font-size: 40px; color: var(--accent); }
.pdp-desc-box { background: var(--surface); border: 1px solid var(--border); padding: 20px; margin: 20px 0; font-size: 13px; color: var(--gray2); line-height: 1.8; font-style: italic; }
.pdp-stock { color: var(--accent); font-size: 13px; font-weight: 600; letter-spacing: 1px; margin-bottom: 20px; }
.pdp-qty-row { display: flex; gap: 12px; align-items: center; margin-bottom: 20px; }
.qty-input { background: var(--surface2); border: 1px solid var(--border2); color: var(--white); padding: 12px 16px; font-size: 14px; width: 80px; text-align: center; outline: none; }
.pdp-atc-btn { display:block; width:100%; background: var(--accent); color: #fff; border: none; padding: 20px 24px; font-family:var(--fd); font-size: 26px; letter-spacing: 3px; text-transform: uppercase; transition: all .2s; cursor: pointer; border-radius:10px; box-shadow:0 4px 20px rgba(0,168,130,.35); }
.pdp-atc-btn:hover { background: var(--accent2); box-shadow:0 6px 28px rgba(0,168,130,.5); transform:translateY(-1px); }
.pdp-atc-btn:active { transform:translateY(0); box-shadow:0 2px 10px rgba(0,168,130,.3); }
.acc-tab { border: 1px solid var(--border2); margin-bottom: 8px; }
.acc-tab-header { padding: 14px 18px; cursor: pointer; font-size: 13px; font-weight: 500; letter-spacing: 1px; text-transform: uppercase; display: flex; justify-content: space-between; background: var(--surface); transition: background .2s; }
.acc-tab-header:hover, .acc-tab-header.open { background: var(--accent); color: #000; }
.acc-tab-body { display: none; padding: 24px; background: var(--surface2); border-top: 1px solid var(--border); }
.acc-tab-body.open { display: block; }
.acc-tab-body h3 { font-size: 15px; font-weight: 700; color: var(--accent); margin-bottom: 10px; }
.acc-tab-body h4 { font-size: 13px; font-weight: 600; color: var(--accent); margin: 14px 0 6px; }
.acc-tab-body p, .acc-tab-body li { font-size: 13px; color: var(--gray2); line-height: 1.8; margin-bottom: 6px; }
.acc-tab-body ul { padding-left: 18px; }
.acc-tab-body strong { color: var(--white); }
/* ── PDP IMAGE TABS ── */
.pdp-img-col { display: flex; flex-direction: column; }
.pdp-img-pane { display: none; }
.pdp-img-pane.active { display: block; }
.pdp-img-frame { position: relative; }
.pdp-img-tabs { display: flex; gap: 0; margin-top: 0; }
.pdp-img-tab { flex: 1; background: var(--surface); border: 1px solid var(--border2); padding: 12px 18px; font-size: 11px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; cursor: pointer; color: var(--gray2); transition: all .2s; border-top: none; }
.pdp-img-tab:first-child { border-right: none; }
.pdp-img-tab.active { background: var(--accent); border-color: var(--accent); color: #000; }
/* Badges on product image */
.pdp-badge-sale { position: absolute; top: 14px; left: 14px; background: var(--accent); color: #000; font-size: 11px; font-weight: 700; letter-spacing: 2px; padding: 4px 12px; z-index: 2; }
.pdp-badge-purity { position: absolute; top: 14px; right: 14px; background: rgba(0,168,130,.95); border: 2px solid #fff; color: #fff; font-size: 13px; font-weight: 700; text-align: center; width: 62px; height: 62px; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; z-index: 2; line-height: 1.1; box-shadow: 0 2px 8px rgba(0,0,0,.25); }
.pdp-badge-purity span { font-size: 8px; letter-spacing: 1px; font-weight: 600; color: rgba(255,255,255,.85); }
.pdp-badge-verified { position: absolute; top: 14px; right: 14px; background: var(--accent); color: #000; font-size: 9px; font-weight: 700; letter-spacing: 1.5px; padding: 6px 14px; z-index: 2; display: flex; align-items: center; gap: 6px; border-radius: 40px; }
.pdp-coa-frame img { object-fit: contain !important; padding: 12px; }
.pdp-tap-expand { position: absolute; bottom: 14px; right: 14px; background: var(--accent); color: #000; border: none; font-size: 9px; font-weight: 700; letter-spacing: 2px; padding: 8px 16px; cursor: pointer; z-index: 2; border-radius: 40px; transition: background .2s; }
.pdp-tap-expand:hover { background: var(--accent2); }

.pdp-info-tabs { margin-top: 48px; border-top: 1px solid var(--border); padding-top: 32px; }
.info-tab-btns { display: flex; gap: 2px; }
.info-tab-btn { background: var(--surface); border: 1px solid var(--border); padding: 10px 22px; font-size: 11px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; cursor: pointer; color: var(--gray2); transition: all .2s; border-bottom: none; }
.info-tab-btn.active { background: var(--surface2); border-color: var(--accent); color: var(--accent); }
.info-tab-content { background: var(--surface2); border: 1px solid var(--accent); padding: 28px; }
.info-pane { display: none; }
.info-pane.active { display: block; }
.info-pane h3 { font-size: 16px; font-weight: 700; color: var(--accent); margin-bottom: 12px; }
.info-pane h4 { font-size: 13px; font-weight: 600; color: var(--accent); margin: 16px 0 6px; }
.info-pane p, .info-pane li { font-size: 13px; color: var(--gray2); line-height: 1.8; margin-bottom: 6px; }
.info-pane ul { padding-left: 18px; }

/* ── COA PAGE ── */
.coa-hdr { padding: 64px 48px 40px; border-bottom: 1px solid var(--border); }
.coa-hdr h1 { font-family: var(--fd); font-size: 72px; letter-spacing: 2px; margin-bottom: 8px; }
.coa-verified { display: inline-flex; align-items: center; gap: 8px; margin-top: 20px; font-size: 12px; color: var(--accent); letter-spacing: 2px; text-transform: uppercase; }
.coa-verified::before { content: '✓'; background: var(--accent); color: #000; width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 11px; border-radius: 50%; }
.coa-stats { display: flex; gap: 48px; margin-top: 28px; flex-wrap: wrap; }
.coa-sv { font-family: var(--fd); font-size: 36px; color: var(--accent); }
.coa-sl { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); }
.coa-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--border); padding: 1px; margin: 48px; }
.coa-item { background: var(--surface); padding: 24px; transition: background .2s; }
.coa-item:hover { background: var(--surface2); }
.coa-iname { font-family: var(--fd); font-size: 20px; letter-spacing: .5px; margin-bottom: 4px; }
.coa-idose { display: inline-block; font-size: 9px; font-weight: 600; letter-spacing: 1.5px; padding: 2px 8px; background: var(--accent); color: #000; margin-bottom: 12px; }
.coa-idata { font-family: var(--fm); font-size: 12px; color: var(--accent); margin-bottom: 4px; }
.coa-isub { font-size: 11px; color: var(--gray); margin-bottom: 16px; }
.coa-acc { font-size: 10px; color: var(--gray); font-family: var(--fm); margin-bottom: 10px; }
.coa-vbtn { display: block; background: transparent; border: 1px solid var(--accent); color: var(--accent); padding: 8px 20px; font-size: 10px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; cursor: pointer; transition: all .2s; width: 100%; text-align: center; text-decoration: none; }
.coa-vbtn:hover { background: var(--accent); color: #000; }
.coa-copy-code-btn { background: var(--surface2); border: 1px solid var(--border2); color: var(--gray2); padding: 8px 12px; font-size: 10px; font-family: var(--fm); letter-spacing: 1px; cursor: pointer; transition: all .2s; width: 100%; text-align: left; margin-bottom: 6px; }
.coa-copy-code-btn:hover { border-color: var(--accent); color: var(--accent); }
.coa-search-wrap { margin-top: 28px; max-width: 560px; }
.coa-search { width: 100%; background: var(--surface); border: 1px solid var(--border2); color: var(--white); padding: 14px 20px; font-size: 14px; font-family: var(--fb); outline: none; border-radius: 40px; transition: border-color .2s; }
.coa-search::placeholder { color: var(--gray); }
.coa-search:focus { border-color: var(--accent); }
.coa-item.hidden { display: none; }
.coa-img-wrap { margin-bottom: 16px; cursor: pointer; }
.coa-img-wrap img { width: 100%; height: auto; border: 1px solid var(--border2); }
.coa-expand-btn { background: transparent; border: 1px solid var(--border2); color: var(--gray2); padding: 6px 14px; font-size: 9px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; cursor: pointer; transition: all .2s; width: 100%; margin-bottom: 10px; }
.coa-expand-btn:hover { border-color: var(--accent); color: var(--accent); }
/* Lightbox */
.coa-lightbox { display: none; position: fixed; inset: 0; z-index: 9998; background: rgba(0,0,0,.85); align-items: center; justify-content: center; }
.coa-lightbox.open { display: flex; }
.coa-lightbox img { max-width: 90vw; max-height: 90vh; object-fit: contain; }
.coa-lightbox-close { position: fixed; top: 20px; right: 28px; font-size: 32px; color: var(--white); cursor: pointer; z-index: 9999; background: none; border: none; }

/* ── COA VERIFY BLOCK (PDP) ── */
.coa-verify-block { margin-top: 32px; background: var(--surface); border: 1px solid var(--accent); padding: 24px 28px; }
.coa-verify-header { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 20px; }
.coa-verify-icon { font-size: 22px; color: var(--accent); flex-shrink: 0; }
.coa-verify-title { font-size: 14px; font-weight: 700; color: var(--white); letter-spacing: .5px; margin-bottom: 3px; }
.coa-verify-sub { font-size: 11px; color: var(--gray); letter-spacing: .5px; }
.coa-verify-steps { display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px; }
.coa-verify-step { display: flex; gap: 12px; align-items: flex-start; font-size: 12px; color: var(--gray2); line-height: 1.6; }
.coa-verify-num { background: var(--accent); color: #000; font-size: 10px; font-weight: 700; width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; }
.coa-verify-label { font-size: 9px; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); font-family: var(--fm); margin-bottom: 6px; }
.coa-verify-code-row { margin-bottom: 14px; }
.coa-verify-code { background: var(--surface2); border: 1px solid var(--border2); color: var(--white); padding: 10px 16px; font-size: 13px; font-family: var(--fm); cursor: pointer; width: 100%; text-align: left; display: flex; justify-content: space-between; align-items: center; transition: border-color .2s; letter-spacing: 1px; }
.coa-verify-code:hover { border-color: var(--accent); }
.coa-verify-code.copied { border-color: var(--accent); background: rgba(0,201,160,.08); }
.coa-copy-icon { font-size: 10px; color: var(--accent); letter-spacing: 1.5px; text-transform: uppercase; flex-shrink: 0; margin-left: 12px; }
.coa-code-text { font-family: var(--fm); }
.coa-verify-btn { display: block; background: var(--accent); color: #000; border: none; padding: 13px 20px; font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; text-align: center; cursor: pointer; transition: background .2s; text-decoration: none; }
.coa-verify-btn:hover { background: var(--accent2); color: #000; }
/* COA Page mini verify */
.coa-fd-verify { border-top: 1px solid var(--border2); margin-top: 14px; padding-top: 14px; }
.coa-fd-label { font-size: 9px; letter-spacing: 2px; text-transform: uppercase; color: var(--accent); font-family: var(--fm); margin-bottom: 6px; }
.coa-verify-code--sm { font-size: 11px; padding: 7px 12px; margin-bottom: 8px; }
.coa-fd-link { display: block; text-align: center; font-size: 10px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--accent); padding: 7px; border: 1px solid var(--accent); transition: all .2s; text-decoration: none; margin-top: 4px; }
.coa-fd-link:hover { background: var(--accent); color: #000; }

/* ── HOW TO READ COA PAGE ── */
.htr-page { max-width: 860px; margin: 0 auto; padding: 64px 48px; }
.htr-page h1 { font-family: var(--fd); font-size: 56px; letter-spacing: 1px; margin-bottom: 8px; }
.htr-eyebrow { font-size: 11px; letter-spacing: 3px; color: var(--accent); text-transform: uppercase; font-family: var(--fm); margin-bottom: 16px; }
.htr-toc { background: var(--surface); border: 1px solid var(--border2); padding: 28px 32px; margin: 32px 0 48px; }
.htr-toc h3 { font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: var(--accent); margin-bottom: 16px; font-family: var(--fm); }
.htr-toc ol { padding-left: 20px; }
.htr-toc li { margin-bottom: 6px; }
.htr-toc a { font-size: 13px; color: var(--gray2); transition: color .2s; }
.htr-toc a:hover { color: var(--accent); }
.htr-section { margin-bottom: 48px; }
.htr-section h2 { font-family: var(--fd); font-size: 32px; letter-spacing: .5px; color: var(--white); margin-bottom: 16px; padding-top: 24px; border-top: 1px solid var(--border2); }
.htr-section h3 { font-size: 16px; font-weight: 700; color: var(--accent); margin: 20px 0 8px; }
.htr-section h4 { font-size: 13px; font-weight: 600; color: var(--gray2); text-transform: uppercase; letter-spacing: 1px; margin: 16px 0 6px; }
.htr-section p { font-size: 14px; color: var(--gray2); line-height: 1.9; margin-bottom: 12px; }
.htr-section ul, .htr-section ol { padding-left: 20px; margin-bottom: 12px; }
.htr-section li { font-size: 14px; color: var(--gray2); line-height: 1.8; margin-bottom: 4px; }
.htr-section strong { color: var(--white); }
.htr-table { width: 100%; border-collapse: collapse; margin: 16px 0 24px; font-size: 13px; }
.htr-table th { background: var(--surface2); color: var(--accent); padding: 10px 14px; text-align: left; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; border-bottom: 1px solid var(--border2); }
.htr-table td { padding: 10px 14px; color: var(--gray2); border-bottom: 1px solid var(--border); }
.htr-table tr:last-child td { border-bottom: none; }
.htr-ee-box { background: var(--surface); border: 1px solid var(--accent); padding: 32px; margin-top: 24px; }
.htr-ee-box h3 { font-family: var(--fd); font-size: 28px; color: var(--accent); margin-bottom: 16px; }
.htr-ee-box ul { list-style: none; padding: 0; }
.htr-ee-box li { font-size: 14px; color: var(--gray2); padding: 8px 0; border-bottom: 1px solid var(--border); display: flex; gap: 10px; align-items: flex-start; }
.htr-ee-box li::before { content: '✓'; color: var(--accent); font-weight: 700; flex-shrink: 0; margin-top: 2px; }
.htr-faq { margin-top: 12px; }
.htr-faq-item { border-bottom: 1px solid var(--border2); padding: 16px 0; }
.htr-faq-q { font-size: 14px; font-weight: 600; color: var(--white); margin-bottom: 6px; }
.htr-faq-a { font-size: 13px; color: var(--gray2); line-height: 1.8; }

/* ── CALCULATOR ── */
.calc-page { padding: 64px 48px; }
.calc-page h1 { font-family: var(--fd); font-size: 72px; letter-spacing: 2px; margin-bottom: 8px; }
.calc-box { background: var(--surface); border: 1px solid var(--border2); padding: 40px; margin-bottom: 2px; }
.calc-title { font-family: var(--fd); font-size: 28px; letter-spacing: 1px; margin-bottom: 28px; color: var(--accent); }
.calc-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.calc-col h3 { font-size: 13px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 16px; }
.calc-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.cp { background: var(--surface2); border: 1px solid var(--border2); padding: 6px 14px; font-size: 12px; font-family: var(--fm); cursor: pointer; color: var(--gray2); transition: all .2s; border-radius: 100px; }
.cp:hover { border-color: var(--accent); color: var(--white); }
.cp.sel { background: var(--accent); color: #000; border-color: var(--accent); font-weight: 700; }
.calc-input { width: 100%; background: var(--bg); border: 1px solid var(--border2); color: var(--white); padding: 10px 14px; font-size: 13px; font-family: var(--fm); outline: none; transition: border-color .2s; margin-top: 4px; }
.calc-input:focus { border-color: var(--accent); }
.calc-res { background: var(--surface2); border: 1px solid var(--border2); padding: 40px; margin-bottom: 40px; }
.calc-res-title { font-family: var(--fd); font-size: 28px; letter-spacing: 1px; margin-bottom: 28px; }
.syringe-wrap { margin: 20px 0 32px; width: 100%; }
.syringe-svg-wrap { width: 100%; max-width: 680px; margin: 0 auto; }
.calc-rrows { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--border); }
.crr { background: var(--surface); padding: 18px 22px; }
.crr-lbl { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); font-family: var(--fm); margin-bottom: 4px; }
.crr-val { font-family: var(--fd); font-size: 24px; color: var(--accent); }

/* ── FORMS ── */
.ff { margin-bottom: 20px; }
.ff label { display: block; font-size: 10px; letter-spacing: 3px; text-transform: uppercase; color: var(--gray2); margin-bottom: 8px; font-family: var(--fm); }
.ff input, .ff select, .ff textarea { width: 100%; background: var(--surface2); border: 1px solid var(--border2); color: var(--white); padding: 13px 16px; font-size: 14px; font-family: var(--fb); outline: none; transition: border-color .2s; }
.ff input:focus, .ff select:focus, .ff textarea:focus { border-color: var(--accent); }
.ff select option { background: var(--surface); }
.fcheck { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--gray2); margin-bottom: 20px; }
.fcheck input[type=checkbox] { accent-color: var(--accent); width: 16px; height: 16px; }
.frow { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.sub-btn { background: var(--accent); color: #000; border: none; padding: 14px 32px; font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; transition: all .2s; cursor: pointer; }
.sub-btn:hover { background: var(--accent2); }
.sub-btn.full { width: 100%; }
.flink { color: var(--accent); cursor: pointer; }
.flink:hover { text-decoration: underline; }

/* ── ABOUT ── */
/* ── ABOUT PAGE ── */
.about-page-hero { padding: 80px 48px 60px; text-align: center; border-bottom: 1px solid var(--border); }
.about-page-hero h1 { font-family: var(--fd); font-size: clamp(36px, 5vw, 60px); line-height: 1.1; letter-spacing: .5px; margin-bottom: 24px; }
.about-page-hero h1 em { color: var(--accent); font-style: normal; }
.about-page-hero p { font-size: 15px; color: var(--gray2); line-height: 1.9; max-width: 680px; margin: 0 auto; font-weight: 300; }
.about-mission-box { background: var(--surface); border: 1px solid var(--border2); margin: 48px; padding: 48px; text-align: center; }
.about-mission-box h2 { font-family: var(--fd); font-size: 36px; letter-spacing: 1px; color: var(--accent); margin-bottom: 20px; }
.about-mission-box p { font-size: 15px; color: var(--gray2); line-height: 1.9; max-width: 640px; margin: 0 auto; font-weight: 300; }
.about-values-section { padding: 64px 48px; text-align: center; }
.about-values-section h2 { font-family: var(--fd); font-size: 48px; letter-spacing: 1px; margin-bottom: 8px; }
.about-values-sub { font-size: 14px; color: var(--gray); margin-bottom: 40px; }
.about-values-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--border); text-align: left; }
.about-value-card { background: var(--surface); padding: 32px 28px; transition: background .2s; }
.about-value-card:hover { background: var(--surface2); }
.about-value-icon { font-size: 20px; color: var(--accent); margin-bottom: 16px; }
.about-value-card h3 { font-size: 13px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 12px; color: var(--white); }
.about-value-card p { font-size: 13px; color: var(--gray2); line-height: 1.7; font-weight: 300; }
.about-story-section { padding: 64px 48px; border-top: 1px solid var(--border); }
.about-story-section h2 { font-family: var(--fd); font-size: 48px; letter-spacing: 1px; margin-bottom: 8px; text-align: center; }
.about-timeline { max-width: 760px; margin: 40px auto 0; display: flex; flex-direction: column; gap: 0; }
.about-timeline-item { border-left: 2px solid var(--accent); padding: 0 0 40px 32px; position: relative; }
.about-timeline-item:last-child { padding-bottom: 0; }
.about-timeline-item::before { content: ''; width: 10px; height: 10px; background: var(--accent); border-radius: 50%; position: absolute; left: -6px; top: 4px; }
.about-tl-label { font-size: 9px; letter-spacing: 3px; text-transform: uppercase; color: var(--accent); font-family: var(--fm); margin-bottom: 8px; }
.about-timeline-item h3 { font-size: 18px; font-weight: 700; color: var(--white); margin-bottom: 12px; }
.about-timeline-item p { font-size: 14px; color: var(--gray2); line-height: 1.8; font-weight: 300; }
.about-stats-bar { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--border); }
.about-stat { background: var(--surface2); padding: 40px 28px; text-align: center; }
.about-stat-icon { font-size: 22px; color: var(--accent); margin-bottom: 12px; }
.about-stat-val { font-size: 15px; font-weight: 700; color: var(--white); margin-bottom: 4px; }
.about-stat-lbl { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); }
.about-cta { padding: 80px 48px; text-align: center; border-top: 1px solid var(--border); }
.about-cta h2 { font-family: var(--fd); font-size: 48px; letter-spacing: 1px; margin-bottom: 16px; }
.about-cta p { font-size: 15px; color: var(--gray2); max-width: 520px; margin: 0 auto; line-height: 1.8; }
/* Legacy about selectors */
.about-hero { padding: 100px 48px; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.about-hero h1 { font-family: var(--fd); font-size: clamp(56px, 7vw, 96px); line-height: .88; }
.stds { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--border); }
.std { background: var(--surface); padding: 40px 36px; }
.mission { padding: 80px 48px; max-width: 800px; }

/* ── CONTACT ── */
.contact-page { display: grid; grid-template-columns: 1fr 1fr; min-height: calc(100vh - 96px); }
.ci-col { padding: 64px 56px; border-right: 1px solid var(--border); }
.ci-col h1 { font-family: var(--fd); font-size: 72px; letter-spacing: 2px; margin-bottom: 48px; }
.cd { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 32px; }
.cd-icon { width: 44px; height: 44px; background: var(--surface2); border: 1px solid var(--border2); display: flex; align-items: center; justify-content: center; font-size: 18px; flex-shrink: 0; }
.cd-lbl { font-size: 10px; letter-spacing: 3px; text-transform: uppercase; color: var(--accent); font-family: var(--fm); margin-bottom: 4px; }
.cd-val { font-size: 15px; font-weight: 300; }
.cf-col { padding: 64px 56px; }
.cf-col h2 { font-family: var(--fd); font-size: 36px; letter-spacing: 2px; margin-bottom: 32px; }

/* ── WOOCOMMERCE OVERRIDES ── */
.woocommerce-notices-wrapper { padding: 0 48px; }
.woocommerce-message, .woocommerce-info { background: var(--surface); border-top: 3px solid var(--accent); color: var(--white); padding: 14px 18px; margin-bottom: 16px; }
.woocommerce-error { background: var(--surface); border-top: 3px solid var(--red); color: var(--red); padding: 14px 18px; margin-bottom: 16px; }

/* ── WC CHECKOUT ── */
.woocommerce-checkout { padding: 48px; }
.woocommerce-checkout h3 { font-family: var(--fd); font-size: 28px; letter-spacing: 1px; color: var(--accent); margin-bottom: 20px; }
.woocommerce-checkout .form-row label { display: block; font-size: 10px; letter-spacing: 3px; text-transform: uppercase; color: var(--gray2); margin-bottom: 8px; font-family: var(--fm); }
.woocommerce-checkout .form-row input, .woocommerce-checkout .form-row select { width: 100%; background: var(--surface2); border: 1px solid var(--border2); color: var(--white); padding: 13px 16px; font-size: 14px; font-family: var(--fb); outline: none; }
.woocommerce-checkout .form-row input:focus { border-color: var(--accent); }
#place_order { background: var(--accent); color: #000; border: none; padding: 18px 36px; font-size: 14px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; cursor: pointer; width: 100%; transition: all .2s; }
#place_order:hover { background: var(--accent2); }

/* ── WC CART PAGE ── */
.woocommerce-cart .woocommerce { padding: 48px; }
.woocommerce table.shop_table { width: 100%; border-collapse: collapse; background: var(--surface); }
.woocommerce table.shop_table th { font-size: 10px; letter-spacing: 3px; text-transform: uppercase; color: var(--gray); padding: 12px; border-bottom: 1px solid var(--border); font-weight: 500; background: transparent; }
.woocommerce table.shop_table td { padding: 16px 12px; border-bottom: 1px solid var(--border); color: var(--white); background: transparent; }
.woocommerce table.shop_table .cart_item td { background: transparent; }
.woocommerce .cart-collaterals h2 { font-family: var(--fd); font-size: 28px; letter-spacing: 1px; color: var(--accent); margin-bottom: 20px; }
.woocommerce .cart-collaterals { background: var(--surface); border: 1px solid var(--border2); padding: 28px; }
.woocommerce .cart-collaterals .cart_totals { width: 100%; float: none; }
.woocommerce-cart-form .button { background: var(--surface2); color: var(--white); border: 1px solid var(--border2); padding: 10px 20px; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; cursor: pointer; transition: all .2s; }
.woocommerce a.button.checkout-button { background: var(--accent); color: #000; border: none; padding: 14px 28px; font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; display: block; text-align: center; width: 100%; transition: all .2s; }
.woocommerce a.button.checkout-button:hover { background: var(--accent2); color: #000; }
.woocommerce .quantity input { background: var(--surface2); border: 1px solid var(--border2); color: var(--white); padding: 8px 12px; font-size: 14px; width: 70px; text-align: center; outline: none; }
.woocommerce td.product-remove a { color: var(--gray); font-size: 18px; }
.woocommerce td.product-remove a:hover { color: var(--red); }

/* ── FOOTER ── */
/* ── FOOTER CARDS ── */
.site-footer { background: var(--bg); }
.disc-bar { background: var(--surface); border-top: 1px solid var(--border); padding: 10px 48px; }
.disc-bar p { font-size: 10px; color: var(--gray); letter-spacing: 1px; text-transform: uppercase; text-align: center; }
.ft-cards { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 20px; padding: 40px 48px; background: var(--surface); border-top: 1px solid var(--border); }
.ft-card { background: var(--bg); border: 1px solid var(--border); border-radius: 8px; padding: 28px 24px; }
.ft-card-brand { display: flex; flex-direction: column; gap: 12px; }
.ft-logo-text { font-family: var(--fd); font-size: 22px; letter-spacing: 4px; color: var(--white); }
.ft-logo-text span { color: var(--accent); }
.ft-tagline { font-size: 13px; color: var(--gray); line-height: 1.7; font-weight: 300; }
.ft-card-title { font-size: 11px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--white); margin-bottom: 18px; text-align: center; }
.ft-card-links { display: flex; flex-direction: column; gap: 0; text-align: center; }
.ft-card-links a { font-size: 13px; color: var(--gray); padding: 6px 0; display: block; transition: color .2s; border-bottom: 1px solid var(--border); }
.ft-card-links a:last-child { border-bottom: none; }
.ft-card-links a:hover { color: var(--accent); }
.ft-contact-lines { display: flex; flex-direction: column; gap: 10px; }
.ft-contact-lines p { font-size: 13px; color: var(--gray); }

/* ── DARK LEGAL BOTTOM ── */
.ft-legal-bottom { background: #0d1117; padding: 32px 48px; text-align: center; }
.ft-copyright { font-size: 12px; color: #6b7582; margin-bottom: 20px; }
.ft-legal-notice { max-width: 900px; margin: 0 auto; }
.ft-legal-title { font-size: 13px; color: #9aa3ad; margin-bottom: 14px; }
.ft-legal-notice p { font-size: 11px; color: #5a6472; line-height: 1.9; margin-bottom: 10px; letter-spacing: .3px; }

/* ── UPSELL POPUP ── */
.upsell-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.75);
  z-index: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.upsell-modal {
  background: var(--surface);
  border: 1px solid var(--accent);
  max-width: 860px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  padding: 40px;
  position: relative;
  animation: fadeUp .3s ease both;
}
.upsell-close {
  position: absolute;
  top: 16px;
  right: 20px;
  background: none;
  border: none;
  color: var(--gray2);
  font-size: 20px;
  cursor: pointer;
}
.upsell-close:hover { color: var(--white); }
.upsell-title {
  font-family: var(--fd);
  font-size: 36px;
  letter-spacing: 2px;
  margin-bottom: 8px;
  text-align: center;
}
.upsell-sub {
  font-size: 13px;
  color: var(--gray2);
  text-align: center;
  margin-bottom: 28px;
}
.upsell-section-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--white);
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border);
}
.upsell-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.upsell-item {
  background: var(--surface2);
  border: 1px solid var(--border2);
  padding: 16px;
  text-align: center;
  transition: border-color .2s;
}
.upsell-item:hover { border-color: var(--accent); }
.upsell-item img {
  width: 100%;
  height: 120px;
  object-fit: cover;
  margin-bottom: 10px;
}
.upsell-item-name {
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 6px;
  line-height: 1.3;
  color: var(--white);
}
.upsell-item-price {
  font-family: var(--fd);
  font-size: 20px;
  color: var(--accent);
  margin-bottom: 12px;
}
.upsell-item-price .woocommerce-Price-amount { font-family: var(--fd); font-size: 20px; }
.upsell-atc {
  width: 100%;
  background: var(--accent);
  color: #000;
  border: none;
  padding: 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .2s;
}
.upsell-atc:hover { background: var(--accent2); }
.upsell-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--border);
}
.upsell-keep-shopping {
  background: transparent;
  color: var(--gray2);
  border: 1px solid var(--border2);
  padding: 12px 24px;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .2s;
}
.upsell-keep-shopping:hover { border-color: var(--white); color: var(--white); }
.upsell-checkout-btn {
  background: var(--accent);
  color: #000;
  padding: 14px 32px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  transition: all .2s;
  display: inline-block;
}
.upsell-checkout-btn:hover { background: var(--accent2); color: #000; }

@media (max-width: 768px) {
  .upsell-modal { padding: 24px 16px; }
  .upsell-grid { grid-template-columns: repeat(2, 1fr); }
  .upsell-footer { flex-direction: column; gap: 12px; }
  .upsell-keep-shopping, .upsell-checkout-btn { width: 100%; text-align: center; }
}

/* ── SHIPPING PROTECTION TOOLTIP ── */
.sp-fee-wrap { display: inline-flex; align-items: center; gap: 6px; }
.sp-tooltip-trigger { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; background: var(--accent); color: #000; border-radius: 50%; font-size: 10px; font-weight: 700; cursor: pointer; position: relative; flex-shrink: 0; }
.sp-tooltip { display: none; position: absolute; bottom: calc(100% + 10px); left: 50%; transform: translateX(-50%); background: var(--accent); color: #000; font-size: 12px; font-weight: 500; line-height: 1.6; padding: 16px 18px; width: 280px; text-align: center; z-index: 999; border-radius: 6px; pointer-events: none; }
.sp-tooltip::after { content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); border: 7px solid transparent; border-top-color: var(--accent); }
.sp-tooltip-trigger:hover .sp-tooltip,
.sp-tooltip-trigger:focus .sp-tooltip { display: block; }

/* ── TOAST ── */
.toast { position: fixed; bottom: 28px; right: 28px; background: var(--accent); color: #000; padding: 13px 22px; font-size: 12px; font-weight: 700; letter-spacing: 1px; z-index: 999; transform: translateY(80px); opacity: 0; transition: all .3s; }
.toast.show { transform: translateY(0); opacity: 1; }

/* ── OVERLAY ── */
.cart-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.4); z-index: 499; display: none; }
.cart-overlay.open { display: block; }

/* ── PAGE HEADERS ── */
.page-header { padding: 64px 48px 40px; border-bottom: 1px solid var(--border); }
.page-header h1 { font-family: var(--fd); font-size: 72px; letter-spacing: 2px; margin-bottom: 8px; }
.page-header p { color: var(--gray2); font-size: 14px; max-width: 600px; }

/* ── MOBILE ── */
@media (max-width: 768px) {
  nav.site-nav { padding: 0 16px; height: 60px; }
  .nav-links { display: none; }
  .nav-logo { flex-shrink: 0; }
  .nav-logo-text { font-size: 13px; letter-spacing: 2px; white-space: normal; line-height: 1.1; }
  .nav-logo-sub { display: none; }
  .nav-right { flex-shrink: 0; gap: 8px; }
  .cart-btn { padding: 6px 10px; font-size: 10px; }
  .lang-toggle { padding: 5px 8px; font-size: 10px; letter-spacing: 0; }
  .hamburger { display: flex; }
  .ticker-item { padding: 0 20px; font-size: 10px; }
  .research-notice-bar { font-size: 9px; letter-spacing: 1px; padding: 7px 16px; }
  .ag-box { padding: 32px 24px; }
  .ag-box h2 { font-size: 24px; }
  .ag-btns { flex-direction: column; }
  .btn-yes, .btn-no { padding: 14px 24px; width: 100%; }
  .hero { padding: 48px 20px 40px; min-height: auto; }
  .hero h1 { font-size: clamp(44px, 13vw, 72px); }
  .hero-sub { font-size: 14px; }
  .hero-actions { flex-direction: column; align-items: center; }
  .btn-primary, .btn-ghost { width: 100%; text-align: center; padding: 14px 20px; }
  .stats-bar { grid-template-columns: repeat(2, 1fr); }
  .sbi { padding: 20px 16px; }
  .sbi-num { font-size: 32px; }
  .section { padding: 40px 16px; }
  .sec-title { font-size: 36px; }
  .cat-tab { padding: 8px 14px; font-size: 10px; letter-spacing: 1px; }
  .products-grid, ul.products { grid-template-columns: repeat(2, 1fr) !important; }
  .pname { font-size: 14px; }
  .pdesc { font-size: 10px; }
  .pi { padding: 10px 12px 12px; }
  #side-cart { width: 100%; right: -100%; }
  .pdp-wrap { padding: 20px 16px; }
  .pdp-layout { grid-template-columns: 1fr; gap: 28px; }
  .pdp-title { font-size: 36px; }
  .pdp-qty-row { flex-direction: column; }
  .pdp-atc-btn { width: 100%; }
  .frow { grid-template-columns: 1fr; }
  .coa-hdr { padding: 32px 16px 24px; }
  .coa-hdr h1 { font-size: 48px; }
  .coa-grid { grid-template-columns: 1fr; margin: 24px 16px; }
  .calc-page { padding: 32px 16px; }
  .calc-page h1 { font-size: 48px; }
  .calc-box, .calc-res { padding: 20px 16px; }
  .calc-row { grid-template-columns: 1fr; gap: 24px; }
  .calc-rrows { grid-template-columns: 1fr 1fr; }
  .about-hero { grid-template-columns: 1fr; padding: 48px 20px; gap: 32px; }
  .about-page-hero { padding: 48px 20px 40px; }
  .about-mission-box { margin: 24px 16px; padding: 32px 20px; }
  .about-values-section { padding: 40px 16px; }
  .about-values-grid { grid-template-columns: 1fr 1fr; }
  .about-story-section { padding: 40px 20px; }
  .about-stats-bar { grid-template-columns: repeat(2,1fr); }
  .about-cta { padding: 48px 20px; }
  .about-cta h2 { font-size: 36px; }
  .stds { grid-template-columns: 1fr; }
  .mission { padding: 40px 20px; }
  .contact-page { grid-template-columns: 1fr; }
  .ci-col { padding: 40px 20px; border-right: none; border-bottom: 1px solid var(--border); }
  .ci-col h1 { font-size: 48px; margin-bottom: 28px; }
  .cf-col { padding: 32px 20px; }
  .ft-cards { grid-template-columns: 1fr 1fr; gap: 12px; padding: 24px 16px; }
  .ft-card-brand { grid-column: span 2; }
  .ft-legal-bottom { padding: 24px 16px; }
  .disc-bar { padding: 10px 16px; }
  .stat-row { display: grid; grid-template-columns: repeat(2, 1fr); }
  .woocommerce-checkout, .woocommerce-cart .woocommerce { padding: 20px 16px; }
  .page-header { padding: 32px 16px 24px; }
  .page-header h1 { font-size: 48px; }
}

@media (max-width: 480px) {
  .calc-rrows { grid-template-columns: 1fr; }
  .hero h1 { font-size: 52px; }
  .products-grid, ul.products { grid-template-columns: repeat(2, 1fr) !important; }
  .pname { font-size: 13px; }
  .pdose { font-size: 9px; padding: 2px 6px; }
  .pprice { font-size: 14px; }
  .pprice .woocommerce-Price-amount { font-size: 14px; }
  .atc, .ee-add-to-cart.atc { font-size: 10px; padding: 7px 10px; }
}

/* ── POLICY PAGES ─────────────────────────────────────────── */
.policy-page { max-width: 860px; margin: 0 auto; padding: 60px 48px 80px; }
.policy-inner h1 { font-family: var(--fd); font-size: 52px; letter-spacing: 4px; color: var(--white); margin-bottom: 6px; }
.policy-effective { font-size: 13px; color: var(--gray); margin-bottom: 32px; }
.policy-inner h2 { font-family: var(--fd); font-size: 22px; letter-spacing: 2px; color: var(--white); margin: 36px 0 12px; border-bottom: 1px solid var(--border); padding-bottom: 8px; }
.policy-inner h3 { font-size: 15px; font-weight: 700; color: var(--white); margin: 20px 0 8px; }
.policy-inner p { font-size: 14px; color: var(--gray); line-height: 1.9; margin-bottom: 14px; }
.policy-inner ul { margin: 0 0 16px 24px; }
.policy-inner ul li { font-size: 14px; color: var(--gray); line-height: 1.8; margin-bottom: 4px; }
.policy-notice { background: rgba(0,168,130,.08); border: 1px solid rgba(0,168,130,.3); border-radius: 6px; padding: 18px 22px; margin: 24px 0; font-size: 14px; color: var(--gray2); line-height: 1.8; }
.policy-contact-block { background: var(--surface); border: 1px solid var(--border); border-radius: 6px; padding: 22px 26px; margin: 16px 0 24px; font-size: 14px; color: var(--gray); line-height: 2; }
.policy-contact-block a { color: var(--accent); }
.policy-contact-block strong { color: var(--white); }
.policy-governing { font-size: 13px; color: var(--gray); font-style: italic; margin-top: 32px; border-top: 1px solid var(--border); padding-top: 20px; }
@media (max-width: 768px) {
  .policy-page { padding: 32px 20px 60px; }
  .policy-inner h1 { font-size: 36px; }
}

/* ── TOOL PAGES (Order Calc, Protocol Planner, Peptide Log) ──────────────── */
.tool-page { padding: 0 0 80px; }
.tool-hero { padding: 48px 48px 32px; border-bottom: 1px solid var(--border); margin-bottom: 40px; }
.tool-hero h1 { font-family: var(--fd); font-size: 52px; letter-spacing: 4px; color: var(--white); margin-bottom: 8px; }
.tool-hero p { font-size: 14px; color: var(--gray); }

/* ── ORDER CALCULATOR ────────────────────────────────────────────────────── */
.oc-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; padding: 0 48px; }
.oc-section-label { font-size: 11px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--gray); margin-bottom: 24px; }
.oc-config { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 32px; }
.oc-results { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 32px; }
.oc-field { margin-bottom: 24px; }
.oc-field label { display: block; font-size: 12px; font-weight: 600; letter-spacing: 1px; color: var(--gray2); margin-bottom: 8px; text-transform: uppercase; }
.oc-field input[type="number"], .oc-field input[list] { width: 100%; background: var(--bg); border: 1px solid var(--border2); color: var(--white); padding: 10px 14px; font-size: 14px; font-family: var(--fb); outline: none; border-radius: 4px; transition: border-color .2s; }
.oc-field input:focus { border-color: var(--accent); }
.oc-input-unit { display: flex; gap: 8px; align-items: center; }
.oc-input-unit input { flex: 1; }
.oc-unit-toggle { display: flex; border: 1px solid var(--border2); border-radius: 4px; overflow: hidden; }
.oc-unit { background: transparent; border: none; color: var(--gray); padding: 8px 14px; font-size: 12px; font-weight: 700; letter-spacing: 1px; cursor: pointer; transition: all .2s; }
.oc-unit.active { background: var(--accent); color: #fff; }
.oc-unit-label { font-size: 13px; color: var(--gray); font-weight: 600; white-space: nowrap; }
.oc-btn-group { display: flex; gap: 6px; flex-wrap: wrap; }
.oc-opt { background: var(--bg); border: 1px solid var(--border2); color: var(--gray); padding: 8px 16px; font-size: 13px; font-weight: 600; cursor: pointer; border-radius: 4px; transition: all .2s; }
.oc-opt.active { background: var(--accent); border-color: var(--accent); color: #fff; }
.oc-opt:hover:not(.active) { border-color: var(--accent); color: var(--accent); }
.oc-total-box { background: var(--bg); border: 1px solid var(--border); border-radius: 8px; padding: 28px; text-align: center; }
.oc-total-label { font-size: 11px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--gray); margin-bottom: 12px; }
.oc-total-val { font-family: var(--fd); font-size: 64px; letter-spacing: 2px; color: var(--white); line-height: 1; }
.oc-total-unit { font-size: 24px; color: var(--gray); }
.oc-total-sub { font-size: 12px; color: var(--gray); margin-top: 10px; }
.oc-vials { display: flex; flex-direction: column; gap: 10px; margin-top: 16px; }
.oc-vial-row { display: flex; align-items: center; justify-content: space-between; background: var(--bg); border: 1px solid var(--border); border-radius: 6px; padding: 14px 18px; }
.oc-vial-row.best { border-color: var(--accent); }
.oc-vial-info { display: flex; align-items: center; gap: 12px; }
.oc-vial-count { font-family: var(--fd); font-size: 24px; color: var(--white); }
.oc-vial-size { font-size: 14px; font-weight: 600; color: var(--white); }
.oc-vial-yield { font-size: 12px; color: var(--gray); }
.oc-best-badge { font-size: 10px; font-weight: 700; letter-spacing: 1.5px; background: var(--accent); color: #fff; padding: 4px 10px; border-radius: 3px; }
.oc-disclaimer { font-size: 11px; color: var(--gray); margin-top: 24px; font-style: italic; line-height: 1.7; }

/* ── PROTOCOL PLANNER ────────────────────────────────────────────────────── */
.pp-wrap { display: grid; grid-template-columns: 300px 1fr; gap: 24px; padding: 0 48px; }
.pp-sidebar { display: flex; flex-direction: column; gap: 16px; }
.pp-add-btn { background: var(--accent); color: #fff; border: none; padding: 12px 20px; font-size: 13px; font-weight: 700; letter-spacing: 1px; cursor: pointer; border-radius: 6px; transition: background .2s; }
.pp-add-btn:hover { background: var(--accent2); }
.pp-protocol-list { display: flex; flex-direction: column; gap: 10px; }
.pp-empty { font-size: 13px; color: var(--gray); text-align: center; padding: 24px 0; }
.pp-proto-card { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 14px; display: flex; gap: 10px; align-items: flex-start; overflow: hidden; position: relative; }
.pp-proto-bar { width: 4px; border-radius: 2px; flex-shrink: 0; align-self: stretch; }
.pp-proto-info { flex: 1; min-width: 0; }
.pp-proto-name { font-size: 14px; font-weight: 700; color: var(--white); }
.pp-proto-detail { font-size: 12px; color: var(--gray); margin-top: 2px; }
.pp-proto-dates { font-size: 11px; color: var(--gray); margin-top: 4px; }
.pp-proto-notes { font-size: 11px; color: var(--gray); margin-top: 4px; font-style: italic; }
.pp-proto-actions { display: flex; gap: 6px; flex-shrink: 0; }
.pp-edit-btn, .pp-del-btn { background: transparent; border: 1px solid var(--border2); color: var(--gray); padding: 4px 8px; font-size: 11px; cursor: pointer; border-radius: 3px; transition: all .2s; }
.pp-edit-btn:hover { border-color: var(--accent); color: var(--accent); }
.pp-del-btn:hover { border-color: var(--red); color: var(--red); }
.pp-main { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 24px; }
.pp-cal-nav { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.pp-cal-title { font-family: var(--fd); font-size: 22px; letter-spacing: 3px; color: var(--white); }
.pp-nav-btn { background: transparent; border: 1px solid var(--border2); color: var(--gray); padding: 6px 14px; font-size: 16px; cursor: pointer; border-radius: 4px; transition: all .2s; }
.pp-nav-btn:hover { border-color: var(--accent); color: var(--accent); }
.pp-cal-head { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; margin-bottom: 4px; }
.pp-cal-head span { text-align: center; font-size: 11px; font-weight: 700; letter-spacing: 1.5px; color: var(--gray); padding: 6px 0; }
.pp-cal-body { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.pp-day { background: var(--bg); border: 1px solid var(--border); border-radius: 4px; padding: 6px 4px; min-height: 64px; }
.pp-day-empty { background: transparent; border-color: transparent; }
.pp-day-today { border-color: var(--accent); }
.pp-day-num { font-size: 12px; font-weight: 600; color: var(--gray2); display: block; margin-bottom: 4px; }
.pp-day-today .pp-day-num { color: var(--accent); }
.pp-day-dots { display: flex; flex-wrap: wrap; gap: 2px; }
.pp-dot { width: 8px; height: 8px; border-radius: 50%; display: block; }
.pp-legend { display: flex; flex-direction: column; gap: 8px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--border); }
.pp-leg-item { display: flex; align-items: center; gap: 10px; font-size: 12px; color: var(--gray); }
.pp-leg-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
.pp-leg-dates { margin-left: auto; color: var(--gray); font-size: 11px; }

/* ── MODAL (shared) ──────────────────────────────────────────────────────── */
.pp-modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.6); z-index: 9999; display: flex; align-items: center; justify-content: center; }
.pp-modal { background: var(--bg); border: 1px solid var(--border); border-radius: 10px; width: 520px; max-width: 95vw; max-height: 90vh; overflow-y: auto; }
.pp-modal-header { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; border-bottom: 1px solid var(--border); }
.pp-modal-header h3 { font-family: var(--fd); font-size: 20px; letter-spacing: 2px; color: var(--white); }
.pp-modal-close { background: transparent; border: none; color: var(--gray); font-size: 18px; cursor: pointer; }
.pp-modal-body { padding: 24px; display: flex; flex-direction: column; gap: 16px; }
.pp-form-field { display: flex; flex-direction: column; gap: 6px; }
.pp-form-field label { font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--gray2); }
.pp-form-field input, .pp-form-field select, .pp-form-field textarea { background: var(--surface); border: 1px solid var(--border2); color: var(--white); padding: 10px 14px; font-size: 14px; font-family: var(--fb); outline: none; border-radius: 4px; transition: border-color .2s; width: 100%; }
.pp-form-field input:focus, .pp-form-field select:focus, .pp-form-field textarea:focus { border-color: var(--accent); }
.pp-form-field select option { background: var(--bg); }
.pp-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pp-day-checks { display: flex; flex-wrap: wrap; gap: 8px; }
.pp-day-check { display: flex; align-items: center; gap: 4px; font-size: 12px; color: var(--gray); cursor: pointer; }
.pp-color-picks { display: flex; gap: 8px; flex-wrap: wrap; }
.pp-color-pick { width: 28px; height: 28px; border-radius: 50%; border: 3px solid transparent; cursor: pointer; transition: border-color .2s; }
.pp-color-pick.active { border-color: var(--white); }
.pp-modal-footer { display: flex; gap: 12px; justify-content: flex-end; padding: 16px 24px; border-top: 1px solid var(--border); }
.pp-cancel-btn { background: transparent; border: 1px solid var(--border2); color: var(--gray); padding: 10px 20px; font-size: 13px; font-weight: 600; cursor: pointer; border-radius: 4px; }
.pp-save-btn { background: var(--accent); color: #fff; border: none; padding: 10px 24px; font-size: 13px; font-weight: 700; letter-spacing: 1px; cursor: pointer; border-radius: 4px; transition: background .2s; }
.pp-save-btn:hover { background: var(--accent2); }

/* ── PEPTIDE LOG ─────────────────────────────────────────────────────────── */
.pl-wrap { padding: 0 48px; }
.pl-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 28px; }
.pl-stat { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 20px; text-align: center; }
.pl-stat-val { display: block; font-family: var(--fd); font-size: 36px; letter-spacing: 2px; color: var(--white); }
.pl-stat-lbl { display: block; font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); margin-top: 4px; }
.pl-controls { display: flex; gap: 12px; align-items: center; margin-bottom: 20px; }
.pl-search { flex: 1; background: var(--surface); border: 1px solid var(--border2); color: var(--white); padding: 10px 16px; font-size: 14px; font-family: var(--fb); outline: none; border-radius: 4px; transition: border-color .2s; }
.pl-search:focus { border-color: var(--accent); }
.pl-filter { background: var(--surface); border: 1px solid var(--border2); color: var(--gray2); padding: 10px 14px; font-size: 13px; font-family: var(--fb); outline: none; border-radius: 4px; cursor: pointer; }
.pl-log-btn { background: var(--accent); color: #fff; border: none; padding: 10px 20px; font-size: 13px; font-weight: 700; letter-spacing: 1px; cursor: pointer; border-radius: 4px; white-space: nowrap; transition: background .2s; }
.pl-log-btn:hover { background: var(--accent2); }
.pl-table-wrap { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
.pl-table { width: 100%; border-collapse: collapse; }
.pl-table th { font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--gray); padding: 14px 16px; text-align: left; border-bottom: 1px solid var(--border); background: var(--bg); }
.pl-table td { font-size: 13px; color: var(--gray2); padding: 12px 16px; border-bottom: 1px solid var(--border); }
.pl-table tr:last-child td { border-bottom: none; }
.pl-table tr:hover td { background: var(--bg); }
.pl-table td strong { color: var(--white); }
.pl-notes-cell { max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pl-action-cell { white-space: nowrap; }
.pl-edit-btn, .pl-del-btn { background: transparent; border: 1px solid var(--border2); color: var(--gray); padding: 4px 8px; font-size: 12px; cursor: pointer; border-radius: 3px; margin-left: 4px; transition: all .2s; }
.pl-edit-btn:hover { border-color: var(--accent); color: var(--accent); }
.pl-del-btn:hover { border-color: var(--red); color: var(--red); }
.pl-empty { text-align: center; padding: 48px; font-size: 14px; color: var(--gray); }

/* ── RESPONSIVE ──────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .oc-wrap { grid-template-columns: 1fr; }
  .pp-wrap { grid-template-columns: 1fr; }
  .pl-stats { grid-template-columns: repeat(2, 1fr); }
  .tool-hero { padding: 32px 20px 24px; }
  .tool-hero h1 { font-size: 36px; }
  .oc-wrap, .pp-wrap, .pl-wrap { padding: 0 20px; }
}

/* ── TOOLS LANDING PAGE ──────────────────────────────────── */
.tools-landing { padding-bottom: 0; }
.tl-hero { padding: 60px 48px 48px; text-align: center; border-bottom: 1px solid var(--border); }
.tl-hero h1 { font-family: var(--fd); font-size: 56px; letter-spacing: 6px; color: var(--white); margin-bottom: 12px; }
.tl-hero p { font-size: 15px; color: var(--gray); max-width: 560px; margin: 0 auto; line-height: 1.8; }
.tl-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; padding: 48px; }
.tl-card { display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--border); border-radius: 10px; padding: 32px; text-decoration: none; transition: border-color .2s, transform .2s; }
.tl-card:hover { border-color: var(--accent); transform: translateY(-3px); }
.tl-card-icon { margin-bottom: 20px; }
.tl-card-body h2 { font-family: var(--fd); font-size: 26px; letter-spacing: 2px; color: var(--white); margin-bottom: 10px; }
.tl-card-body p { font-size: 13px; color: var(--gray); line-height: 1.8; flex: 1; }
.tl-card-cta { display: inline-block; margin-top: 24px; font-size: 12px; font-weight: 700; letter-spacing: 2px; color: var(--accent); text-transform: uppercase; }
.tl-install { background: var(--surface); border-top: 1px solid var(--border); padding: 64px 48px; }
.tl-install-inner { max-width: 860px; margin: 0 auto; }
.tl-install h2 { font-family: var(--fd); font-size: 42px; letter-spacing: 4px; color: var(--white); margin-bottom: 12px; }
.tl-install > .tl-install-inner > p { font-size: 14px; color: var(--gray); line-height: 1.8; margin-bottom: 40px; max-width: 560px; }
.tl-install-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 32px; }
.tl-platform { background: var(--bg); border: 1px solid var(--border); border-radius: 8px; padding: 28px; }
.tl-platform-title { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 700; color: var(--white); margin-bottom: 20px; letter-spacing: 0.5px; }
.tl-steps { padding-left: 20px; margin: 0; }
.tl-steps li { font-size: 13px; color: var(--gray); line-height: 1.9; margin-bottom: 4px; }
.tl-steps li strong { color: var(--white); }
.tl-icon-inline { display: inline-flex; align-items: center; justify-content: center; background: var(--surface); border: 1px solid var(--border); border-radius: 4px; padding: 2px 6px; font-size: 12px; margin: 0 2px; }
.tl-install-note { font-size: 12px; color: var(--gray); line-height: 1.9; padding: 20px 24px; background: rgba(0,168,130,.06); border: 1px solid rgba(0,168,130,.2); border-radius: 6px; }
.btn-app { display: flex; align-items: center; gap: 6px; }
@media (max-width: 900px) {
  .tl-cards { grid-template-columns: 1fr; padding: 24px 20px; }
  .tl-install { padding: 40px 20px; }
  .tl-install-steps { grid-template-columns: 1fr; }
  .tl-hero { padding: 40px 20px 32px; }
  .tl-hero h1 { font-size: 36px; }
}

/* ── TOOLS LOGIN BADGE ───────────────────────────────────── */
.tl-card { position: relative; }
.tl-login-badge { position: absolute; top: 16px; right: 16px; font-size: 10px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; background: rgba(239,68,68,.15); color: #ef4444; border: 1px solid rgba(239,68,68,.3); border-radius: 4px; padding: 3px 8px; }

/* ── Checkout Research Field ── */
.ee-research-note{font-size:11px;color:#9aa3ad;margin-top:-8px;margin-bottom:16px;}
#ee_research_field_wrap select{background:#1a1f27;color:#e6edf3;border:1px solid #30363d;border-radius:6px;padding:10px 14px;width:100%;font-family:var(--fb);}

/* ── Checkout Disclaimer ── */
.ee-checkout-disclaimer{background:rgba(255,193,7,.08);border:1px solid rgba(255,193,7,.3);border-radius:8px;padding:16px 20px;margin-bottom:28px;font-size:13px;color:#e6c84a;line-height:1.6;}
.ee-checkout-disclaimer a{color:#e6c84a;text-decoration:underline;}

/* ── About Page Disclaimer ── */
.about-disclaimer-bar{max-width:860px;margin:0 auto 60px;padding:20px 28px;background:rgba(0,168,130,.07);border:1px solid rgba(0,168,130,.25);border-radius:8px;font-size:13px;color:#9aa3ad;line-height:1.7;}
.about-disclaimer-bar strong{color:#00c9a0;}

/* ── LIVE PRICE DISPLAY ── */
.pdp-live-price{margin-bottom:18px;}
.pdp-live-original{font-size:16px;color:var(--gray);text-decoration:line-through;margin-bottom:2px;font-family:var(--fb);}
.pdp-live-current{font-family:var(--fd);font-size:52px;line-height:1;color:var(--white);letter-spacing:-.5px;}
.pdp-live-savings{display:inline-block;margin-top:10px;background:#00a882;color:#fff;font-size:15px;font-weight:700;padding:8px 18px;border-radius:30px;letter-spacing:.02em;}

/* ── BUNDLE TILES ── */
.pdp-bundle-section{margin:24px 0 20px;}
.pdp-bundle-label{font-family:var(--fm);font-size:11px;letter-spacing:.12em;color:#5a6472;text-transform:uppercase;margin-bottom:12px;}
.pdp-bundle-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;}
.pdp-bundle-tile{border:2px solid var(--border2);border-radius:12px;padding:14px 8px 12px;cursor:pointer;text-align:center;transition:border-color .2s,background .2s;background:var(--surface);position:relative;}
.pdp-bundle-tile.active{border-color:#00a882;background:rgba(0,168,130,.06);}
.pdp-bundle-tile:hover:not(.active){border-color:#9aa3ad;}
.pdp-bundle-badge{font-size:8px;font-family:var(--fm);letter-spacing:.07em;padding:3px 7px;border-radius:20px;margin-bottom:10px;display:inline-block;white-space:nowrap;}
.pdp-bundle-badge--starter{background:var(--surface2);color:var(--gray);}
.pdp-bundle-badge--popular{background:#00a882;color:#fff;}
.pdp-bundle-badge--max{background:#7c3aed;color:#fff;}
.pdp-bundle-vials{display:flex;align-items:flex-end;justify-content:center;gap:2px;height:62px;margin-bottom:8px;}
.pdp-vial-svg{flex-shrink:0;}
.pdp-bundle-qty-row{display:flex;align-items:center;gap:10px;margin:14px 0 12px;}
.pdp-bundle-qty-label{font-size:13px;color:var(--gray);font-family:var(--fm);}
.pdp-qty-dec,.pdp-qty-inc{background:var(--surface2);border:1px solid var(--border2);color:var(--white);width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0;}
.pdp-qty-dec:hover,.pdp-qty-inc:hover{background:var(--border2);}
.pdp-qty-num{width:56px;text-align:center;border:1px solid var(--border2);border-radius:8px;padding:6px 4px;font-size:15px;font-family:var(--fm);font-weight:600;color:var(--white);background:#fff;outline:none;}
.pdp-qty-num:focus{border-color:#00a882;}
.pdp-qty-num::-webkit-inner-spin-button,.pdp-qty-num::-webkit-outer-spin-button{opacity:0;}
.pdp-bundle-qty-lbl{font-family:var(--fd);font-size:13px;color:var(--white);letter-spacing:.04em;line-height:1.2;}
.pdp-bundle-off{font-size:13px;font-family:var(--fm);font-weight:700;color:#00875f;margin-top:3px;letter-spacing:.02em;}
.pdp-bundle-each{font-size:11px;color:var(--gray);margin-top:2px;}
@media(max-width:480px){.pdp-bundle-tiles{gap:6px;}.pdp-bundle-tile{padding:10px 4px;}.pdp-bundle-vial-img{width:20px;height:38px;}}

/* ── SIDE CART EXTRAS ── */
/* rolodex qty picker */
.sc-qd-wrap{position:relative;display:inline-block;margin-top:8px;}
.sc-qd-trigger{display:flex;align-items:center;gap:6px;background:var(--surface2);border:1px solid var(--border2);border-radius:20px;padding:5px 12px 5px 14px;cursor:pointer;font-size:14px;font-weight:700;color:var(--white);font-family:var(--fm);transition:border-color .15s;}
.sc-qd-trigger:hover{border-color:#9aa3ad;}
.sc-qd-trigger[aria-expanded="true"]{border-color:#00a882;}
.sc-qd-trigger[aria-expanded="true"] .sc-qd-arrow{transform:rotate(180deg);}
.sc-qd-trigger-num{min-width:14px;text-align:center;}
.sc-qd-arrow{font-size:12px;color:var(--gray);transition:transform .2s;line-height:1;}
.sc-qd-list{display:none;position:absolute;left:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--border2);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:9999;min-width:220px;max-height:280px;overflow-y:auto;padding:4px 0;}
.sc-qd-list.open{display:block;}
.sc-qd-row{display:flex;align-items:center;gap:10px;padding:9px 14px;cursor:pointer;transition:background .1s;}
.sc-qd-row:hover{background:var(--surface);}
.sc-qd-row.sc-qd-active{background:var(--surface2);}
.sc-qd-check{width:16px;font-size:12px;color:#00a882;flex-shrink:0;text-align:center;}
.sc-qd-num{font-size:15px;font-weight:700;color:var(--white);font-family:var(--fm);min-width:20px;}
.sc-qd-pct{font-size:12px;font-weight:600;color:#00875f;margin-left:6px;}
.sc-qd-save{font-size:12px;color:var(--gray);margin-left:4px;}
.sc-qd-save .woocommerce-Price-amount{font-size:12px;}
.sc-item-price-orig{font-size:11px;color:var(--gray);text-decoration:line-through;margin-top:4px;font-family:var(--fb);}
.sc-item-price-row{display:flex;align-items:center;gap:6px;margin-top:2px;}
.sc-item-disc-badge{font-size:9px;font-family:var(--fm);background:rgba(0,168,130,.12);color:#00a882;padding:2px 6px;border-radius:10px;white-space:nowrap;font-weight:600;}
.sc-item-save-amt{font-size:10px;color:#00a882;margin-top:2px;font-family:var(--fm);}
.sc-item-dose{color:var(--gray);font-size:11px;margin-top:1px;font-family:var(--fm);}
.sc-total-savings{text-align:center;color:#00875f;font-size:12px;font-family:var(--fm);font-weight:600;padding:8px 12px;background:rgba(0,168,130,.08);border:1px solid rgba(0,168,130,.2);border-radius:8px;margin-bottom:12px;}
.sc-coupon-wrap{margin-bottom:14px;}
.sc-coupon-applied{display:flex;align-items:center;justify-content:space-between;background:rgba(0,168,130,.07);border:1px solid rgba(0,168,130,.2);border-radius:6px;padding:7px 12px;margin-bottom:8px;font-size:12px;color:#00875f;font-weight:600;}
.sc-coupon-remove{background:none;border:none;color:var(--gray);cursor:pointer;font-size:11px;padding:0;transition:color .15s;}
.sc-coupon-remove:hover{color:var(--red);}
.sc-coupon-row{display:flex;gap:8px;}
.sc-coupon-input{flex:1;background:#fff;border:1px solid var(--border2);border-radius:6px;color:var(--white);font-size:12px;padding:9px 11px;outline:none;transition:border-color .2s;}
.sc-coupon-input:focus{border-color:#00a882;box-shadow:0 0 0 2px rgba(0,168,130,.1);}
.sc-coupon-input::placeholder{color:var(--gray);}
.sc-coupon-apply{background:#00a882;color:#fff;border:none;border-radius:6px;padding:9px 14px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s;}
.sc-coupon-apply:hover{background:#008a6b;}
.sc-coupon-msg{font-size:11px;margin-top:5px;min-height:14px;}

/* ── SIDE CART RECOMMENDATION ── */
.sc-rec-wrap{padding:12px 16px;border-top:1px solid var(--border);}
.sc-rec-label{font-size:11px;font-weight:700;color:#b45309;margin-bottom:8px;display:flex;align-items:center;gap:5px;}
.sc-rec-card{display:flex;align-items:center;gap:12px;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:10px 12px;}
.sc-rec-info{flex:1;min-width:0;}
.sc-rec-name{font-size:13px;font-weight:700;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sc-rec-sub{font-size:11px;color:var(--gray);margin-top:1px;line-height:1.4;}
.sc-rec-price{font-size:13px;font-weight:700;color:var(--accent);margin-top:3px;font-family:var(--fm);}
.sc-rec-add{background:#fff;border:2px solid var(--accent);color:var(--accent);border-radius:20px;padding:7px 16px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .2s;flex-shrink:0;}
.sc-rec-add:hover{background:var(--accent);color:#fff;}
.sc-rec-add:disabled{opacity:.5;cursor:not-allowed;}

/* ── CART PAGE SAVINGS ── */
.ee-savings-row th,.ee-savings-row td{color:#00a882 !important;}
.ee-cart-savings{color:#00a882;font-family:var(--fm);}

/* ── WELCOME POPUP ── */
#ee-welcome-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .35s ease;}
#ee-welcome-overlay.active{opacity:1;pointer-events:all;}
#ee-welcome-modal{background:#0d1117;border:1px solid #1e2530;border-radius:16px;max-width:480px;width:100%;padding:48px 40px 40px;position:relative;transform:translateY(24px);transition:transform .35s ease;text-align:center;}
#ee-welcome-overlay.active #ee-welcome-modal{transform:translateY(0);}
#ee-welcome-close{position:absolute;top:14px;right:16px;background:none;border:none;color:#5a6472;font-size:20px;cursor:pointer;line-height:1;padding:4px 8px;}
#ee-welcome-close:hover{color:#fff;}
.ee-wp-badge{display:inline-block;background:rgba(0,201,160,.12);border:1px solid rgba(0,201,160,.3);color:#00c9a0;font-size:11px;font-family:var(--fm);letter-spacing:.08em;padding:4px 12px;border-radius:20px;margin-bottom:20px;}
.ee-wp-heading{font-family:var(--fd);font-size:clamp(28px,6vw,38px);color:#fff;line-height:1.1;margin:0 0 12px;}
.ee-wp-heading span{color:#00c9a0;}
.ee-wp-sub{font-size:14px;color:#9aa3ad;line-height:1.6;margin:0 0 28px;}
.ee-wp-form{display:flex;flex-direction:column;gap:12px;}
.ee-wp-input{background:#141920;border:1px solid #2a3040;border-radius:8px;color:#fff;font-size:14px;padding:14px 16px;width:100%;outline:none;transition:border-color .2s;}
.ee-wp-input:focus{border-color:#00a882;}
.ee-wp-input::placeholder{color:#4a5568;}
.ee-wp-btn{background:#00a882;color:#fff;border:none;border-radius:8px;font-family:var(--fd);font-size:18px;letter-spacing:.06em;padding:14px;cursor:pointer;transition:background .2s;}
.ee-wp-btn:hover{background:#008a6b;}
.ee-wp-btn:disabled{background:#1e2530;color:#4a5568;cursor:not-allowed;}
.ee-wp-fine{font-size:11px;color:#3d4856;margin-top:8px;}
.ee-wp-success{display:none;flex-direction:column;align-items:center;gap:16px;}
.ee-wp-success-icon{font-size:48px;}
.ee-wp-success h3{font-family:var(--fd);font-size:28px;color:#fff;margin:0;}
.ee-wp-success p{font-size:14px;color:#9aa3ad;line-height:1.6;margin:0;}
.ee-wp-success .ee-wp-code{font-family:var(--fm);background:rgba(0,201,160,.1);border:1px dashed #00a882;color:#00c9a0;padding:10px 24px;border-radius:8px;font-size:20px;letter-spacing:.12em;}
@media(max-width:520px){#ee-welcome-modal{padding:36px 24px 28px;}}

/* ── CHECKOUT REDESIGN ───────────────────────────────────────────────────── */
/* Hide only the verbose metadata description, keep product name visible */
.wc-block-components-product-metadata__description,
.wc-block-components-order-summary-item__short-description { display: none !important; }

/* Order summary card */
.wc-block-order-summary-container,
.wp-block-woocommerce-checkout-order-summary-block {
    background: var(--surface) !important;
    border: 1px solid var(--border2) !important;
    border-radius: 12px !important;
    padding: 24px !important;
    box-sizing: border-box;
}

/* Sidebar sticky */
.wc-block-checkout__sidebar {
    position: sticky !important;
    top: 24px !important;
    align-self: flex-start !important;
    min-width: 300px !important;
}

/* Prevent text overflow in sidebar — scoped to name only, not all sidebar children */
.wc-block-components-order-summary-item__name,
.wc-block-components-product-name {
    word-break: break-word;
    overflow-wrap: break-word;
    min-width: 0;
    white-space: normal;
}

/* Order summary totals */
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value { font-size: 13px; color: var(--white); }
.wc-block-components-totals-item--total .wc-block-components-totals-item__label,
.wc-block-components-totals-item--total .wc-block-components-totals-item__value {
    font-size: 16px; font-weight: 700; color: var(--accent);
}

/* Input fields */
.wc-block-components-text-input input,
.wc-block-components-country-input input,
.wc-block-components-state-input input,
.wc-block-components-select select {
    background: var(--surface2) !important;
    border: 1px solid var(--border2) !important;
    border-radius: 8px !important;
    color: var(--white) !important;
    padding: 13px 16px !important;
    font-family: var(--fb) !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
}
.wc-block-components-text-input input:focus { border-color: var(--accent) !important; }

/* Shipping option rows — border only, NO padding (WC handles internal layout) */
.wc-block-components-radio-control__option {
    border: 1px solid var(--border2) !important;
    border-radius: 8px !important;
    margin-bottom: 8px !important;
    transition: border-color .2s, background .2s !important;
    overflow: visible !important;
}
.wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control__option--checked {
    border-color: var(--accent) !important;
    background: rgba(0,168,130,.06) !important;
}

/* Place Order button */
.wc-block-components-checkout-place-order-button {
    background: var(--accent) !important; color: #000 !important;
    border: none !important; border-radius: 10px !important;
    font-size: 15px !important; font-weight: 700 !important;
    letter-spacing: 2px !important; text-transform: uppercase !important;
    padding: 18px !important; width: 100% !important;
    font-family: var(--fd) !important; transition: background .2s !important;
}
.wc-block-components-checkout-place-order-button:hover { background: var(--accent2) !important; }

/* ── CHECKOUT TWO-COLUMN LAYOUT (flex override) ──────────────────────────── */
/* WooCommerce block checkout does not set display:flex itself — we must do it */
.wp-block-woocommerce-checkout {
    display: flex !important;
    align-items: flex-start !important;
    gap: 40px !important;
    padding: 48px 40px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

.wc-block-checkout__main {
    flex: 1 1 0 !important;
    min-width: 0 !important;
}

.wc-block-checkout__sidebar {
    flex: 0 0 380px !important;
    width: 380px !important;
    min-width: 320px !important;
    align-self: flex-start !important;
    position: sticky !important;
    top: 24px !important;
}

@media (max-width: 900px) {
    .wp-block-woocommerce-checkout {
        flex-direction: column !important;
        padding: 24px 16px !important;
    }
    /* Sidebar: static, full-width, no sticky, no overlap */
    .wc-block-checkout__sidebar,
    .wc-block-checkout__sidebar.is-sticky,
    .wc-block-checkout__order-summary-toggle {
        flex: none !important;
        width: 100% !important;
        max-width: 100% !important;
        position: static !important;
        top: auto !important;
        z-index: auto !important;
    }
    /* Order summary panel: normal flow, no overflow tricks */
    .wc-block-order-summary-container,
    .wp-block-woocommerce-checkout-order-summary-block {
        position: static !important;
        overflow: visible !important;
    }
    /* Prevent the expandable order summary panel from overlapping form */
    .wc-block-components-order-summary {
        position: static !important;
        max-height: none !important;
        overflow: visible !important;
    }
}

/* ── CHECKOUT SPACING POLISH ─────────────────────────────────────────────── */
/* Reduce dead space above checkout content */
.woocommerce-checkout .entry-header,
.woocommerce-checkout .page-header { padding-top: 20px !important; padding-bottom: 0 !important; margin-bottom: 0 !important; }
.woocommerce-checkout h1.entry-title,
.woocommerce-checkout h1.page-title { font-size: 32px !important; margin-bottom: 24px !important; }
.wp-block-woocommerce-checkout { margin-top: 0 !important; }

/* Show product name in order summary */
.wc-block-components-order-summary-item__name,
.wc-block-components-order-summary-item__individual-prices { display: block !important; }

/* ── CHECKOUT: BREAK OUT OF NARROW PAGE CONTAINER ───────────────────────── */
/* The WordPress article/entry-content constrains the checkout block.
   Force it full-width so the checkout block can center itself properly. */
.woocommerce-checkout article.page,
.woocommerce-checkout .entry-content,
.woocommerce-checkout main > *,
.ee-checkout article,
.ee-checkout .entry-content {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
}

/* The checkout block itself controls its own width and centering */
.wp-block-woocommerce-checkout {
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 40px 48px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* ── CHECKOUT: OVERRIDE THE .section 900px CONTAINER ────────────────────── */
/* The checkout page wraps content in a .section div (max-width:900px, padding:48px).
   Override it so the two-column checkout block has room to breathe. */
.woocommerce-checkout .section,
.ee-checkout .section {
    max-width: 1280px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ── MY ACCOUNT: LOGIN & REGISTER FORMS ─────────────────────────────────── */
.woocommerce-account .woocommerce,
.woocommerce-page .woocommerce { max-width: 800px; margin: 0 auto; padding: 0 24px; }

.woocommerce-form-login,
.woocommerce-form-register {
    background: var(--surface, #111);
    border: 1px solid var(--border2, #2a2a2a);
    border-radius: 12px;
    padding: 32px;
    margin-bottom: 32px;
}

.woocommerce-form-login h2,
.woocommerce-form-register h2 {
    font-family: var(--fd, sans-serif);
    font-size: 13px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--gray2, #888);
    border-bottom: 1px solid var(--border, #222);
    padding-bottom: 10px;
    margin-bottom: 24px;
}

.woocommerce-form-row { margin-bottom: 16px; }

.woocommerce-form-row label,
.woocommerce-form__label { 
    font-size: 12px; 
    letter-spacing: 1px; 
    text-transform: uppercase; 
    color: var(--gray2, #888); 
    margin-bottom: 6px; 
    display: block; 
}

.woocommerce-Input,
.woocommerce-form-row input[type="text"],
.woocommerce-form-row input[type="email"],
.woocommerce-form-row input[type="password"] {
    width: 100%;
    background: var(--surface2, #1a1a1a) !important;
    border: 1px solid var(--border2, #2a2a2a) !important;
    border-radius: 8px !important;
    color: var(--white, #fff) !important;
    padding: 13px 16px !important;
    font-family: var(--fb, sans-serif) !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
    outline: none !important;
}
.woocommerce-Input:focus,
.woocommerce-form-row input:focus {
    border-color: var(--accent, #00a882) !important;
}

.woocommerce-form-login__rememberme { 
    display: flex; 
    align-items: center; 
    gap: 8px; 
    margin-bottom: 20px;
    font-size: 13px;
    color: var(--gray2, #888);
}

.woocommerce-Button,
.woocommerce-form-login .button,
.woocommerce-form-register .button,
.woocommerce-MyAccount-content .button {
    background: var(--accent, #00a882) !important;
    color: #000 !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px 28px !important;
    font-family: var(--fd, sans-serif) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background .2s !important;
}
.woocommerce-Button:hover { background: var(--accent2, #00c49a) !important; }

.woocommerce-LostPassword a,
.woocommerce-privacy-policy-text a { color: var(--accent, #00a882); }

/* My Account dashboard nav */
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0 0 32px; }
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--border, #222); }
.woocommerce-MyAccount-navigation a {
    display: block;
    padding: 12px 16px;
    color: var(--gray2, #888);
    font-size: 13px;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none;
    transition: color .2s;
}
.woocommerce-MyAccount-navigation a:hover,
.woocommerce-MyAccount-navigation .is-active a { color: var(--accent, #00a882); }

/* ── WC BLOCK CART — Proceed to Checkout button ── */
.wc-block-cart__submit-button,
.wc-block-cart__submit .wc-block-components-button {
    background: var(--accent) !important;
    color: #000 !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-family: var(--fd) !important;
    transition: background .2s !important;
}
.wc-block-cart__submit-button:hover { background: var(--accent2) !important; }

/* ── PROMO BAR ── */
#ee-promo-bar {
    background: #007a60;
    padding: 10px 20px;
    padding-top: calc(10px + env(safe-area-inset-top, 0px));
    text-align: center;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    /* Force GPU layer so iOS doesn't flicker/hide on scroll */
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
.ee-promo-bar-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}
.ee-promo-bar-text {
    font-size: 13px;
    color: #ffffff;
    letter-spacing: 0.3px;
}
.ee-promo-bar-btn {
    background: #ffffff;
    color: #007a60;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 7px 16px;
    border-radius: 6px;
    text-decoration: none;
    white-space: nowrap;
    transition: background .2s, color .2s;
}
.ee-promo-bar-btn:hover { background: var(--accent); color: #000; }
@media (max-width: 600px) {
    #ee-promo-bar { padding: 7px 12px; padding-top: calc(7px + env(safe-area-inset-top, 0px)); }
    .ee-promo-bar-inner { flex-wrap: nowrap; gap: 8px; }
    .ee-promo-bar-text { font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1; min-width: 0; }
    .ee-promo-bar-btn { flex-shrink: 0; font-size: 9px; padding: 5px 10px; letter-spacing: 1px; white-space: nowrap; }
}

/* ── SHOP CARD VARIATION BADGES ─────────────────────────────────────────────── */
.pvar-options { display: flex; flex-wrap: wrap; gap: 5px; margin: 4px 0; }
.pvar-badge {
    font-size: 11px; font-weight: 700; font-family: var(--fd);
    letter-spacing: 0.5px; padding: 3px 9px; border-radius: 6px;
    border: 1.5px solid var(--accent); color: var(--accent);
    background: transparent;
}

/* ── MASS VARIATION SELECTOR (PDP) ──────────────────────────────────────────── */
.pdp-mass-selector {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 16px 0 4px;
}
.pdp-mass-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: var(--gray2);
    text-transform: uppercase;
    min-width: 44px;
}
.pdp-mass-btns {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.pdp-mass-btn {
    padding: 8px 18px;
    border: 1.5px solid var(--border2);
    border-radius: 8px;
    background: transparent;
    color: var(--white);
    font-size: 13px;
    font-weight: 600;
    font-family: var(--fd);
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: border-color .15s, background .15s, color .15s;
}
.pdp-mass-btn:hover { border-color: var(--accent); }
.pdp-mass-btn.active {
    background: var(--surface2);
    border-color: var(--accent);
    color: var(--white);
    box-shadow: 0 0 0 1px var(--accent);
}

/* ── ADMIN BAR: push promo bar below WP admin bar when logged in ── */
.admin-bar #ee-promo-bar { top: 32px !important; }
.admin-bar #site-wrap { padding-top: calc(39px + 32px + env(safe-area-inset-top, 0px)) !important; }
.admin-bar nav.site-nav { top: calc(39px + 32px + env(safe-area-inset-top, 0px)) !important; }
@media (max-width: 782px) {
    .admin-bar #ee-promo-bar { top: 46px !important; }
    .admin-bar #site-wrap { padding-top: calc(39px + 46px + env(safe-area-inset-top, 0px)) !important; }
    .admin-bar nav.site-nav { top: calc(39px + 46px + env(safe-area-inset-top, 0px)) !important; }
}
@media (max-width: 600px) {
    /* WP hides admin bar at <600px — reset to normal */
    .admin-bar #ee-promo-bar { top: 0 !important; }
    .admin-bar #site-wrap { padding-top: calc(39px + env(safe-area-inset-top, 0px)) !important; }
    .admin-bar nav.site-nav { top: calc(39px + env(safe-area-inset-top, 0px)) !important; }
}

/* ── WC BLOCK CART — Proceed to Checkout button ── */
.wc-block-cart__submit-button,
.wc-block-cart__submit .wc-block-components-button {
    background: var(--accent) !important;
    color: #000 !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-family: var(--fd) !important;
    transition: background .2s !important;
}
.wc-block-cart__submit-button:hover { background: var(--accent2) !important; }
