/* =============================================================
   PEPTIDE MONSTERS — THEME CSS
   Light theme, matched to the approved homepage: Archivo display +
   Poppins body, white paper + #3B82F6 blue, soft-radius cards.
   Class names are unchanged from the previous revision so the
   templates keep working; only the visual language moved.
============================================================= */
:root{
  --paper:#FFFFFF;--paper2:#F7F9FC;--paper3:#F1F5FA;--card:#FFFFFF;
  --ink:#0B0B0C;--ink2:#1B1F26;--body:#5A6472;--muted:#8B95A3;
  --blue:#3B82F6;--blue-d:#2563EB;--blue-l:#4A97F7;--blue-pale:#EAF2FE;
  /* legacy aliases so nothing that still references the old names breaks */
  --volt:#3B82F6;--volt-d:#2563EB;--volt-l:#4A97F7;
  --zap:#3B82F6;--zap-d:#2563EB;--zap-l:#9CC5FB;
  --line:#E6EAF1;--line2:#D3DAE5;
  --dk-t:#0B0B0C;--dk-t2:#5A6472;
  --alert:#D64545;--warn:#B67B00;
  --disp:'Archivo','Arial Narrow',Helvetica,sans-serif;
  --sans:'Poppins','Helvetica Neue',Arial,sans-serif;
  --mono:'Poppins','Helvetica Neue',Arial,sans-serif;
  --r:8px;--rl:12px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.pm-container{max-width:1200px;margin:0 auto;padding:0 32px}
.pm-main{padding:56px 0}

h1,h2,h3,h4,.disp{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;text-transform:uppercase;letter-spacing:-.005em;line-height:1.08}
.mono{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}

/* Badges (was: skewed shard plates) */
.plate{display:inline-block;background:var(--ink);color:#fff;padding:5px 12px;border-radius:100px;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;line-height:1.5}
.plate>span{display:block}
.plate.zap{background:var(--blue-pale);color:var(--blue-d)}
.plate.volt{background:var(--blue);color:#fff}
.plate.out{background:transparent;border:1px solid var(--line2);color:var(--muted)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--blue);color:#fff;text-decoration:none;padding:13px 24px;border:1.5px solid var(--blue);border-radius:var(--r);cursor:pointer;font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;transition:background .2s,border-color .2s,color .2s,box-shadow .25s,transform .25s}
.btn>span{display:block}
.btn:hover{background:var(--blue-d);border-color:var(--blue-d);box-shadow:0 10px 24px rgba(59,130,246,.28);transform:translateY(-1px)}
.btn.ghost,.btn.out{background:transparent;color:var(--blue)}
.btn.ghost:hover,.btn.out:hover{background:var(--blue);color:#fff}
.btn.zap{background:var(--blue);color:#fff}
.btn.zap:hover{background:var(--blue-d)}
.btn.lg{padding:15px 30px;font-size:13px}
.btn.blk{background:var(--ink);border-color:var(--ink)}
.btn.blk:hover{background:#000;border-color:#000;box-shadow:0 10px 24px rgba(11,11,12,.24)}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}

/* ── ANNOUNCE ── */
.pm-announce{background:var(--blue-l);color:#fff;padding:9px 0;font-size:10.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase}
/* one centred row — every item separated by the same gap, no left/right split */
.pm-announce-i{max-width:1200px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:32px}
.pm-announce span{display:inline-flex;align-items:center;gap:7px}
.pm-announce svg{flex-shrink:0;opacity:.95}
.pm-announce b{font-weight:700}
@media(max-width:900px){.pm-announce-i{gap:16px}.pm-announce .a-hide{display:none}.pm-announce{font-size:9.5px;letter-spacing:.08em}}
/* narrow phones: tighten so the two remaining items stay on one line */
@media(max-width:400px){.pm-announce-i{gap:10px;padding:0 14px}.pm-announce{font-size:9px;letter-spacing:.04em}}

/* ── NAV ── */
.pm-nav{position:sticky;top:0;z-index:210;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.pm-nav-i{max-width:1200px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;height:74px;gap:20px}
.pm-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0}
.pm-logo img{height:42px;width:auto;display:block}
.pm-nav-center{display:flex;gap:34px;align-items:center;flex-shrink:0}
.pm-nav-center a{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding:6px 0;transition:color .2s}
.pm-nav-center a:hover,.pm-nav-center a.on{color:var(--blue)}
.pm-nav-right{display:flex;align-items:center;gap:18px;flex-shrink:0}
.pm-nav-ic{position:relative;color:var(--ink);display:flex;align-items:center;justify-content:center;text-decoration:none;transition:color .2s}
.pm-nav-ic:hover{color:var(--blue)}
.pm-cart-count{position:absolute;top:-6px;right:-8px;background:var(--blue);color:#fff;font-size:9px;font-weight:600;min-width:16px;height:16px;border-radius:100px;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1}
.pm-ham{display:none;width:42px;height:42px;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}
.pm-ham span{display:block;width:23px;height:2.5px;background:var(--ink);border-radius:2px;transition:transform .3s,opacity .2s}
.pm-ham[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.pm-ham[aria-expanded="true"] span:nth-child(2){opacity:0}
.pm-ham[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.pm-drawer{position:fixed;top:0;right:-340px;width:312px;max-width:86vw;height:100dvh;background:#fff;z-index:220;padding:24px 24px 34px;display:flex;flex-direction:column;transition:right .35s cubic-bezier(.16,1,.3,1);box-shadow:-18px 0 50px rgba(11,11,12,.18);overflow-y:auto}
.pm-drawer.open{right:0}
.pm-drawer a{font-size:12.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding:15px 0;border-bottom:1px solid var(--line)}
.pm-drawer a:hover{color:var(--blue)}
.pm-drawer .btn{margin-top:18px;border-bottom:none}
.pm-close{align-self:flex-end;width:40px;height:40px;border:none;background:transparent;cursor:pointer;font-size:30px;line-height:1;color:var(--ink);margin-bottom:6px}
.pm-overlay{position:fixed;inset:0;background:rgba(11,11,12,.45);z-index:190;opacity:0;pointer-events:none;transition:opacity .3s}
.pm-overlay.open{opacity:1;pointer-events:auto}
@media(max-width:1000px){
  .pm-nav-center,.pm-nav-right .pm-nav-ic:not(.pm-nav-cart){display:none}
  .pm-ham{display:flex}
  .pm-nav-i{height:66px;padding:0 20px;gap:0}
  .pm-nav-right{margin-left:auto;gap:12px}
  .pm-logo img{height:36px}
  .pm-container{padding:0 20px}
}

/* ── FOOTER ── */
.pm-footer{background:var(--paper);border-top:1px solid var(--line);color:var(--body);padding:52px 0 0;font-size:14px}
.pm-foot-top{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:40px;padding-bottom:44px}
.pm-foot-brandcol{text-align:center;max-width:290px}
/* full-colour lockup spanning the column — no circle, no tint */
.pm-foot-brand{display:block;text-decoration:none;width:100%;max-width:250px;margin:0 auto 18px}
.pm-foot-brand img{width:100%;height:auto;object-fit:contain;background:none;padding:0}
.pm-foot-about{font-size:12.5px;color:var(--body);line-height:1.75;font-weight:300}
.pm-foot-soc{display:flex;gap:12px;margin-top:20px;justify-content:center}
.pm-foot-soc a{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--ink);display:flex;align-items:center;justify-content:center;color:var(--ink);transition:background .22s,color .22s,border-color .22s}
.pm-foot-soc a:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.pm-fcol h4{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink);margin-bottom:18px}
.pm-fcol a{display:block;font-size:13px;color:var(--body);text-decoration:none;padding:6px 0;font-weight:300;transition:color .2s}
.pm-fcol a:hover{color:var(--blue)}
.pm-foot-bot{border-top:1px solid var(--line);padding:22px 0 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:11.5px;color:var(--muted)}
.pm-foot-bot .pm-foot-links{display:flex;gap:20px;flex-wrap:wrap}
.pm-foot-bot a{color:var(--muted);text-decoration:none}
.pm-foot-bot a:hover{color:var(--blue)}
.pm-foot-legal{width:100%;font-size:11px;line-height:1.7;color:var(--muted);font-weight:300;padding-bottom:30px;max-width:980px}
@media(max-width:1000px){.pm-foot-top{grid-template-columns:1fr 1fr 1fr;gap:30px}.pm-foot-brandcol{grid-column:1/-1;margin:0 auto}}
@media(max-width:860px){.pm-foot-top{grid-template-columns:1fr 1fr;gap:26px}.pm-foot-bot{flex-direction:column;align-items:flex-start}}
@media(max-width:560px){.pm-foot-top{grid-template-columns:1fr;text-align:center}.pm-foot-soc{justify-content:center}}

/* ── BREADCRUMB ── */
.pm-crumb{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:24px;display:flex;gap:8px;flex-wrap:wrap}
.pm-crumb a{color:var(--muted);text-decoration:none}
.pm-crumb a:hover{color:var(--blue)}

/* ── SHOP ARCHIVE ── */
.pm-shop-main{padding:48px 0 88px}
.pm-page-eye{margin-bottom:18px}
.pm-page-title{font-family:var(--disp);font-variation-settings:'wdth' 94,'wght' 900;font-size:clamp(30px,4.2vw,52px);text-transform:uppercase;line-height:1;letter-spacing:-.01em;margin-bottom:14px}
.pm-page-title em{font-style:normal;color:var(--blue)}
.pm-page-sub{font-size:14.5px;color:var(--body);line-height:1.75;font-weight:300;max-width:560px;margin-bottom:34px}

/* ── PRODUCT GRID + CARD (shared by shop archive and COA library) ── */
.pm-shop-grid,.coa-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media(max-width:1000px){.pm-shop-grid,.coa-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.pm-shop-grid,.coa-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
.pm-sc{background:var(--card);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--ink);display:flex;flex-direction:column;position:relative;min-width:0;overflow:hidden;transition:box-shadow .3s,transform .3s cubic-bezier(.16,1,.3,1),border-color .2s}
.pm-sc:hover{box-shadow:0 14px 30px rgba(11,11,12,.10);border-color:var(--line2);transform:translateY(-3px)}
/* photography ships with its background baked in: full-bleed cover, no padding, gradient or shadow */
.pm-sc-thumb{aspect-ratio:1/1;position:relative;display:flex;align-items:center;justify-content:center;background:var(--paper2);overflow:hidden;border-bottom:1px solid var(--line)}
.pm-sc-thumb>img{width:100%;height:100%;object-fit:cover;display:block}
.pm-sc-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:14px}
.pm-sc-ph img{width:56%;max-width:110px;height:auto;object-fit:contain;opacity:.42}
.pm-sc-ph span{font-size:8.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.pm-sc-badge{position:absolute;top:10px;left:10px;z-index:2;font-size:8.5px;padding:4px 9px}
.pm-sc-info{padding:14px 12px 16px;text-align:center;display:flex;flex-direction:column;flex:1;min-width:0}
.pm-sc-eye{font-size:10px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:5px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pm-sc-title{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:14px;text-transform:uppercase;line-height:1.15;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pm-sc-bottom{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:auto;padding-top:10px}
.pm-sc-price{font-size:15px;font-weight:600;color:var(--blue);white-space:nowrap}
.pm-sc-price .from{font-style:normal;font-size:10px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.pm-sc-stock{font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.pm-sc-stock.in{color:var(--muted)}
.pm-sc-stock.low{color:var(--warn)}
.pm-sc-stock.out{color:var(--alert)}
@media(max-width:560px){.pm-sc-title{font-size:13px}.pm-sc-price{font-size:14px}}

/* ── PDP ── */
.pm-pdp{padding:28px 0 60px}
.pm-wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.pdp-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:44px;align-items:start}
.pdp-gallery{position:sticky;top:96px}
.pdp-img-wrap{background:var(--paper2);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;position:relative;aspect-ratio:1/1;width:100%;display:flex;align-items:center;justify-content:center}
.pdp-img-wrap svg{height:58%;width:auto}
.pdp-img-wrap>img{width:100%;height:100%;object-fit:cover}
.pdp-corner{position:absolute;top:14px;left:14px;z-index:2}
.pdp-corner-r{position:absolute;top:14px;right:14px;z-index:2;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:8px 12px;font-family:var(--sans);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--volt-d)}
.pdp-corner-r b{display:block;font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:16px;color:var(--ink);letter-spacing:0;margin-top:2px}
/* Summary */
.pdp-bb{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:34px 32px}
.pdp-topline{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.pdp-eye{font-family:var(--sans);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--zap-d);font-weight:500}
.pdp-title{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 900;font-size:clamp(28px,3.6vw,44px);text-transform:uppercase;line-height:.98;letter-spacing:-.01em;margin-bottom:12px}
.pdp-title .pdp-sz{color:var(--muted);font-weight:400;font-size:.5em;font-variation-settings:'wdth' 96,'wght' 500;text-transform:none;letter-spacing:0;margin-left:6px}
.pdp-desc{font-size:14.5px;color:var(--body);line-height:1.7;margin-bottom:22px;font-weight:300}
.pdp-priceline{display:flex;align-items:baseline;gap:14px;margin-bottom:22px}
.pdp-price-now{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:30px;color:var(--ink);line-height:1}
.pdp-price-per{font-family:var(--sans);font-size:10px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}
.pdp-opt-label{font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--volt-d);margin:22px 0 10px}
.pdp-vars{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}
.pdp-vpill{border:1.5px solid var(--line2);border-radius:var(--r);background:var(--card);cursor:pointer;font-family:inherit;text-align:center;padding:12px 12px;transition:border-color .2s,box-shadow .2s;min-width:0}
.pdp-vpill:hover:not(:disabled){border-color:var(--zap)}
.pdp-vpill.active{border-color:var(--ink);border-width:2px;padding:11px 11px;background:var(--paper2)}
.pdp-vpill.oos{opacity:.45;cursor:not-allowed}
.pdp-vpill-dose{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:14px;display:block;text-transform:uppercase}
.pdp-vpill small{font-family:var(--sans);font-size:10px;color:var(--muted);display:block;margin-top:3px}
.pdp-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pdp-tier{border:1.5px solid var(--line2);border-radius:var(--r);background:var(--card);cursor:pointer;font-family:inherit;text-align:left;padding:14px 14px;transition:border-color .2s;position:relative;min-width:0}
.pdp-tier:hover{border-color:var(--zap)}
.pdp-tier.active{border-color:var(--ink);border-width:2px;padding:13px 13px;background:var(--paper2)}
.pdp-tier-qty{font-family:var(--sans);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.pdp-tier-price{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:17px;color:var(--ink)}
.pdp-tier-ea{font-family:var(--sans);font-size:10px;color:var(--volt);margin-top:5px;letter-spacing:.11em;text-transform:uppercase}
.pdp-tier-flag{position:absolute;top:-8px;right:8px;background:var(--zap);color:var(--ink);font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px 2px}
.pdp-tier-flag>span{display:block}
.pdp-tier-flag.best{background:var(--volt);color:#fff}
.pdp-ups{display:flex;flex-direction:column;gap:8px}
.pdp-up{display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:var(--r);cursor:pointer;background:var(--card);position:relative;transition:border-color .2s}
.pdp-up:hover{border-color:var(--line2)}
.pdp-up-check{position:absolute;opacity:0;width:0;height:0}
.pdp-up-img{width:42px;height:42px;overflow:hidden;border-radius:var(--r);flex-shrink:0;background:var(--paper2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.pdp-up-img svg{width:60%;height:auto}
.pdp-up-img>img{width:100%;height:100%;object-fit:cover}
.pdp-up-info{flex:1;min-width:0}
.pdp-up-info b{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:13.5px;display:block;text-transform:uppercase;letter-spacing:0}
.pdp-up-info small{font-family:var(--sans);font-size:10px;color:var(--muted);display:block;letter-spacing:.1em;text-transform:uppercase;margin-top:2px}
.pdp-up-price{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 700;font-size:14px;color:var(--ink);flex-shrink:0}
.pdp-up-box{width:20px;height:20px;border:1.5px solid var(--line2);display:flex;align-items:center;justify-content:center;font-size:12px;color:transparent;transition:all .2s;flex-shrink:0}
.pdp-up-check:checked ~ .pdp-up-box{background:var(--volt);border-color:var(--volt);color:#fff}
.pdp-totalbar{display:flex;justify-content:space-between;align-items:baseline;border-top:1px dashed var(--line2);padding:18px 0 14px;margin-top:24px}
.pdp-total-lbl{font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.pdp-total-sum{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 900;font-size:26px;color:var(--ink)}
.pdp-atc{width:100%;padding:16px;border:none;border-radius:var(--r);background:var(--volt);color:#fff;font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .2s,box-shadow .25s}
.pdp-atc:hover{background:var(--volt-d);box-shadow:0 12px 28px rgba(0,70,190,.28)}
.pdp-atc-oos{background:var(--line);color:var(--muted);cursor:not-allowed}
.pdp-atc-oos:hover{background:var(--line);color:var(--muted);box-shadow:none}
.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(--line2);border-radius:var(--r);background:var(--card);color:var(--ink);font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:border-color .2s,background .2s,color .2s}
.pdp-coa-btn:hover{border-color:var(--zap);background:var(--paper2);color:var(--volt-d)}
.pdp-assure{display:flex;gap:16px;flex-wrap:wrap;margin-top:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.pdp-assure span{font-family:var(--sans);font-size:10px;color:var(--body);letter-spacing:.06em}
.pdp-lot{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:20px 0}
.pdp-lot-row{background:var(--card);padding:13px 15px}
.pdp-lot-k{font-family:var(--sans);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.pdp-lot-v{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 700;font-size:14px;color:var(--ink)}
.pdp-accs{margin-top:6px}
.pdp-acc{border-bottom:1px solid var(--line)}
.pdp-acc summary{display:flex;justify-content:space-between;align-items:center;padding:18px 0;font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 700;font-size:14px;text-transform:uppercase;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(--volt)}
.pdp-pm{font-size:20px;color:var(--muted);line-height:1;transition:transform .3s;font-family:var(--sans)}
.pdp-acc[open] .pdp-pm{transform:rotate(45deg);color:var(--volt)}
.pdp-ac{padding:0 0 20px;font-size:14px;color:var(--body);line-height:1.7;font-weight:300}
.pdp-ac a{color:var(--volt);text-decoration:none;font-weight:500}
.pdp-sr{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.pdp-sr:last-child{border-bottom:none}
.pdp-sr-k{color:var(--muted);font-family:var(--sans);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.pdp-sr-v{color:var(--ink);font-weight:500;text-align:right}
.pdp-slim{margin-top:44px;padding:22px 26px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);font-family:var(--sans);font-size:10.5px;color:var(--muted);text-align:center;line-height:1.75;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:820px){
  .pdp-grid{grid-template-columns:1fr;gap:16px}
  .pdp-gallery{position:relative;top:auto}
  .pdp-bb{padding:24px 20px}
  .pdp-tiers{grid-template-columns:1fr}
  .pdp-lot{grid-template-columns:1fr}
  .pdp-assure{flex-direction:column;gap:6px}
  .pm-pdp{padding:14px 0 48px}
}

/* ── COA LIBRARY ── */
.coa-lib{padding:48px 0 100px;min-height:70vh}
.coa-hd{margin-bottom:32px}
.coa-hd .eye{margin-bottom:16px}
.coa-hd h1{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 900;font-size:clamp(30px,4vw,50px);text-transform:uppercase;line-height:1;letter-spacing:-.01em;margin:0 0 14px}
.coa-hd h1 em{font-style:normal;color:var(--volt)}
.coa-hd p{font-size:15px;color:var(--body);line-height:1.7;font-weight:300;max-width:560px;margin:0}
.coa-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:26px}
.coa-stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;display:flex;flex-direction:column;justify-content:space-between;min-height:130px}
.coa-stat-v{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 900;font-size:clamp(30px,3.4vw,42px);line-height:1;color:var(--ink)}
.coa-stat-v span{color:var(--volt)}
.coa-stat-l{font-family:var(--sans);font-size:10px;color:var(--muted);margin-top:14px;letter-spacing:.1em;text-transform:uppercase;line-height:1.5}
.coa-search{position:relative;margin-bottom:16px}
.coa-search input{width:100%;padding:14px 18px 14px 44px;font-family:var(--sans);font-size:14.5px;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:var(--r);outline:none;transition:border-color .2s}
.coa-search input:focus{border-color:var(--zap)}
.coa-search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--muted)}
.coa-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.coa-pill{font-family:var(--sans);font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:9px 18px;border:1.5px solid var(--line2);border-radius:var(--r);background:transparent;color:var(--ink);cursor:pointer;transition:all .22s}
.coa-pill:hover{border-color:var(--zap);color:var(--volt)}
.coa-pill.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.coa-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s,border-color .2s}
.coa-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(10,14,20,.08);border-color:var(--line2)}
.coa-card.hide{display:none}
.coa-img{position:relative;aspect-ratio:1/1;background:var(--paper2);overflow:hidden;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line)}
.coa-img>img{width:100%;height:100%;object-fit:cover}
.coa-img svg{height:56%;width:auto}
.coa-tag{position:absolute;top:12px;left:12px;font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px 4px;z-index:2;max-width:calc(100% - 74px)}
.coa-tag>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.coa-pur{position:absolute;top:12px;right:12px;z-index:2;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:7px 11px;text-align:right}
.coa-pur-val{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:20px;color:var(--ink);line-height:1}
.coa-pur-lbl{font-family:var(--sans);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--volt);margin-top:3px}
.coa-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.coa-eye{font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--zap-d);margin-bottom:6px}
.coa-name{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:19px;text-transform:uppercase;line-height:1.08;color:var(--ink);margin:0 0 14px}
.coa-name a{color:inherit;text-decoration:none}
.coa-name a:hover{color:var(--volt)}
.coa-meta{display:flex;gap:24px;padding:12px 0 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:14px}
.coa-mk{font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.coa-mv{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 700;font-size:13px;color:var(--ink)}
.coa-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.coa-ttag{font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;padding:5px 10px 4px;background:var(--paper2);color:var(--ink);border:1px solid var(--line);border-radius:2px;display:inline-flex;align-items:center;gap:4px}
.coa-ttag.check{background:rgba(0,174,239,.12);color:var(--volt-d);border-color:var(--zap-l)}
.coa-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px;font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:#fff;background:var(--ink);border:1px solid var(--ink);border-radius:var(--r);margin-top:auto;transition:all .22s}
.coa-btn:hover{background:var(--volt);border-color:var(--volt)}
.coa-empty{text-align:center;padding:70px 20px;color:var(--muted);font-size:15px;grid-column:1/-1}
@media(max-width:820px){.coa-stats{grid-template-columns:1fr}}

/* ── THANK YOU ── */
.pm-ty{font-family:var(--sans);color:var(--ink);padding:52px 24px 88px;min-height:70vh}
.pm-ty-c{max-width:1180px;margin:0 auto}
.pm-ty-hero{display:flex;flex-direction:column;align-items:flex-start;gap:22px;margin-bottom:48px}
.pm-success{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--volt-d);background:rgba(0,174,239,.14);border:1px solid var(--zap-l);padding:8px 15px 7px}
.pm-success>span{display:block;display:flex;align-items:center;gap:9px}
.pm-success-dot{width:8px;height:8px;background:var(--zap);position:relative;flex-shrink:0}
.pm-success-dot::before{content:'';position:absolute;inset:-5px;border:2px solid var(--zap);animation:pm-pulse 2s cubic-bezier(.16,1,.3,1) infinite}
@keyframes pm-pulse{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.6);opacity:0}}
.pm-ty-h{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 900;font-size:clamp(40px,6.4vw,72px);text-transform:uppercase;line-height:.98;letter-spacing:-.02em;margin:0}
.pm-ty-h em{font-style:normal;color:var(--volt)}
.pm-ty-sub{font-size:15.5px;line-height:1.7;color:var(--body);max-width:580px;margin:0;font-weight:300}
.pm-ty-sub strong{color:var(--ink);font-weight:600}
.pm-ty-orderno{font-family:var(--sans);font-size:10.5px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.pm-ty-orderno strong{color:var(--ink);font-weight:700;letter-spacing:.04em}
.pm-ty-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start}
.pm-ty-meta{display:grid;grid-template-columns:1fr 1fr;gap:26px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:32px}
.pm-meta-l{font-family:var(--sans);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:8px}
.pm-meta-v{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:22px;line-height:1.1;text-transform:uppercase}
.pm-ty-payment{margin-bottom:32px}
.pm-ty-payment-l{font-family:var(--sans);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:8px}
.pm-ty-payment-v{font-size:14.5px;font-weight:500}
.pm-ty-addrs{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.pm-addr-l{font-family:var(--sans);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:10px}
.pm-addr address{font-style:normal;font-size:13.5px;line-height:1.7;color:var(--body)}
.pm-addr address .name{color:var(--ink);font-weight:600;display:block;margin-bottom:2px;font-size:14.5px}
.pm-ty-summary{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px;position:sticky;top:24px}
.pm-summary-h{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 900;font-size:22px;text-transform:uppercase;letter-spacing:-.005em;margin:0 0 20px}
.pm-summary-h em{font-style:normal;color:var(--volt)}
.pm-item{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.pm-item:first-of-type{padding-top:0}
.pm-item-img{width:60px;height:60px;background:var(--paper2);overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--r)}
.pm-item-img>img{width:100%;height:100%;object-fit:cover}
.pm-item-img svg{width:56%;height:auto}
.pm-item-body{flex:1;min-width:0}
.pm-item-name{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:13.5px;text-transform:uppercase;line-height:1.15;margin-bottom:4px;color:var(--ink)}
.pm-item-meta{font-family:var(--sans);font-size:10px;color:var(--muted);letter-spacing:.06em;line-height:1.5;text-transform:uppercase}
.pm-item-price{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 700;font-size:13.5px;color:var(--ink);margin-top:5px}
.pm-totals{padding-top:16px;margin-top:6px}
.pm-totals .row{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;font-size:13.5px;color:var(--body)}
.pm-totals .row.total{padding-top:14px;margin-top:6px;border-top:1px solid var(--line);font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 900;font-size:18px;text-transform:uppercase;color:var(--ink)}
.pm-totals .row.total .v{font-size:22px}
.pm-totals .v{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 700;color:var(--ink)}
.pm-status{margin-top:42px;padding:26px;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.pm-status-h{font-family:var(--sans);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:22px}
.pm-status-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;position:relative}
.pm-status-step{display:flex;flex-direction:column;align-items:flex-start;gap:10px;position:relative;padding-right:14px}
.pm-status-step::after{content:'';position:absolute;top:6px;left:14px;right:0;height:2px;background:var(--line2)}
.pm-status-step:last-child::after{display:none}
.pm-status-step.done::after{background:var(--volt)}
.pm-status-dot{width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--line2);position:relative;z-index:1;flex-shrink:0}
.pm-status-step.done .pm-status-dot{background:var(--volt);border-color:var(--volt)}
.pm-status-step.current .pm-status-dot{background:var(--zap);border-color:var(--zap);box-shadow:0 0 0 4px rgba(0,174,239,.22)}
.pm-status-label{font-family:var(--sans);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);line-height:1.3;font-weight:500}
.pm-status-step.done .pm-status-label,.pm-status-step.current .pm-status-label{color:var(--ink)}
@media(max-width:900px){
  .pm-ty{padding:36px 20px 64px}
  .pm-ty-grid{grid-template-columns:1fr;gap:32px}
  .pm-ty-summary{position:relative;top:0}
  .pm-ty-meta{grid-template-columns:1fr 1fr;gap:20px}
  .pm-ty-addrs{grid-template-columns:1fr;gap:22px}
  .pm-status-steps{grid-template-columns:1fr;gap:0}
  .pm-status-step{flex-direction:row;align-items:center;gap:12px;padding:0 0 16px 0;padding-right:0}
  .pm-status-step::after{top:14px;left:6px;right:auto;bottom:-4px;width:2px;height:auto}
  .pm-status-step:last-child{padding-bottom:0}
}

/* ── AGE GATE ── */
.pm-age{position:fixed;inset:0;z-index:9999;background:rgba(11,11,12,.94);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;overflow-y:auto}
.pm-age-box{background:var(--card);width:100%;max-width:520px;border:1px solid var(--line);border-radius:var(--rl);box-shadow:0 40px 100px rgba(0,0,0,.5);position:relative;padding:36px 34px 32px;overflow:hidden}
.pm-age-box::before{content:'';position:absolute;left:0;top:0;right:0;height:5px;background:linear-gradient(90deg,var(--blue-d),var(--blue-l))}
.pm-age-mark{display:flex;justify-content:center;margin-bottom:22px}
.pm-age-mark img{width:76px;height:auto}
.pm-age-eye{display:flex;justify-content:center;margin-bottom:16px}
.pm-age-h{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 900;font-size:clamp(26px,3.4vw,34px);text-transform:uppercase;line-height:.98;letter-spacing:-.01em;text-align:center;margin-bottom:12px}
.pm-age-h em{font-style:normal;color:var(--volt)}
.pm-age-p{text-align:center;font-size:14px;color:var(--body);line-height:1.65;font-weight:300;margin-bottom:22px}
.pm-age-checks{display:flex;flex-direction:column;gap:12px;margin-bottom:22px}
.pm-age-check{display:flex;align-items:flex-start;gap:11px;padding:12px 14px;background:var(--paper2);border:1px solid var(--line);border-radius:var(--r);cursor:pointer;transition:border-color .2s,background .2s}
.pm-age-check:hover{border-color:var(--line2)}
.pm-age-check input{position:absolute;opacity:0;width:0;height:0}
.pm-age-box2{width:20px;height:20px;flex-shrink:0;border:1.5px solid var(--line2);display:flex;align-items:center;justify-content:center;color:transparent;transition:all .2s;margin-top:1px}
.pm-age-check input:checked ~ .pm-age-box2{background:var(--volt);border-color:var(--volt);color:#fff}
.pm-age-check input:checked ~ .pm-age-txt{color:var(--ink)}
.pm-age-check.on{border-color:var(--blue-l);background:var(--blue-pale)}
.pm-age-txt{font-size:13px;color:var(--body);line-height:1.55;font-weight:400}
.pm-age-txt strong{color:var(--ink);font-weight:600}
.pm-age-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pm-age-enter{padding:14px;background:var(--blue);color:#fff;border:1.5px solid var(--blue);border-radius:var(--r);cursor:pointer;font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;transition:background .2s}
.pm-age-enter>span{display:block}
.pm-age-enter:hover:not(:disabled){background:var(--volt-d)}
.pm-age-enter:disabled{background:var(--line);color:var(--muted);cursor:not-allowed}
.pm-age-leave{padding:14px;background:transparent;color:var(--ink);border:1.5px solid var(--line2);border-radius:var(--r);cursor:pointer;font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 700;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;text-align:center;transition:border-color .2s,color .2s}
.pm-age-leave:hover{border-color:var(--ink);color:var(--ink);background:var(--paper2)}
.pm-age-legal{margin-top:20px;font-family:var(--sans);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:center;line-height:1.6}
@media(max-width:520px){
  .pm-age-box{padding:28px 22px 26px}
  .pm-age-btns{grid-template-columns:1fr}
}

/* Simple pages (disclaimer, privacy, terms) */
.pm-page-doc{padding:56px 0 100px}
.pm-page-doc .pm-container{max-width:800px}
.pm-page-doc h1{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 900;font-size:clamp(30px,4vw,44px);text-transform:uppercase;line-height:1;letter-spacing:-.01em;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.pm-page-doc h2{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:18px;text-transform:uppercase;color:var(--ink);margin:36px 0 12px;line-height:1.2}
.pm-page-doc p{font-size:14.5px;line-height:1.75;color:var(--body);margin-bottom:16px;font-weight:300}
.pm-page-doc strong{color:var(--ink);font-weight:600}
.pm-page-doc a{color:var(--volt);text-decoration:none}
.pm-page-doc a:hover{text-decoration:underline}

/* =============================================================
   AFFILIATE PROGRAM PAGE  (page-affiliates.php)
   Information page only — the programme itself is a My Account
   endpoint. Reuses the existing tokens, .plate and .btn.
============================================================= */
.pm-aff{padding:48px 0 100px}
.aff-arw{font-style:normal;transition:transform .25s}
.btn:hover .aff-arw{transform:translateX(3px)}

/* Hero */
.aff-hero{text-align:center;max-width:760px;margin:0 auto 56px}
.aff-hero .plate{margin-bottom:20px}
.aff-hero h1{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 900;font-size:clamp(34px,5.4vw,62px);text-transform:uppercase;line-height:1;letter-spacing:-.015em;margin:0 0 20px}
.aff-hero h1 em{font-style:normal;color:var(--blue)}
.aff-sub{font-size:16px;line-height:1.7;color:var(--body);font-weight:300;max-width:560px;margin:0 auto 30px}
.aff-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:22px}
.aff-note{font-size:13px;color:var(--muted);line-height:1.7;font-weight:300;max-width:520px;margin:0 auto}
.aff-note strong{color:var(--ink2);font-weight:600}
.aff-note a{color:var(--blue);text-decoration:none;border-bottom:1px solid rgba(59,130,246,.35)}
.aff-note a:hover{border-bottom-color:var(--blue)}

/* Stats */
.aff-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:72px}
.aff-stat{background:var(--card);border:1px solid var(--line);border-radius:var(--rl);padding:26px 26px 28px}
.aff-stat-v{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 900;font-size:clamp(30px,3.4vw,42px);line-height:1;color:var(--blue);text-transform:uppercase}
.aff-stat-l{font-size:10px;font-weight:600;color:var(--muted);margin-top:12px;letter-spacing:.12em;text-transform:uppercase;line-height:1.5}
.aff-stat p{font-size:13.5px;line-height:1.7;color:var(--body);font-weight:300;margin:14px 0 0}

/* Section heading */
.aff-sec-h{margin-bottom:28px}
.aff-sec-h h2{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 900;font-size:clamp(24px,3.2vw,36px);text-transform:uppercase;line-height:1.05;margin:0 0 10px}
.aff-sec-h h2 em{font-style:normal;color:var(--blue)}
.aff-sec-h p{font-size:14.5px;color:var(--body);font-weight:300;margin:0}

/* How it works */
.aff-how{margin-bottom:72px}
.aff-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.aff-step{background:var(--paper2);border:1px solid var(--line);border-radius:var(--rl);padding:26px}
.aff-step-n{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 900;font-size:13px;letter-spacing:.14em;color:var(--blue);margin-bottom:14px}
.aff-step h3{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:15px;text-transform:uppercase;line-height:1.25;margin:0 0 10px}
.aff-step p{font-size:13.5px;line-height:1.75;color:var(--body);font-weight:300;margin:0}
.aff-step strong{color:var(--ink2);font-weight:600}

/* Where it lives */
.aff-where{margin-bottom:72px}
.aff-where-i{background:var(--blue-pale);border:1px solid #D3E4FD;border-radius:var(--rl);padding:34px 36px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.aff-where-c{max-width:640px}
.aff-where-c .plate{margin-bottom:16px}
.aff-where-c h2{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 900;font-size:clamp(21px,2.6vw,29px);text-transform:uppercase;line-height:1.1;margin:0 0 12px}
.aff-where-c h2 em{font-style:normal;color:var(--blue-d)}
.aff-where-c>p{font-size:14px;line-height:1.75;color:var(--body);font-weight:300;margin:0 0 18px}
.aff-where-url{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid #D3E4FD;border-radius:var(--r);padding:11px 14px}
.aff-where-url .mono{color:var(--muted);flex-shrink:0}
.aff-where-url a{font-size:13px;color:var(--blue-d);text-decoration:none;font-weight:500;word-break:break-all}
.aff-where-url a:hover{text-decoration:underline}
.aff-where-b{flex-shrink:0}

/* FAQ */
.aff-faq{margin-bottom:72px}
.aff-faq-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.aff-q{background:var(--card);border:1px solid var(--line);border-radius:var(--rl);padding:24px 26px}
.aff-q h3{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:14px;text-transform:uppercase;line-height:1.25;margin:0 0 9px}
.aff-q p{font-size:13.5px;line-height:1.75;color:var(--body);font-weight:300;margin:0}

/* Closing CTA */
.aff-end{background:var(--ink);border-radius:var(--rl);padding:56px 32px;text-align:center}
.aff-end h2{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 900;font-size:clamp(26px,3.6vw,40px);text-transform:uppercase;line-height:1.05;color:#fff;margin:0 0 12px}
.aff-end h2 em{font-style:normal;color:var(--blue-l)}
.aff-end p{font-size:14.5px;color:#A8B2C0;font-weight:300;margin:0 0 24px}

@media(max-width:900px){
  .aff-stats,.aff-steps{grid-template-columns:1fr}
  .aff-faq-g{grid-template-columns:1fr}
  .aff-where-i{flex-direction:column;align-items:flex-start;padding:28px 24px}
  .aff-where-b,.aff-where-b .btn{width:100%}
}
@media(max-width:620px){
  .pm-aff{padding:32px 0 72px}
  .aff-hero{margin-bottom:40px}
  .aff-cta{flex-direction:column}
  .aff-cta .btn{width:100%}
  .aff-stats,.aff-how,.aff-where,.aff-faq{margin-bottom:48px}
  .aff-end{padding:40px 22px}
}

/* ── COA LIBRARY → AFFILIATE STRIP ── */
.coa-aff{margin-top:44px;background:var(--paper2);border:1px solid var(--line);border-radius:var(--rl);padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.coa-aff-t{display:flex;align-items:flex-start;gap:14px}
.coa-aff-ic{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--blue-pale);color:var(--blue-d);display:flex;align-items:center;justify-content:center;margin-top:1px}
.coa-aff h2{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:15px;text-transform:uppercase;line-height:1.25;margin:0 0 6px}
.coa-aff p{font-size:13px;line-height:1.65;color:var(--body);font-weight:300;margin:0;max-width:560px}
.coa-aff-btn{flex-shrink:0}
@media(max-width:760px){
  .coa-aff{flex-direction:column;align-items:flex-start;gap:16px;padding:20px}
  .coa-aff-btn,.coa-aff-btn.btn{width:100%}
}

/* =============================================================
   MY ACCOUNT  (page-account.php + woocommerce/myaccount/*)
   Scoped under .pm-account so it overrides WooCommerce's own
   stylesheets without touching anything else on the site.
============================================================= */
.pm-account{padding:48px 0 100px;min-height:70vh}
.pm-acc-hd{margin-bottom:30px}
.pm-acc-hd h1{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 900;font-size:clamp(30px,4vw,50px);text-transform:uppercase;line-height:1;letter-spacing:-.01em;margin:0}
.pm-acc-hd p{font-size:15px;color:var(--body);line-height:1.7;font-weight:300;max-width:520px;margin:14px 0 0}

/* Layout */
.pm-acc-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;align-items:start}

/* Sidebar */
.pm-account .pm-acc-nav{background:var(--card);border:1px solid var(--line);border-radius:var(--rl);padding:8px;position:sticky;top:92px}
.pm-acc-user{display:flex;align-items:center;gap:11px;padding:14px 12px 15px;border-bottom:1px solid var(--line);margin-bottom:8px}
.pm-acc-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:15px}
.pm-acc-hello{font-size:9.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);line-height:1.4}
.pm-acc-name{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:14px;text-transform:uppercase;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pm-account .pm-acc-nav ul{list-style:none;margin:0;padding:0}
.pm-account .pm-acc-nav li{margin:0}
.pm-account .pm-acc-nav li a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:var(--r);text-decoration:none;color:var(--ink2);font-size:12.5px;font-weight:500;letter-spacing:.02em;transition:background .18s,color .18s}
.pm-account .pm-acc-nav li a:hover{background:var(--paper2);color:var(--ink)}
.pm-acc-ic{flex-shrink:0;display:flex;color:var(--muted);transition:color .18s}
.pm-account .pm-acc-nav li a:hover .pm-acc-ic{color:var(--blue)}
.pm-account .pm-acc-nav li.is-active>a{background:var(--blue-pale);color:var(--blue-d);font-weight:600}
.pm-account .pm-acc-nav li.is-active>a .pm-acc-ic{color:var(--blue-d)}
.pm-account .pm-acc-nav li.woocommerce-MyAccount-navigation-link--customer-logout a{color:var(--muted)}
.pm-account .pm-acc-nav li.woocommerce-MyAccount-navigation-link--customer-logout a:hover{color:var(--alert)}

/* Content column */
.pm-acc-content{min-width:0}
.pm-acc-content>p,.pm-acc-content>div>p{font-size:14.5px;line-height:1.75;color:var(--body);font-weight:300}
.pm-acc-content h2,.pm-acc-content h3{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;text-transform:uppercase;letter-spacing:-.005em}
.pm-acc-content h2{font-size:19px;margin:0 0 16px}
.pm-acc-content h3{font-size:15px;margin:26px 0 12px}

/* Dashboard */
.pm-dash-hi{font-size:15px;color:var(--body);font-weight:300;margin:0 0 22px}
.pm-dash-hi strong{color:var(--ink);font-weight:600}
.pm-dash-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pm-dash-c{background:var(--card);border:1px solid var(--line);border-radius:var(--rl);padding:20px 20px 22px;text-decoration:none;color:var(--ink);display:block;transition:box-shadow .28s,border-color .2s,transform .28s cubic-bezier(.16,1,.3,1)}
.pm-dash-c:hover{box-shadow:0 14px 30px rgba(11,11,12,.09);border-color:var(--line2);transform:translateY(-3px)}
.pm-dash-ic{display:flex;width:34px;height:34px;border-radius:var(--r);background:var(--blue-pale);color:var(--blue-d);align-items:center;justify-content:center;margin-bottom:13px}
.pm-dash-c h3{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:13.5px;text-transform:uppercase;line-height:1.2;margin:0 0 6px}
.pm-dash-c p{font-size:12.5px;line-height:1.6;color:var(--body);font-weight:300;margin:0}
.pm-dash-c-aff{background:var(--blue-pale);border-color:#D3E4FD}
.pm-dash-c-aff .pm-dash-ic{background:#fff}
.pm-dash-out{font-size:12.5px;color:var(--muted);font-weight:300;margin:24px 0 0}
.pm-dash-out a{color:var(--blue);text-decoration:none}
.pm-dash-out a:hover{text-decoration:underline}

/* Login / register */
.pm-auth{display:grid;grid-template-columns:1fr;gap:16px;max-width:520px}
.pm-auth.has-reg{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
.pm-auth-card{background:var(--card);border:1px solid var(--line);border-radius:var(--rl);padding:30px 30px 32px}
.pm-auth-card h2{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 900;font-size:20px;text-transform:uppercase;margin:0 0 20px}
.pm-auth-note{font-size:12.5px;line-height:1.65;color:var(--muted);font-weight:300;margin:0 0 18px}
.pm-auth-legal{font-size:11px;line-height:1.6;color:var(--muted);font-weight:300;margin:14px 0 0}
.pm-auth-lost{font-size:12px;color:var(--blue);text-decoration:none}
.pm-auth-lost:hover{text-decoration:underline}

/* Forms — shared by login, register, address and account-details */
.pm-account .pm-field,.pm-account .woocommerce-form-row,.pm-account .form-row{display:block;margin:0 0 16px;padding:0}
.pm-account label{display:block;font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink2);margin-bottom:7px}
.pm-account .required{color:var(--alert);text-decoration:none;border:0}
.pm-account input[type=text],.pm-account input[type=email],.pm-account input[type=password],
.pm-account input[type=tel],.pm-account input[type=number],.pm-account input[type=search],
.pm-account textarea,.pm-account select,.pm-account .select2-container .select2-selection--single{
  width:100%;padding:12px 14px;border:1.5px solid var(--line2);border-radius:var(--r);background:#fff;
  font-family:var(--sans);font-size:14px;color:var(--ink);line-height:1.4;transition:border-color .18s,box-shadow .18s}
.pm-account input:focus,.pm-account textarea:focus,.pm-account select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(59,130,246,.14)}
.pm-account .pm-form-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.pm-account .pm-check{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:12px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--body)}
.pm-account .pm-check input{width:auto;margin:0}
.pm-account .pm-submit{margin:0}
.pm-account .pm-submit .button,.pm-account .pm-submit button{width:100%}
.pm-account .woocommerce-form-row--first{width:100%}
.pm-account fieldset{border:1px solid var(--line);border-radius:var(--rl);padding:22px 24px;margin:26px 0 0}
.pm-account legend{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:14px;text-transform:uppercase;padding:0 8px}
.pm-account em{font-style:normal;font-size:11.5px;color:var(--muted);display:block;margin-top:6px;font-weight:300}

/* WooCommerce buttons inside the account area */
.pm-account .woocommerce-Button,.pm-account button.button,.pm-account a.button,.pm-account input.button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--blue);color:#fff;
  border:1.5px solid var(--blue);border-radius:var(--r);padding:13px 24px;cursor:pointer;text-decoration:none;
  font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  transition:background .2s,border-color .2s,box-shadow .25s,transform .25s}
.pm-account .woocommerce-Button:hover,.pm-account button.button:hover,.pm-account a.button:hover,.pm-account input.button:hover{
  background:var(--blue-d);border-color:var(--blue-d);box-shadow:0 10px 24px rgba(59,130,246,.26);transform:translateY(-1px)}

/* Orders / downloads tables */
.pm-account table.shop_table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:var(--rl);overflow:hidden;margin:0}
.pm-account table.shop_table th{background:var(--paper2);font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);text-align:left;padding:13px 16px;border-bottom:1px solid var(--line)}
.pm-account table.shop_table td{padding:15px 16px;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--body);font-weight:300;vertical-align:middle}
.pm-account table.shop_table tr:last-child td{border-bottom:none}
.pm-account table.shop_table td a:not(.button){color:var(--ink);font-weight:500;text-decoration:none}
/* size only — colour is left to the button rules below so .pm-btn-ghost
   isn't outspecified into white-on-transparent */
.pm-account table.shop_table td a.button{padding:9px 16px;font-size:11px}
.pm-account .woocommerce-orders-table__cell-order-number a{color:var(--blue);font-weight:600}

/* Addresses */
.pm-account .woocommerce-Addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:6px}
.pm-account .woocommerce-Address{background:var(--card);border:1px solid var(--line);border-radius:var(--rl);padding:22px 24px;width:auto;float:none}
.pm-account .woocommerce-Address-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.pm-account .woocommerce-Address-title h2,.pm-account .woocommerce-Address-title h3{margin:0;font-size:14px}
.pm-account .woocommerce-Address-title a{font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--blue);text-decoration:none}
.pm-account address{font-style:normal;font-size:13.5px;line-height:1.75;color:var(--body);font-weight:300}

/* Notices */
.pm-account .woocommerce-message,.pm-account .woocommerce-info,.pm-account .woocommerce-error,.pm-account .woocommerce-notice{
  list-style:none;background:var(--paper2);border:1px solid var(--line);border-left:3px solid var(--blue);
  border-radius:var(--r);padding:14px 18px;margin:0 0 22px;font-size:13.5px;color:var(--ink2);font-weight:300}
.pm-account .woocommerce-error{border-left-color:var(--alert);background:#FDF3F3;border-color:#F3D9D9}
.pm-account .woocommerce-message{border-left-color:#00a32a}
.pm-account .woocommerce-info a,.pm-account .woocommerce-message a{color:var(--blue);text-decoration:none}

/* Pagination */
.pm-account .woocommerce-pagination{margin-top:22px}
.pm-account .woocommerce-pagination ul{list-style:none;display:flex;gap:8px;padding:0;margin:0;border:0}
.pm-account .woocommerce-pagination li{border:0}
.pm-account .woocommerce-pagination a,.pm-account .woocommerce-pagination span{
  display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;
  border:1px solid var(--line2);border-radius:var(--r);text-decoration:none;font-size:12.5px;color:var(--ink2)}
.pm-account .woocommerce-pagination .current{background:var(--blue);border-color:var(--blue);color:#fff}

@media(max-width:1000px){
  .pm-acc-grid{grid-template-columns:1fr;gap:18px}
  .pm-account .pm-acc-nav{position:static}
  .pm-account .pm-acc-nav ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}
  .pm-dash-g{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .pm-auth.has-reg{grid-template-columns:1fr}
  .pm-account .woocommerce-Addresses{grid-template-columns:1fr}
  /* orders table -> stacked cards */
  .pm-account table.shop_table thead{display:none}
  .pm-account table.shop_table tr{display:block;border-bottom:1px solid var(--line);padding:6px 0}
  .pm-account table.shop_table tr:last-child{border-bottom:none}
  .pm-account table.shop_table td{display:flex;justify-content:space-between;gap:16px;border:0;padding:8px 16px;text-align:right}
  .pm-account table.shop_table td::before{content:attr(data-title);font-size:10px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);text-align:left;flex-shrink:0}
  .pm-account table.shop_table td.woocommerce-orders-table__cell-order-actions{justify-content:flex-end}
}
@media(max-width:560px){
  .pm-account{padding:32px 0 72px}
  .pm-dash-g{grid-template-columns:1fr}
  .pm-account .pm-acc-nav ul{grid-template-columns:1fr}
  .pm-auth-card{padding:24px 20px 26px}
}

/* =============================================================
   MY ACCOUNT — inner endpoints
   Orders, order detail, addresses, account details, downloads,
   payment methods and the password flows.
============================================================= */
.pm-acc-lead{font-size:14px;line-height:1.7;color:var(--body);font-weight:300;margin:0 0 20px;max-width:560px}

/* Status pills */
.pm-ostat{display:inline-flex;vertical-align:middle;align-items:center;gap:6px;padding:5px 11px;border-radius:100px;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1.5;white-space:nowrap;background:var(--paper2);color:var(--ink2);border:1px solid var(--line2)}
.pm-ostat::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.pm-ostat--completed{background:#EAF7EE;color:#1D7A38;border-color:#C6E7D1}
.pm-ostat--processing{background:var(--blue-pale);color:var(--blue-d);border-color:#D3E4FD}
.pm-ostat--on-hold{background:#FFF6E5;color:#96650A;border-color:#F2E0B8}
.pm-ostat--pending{background:#FFF6E5;color:#96650A;border-color:#F2E0B8}
.pm-ostat--cancelled,.pm-ostat--failed{background:#FDF0F0;color:#9B2C2C;border-color:#F0D4D4}
.pm-ostat--refunded{background:var(--paper2);color:var(--muted);border-color:var(--line2)}

/* Small buttons inside tables */
.pm-account .pm-btn-sm,.pm-account a.button.pm-btn-sm{padding:8px 15px;font-size:10.5px;letter-spacing:.09em}
.pm-account .pm-btn-ghost,.pm-account a.button.pm-btn-ghost{background:transparent;color:var(--ink2);border-color:var(--line2)}
.pm-account .pm-btn-ghost:hover,.pm-account a.button.pm-btn-ghost:hover{background:var(--paper2);color:var(--ink);border-color:var(--ink2);box-shadow:none;transform:none}
.pm-account td .button+.button{margin-left:6px}
.pm-order-no{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:13px;color:var(--blue)!important}

/* Empty states */
.pm-empty{background:var(--paper2);border:1px solid var(--line);border-radius:var(--rl);padding:44px 32px;text-align:center}
.pm-empty-ic{display:inline-flex;width:48px;height:48px;border-radius:50%;background:#fff;border:1px solid var(--line);color:var(--muted);align-items:center;justify-content:center;margin-bottom:16px}
.pm-empty-ic svg{width:21px;height:21px}
.pm-empty h3{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:16px;text-transform:uppercase;margin:0 0 9px}
.pm-empty p{font-size:13.5px;line-height:1.7;color:var(--body);font-weight:300;margin:0 auto 20px;max-width:400px}

/* Order detail */
.pm-order-hd{background:var(--card);border:1px solid var(--line);border-radius:var(--rl);padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:26px}
.pm-order-hd-l{font-size:9.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:5px}
.pm-order-hd-n{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 900;font-size:26px;line-height:1;text-transform:uppercase}
.pm-order-hd-meta{display:flex;gap:30px;flex-wrap:wrap}
.pm-order-hd-meta strong{font-size:13.5px;font-weight:600;color:var(--ink2)}
.pm-order-notes{margin-bottom:28px}
.pm-order-notes h2{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:16px;text-transform:uppercase;margin:0 0 14px}
.pm-account ol.commentlist,.pm-account ul.order_notes{list-style:none;margin:0;padding:0}
.pm-account .woocommerce-OrderUpdate{background:var(--paper2);border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:var(--r);padding:14px 18px;margin-bottom:10px}
.pm-account .woocommerce-OrderUpdate-meta{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.pm-account .woocommerce-OrderUpdate-description p{margin:0;font-size:13.5px;line-height:1.7;color:var(--body);font-weight:300}

/* Order details table (shared with thank-you page markup) */
.pm-account .woocommerce-order-details__title,.pm-account .woocommerce-column__title{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:16px;text-transform:uppercase;margin:0 0 14px}
.pm-account table.order_details,.pm-account table.woocommerce-table--order-details{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:var(--rl);overflow:hidden;margin:0 0 28px}
.pm-account table.order_details th,.pm-account table.woocommerce-table--order-details th{background:var(--paper2);font-size:10px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);text-align:left;padding:13px 16px;border-bottom:1px solid var(--line)}
.pm-account table.order_details td,.pm-account table.woocommerce-table--order-details td{padding:14px 16px;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--body);font-weight:300}
.pm-account table.order_details tfoot th{background:transparent;text-transform:none;letter-spacing:0;font-size:13px;color:var(--ink2);font-weight:600}
.pm-account table.order_details tfoot tr:last-child th,.pm-account table.order_details tfoot tr:last-child td{border-bottom:none;font-size:15px;color:var(--ink)}
.pm-account .woocommerce-customer-details{margin-top:6px}
.pm-account .woocommerce-columns--addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pm-account .woocommerce-columns--addresses .col-1,.pm-account .woocommerce-columns--addresses .col-2{width:auto;float:none;background:var(--card);border:1px solid var(--line);border-radius:var(--rl);padding:22px 24px}

/* Addresses */
.pm-addr-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pm-addr{background:var(--card);border:1px solid var(--line);border-radius:var(--rl);padding:22px 24px;width:auto;float:none}
.pm-addr-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.pm-addr-hd h2{font-family:var(--disp);font-variation-settings:'wdth' 96,'wght' 800;font-size:14px;text-transform:uppercase;margin:0}
.pm-addr-edit{font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);text-decoration:none;flex-shrink:0}
.pm-addr-edit:hover{text-decoration:underline}
.pm-addr-empty{font-size:13px;color:var(--muted);font-weight:300;margin:0}

/* Card-wrapped forms (edit address / account details) */
.pm-card-form{background:var(--card);border:1px solid var(--line);border-radius:var(--rl);padding:28px 30px 30px}
.pm-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.pm-account .pm-field-grid>.form-row-wide,.pm-account .pm-field-grid>.form-row-first.form-row-wide{grid-column:1 / -1}
.pm-account .pm-fs{border:1px solid var(--line);border-radius:var(--rl);background:var(--paper2);padding:22px 24px 6px;margin:26px 0 24px}
.pm-account .pm-fs legend{background:var(--card);border:1px solid var(--line);border-radius:100px;padding:5px 14px;font-size:10.5px;letter-spacing:.11em}
.pm-account .pm-submit .btn,.pm-account .pm-submit .button{width:auto;min-width:200px}

/* Password flows sit in a single card, not the two-up login grid */
.pm-account .pm-auth:not(.has-reg){max-width:520px}
.pm-auth-back{margin:18px 0 0;font-size:12.5px}
.pm-auth-back a{color:var(--blue);text-decoration:none}
.pm-auth-back a:hover{text-decoration:underline}

/* Pager */
.pm-pager{display:flex;align-items:center;gap:14px;margin-top:20px}
.pm-pager-n{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* Downloads table inherits the shared shop_table styling */
.pm-account .woocommerce-table--order-downloads{margin-bottom:0}

@media(max-width:900px){
  .pm-field-grid{grid-template-columns:1fr}
  .pm-addr-g{grid-template-columns:1fr}
  .pm-account .woocommerce-columns--addresses{grid-template-columns:1fr}
  .pm-order-hd{flex-direction:column;align-items:flex-start;gap:18px}
}
@media(max-width:760px){
  /* order-detail + downloads tables stack like the orders table */
  .pm-account table.order_details thead,.pm-account table.woocommerce-table--order-details thead{display:none}
  .pm-account table.order_details tr,.pm-account table.woocommerce-table--order-details tr{display:block;border-bottom:1px solid var(--line);padding:6px 0}
  .pm-account table.order_details td,.pm-account table.order_details tfoot th,
  .pm-account table.woocommerce-table--order-details td{display:flex;justify-content:space-between;gap:16px;border:0;padding:8px 16px;text-align:right}
  .pm-account table.order_details td::before,.pm-account table.woocommerce-table--order-details td::before{content:attr(data-title);font-size:10px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);text-align:left;flex-shrink:0}
  .pm-account table.order_details tfoot th{justify-content:flex-start}
  .pm-card-form{padding:22px 20px 24px}
  .pm-account .pm-submit .btn,.pm-account .pm-submit .button{width:100%}
}

/* order actions stay on one line and never collide */
.pm-account td.woocommerce-orders-table__cell-order-actions{white-space:nowrap}
/* An inline-flex pill alone in a table cell ends up baseline-aligned at the
   bottom of an over-tall line box, and the cell's vertical-align can't correct
   it. A block-level flex wrapper makes the cell's content exactly the pill's
   height, so vertical-align:middle centres it. */
.pm-account td.woocommerce-orders-table__cell-order-status{white-space:nowrap}
.pm-cell-mid{display:flex;align-items:center}
/* Order actions as a flex row — two inline-flex buttons in a table cell
   otherwise wrap onto separate lines and double the row height. */
.pm-order-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pm-account td .button+.button{margin-left:0}

/* =============================================================
   MY ACCOUNT — WooCommerce stylesheet overrides
   WooCommerce ships woocommerce-layout.css, which floats the
   account columns and sizes them in percentages. Inside the
   theme's CSS grid those percentages resolve against the grid
   TRACK, not the page, so .woocommerce-MyAccount-navigation
   { width:30% } turned a 250px sidebar into 75px and everything
   spilled out. Each rule below is deliberately one class more
   specific than the WooCommerce rule it replaces, so it wins on
   specificity rather than on load order.
============================================================= */

/* Columns: let the grid do the layout */
.pm-account .woocommerce-MyAccount-navigation.pm-acc-nav,
.pm-account .woocommerce-MyAccount-content.pm-acc-content{float:none;width:auto;max-width:none}
.pm-account .woocommerce-MyAccount-content.pm-acc-content::after{content:none;display:none}

/* Sidebar links: never wrap or spill */
.pm-account .pm-acc-nav li a{min-width:0;word-break:normal;overflow-wrap:anywhere}
.pm-acc-lbl{min-width:0;flex:1}

/* Plugin-injected block above the nav (avatar, greeting, etc.) */
.pm-acc-pre{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;
  padding:16px 12px 15px;border-bottom:1px solid var(--line);margin-bottom:8px;min-width:0}
.pm-acc-pre img,.pm-acc-pre .avatar{width:54px!important;height:54px!important;max-width:54px;
  border-radius:50%;object-fit:cover;display:block}
.pm-acc-pre p,.pm-acc-pre span,.pm-acc-pre div,.pm-acc-pre a{margin:0;font-size:12px;line-height:1.45;
  color:var(--ink2);font-weight:600;max-width:100%;overflow-wrap:anywhere;text-decoration:none}
.pm-acc-pre ul{list-style:none;margin:0;padding:0}

/* Addresses: WooCommerce floats these at 47% */
.pm-account .pm-addr-g .woocommerce-Address.pm-addr{float:none;width:auto;margin-bottom:0}
.pm-account .woocommerce-Addresses.pm-addr-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:auto}
.pm-account .pm-addr-hd h2,.pm-account .pm-addr-hd h3,.pm-account .pm-addr-hd .edit{float:none}

/* Order/customer address columns on the order-detail view */
.pm-account .woocommerce-columns--addresses .col-1,
.pm-account .woocommerce-columns--addresses .col-2{float:none;width:auto}

/* Form rows: WooCommerce floats first/last at 47% inside the field grid */
.pm-account .pm-field-grid .form-row-first,
.pm-account .pm-field-grid .form-row-last,
.pm-account .pm-field-grid .form-row-wide{float:none;width:auto;padding:0}
.pm-account .pm-form .form-row{padding:0;margin:0 0 16px}

/* Notices: WooCommerce absolutely positions an icon-font glyph at left:1.5em
   and reserves 3.5em of left padding for it. The theme's tighter padding left
   the glyph sitting on top of the text, and it renders as a missing-glyph box
   because the WooCommerce icon font isn't loaded here. */
.pm-account .woocommerce-info::before,
.pm-account .woocommerce-message::before,
.pm-account .woocommerce-error::before,
.pm-account .woocommerce-notice::before{content:none;display:none}
.pm-account .woocommerce-info,
.pm-account .woocommerce-message,
.pm-account .woocommerce-error,
.pm-account .woocommerce-notice{display:flex;align-items:center;justify-content:space-between;
  gap:18px;flex-wrap:wrap;border-top-width:1px;width:auto}

/* Buttons inside notices were blue-on-blue: the `.woocommerce-info a` colour
   rule is one class more specific than `a.button`, so it repainted the label
   in the link colour on top of the button's blue fill. */
.pm-account .woocommerce-info a:not(.button),
.pm-account .woocommerce-message a:not(.button),
.pm-account .woocommerce-error a:not(.button){color:var(--blue);text-decoration:none}
.pm-account .woocommerce-info a.button,
.pm-account .woocommerce-message a.button,
.pm-account .woocommerce-error a.button,
.pm-account .woocommerce-info button.button,
.pm-account .woocommerce-message button.button{float:none;flex-shrink:0;color:#fff;background:var(--blue);
  border-color:var(--blue);width:auto;min-width:0}
.pm-account .woocommerce-info a.button:hover,
.pm-account .woocommerce-message a.button:hover{color:#fff;background:var(--blue-d);border-color:var(--blue-d)}

/* WooCommerce's default grey button styling */
.pm-account a.button,.pm-account button.button,.pm-account input.button{
  background-color:var(--blue);color:#fff;font-weight:600;border-radius:var(--r);line-height:1.2}

@media(max-width:1000px){
  .pm-account .woocommerce-Addresses.pm-addr-g{grid-template-columns:1fr}
}
@media(max-width:760px){
  .pm-account .woocommerce-info,
  .pm-account .woocommerce-message,
  .pm-account .woocommerce-error,
  .pm-account .woocommerce-notice{flex-direction:column;align-items:flex-start;gap:12px}
  .pm-account .woocommerce-info a.button,
  .pm-account .woocommerce-message a.button{width:100%}
}
/* Live notices often carry woocommerce-message AND woocommerce-info together;
   the info accent should win so only real success messages read green. */
.pm-account .woocommerce-info{border-left-color:var(--blue);background:var(--paper2)}
