/* ── TX Pep Theme CSS ── */
:root{
  --navy:#08283F;--navy-l:#0F3A57;
  --bg:#F7F8FA;--bg2:#EFF1F4;--card:#FFFFFF;
  --ink:#08283F;--ink2:#1A3A50;
  --red:#F70C0D;--red-d:#D40A0B;--red-glow:rgba(247,12,13,.18);
  --steel:#5A7080;--green:#2E7D5B;
  --alert:#F70C0D;--divider:#DEE2E8;--divider2:#CDD3DB;
  --muted:#6B7B8A;--muted2:#4A5B6A;
  --grotesk:'Space Grotesk','Helvetica Neue',sans-serif;
  --inter:'Inter','Helvetica Neue',sans-serif;
  --mono:'Space Mono',monospace;
  --serif:'Space Grotesk','Helvetica Neue',sans-serif;
  --sans:'Inter','Helvetica Neue',sans-serif;
  --r:12px;--rp:6px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
.tp-container{max-width:1200px;margin:0 auto;padding:0 32px}
.tp-main{padding:60px 0}

/* ── ANNOUNCE ── */
.tp-announce{background:var(--navy);color:#8A9CAA;text-align:center;padding:11px 20px;font-size:13px;font-weight:500;letter-spacing:.3px;font-family:var(--mono)}
.tp-announce strong{color:var(--red);font-weight:700}
.tp-announce .sep{opacity:.35;margin:0 11px}

/* ── NAV ── */
.tp-nav{position:sticky;top:0;z-index:210;background:rgba(247,248,250,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--divider);padding:0 40px}
.tp-nav-i{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:70px;gap:24px;flex-wrap:nowrap}
.tp-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0}
.tp-nav-center{display:flex;gap:30px;align-items:center;flex-shrink:0}
.tp-nav-center a{font-size:15px;font-weight:500;color:var(--ink);text-decoration:none;transition:color .2s;letter-spacing:.01em}
.tp-nav-center a:hover,.tp-nav-center a.on{color:var(--red)}
.tp-nav-right{display:flex;align-items:center;gap:22px;flex-shrink:0}
.tp-nav-link{font-size:15px;font-weight:500;color:var(--muted);text-decoration:none;white-space:nowrap}
.tp-nav-link:hover{color:var(--ink)}
/* Cart badge — same red overlay bubble the homepage uses. */
.tp-nav-cart{position:relative;display:flex;align-items:center;justify-content:center;color:var(--ink);text-decoration:none;flex-shrink:0}
.tp-nav-cart svg{display:block}
.tp-cart-count{position:absolute;top:-8px;right:-10px;background:var(--red);color:#fff;font-size:10px;font-weight:700;min-width:17px;height:17px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;font-family:var(--mono)}
.tp-nav-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--sans);font-weight:600;font-size:15px;background:var(--navy);color:#fff;padding:12px 26px;border-radius:var(--rp);text-decoration:none;border:none;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .2s}
.tp-nav-btn:hover{background:var(--navy-l)}

/* hamburger */
.tp-ham{display:none;width:40px;height:40px;padding:0;border:none;background:transparent;cursor:pointer;flex-shrink:0;flex-direction:column;align-items:center;justify-content:center;gap:5px;position:relative;z-index:210}
.tp-ham span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s,opacity .2s}
.tp-ham[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.tp-ham[aria-expanded="true"] span:nth-child(2){opacity:0}
.tp-ham[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.tp-drawer{position:fixed;top:0;right:-320px;width:300px;max-width:82vw;height:100dvh;background:var(--bg);z-index:220;padding:28px 28px 32px;display:flex;flex-direction:column;gap:6px;transition:right .35s cubic-bezier(.16,1,.3,1);box-shadow:-16px 0 48px rgba(0,0,0,.16);overflow-y:auto}
.tp-drawer.open{right:0}
.tp-drawer a{font-size:17px;font-weight:500;color:var(--ink);text-decoration:none;padding:14px 0;border-bottom:1px solid var(--divider)}
.tp-drawer a:last-of-type{border-bottom:none}
.tp-drawer .tp-nav-btn{color:#fff!important}
.tp-drawer a:hover{color:var(--navy)}
.tp-close{align-self:flex-end;width:40px;height:40px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-bottom:12px;color:var(--ink);font-size:28px;line-height:1;border-radius:8px;transition:background .2s}
.tp-close:hover{background:rgba(8,40,63,.06)}
.tp-overlay{position:fixed;inset:0;background:rgba(42,35,33,.38);z-index:190;opacity:0;pointer-events:none;transition:opacity .3s}
.tp-overlay.open{opacity:1;pointer-events:auto}

@media(max-width:900px){
  .tp-nav-center,.tp-login,.tp-nav-btn{display:none}
  .tp-ham{display:flex}
  .tp-nav{padding:0 20px}
  .tp-container{padding:0 20px}
  .tp-nav-i{gap:0}
  .tp-nav-right{margin-left:auto}
}

/* ── FOOTER ── */
.tp-footer{border-top:1px solid var(--divider);padding:40px 0 48px;font-size:14px;color:var(--muted)}
.tp-foot-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}
.tp-foot-brand{display:flex;align-items:center;text-decoration:none}
.tp-foot-links{display:flex;gap:22px;flex-wrap:wrap}
.tp-foot-links a{font-size:14px;font-weight:500;color:var(--muted);text-decoration:none}
.tp-foot-links a:hover{color:var(--navy)}
.tp-foot-legal{border-top:1px solid var(--divider);margin-top:28px;padding-top:20px;font-size:12.5px;color:var(--muted);line-height:1.6}
@media(max-width:768px){.tp-foot-row{flex-direction:column;align-items:flex-start}}

/* ── BREADCRUMB ── */
.tp-crumb{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:28px;display:flex;gap:8px;flex-wrap:wrap}
.tp-crumb a{color:var(--muted);text-decoration:none}
.tp-crumb a:hover{color:var(--navy)}
.tp-crutp-sep{opacity:.45}

/* ── PRODUCT PAGE LAYOUT ── */
.tp-product-main{padding:32px 0 80px}
.tp-pdp-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}

/* Gallery */
.tp-pdp-gallery{position:sticky;top:96px;background:var(--bg2);border-radius:20px;overflow:hidden;position:relative}
.tp-pdp-img{width:100%;display:block}
.tp-pdp-placeholder{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:var(--bg2)}
.tp-pdp-oos-tag{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--card);color:var(--ink);font-size:14px;font-weight:600;padding:10px 22px;border-radius:var(--rp);box-shadow:0 8px 24px rgba(0,0,0,.12)}

/* Summary card */
.tp-pdp-summary{background:var(--card);border:1px solid var(--divider);border-radius:20px;padding:32px}
.tp-pdp-header{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.tp-pdp-eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:0}
.tp-pdp-badge{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:rgba(8,40,63,.06);color:var(--navy);padding:4px 12px;border-radius:var(--rp)}
.tp-pdp-title{font-family:var(--serif);font-size:clamp(28px,3.6vw,40px);font-weight:500;line-height:1.1;margin-bottom:8px}
.tp-pdp-tagline{font-size:14.5px;color:var(--muted);line-height:1.6;margin-bottom:16px}

.tp-pdp-price-row{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}
.tp-pdp-price{font-family:var(--serif);font-size:32px;font-weight:600;line-height:1}
.tp-pdp-price-unit{font-size:13px;color:var(--muted);font-weight:500}

.tp-pdp-specs{list-style:none;margin-bottom:20px}
.tp-pdp-specs li{display:flex;align-items:center;gap:8px;font-size:14px;padding:3px 0;color:var(--muted2)}

/* Sections */
.tp-pdp-section{margin-bottom:22px}
.tp-pdp-label{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}

/* Dosage pills — equal width */
.tp-dosage-pills{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px}
.tp-dose-pill{border:1.5px solid var(--divider2);border-radius:12px;padding:12px 16px;background:var(--card);cursor:pointer;font-family:inherit;text-align:center;transition:border-color .2s,box-shadow .2s}
.tp-dose-pill:hover:not(:disabled){border-color:var(--navy)}
.tp-dose-pill.on{border-color:var(--ink);border-width:2px;box-shadow:0 4px 16px rgba(0,0,0,.08)}
.tp-dose-pill.oos{opacity:.5;cursor:not-allowed}
.tp-dose-mg{font-size:15px;font-weight:600;display:block}
.tp-dose-sub{font-size:11px;color:var(--muted);display:block;margin-top:2px}

/* Bundle quantity pills */
.tp-qty-pills{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tp-qty-pill{border:1.5px solid var(--divider2);border-radius:14px;padding:14px 16px;background:var(--card);cursor:pointer;font-family:inherit;text-align:left;transition:border-color .2s,box-shadow .2s;position:relative}
.tp-qty-pill:hover{border-color:var(--navy)}
.tp-qty-pill.on{border-color:var(--ink);border-width:2px;box-shadow:0 4px 16px rgba(0,0,0,.08)}
.tp-qty-pill strong{font-size:15px;display:block;margin-bottom:2px}
.tp-qty-price{font-family:var(--serif);font-size:18px;font-weight:600;display:block}
.tp-qty-note{font-size:11px;color:var(--muted);display:block;margin-top:2px}
.tp-qty-tag{position:absolute;top:-8px;right:12px;background:var(--ink);color:var(--bg);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:var(--rp)}

/* Cross-sells */
.tp-cross-list{display:flex;flex-direction:column;gap:8px}
.tp-cross-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--divider);border-radius:14px;cursor:pointer;transition:border-color .2s;background:var(--card)}
.tp-cross-item:hover{border-color:var(--red)}
.tp-cross-thumb{width:44px;height:44px;border-radius:10px;object-fit:cover;flex-shrink:0}
.tp-cross-info{flex:1;min-width:0}
.tp-cross-name{font-size:14px;font-weight:600;display:block}
.tp-cross-cat{font-size:11px;color:var(--muted);display:block}
.tp-cross-price{font-family:var(--serif);font-size:15px;font-weight:600;flex-shrink:0}
.tp-cross-check{width:20px;height:20px;accent-color:var(--navy);flex-shrink:0;cursor:pointer}

/* Order total */
.tp-pdp-total{border-top:1.5px dashed var(--divider2);padding:18px 0;margin-bottom:12px}
.tp-total-row{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tp-total-amount{font-family:var(--serif);font-size:28px;font-weight:600;color:var(--ink);text-transform:none;letter-spacing:0}

/* Add to cart */
.tp-atc-btn{width:100%;padding:16px;border:none;border-radius:14px;background:var(--ink);color:var(--bg);font-family:var(--sans);font-size:16px;font-weight:600;cursor:pointer;transition:background .2s,box-shadow .25s}
.tp-atc-btn:hover{background:#061E30;box-shadow:0 12px 28px rgba(0,0,0,.18)}
.tp-atc-btn.tp-atc-oos{background:var(--divider);color:var(--muted);cursor:not-allowed}

.tp-pdp-disclaimer{font-size:12px;color:var(--muted);line-height:1.6;margin-top:16px;text-align:center}

/* COA button */
.tp-coa-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px;margin-top:10px;border:1.5px solid var(--divider2);border-radius:14px;background:var(--card);color:var(--ink);font-family:var(--sans);font-size:14px;font-weight:600;text-decoration:none;transition:border-color .2s,background .2s}
.tp-coa-btn:hover{border-color:var(--navy);background:rgba(8,40,63,.06)}

/* Cross-sell thumbnail placeholder */
.tp-cross-thutp-ph{width:44px;height:44px;border-radius:10px;flex-shrink:0;background:var(--bg2)}

/* Tabs */
.tp-pdp-tabs{margin-top:48px}
.tp-tabs-nav{display:flex;gap:6px;border-bottom:1px solid var(--divider);margin-bottom:24px;overflow-x:auto}
.tp-tab-btn{background:none;border:none;border-bottom:2px solid transparent;padding:12px 20px;font-family:var(--sans);font-size:14px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap;transition:color .2s,border-color .2s}
.tp-tab-btn.on{color:var(--ink);border-bottom-color:var(--navy)}
.tp-tab-btn:hover{color:var(--ink)}
.tp-tab-panel{display:none}
.tp-tab-panel.on{display:block}
.tp-tab-panel .entry-content{font-size:15px;line-height:1.7;color:var(--muted2);max-width:720px}

/* Mobile PDP */
@media(max-width:768px){
  .tp-pdp-layout{grid-template-columns:1fr;gap:24px}
  .tp-pdp-gallery{position:relative;top:auto}
  .tp-pdp-summary{padding:24px 20px}
  .tp-qty-pills{grid-template-columns:1fr}
  .tp-product-main{padding:20px 0 60px}
}

/* ── SHOP ARCHIVE ── */
.tp-page-title{font-family:var(--serif);font-size:clamp(32px,4vw,48px);font-weight:500;margin-bottom:24px}
.tp-shop-pills{display:flex;gap:8px;margin-bottom:32px;flex-wrap:wrap}
.tp-shop-pill{background:var(--card);border:1px solid var(--divider);border-radius:var(--rp);padding:8px 18px;font-family:var(--sans);font-size:14px;font-weight:500;color:var(--ink);cursor:pointer;transition:all .2s}
.tp-shop-pill:hover{border-color:var(--navy);color:var(--navy)}
.tp-shop-pill.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.tp-cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.tp-cat-card{background:var(--card);border:1px solid var(--divider);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s}
.tp-cat-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.08)}
.tp-cat-card-thumb{aspect-ratio:1;background:var(--bg2);overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative}
.tp-cat-card-thumb img{width:100%;height:100%;object-fit:cover}
.tp-cat-card-badge{position:absolute;top:10px;left:10px;background:var(--navy);color:#fff;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:var(--rp)}
.tp-cat-card-placeholder{color:var(--divider2)}
.tp-cat-card-placeholder svg{width:50px}
.tp-cat-card-info{padding:16px 18px}
.tp-cat-card-eyebrow{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);display:block;margin-bottom:4px}
.tp-cat-card-title{font-family:var(--serif);font-size:19px;font-weight:600;margin-bottom:8px}
.tp-cat-card-bottom{display:flex;justify-content:space-between;align-items:center}
.tp-cat-card-price{font-family:var(--serif);font-size:16px;font-weight:600}
.tp-cat-card-stock{font-size:11px;font-weight:600}
.tp-stock-in{color:var(--navy-l)}
.tp-stock-low{color:var(--red)}
.tp-stock-out{color:var(--navy)}
.tp-cat-label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin-bottom:14px;display:block}
.tp-cat-header{margin-bottom:18px}

/* ── PRODUCT PAGE (formula-style) ── */
.tp-pdp{padding:28px 0 60px}
.tp-wrap{max-width:1200px;margin:0 auto;padding:0 32px}

.pdp-crumb{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:24px}
.pdp-crumb a{color:var(--muted);text-decoration:none}
.pdp-crumb a:hover{color:var(--navy)}

.pdp-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}

/* Gallery */
.pdp-gallery{position:sticky;top:90px}
.pdp-img-wrap{background:var(--bg2);border-radius:20px;overflow:hidden;position:relative}
.pdp-img{width:100%;display:block}
.pdp-img-ph{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:var(--bg2)}
.pdp-oos-pill{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--card);color:var(--ink);font-size:14px;font-weight:600;padding:10px 22px;border-radius:var(--rp);box-shadow:0 8px 24px rgba(0,0,0,.12)}

/* Summary panel */
.pdp-bb{background:var(--card);border:1px solid var(--divider);border-radius:20px;padding:32px 30px}
.pdp-topline{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.pdp-eye{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
.pdp-verified{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:rgba(8,40,63,.06);color:var(--navy);padding:4px 12px;border-radius:var(--rp)}
.pdp-title{font-family:var(--serif);font-size:clamp(30px,4vw,46px);font-weight:500;line-height:1.08;margin-bottom:10px}
.pdp-sz{color:var(--muted);font-weight:400;font-size:.55em}
.pdp-desc{font-size:14.5px;color:var(--muted);line-height:1.6;margin-bottom:18px}
.pdp-priceline{display:flex;align-items:baseline;gap:14px;margin-bottom:22px}
.pdp-price-now{font-family:var(--serif);font-size:32px;font-weight:600;line-height:1}
.pdp-price-per{font-size:13px;color:var(--muted);font-weight:500}

/* Section labels */
.pdp-opt-label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:22px 0 10px}

/* Dosage pills */
.pdp-vars{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px}
.pdp-vpill{border:1.5px solid var(--divider2);border-radius:12px;padding:12px 16px;background:var(--card);cursor:pointer;font-family:inherit;text-align:center;transition:border-color .2s,box-shadow .2s}
.pdp-vpill:hover:not(:disabled){border-color:var(--navy)}
.pdp-vpill.active{border-color:var(--ink);border-width:2px;box-shadow:0 4px 14px rgba(0,0,0,.08)}
.pdp-vpill.oos{opacity:.45;cursor:not-allowed}
.pdp-vpill-dose{font-size:15px;font-weight:600;display:block}
.pdp-vpill small{font-size:12px;color:var(--muted);display:block;margin-top:2px}

/* Bundle tiers */
.pdp-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pdp-tier{border:1.5px solid var(--divider2);border-radius:14px;padding:14px 14px;background:var(--card);cursor:pointer;font-family:inherit;text-align:left;transition:border-color .2s,box-shadow .2s;position:relative}
.pdp-tier:hover{border-color:var(--navy)}
.pdp-tier.active{border-color:var(--ink);border-width:2px;box-shadow:0 4px 14px rgba(0,0,0,.08)}
.pdp-tier-qty{font-size:14px;font-weight:600;margin-bottom:2px}
.pdp-tier-price{font-family:var(--serif);font-size:18px;font-weight:600}
.pdp-tier-ea{font-size:11px;color:var(--muted);margin-top:2px}
.pdp-tier-flag{position:absolute;top:-9px;right:10px;background:var(--ink);color:var(--bg);font-size:9px;font-weight:700;letter-spacing:.05em;padding:3px 10px;border-radius:var(--rp)}
.pdp-tier-flag.best{background:var(--navy)}

/* Cross-sells */
.pdp-ups{display:flex;flex-direction:column;gap:8px}
.pdp-up{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--divider);border-radius:14px;cursor:pointer;transition:border-color .2s;background:var(--card);position:relative}
.pdp-up:hover{border-color:var(--red)}
.pdp-up-check{position:absolute;opacity:0;width:0;height:0}
.pdp-up-img{width:44px;height:44px;border-radius:10px;overflow:hidden;flex-shrink:0;background:var(--bg2)}
.pdp-up-img img{width:100%;height:100%;object-fit:cover}
.pdp-up-info{flex:1;min-width:0}
.pdp-up-info b{font-size:14px;display:block}
.pdp-up-info small{font-size:11px;color:var(--muted);display:block}
.pdp-up-price{font-family:var(--serif);font-size:15px;font-weight:600;flex-shrink:0}
.pdp-up-box{width:22px;height:22px;border:1.5px solid var(--divider2);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:13px;color:transparent;transition:all .2s;flex-shrink:0}
.pdp-up-check:checked ~ .pdp-up-box{background:var(--navy);border-color:var(--navy);color:#fff}

/* Total bar */
.pdp-totalbar{display:flex;justify-content:space-between;align-items:baseline;border-top:1.5px dashed var(--divider2);padding:18px 0 14px;margin-top:22px}
.pdp-total-lbl{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pdp-total-sum{font-family:var(--serif);font-size:28px;font-weight:600;color:var(--ink)}

/* ATC button */
.pdp-atc{width:100%;padding:16px;border:none;border-radius:14px;background:var(--ink);color:var(--bg);font-family:var(--sans);font-size:16px;font-weight:600;cursor:pointer;transition:background .2s,box-shadow .25s;margin-bottom:0}
.pdp-atc:hover{background:#061E30;box-shadow:0 12px 28px rgba(0,0,0,.18)}
.pdp-atc-oos{background:var(--divider);color:var(--muted);cursor:not-allowed}

/* COA button */
.pdp-coa-btns{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.pdp-coa-btns .pdp-coa-btn{margin-top:0}
.pdp-coa-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.pdp-coa-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:13px;margin-top:10px;border:1.5px solid var(--divider2);border-radius:14px;background:var(--card);color:var(--ink);font-family:var(--sans);font-size:14px;font-weight:600;text-decoration:none;transition:border-color .2s,background .2s}
.pdp-coa-btn:hover{border-color:var(--navy);background:rgba(8,40,63,.06)}

/* Assurance row */
.pdp-assure{display:flex;gap:16px;flex-wrap:wrap;margin-top:18px;padding-bottom:18px;border-bottom:1px solid var(--divider)}
.pdp-assure span{font-size:12px;color:var(--muted2);font-weight:500}

/* Lot info grid */
.pdp-lot{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--divider);border-radius:10px;overflow:hidden;margin:18px 0}
.pdp-lot-row{background:var(--bg);padding:14px 16px}
.pdp-lot-k{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.pdp-lot-v{font-size:14px;font-weight:600;color:var(--ink)}

/* Accordion */
.pdp-accs{margin-top:4px}
.pdp-acc{border-bottom:1px solid var(--divider)}
.pdp-acc summary{display:flex;justify-content:space-between;align-items:center;padding:16px 0;font-size:15px;font-weight:600;cursor:pointer;list-style:none;color:var(--ink);transition:color .2s}
.pdp-acc summary::-webkit-details-marker{display:none}
.pdp-acc summary:hover{color:var(--navy)}
.pdp-pm{font-size:20px;color:var(--muted);line-height:1;transition:transform .3s}
.pdp-acc[open] .pdp-pm{transform:rotate(45deg);color:var(--navy)}
.pdp-ac{padding:0 0 18px;font-size:14px;color:var(--muted2);line-height:1.65}
.pdp-ac a{color:var(--navy);text-decoration:none}
.pdp-ac a:hover{text-decoration:underline}
.pdp-sr{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--divider);font-size:13px}
.pdp-sr:last-child{border-bottom:none}
.pdp-sr-k{color:var(--muted);font-weight:500}
.pdp-sr-v{color:var(--ink);font-weight:600;text-align:right}

/* Related products */
.pdp-related{margin-top:56px}
.pdp-related h2{font-family:var(--serif);font-size:clamp(28px,3.4vw,40px);font-weight:500;margin-bottom:26px}
.pdp-related em{color:var(--navy);font-style:italic}
.pdp-rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pdp-rcard{background:var(--card);border:1px solid var(--divider);border-radius:16px;overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s}
.pdp-rcard:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.08)}
.pdp-rcard-img{aspect-ratio:1;background:var(--bg2);overflow:hidden;display:flex;align-items:center;justify-content:center}
.pdp-rcard-img img{width:100%;height:100%;object-fit:cover}
.pdp-rcard-info{display:flex;justify-content:space-between;align-items:center;padding:14px 16px}
.pdp-rcard-name{font-size:15px;font-weight:600;display:block}
.pdp-rcard-pr{font-size:13px;color:var(--muted);display:block;margin-top:2px}
.pdp-rcard-pr small{font-size:10px;letter-spacing:.06em;margin-right:3px}
.pdp-rcard-arrow{font-size:18px;color:var(--muted);transition:color .2s}
.pdp-rcard:hover .pdp-rcard-arrow{color:var(--navy)}

/* Slim disclaimer */
.pdp-slim{margin-top:40px;padding:24px;background:var(--bg2);border-radius:14px;font-size:13px;color:var(--muted);text-align:center;line-height:1.6}

/* Mobile PDP */
@media(max-width:768px){
    .pdp-grid{grid-template-columns:1fr;gap:16px}
    .pdp-gallery{position:relative;top:auto}
    .pdp-img-wrap{border-radius:14px;aspect-ratio:1/1}
    .pdp-img-ph{aspect-ratio:1/1}
    .pdp-img{width:100%;height:100%;object-fit:cover}
    .pdp-bb{padding:24px 20px}
    .pdp-tiers{grid-template-columns:1fr}
    .pdp-lot{grid-template-columns:1fr}
    .pdp-rel-grid{grid-template-columns:1fr}
    .pdp-assure{flex-direction:column;gap:6px}
    .tp-pdp{padding:10px 0 48px}
    .tp-wrap{padding:0 16px}
    .pdp-crumb{margin-bottom:14px}
    .pdp-title{font-size:28px}
}

/* COA list — every certificate, inside the Testing & CoA accordion */
.pdp-coa-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.pdp-coa-list li{margin:0}
.pdp-coa-list a{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--divider2);border-radius:10px;background:var(--card);color:var(--ink);text-decoration:none;font-size:13px;transition:border-color .2s,background .2s}
.pdp-coa-list a:hover{border-color:var(--navy);background:rgba(8,40,63,.05)}
.pdp-coa-lot{font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pdp-coa-date{color:var(--muted);font-size:12px;white-space:nowrap}
.pdp-coa-pur{margin-left:auto;font-family:var(--mono);font-size:12px;font-weight:700;color:var(--green);white-space:nowrap}
.pdp-coa-list a > svg{width:14px;height:14px;flex:none;color:var(--muted)}

/* ── MY ACCOUNT ───────────────────────────────────────────────────────
   Styling only — no WooCommerce templates are overridden, so every rule
   hangs off a class WooCommerce itself emits. Rules stay off bare element
   selectors inside the content column on purpose: the Rewards and
   Affiliates screens come from a separate plugin with its own CSS, and
   restyling raw input/button/table would fight it. */

.woocommerce-account .tp-main{padding:48px 0 80px}
.woocommerce-account .entry-content h1,
.woocommerce-account article > h1{font-family:var(--grotesk);font-size:40px;font-weight:600;letter-spacing:-.02em;margin-bottom:28px;overflow-wrap:break-word}

/* Two columns via the float model WooCommerce already uses, so anything a
   plugin injects around the nav keeps the position it has today. */
.woocommerce-account .woocommerce{display:flow-root}
.woocommerce-account .woocommerce-MyAccount-navigation{float:left;width:264px;margin:0 36px 36px 0;position:sticky;top:24px;overflow-wrap:break-word}
/* overflow-x here does double duty: it forms the block formatting context
   that keeps the column beside the sidebar, and it gives wide order tables
   somewhere to scroll instead of pushing the page sideways. */
.woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto;min-width:0;overflow-x:auto}

/* Avatar and display name sit above the nav list. The name can be a long
   unbroken string, so it has to be allowed to break. */
.woocommerce-account .woocommerce-MyAccount-navigation img.avatar,
.woocommerce-account .woocommerce-MyAccount-navigation .avatar{width:84px;height:84px;border-radius:50%;object-fit:cover;display:block;margin:0 0 12px;border:1px solid var(--divider);background:var(--card)}

/* Page selector */
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:6px;border:1px solid var(--divider);border-radius:14px;background:var(--card);display:flex;flex-direction:column;gap:2px}
.woocommerce-account .woocommerce-MyAccount-navigation li{margin:0;padding:0}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:11px 14px;border-radius:10px;font-family:var(--sans);font-size:14px;font-weight:600;line-height:1.35;color:var(--muted2);text-decoration:none;transition:background .18s,color .18s;overflow-wrap:break-word;hyphens:auto}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--bg2);color:var(--ink)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--navy);color:#fff}
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a{color:var(--muted)}
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover{color:var(--red)}

/* Content column */
.woocommerce-account .woocommerce-MyAccount-content{font-size:15px;line-height:1.7;color:var(--muted2)}
.woocommerce-account .woocommerce-MyAccount-content > h2,
.woocommerce-account .woocommerce-MyAccount-content > h3{font-family:var(--grotesk);font-weight:600;color:var(--ink);letter-spacing:-.01em;margin:0 0 12px}
.woocommerce-account .woocommerce-MyAccount-content > p{margin:0 0 14px;overflow-wrap:break-word}
.woocommerce-account .woocommerce-MyAccount-content a:not(.button){color:var(--navy);text-decoration:underline;text-underline-offset:2px}
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):hover{color:var(--red)}

/* Notices */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:0 0 20px;padding:14px 18px;border:1px solid var(--divider);border-left:3px solid var(--navy);border-radius:12px;background:var(--card);color:var(--ink);font-size:14px}
.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-error::before{display:none}
.woocommerce-account .woocommerce-error{border-left-color:var(--red)}
.woocommerce-account .woocommerce-message .button,
.woocommerce-account .woocommerce-info .button{margin-left:auto}

/* Buttons — scoped to WooCommerce's own .button class */
.woocommerce-account .woocommerce .button,
.woocommerce-account .woocommerce button.button,
.woocommerce-account .woocommerce a.button,
.woocommerce-account .woocommerce input.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border:0;border-radius:12px;background:var(--ink);color:#fff;font-family:var(--sans);font-size:14px;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;transition:background .18s;white-space:nowrap}
.woocommerce-account .woocommerce .button:hover,
.woocommerce-account .woocommerce button.button:hover,
.woocommerce-account .woocommerce a.button:hover,
.woocommerce-account .woocommerce input.button:hover{background:var(--navy-l);color:#fff}

/* Fields — .input-text and .woocommerce-Input are WooCommerce's own classes */
.woocommerce-account .woocommerce .input-text,
.woocommerce-account .woocommerce .woocommerce-Input,
.woocommerce-account .woocommerce .select2-selection,
.woocommerce-account .woocommerce select{width:100%;max-width:100%;padding:11px 13px;border:1px solid var(--divider);border-radius:10px;background:var(--card);font-family:var(--sans);font-size:15px;color:var(--ink);line-height:1.4}
.woocommerce-account .woocommerce .input-text:focus,
.woocommerce-account .woocommerce .woocommerce-Input:focus,
.woocommerce-account .woocommerce select:focus{outline:0;border-color:var(--navy);box-shadow:0 0 0 3px rgba(8,40,63,.09)}
.woocommerce-account .woocommerce .form-row,
.woocommerce-account .woocommerce .woocommerce-form-row{display:flex;flex-direction:column;gap:6px;margin:0 0 16px;padding:0}
.woocommerce-account .woocommerce .form-row label,
.woocommerce-account .woocommerce .woocommerce-form-row label{font-size:13px;font-weight:600;color:var(--ink)}
.woocommerce-account .woocommerce .form-row .required{color:var(--red);text-decoration:none;border:0}
.woocommerce-account .woocommerce .woocommerce-form__label-for-checkbox{flex-direction:row;align-items:center;gap:8px}
.woocommerce-account .woocommerce em,
.woocommerce-account .woocommerce .woocommerce-form-row span em{font-size:12.5px;color:var(--muted);font-style:normal;display:block;margin-top:2px}
.woocommerce-account .woocommerce fieldset{border:1px solid var(--divider);border-radius:14px;padding:18px;margin:24px 0}
.woocommerce-account .woocommerce fieldset legend{font-family:var(--grotesk);font-size:15px;font-weight:600;color:var(--ink);padding:0 8px}

/* Order and download tables */
.woocommerce-account .woocommerce table.shop_table{width:100%;min-width:520px;border:1px solid var(--divider);border-radius:14px;border-collapse:separate;border-spacing:0;overflow:hidden;font-size:14px;background:var(--card)}
.woocommerce-account .woocommerce table.shop_table th{text-align:left;padding:12px 14px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--bg2);border-bottom:1px solid var(--divider)}
.woocommerce-account .woocommerce table.shop_table td{padding:13px 14px;border-bottom:1px solid var(--divider);color:var(--ink);vertical-align:middle}
.woocommerce-account .woocommerce table.shop_table tr:last-child td{border-bottom:0}

/* Addresses */
.woocommerce-account .woocommerce .woocommerce-Addresses::before,
.woocommerce-account .woocommerce .woocommerce-Addresses::after,
.woocommerce-account #customer_login::before,
.woocommerce-account #customer_login::after{content:none;display:none}
.woocommerce-account .woocommerce .woocommerce-Addresses{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:8px}
.woocommerce-account .woocommerce .woocommerce-Addresses > *{float:none;width:auto;max-width:none;margin:0;min-width:0}
.woocommerce-account .woocommerce .woocommerce-Address{width:auto;float:none;padding:20px;border:1px solid var(--divider);border-radius:14px;background:var(--card);min-width:0}
.woocommerce-account .woocommerce .woocommerce-Address-title{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px;margin-bottom:10px}
.woocommerce-account .woocommerce .woocommerce-Address-title h2,
.woocommerce-account .woocommerce .woocommerce-Address-title h3{margin:0;font-family:var(--grotesk);font-size:17px;font-weight:600;color:var(--ink)}
.woocommerce-account .woocommerce .woocommerce-Address address{font-style:normal;color:var(--muted2);overflow-wrap:break-word}

/* Login and register */
.woocommerce-account #customer_login{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px;max-width:900px}
.woocommerce-account #customer_login .u-column1,
.woocommerce-account #customer_login .u-column2{width:auto;float:none;margin:0;min-width:0}
.woocommerce-account #customer_login h2{font-family:var(--grotesk);font-size:22px;font-weight:600;color:var(--ink);margin:0 0 14px}
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register{border:1px solid var(--divider);border-radius:16px;padding:24px;background:var(--card)}
.woocommerce-account .woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-form-register .woocommerce-form-register__submit{width:100%;margin:4px 0 12px}
.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme{margin:0 0 14px}
.woocommerce-account .woocommerce-LostPassword{margin:0;font-size:14px}

@media(max-width:768px){
  /* Below 768 WooCommerce's own small-screen CSS collapses shop_table into
     stacked rows. Holding a min-width here would override that and force a
     sideways scroll instead, so it's released. */
  .woocommerce-account .woocommerce table.shop_table{min-width:0}
  .woocommerce-account .woocommerce table.shop_table th{background:transparent}
}

@media(max-width:900px){
  .woocommerce-account .woocommerce-MyAccount-navigation{float:none;width:auto;position:static;margin:0 0 24px}
  .woocommerce-account .woocommerce-MyAccount-navigation ul{flex-direction:row;flex-wrap:wrap}
  .woocommerce-account .woocommerce-MyAccount-navigation li a{padding:9px 13px;font-size:13.5px}
  .woocommerce-account .entry-content h1,
  .woocommerce-account article > h1{font-size:30px}
}
