/* Compiled from the PepTech design system - do not hand-edit.
   109 of 265 global classes, chosen by scanning the store templates.
   Regenerate with compile_store_css.py. */
:root{
--ink:#0B1B2E;--ink-soft:#1E3350;--muted:#546377;--line:#D1DEEB;
--surface:#FFFFFF;--surface-tint:#DBEBF9;--surface-cool:#E7F2FB;
--sky-100:#E1F0FD;--sky-200:#CEE6F9;--sky-300:#B8D9F3;--sky-400:#9CC8E6;--sky-500:#63A7D9;
--deep-500:#1B5FAE;--deep-600:#123A6B;--deep-700:#12263D;--deep-800:#0B2547;--deep-900:#060F1B;
--accent:#1668D6;--accent-deep:#0F4C96;--accent-soft:#CEE2F9;--accent-glow:rgba(22,104,214,0.30);
--ember:#E8802F;--alert:#D42B1F;--verify:#16A34A;--ok-bg:#DCFCE7;--ok-fg:#15803D;
--link-bright:#5FA8F5;--link-soft:#4A9BF0;
--on-dark-1:#A8BFD6;--on-dark-2:#8FA6BF;--on-dark-3:#7E93AB;
--font-body:Inter;--font-display:'Space Grotesk';--font-mono:'IBM Plex Mono';
}


.pt-store .pt-store-main :where(*,*::before,*::after){box-sizing:border-box}
.pt-store .pt-store-main{font-family:var(--font-body),system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--surface)}
.pt-store .pt-store-main :where(h1,h2,h3,h4,p,figure){margin:0}
.pt-store .pt-store-main :where(img){max-width:100%;height:auto;display:block}
.pt-store .pt-store-main :where(a){text-decoration:none}
.pt-store .pt-store-main :where(button){font:inherit}
.pt-store .e--disabled{display:none!important}

.pt-store .pt-assure-body{display:flex;flex-direction:column;gap:2px;min-width:0;}
.pt-store .pt-assure-card{display:flex;align-items:center;gap:14px;padding:16px 20px;background-color:var(--surface);border-radius:14px;border-width:1px;border-style:solid;border-color:var(--line);}
.pt-store .pt-assure-icon{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:40px;height:40px;border-radius:10px;background-color:var(--accent-soft);}
.pt-store .pt-assure-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:clamp(28px,3vw,40px) 0 0;}
.pt-store .pt-assure-sub{font-size:13px;line-height:1.45;color:var(--muted);margin:0;}
.pt-store .pt-assure-title{font-size:15px;font-weight:600;color:var(--ink);margin:0;}
.pt-store .pt-body-md{font-size:16px;line-height:1.7;color:var(--muted);margin:0;}
.pt-store .pt-btn{display:inline-flex;align-items:center;justify-content:center;height:56px;padding:0 32px;border-radius:8px;font-size:15px;font-weight:600;text-decoration:none;border-style:solid;border-width:0;cursor:pointer;transition:all 0.3s cubic-bezier(.4,0,.2,1);}
.pt-store .pt-btn-outline{border-width:1px;border-color:var(--ink);color:var(--ink);background-color:transparent;}
.pt-store .pt-btn-outline:hover,.pt-store .pt-btn-outline:focus-visible{background-color:var(--ink);color:var(--surface);}
.pt-store .pt-btn-primary{background-color:var(--accent);color:#FFFFFF;}
.pt-store .pt-btn-primary:hover,.pt-store .pt-btn-primary:focus-visible{background-color:var(--accent-deep);transform:translateY(-2px);box-shadow:0 10px 28px rgba(22,104,214,0.30);color:#FFFFFF;}
.pt-store .pt-btn-wide{padding:0 40px;letter-spacing:0.08em;text-transform:uppercase;}
.pt-store .pt-cart-trigger{cursor:pointer;}
.pt-store .pt-chip-row{display:flex;flex-wrap:wrap;gap:6px;}
.pt-store .pt-ci-col{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(24px,3vw,34px);}
.pt-store .pt-ci-col-right{border-width:0 0 0 1px;border-style:solid;border-color:var(--line);}
.pt-store .pt-ci-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;background-color:var(--surface);border-radius:16px;border-width:1px;border-style:solid;border-color:var(--line);overflow:hidden;}
.pt-store .pt-ci-h{font-family:var(--font-display);font-size:19px;font-weight:700;letter-spacing:-0.01em;color:var(--ink);margin:6px 0 0;}
.pt-store .pt-ci-key{font-size:13px;color:var(--muted);margin:0;}
.pt-store .pt-ci-link{display:inline-flex;align-items:center;width:fit-content;font-size:13px;font-weight:600;color:var(--accent);background-color:transparent;border-width:0;padding:0;margin:18px 0 0;text-decoration:none;transition:color 0.2s cubic-bezier(.4,0,.2,1);}
.pt-store .pt-ci-link:hover,.pt-store .pt-ci-link:focus-visible{color:var(--accent-deep);background-color:transparent;}
.pt-store .pt-ci-note{font-size:12px;line-height:1.55;color:var(--muted);margin:16px 0 0;}
.pt-store .pt-ci-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 0;border-width:0 0 1px 0;border-style:solid;border-color:var(--line);}
.pt-store .pt-ci-store{display:flex;align-items:center;gap:14px;width:100%;margin:12px 0 0;padding:14px 16px;border-radius:12px;border-width:1px;border-style:solid;border-color:var(--line);background-color:var(--surface);}
.pt-store .pt-ci-store-body{display:flex;flex-direction:column;gap:2px;min-width:0;}
.pt-store .pt-ci-store-sub{font-size:13px;color:var(--muted);margin:0;}
.pt-store .pt-ci-store-title{font-size:14px;font-weight:600;color:var(--ink);margin:0;}
.pt-store .pt-ci-table{display:flex;flex-direction:column;width:100%;margin:18px 0 0;}
.pt-store .pt-ci-temp{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:62px;padding:8px 10px;border-radius:8px;font-size:13px;font-weight:700;margin:0;}
.pt-store .pt-ci-temp-cold{background-color:rgba(22,163,74,0.12);color:#15803D;}
.pt-store .pt-ci-temp-cool{background-color:var(--accent-soft);color:var(--accent-deep);}
.pt-store .pt-ci-val{font-size:14px;font-weight:700;color:var(--ink);text-align:end;margin:0;}
.pt-store .pt-coa-btn{display:inline-flex;align-items:center;justify-content:center;width:auto;height:44px;padding:0 18px;margin:6px 0 0;border-radius:8px;border-width:0;background-color:var(--ink);color:#FFFFFF;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;transition:all 0.3s cubic-bezier(.4,0,.2,1);}
.pt-store .pt-coa-btn:hover,.pt-store .pt-coa-btn:focus-visible{background-color:var(--accent);box-shadow:0 8px 22px rgba(22,104,214,0.30);color:#FFFFFF;}
.pt-store .pt-container{width:100%;max-width:1240px;margin:0 auto;padding:0 clamp(20px,5vw,48px);}
.pt-store .pt-container-wide{width:100%;max-width:1440px;margin:0 auto;padding:0 clamp(20px,5vw,48px);}
.pt-store .pt-crumb-bar{padding:clamp(132px,10vw,152px) 0 0 0;}
.pt-store .pt-crumb-link{display:inline-flex;align-items:center;gap:8px;width:fit-content;font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);text-decoration:none;background-color:transparent;border-width:0;padding:0;transition:color 0.2s cubic-bezier(.4,0,.2,1);}
.pt-store .pt-crumb-link:hover,.pt-store .pt-crumb-link:focus-visible{color:var(--accent);background-color:transparent;}
.pt-store .pt-cta-action{position:relative;z-index:2;margin:32px 0 0;display:flex;flex-direction:column;align-items:center;gap:4px;}
.pt-store .pt-cta-body{font-size:15px;line-height:1.6;color:var(--on-dark-1);max-width:38ch;margin:24px auto 0 auto;}
.pt-store .pt-cta-h2{font-family:var(--font-display);font-size:clamp(28px,2.6vw,40px);font-weight:700;letter-spacing:-0.02em;line-height:1.12;color:#FFFFFF;margin:0;}
.pt-store .pt-cta-inner{position:relative;z-index:2;max-width:400px;display:flex;flex-direction:column;align-items:center;}
.pt-store .pt-cta-panel{position:relative;overflow:hidden;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;aspect-ratio:1/1;padding:48px 40px;}
.pt-store .pt-eyebrow{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent);margin:0;}
.pt-store .pt-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;flex:1 1 auto;width:auto;min-width:0;margin:0;}
.pt-store .pt-h1-sm{font-family:var(--font-display);font-size:clamp(36px,5vw,64px);font-weight:700;letter-spacing:-0.03em;line-height:1.02;color:var(--ink);margin:20px 0 0;}
.pt-store .pt-h2{font-family:var(--font-display);font-size:clamp(30px,4vw,52px);font-weight:600;letter-spacing:-0.02em;line-height:1.1;color:var(--ink);margin:0;}
.pt-store .pt-label-cap{font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);margin:8px 0 0;}
.pt-store .pt-lead{font-size:18px;line-height:1.55;color:var(--muted);margin:16px 0 0;}
.pt-store .pt-measure{max-width:62ch;}
.pt-store .pt-notice{display:flex;flex-direction:column;align-items:flex-start;gap:14px;width:100%;padding:clamp(26px,3vw,36px);border-radius:20px;background-color:rgba(232,128,47,0.07);border-width:1px;border-style:solid;border-color:rgba(232,128,47,0.30);box-shadow:0 1px 2px rgba(11,27,46,0.04), 0 12px 30px rgba(232,128,47,0.10);}
.pt-store .pt-notice-head{display:flex;align-items:center;gap:12px;}
.pt-store .pt-notice-icon{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:38px;height:38px;border-radius:999px;background-color:rgba(232,128,47,0.16);}
.pt-store .pt-notice-label{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#B45309;margin:0;}
.pt-store .pt-notice-text{font-size:15px;line-height:1.7;color:var(--ink-soft);width:100%;max-width:100%;margin:0;}
.pt-store .pt-page-hero{position:relative;width:100%;padding:clamp(168px,11.5vw,188px) 0 clamp(40px,5vw,76px) 0;}
.pt-store .pt-pc{display:flex;flex-direction:column;height:100%;overflow:hidden;background-color:var(--surface);border-radius:16px;border-width:1px;border-style:solid;border-color:var(--line);box-shadow:0 1px 2px rgba(11,27,46,0.05), 0 10px 28px rgba(11,27,46,0.07);transition:all 0.3s cubic-bezier(.4,0,.2,1);}
.pt-store .pt-pc:hover,.pt-store .pt-pc:focus-visible{transform:translateY(-6px);border-color:var(--accent);box-shadow:0 2px 4px rgba(11,27,46,0.06), 0 18px 40px rgba(22,104,214,0.16);}
.pt-store .pt-pc-actions{display:flex;align-items:center;gap:10px;margin:10px 0 0;}
.pt-store .pt-pc-body{display:flex;flex-direction:column;gap:6px;padding:18px;flex:1 1 auto;}
.pt-store .pt-pc-btn{display:inline-flex;align-items:center;justify-content:center;flex:1 1 0;height:42px;padding:0 12px;border-radius:999px;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;border-style:solid;border-width:1px;transition:all 0.3s cubic-bezier(.4,0,.2,1);}
.pt-store .pt-pc-btn-ghost{background-color:var(--surface);border-color:var(--sky-400);color:var(--ink);}
.pt-store .pt-pc-btn-ghost:hover,.pt-store .pt-pc-btn-ghost:focus-visible{border-color:var(--accent);color:var(--accent);}
.pt-store .pt-pc-btn-solid{background-color:var(--accent);border-color:var(--accent);color:#FFFFFF;}
.pt-store .pt-pc-btn-solid:hover,.pt-store .pt-pc-btn-solid:focus-visible{background-color:var(--accent-deep);border-color:var(--accent-deep);color:#FFFFFF;box-shadow:0 8px 22px rgba(22,104,214,0.30);}
.pt-store .pt-pc-discount{position:absolute;top:12px;right:12px;z-index:2;width:fit-content;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:0.06em;color:#FFFFFF;background-color:var(--ember);padding:5px 10px;border-radius:999px;margin:0;}
.pt-store .pt-pc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:0;align-items:stretch;}
.pt-store .pt-pc-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;}
.pt-store .pt-pc-media{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.pt-store .pt-pc-name{font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-0.02em;line-height:1.2;color:var(--ink);margin:0;}
.pt-store .pt-pc-price{font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:-0.02em;color:var(--ink);margin:2px 0 0;}
.pt-store .pt-pc-wrap{display:grid;}
.pt-store .pt-pc-wrap.e--disabled{display:none;}
.pt-store .pt-pill{display:inline-flex;align-items:center;justify-content:center;height:44px;width:fit-content;flex:0 0 auto;padding:0 18px;border-radius:999px;border-width:1px;border-style:solid;border-color:var(--sky-400);background-color:var(--surface);cursor:pointer;font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink);transition:all 0.3s cubic-bezier(.4,0,.2,1);}
.pt-store .pt-pill:hover,.pt-store .pt-pill:focus-visible{border-color:var(--accent);color:var(--accent);}
.pt-store .pt-pill.e--selected{background-color:var(--ink);border-color:var(--ink);color:#FFFFFF;}
.pt-store .pt-pill-text{margin:0;}
.pt-store .pt-prod-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,4vw,56px);align-items:start;}
.pt-store .pt-prod-hero{padding:28px 0 clamp(48px,5vw,72px) 0;}
.pt-store .pt-prod-img{width:100%;height:100%;object-fit:cover;}
.pt-store .pt-prod-img.e--disabled{display:none;}
.pt-store .pt-prod-info{display:flex;flex-direction:column;align-items:flex-start;}
.pt-store .pt-prod-media{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:20px;background-color:var(--surface-tint);border-width:1px;border-style:solid;border-color:var(--sky-400);display:flex;align-items:center;justify-content:center;}
.pt-store .pt-prod-price{font-family:var(--font-display);font-size:clamp(26px,2.6vw,34px);font-weight:700;letter-spacing:-0.02em;color:var(--ink);margin:12px 0 0;}
.pt-store .pt-qc-body{display:flex;flex-direction:column;align-items:flex-start;width:100%;}
.pt-store .pt-qc-card{display:flex;flex-direction:column;align-items:stretch;width:100%;background-color:var(--surface);border-radius:16px;border-width:1px;border-style:solid;border-color:var(--line);padding:22px;box-shadow:0 1px 2px rgba(11,27,46,0.05), 0 10px 28px rgba(11,27,46,0.06);}
.pt-store .pt-qc-card.e--disabled{display:none;}
.pt-store .pt-qc-doc{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:14px;background-color:var(--surface-tint);border-radius:12px;border-width:1px;border-style:solid;border-color:var(--line);overflow:hidden;text-decoration:none;transition:all 0.3s cubic-bezier(.4,0,.2,1);}
.pt-store .pt-qc-doc:hover,.pt-store .pt-qc-doc:focus-visible{border-color:var(--accent);box-shadow:0 10px 26px rgba(22,104,214,0.14);}
.pt-store .pt-qc-doc-img{width:100%;height:auto;border-radius:6px;box-shadow:0 1px 2px rgba(11,27,46,0.10), 0 8px 20px rgba(11,27,46,0.10);}
.pt-store .pt-qc-grid{display:grid;grid-template-columns:1fr;gap:20px;}
.pt-store .pt-qc-head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;}
.pt-store .pt-qc-key{font-size:13px;color:var(--muted);margin:0;}
.pt-store .pt-qc-purity{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin:16px 0 0;}
.pt-store .pt-qc-purity-num{font-family:var(--font-display);font-size:38px;font-weight:700;letter-spacing:-0.03em;line-height:1;color:var(--accent);margin:0;}
.pt-store .pt-qc-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:7px 0;border-width:0 0 1px 0;border-style:solid;border-color:var(--line);}
.pt-store .pt-qc-size{font-family:var(--font-display);font-size:19px;font-weight:700;letter-spacing:-0.01em;color:var(--ink);margin:0;}
.pt-store .pt-qc-split{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:clamp(20px,3vw,36px);align-items:stretch;width:100%;}
.pt-store .pt-qc-table{display:flex;flex-direction:column;width:100%;margin:18px 0 0;}
.pt-store .pt-qc-val{font-size:13px;font-weight:600;color:var(--ink);text-align:end;margin:0;}
.pt-store .pt-qty-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;background-color:transparent;border-width:0;cursor:pointer;transition:background-color 0.2s cubic-bezier(.4,0,.2,1);}
.pt-store .pt-qty-btn:hover,.pt-store .pt-qty-btn:focus-visible{background-color:var(--accent-soft);}
.pt-store .pt-qty-cta{width:126px;min-width:126px;height:48px;padding:0;border-radius:999px;font-size:14px;}
.pt-store .pt-qty-line{display:flex;flex-wrap:wrap;align-items:center;gap:12px;}
.pt-store .pt-qty-row{display:inline-flex;align-items:center;width:fit-content;gap:0;border-width:1px;border-style:solid;border-color:var(--sky-400);border-radius:999px;padding:4px;background-color:var(--surface);}
.pt-store .pt-qty-sym{font-size:18px;font-weight:600;line-height:1;color:var(--ink);margin:0;}
.pt-store .pt-qty-val{min-width:40px;text-align:center;font-size:15px;font-weight:600;color:var(--ink);margin:0;}
.pt-store .pt-search{display:flex;align-items:center;gap:10px;flex:0 0 auto;width:260px;max-width:100%;height:48px;padding:0 20px;border-radius:999px;background-color:var(--surface-cool);border-width:1px;border-style:solid;border-color:var(--sky-400);transition:all 0.3s cubic-bezier(.4,0,.2,1);box-shadow:0 0 0 3px rgba(22,104,214,0.07), 0 4px 16px rgba(22,104,214,0.10);}
.pt-store .pt-search:hover,.pt-store .pt-search:focus-visible{border-color:var(--accent);box-shadow:0 0 0 4px rgba(22,104,214,0.12), 0 6px 22px rgba(22,104,214,0.18);}
.pt-store .pt-search.e--selected{border-color:var(--accent);background-color:var(--surface);box-shadow:0 0 0 4px rgba(22,104,214,0.18), 0 8px 28px rgba(22,104,214,0.26);}
.pt-store .pt-search-input{flex:1 1 auto;min-width:0;height:46px;border-width:0;appearance:none;background-color:transparent;font-family:var(--font-body);font-size:15px;color:var(--ink);outline-width:0;}
.pt-store .pt-search-only{display:none;}
.pt-store .pt-section{width:100%;position:relative;}
.pt-store .pt-section-pad{padding:clamp(40px,5vw,76px) 0;}
.pt-store .pt-shop-head{max-width:62ch;}
.pt-store .pt-size-pill{display:inline-flex;align-items:center;gap:8px;width:fit-content;background-color:var(--surface);border-width:1px;border-style:solid;border-color:var(--sky-400);border-radius:999px;padding:10px 16px;cursor:pointer;transition:all 0.2s cubic-bezier(.4,0,.2,1);}
.pt-store .pt-size-pill:hover,.pt-store .pt-size-pill:focus-visible{border-color:var(--accent);background-color:var(--surface);}
.pt-store .pt-size-pill.e--selected{border-color:var(--accent);background-color:var(--accent-soft);border-width:2px;padding:9px 15px;}
.pt-store .pt-size-pill-text{font-size:15px;font-weight:600;color:var(--ink);margin:0;}
.pt-store .pt-size-pills{display:flex;flex-wrap:wrap;align-items:center;gap:10px;}
.pt-store .pt-toast{display:none;position:fixed;left:50%;bottom:32px;z-index:120;align-items:center;gap:12px;background-color:#FFFFFF;border-radius:999px;padding:12px 22px 12px 12px;box-shadow:0 10px 30px rgba(11,27,46,0.18);}
.pt-store .pt-toast.e--selected{display:flex;flex-direction:row;width:max-content;}
.pt-store .pt-toast-dot{width:26px;height:26px;flex:0 0 auto;border-radius:999px;background-color:var(--accent-soft);display:flex;align-items:center;justify-content:center;}
.pt-store .pt-toast-text{font-size:14px;font-weight:600;color:var(--ink);margin:0;}
.pt-store .pt-toolbar{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:20px;margin:36px 0 0;}
.pt-store .pt-total-note{font-size:13px;color:var(--muted);margin:14px 0 0;}
.pt-store .pt-variant{font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--ink-soft);border-width:1px;border-style:solid;border-color:var(--sky-400);border-radius:999px;padding:3px 9px;margin:0;}
.pt-store .pt-toast{transform:translateX(-50%)}
@media(max-width:1024px){.pt-store .pt-assure-row{grid-template-columns:1fr;gap:12px;}
.pt-store .pt-ci-col-right{border-width:1px 0 0 0;}
.pt-store .pt-ci-grid{grid-template-columns:1fr;}
.pt-store .pt-crumb-bar{padding-top:126px;}
.pt-store .pt-cta-panel{aspect-ratio:4/5;padding:40px 28px;}
.pt-store .pt-page-hero{padding-top:150px;}
.pt-store .pt-pc-grid{grid-template-columns:repeat(2,1fr);gap:20px;}
.pt-store .pt-prod-grid{grid-template-columns:1fr;gap:32px;}
.pt-store .pt-qc-split{grid-template-columns:1fr;gap:22px;}
.pt-store .pt-search{width:100%;}
.pt-store .pt-toolbar{flex-wrap:wrap;}}
@media(max-width:767px){.pt-store .pt-assure-card{padding:14px 16px;gap:12px;}
.pt-store .pt-ci-link{min-height:44px;align-items:center;}
.pt-store .pt-coa-btn{width:100%;height:42px;padding:0 10px;font-size:12px;}
.pt-store .pt-crumb-link{min-height:44px;align-items:center;}
.pt-store .pt-cta-panel{aspect-ratio:auto;padding:64px 24px;}
.pt-store .pt-filter-row{flex-wrap:nowrap;overflow:auto;width:100%;flex:0 0 auto;padding:0 0 4px 0;}
.pt-store .pt-label-cap{font-size:10px;letter-spacing:0.06em;margin:6px 0 0;}
.pt-store .pt-notice{padding:20px;border-radius:16px;gap:12px;}
.pt-store .pt-pc-actions{flex-direction:column;align-items:stretch;gap:8px;margin:10px 0 0;}
.pt-store .pt-pc-body{padding:12px;gap:4px;}
.pt-store .pt-pc-btn{height:42px;font-size:13px;padding:0 10px;flex:0 0 auto;}
.pt-store .pt-pc-discount{top:8px;right:8px;font-size:10px;padding:4px 8px;}
.pt-store .pt-pc-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
.pt-store .pt-pc-name{font-size:15px;line-height:1.25;letter-spacing:-0.01em;}
.pt-store .pt-pc-price{font-size:14px;margin:2px 0 0;}
.pt-store .pt-prod-media{aspect-ratio:4/5;border-radius:16px;}
.pt-store .pt-qc-card{padding:16px;border-radius:14px;}
.pt-store .pt-qty-btn{width:44px;height:44px;}
.pt-store .pt-qty-cta{width:100%;min-width:0;}
.pt-store .pt-qty-line{width:100%;}
.pt-store .pt-size-pill{min-height:44px;padding:8px 14px;}
.pt-store .pt-toolbar{flex-direction:column;align-items:stretch;}}
/* --- store-only rules -------------------------------------------------------
   Everything here is either a class the design system does not have (because
   these surfaces did not exist before) or a correction to WooCommerce's own
   markup. All of it is scoped under .pt-store, which only store pages carry. */

.pt-store .pt-store-main{display:block}
/* Astra's .ast-container is display:flex, so the store wrapper was sizing to
   its content (1240px, the width of .pt-container inside) instead of the row.
   Full-bleed sections - the closing gradient, the cool ground behind the
   certificates - stopped at that edge. min-width:0 keeps a long table or a
   wide image from pushing the row wider than the window. */
.pt-store .pt-store-main{flex:1 1 100%;width:100%;min-width:0}
.pt-store .pt-store-hero{padding-block-start:150px;padding-block-end:32px}
.pt-store .pt-store-grid-sec{padding-block-end:96px}
.pt-store .pt-qc-sec,
.pt-store .pt-ci-sec,
.pt-store .pt-notice-sec,
.pt-store .pt-related-sec{padding-block-start:24px;padding-block-end:56px}
.pt-store .pt-store-empty{padding:48px 0}

/* filter pill, active state */
.pt-store .pt-pill-on{border-color:var(--accent);background-color:var(--accent);color:#fff}
.pt-store .pt-pill-on .pt-pill-text{color:#fff}

/* Toolbar: search + sort. The search field reuses the design's own pt-search
   pill unchanged; the sort control is new, so it borrows that pill's shape,
   colour and height rather than introducing a second visual language. */
.pt-store .pt-store-tools{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.pt-store .pt-sort{height:48px;padding:0 38px 0 18px;border-radius:999px;
	background-color:var(--surface-cool);border:1px solid var(--sky-400);
	font-family:var(--font-body);font-size:14px;color:var(--ink);cursor:pointer;
	appearance:none;
	background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B1B2E' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat:no-repeat;background-position:right 14px center;background-size:14px}
.pt-store .pt-sort:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.pt-store .screen-reader-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;
	overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

@media (max-width:767px){
	.pt-store .pt-store-tools{width:100%;flex-wrap:wrap}
	.pt-store .pt-store-tools .pt-search{flex:1 1 100%;width:100%}
	.pt-store .pt-sort{flex:1 1 100%;width:100%}
}

/* card states the catalogue did not previously need */
.pt-store .pt-pc-oos{background-color:var(--muted)}
.pt-store .pt-pc-btn-off{opacity:.55;pointer-events:none}
.pt-store .pt-price-tba{font-size:15px;color:var(--muted)}

/* single product odds and ends */
.pt-store .pt-prod-short{margin:20px 0 0;max-width:52ch}
.pt-store .pt-prod-sku{margin:10px 0 0;font-family:var(--font-mono);font-size:12px;
	letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pt-store .pt-prod-form{margin:24px 0 0}
.pt-store .pt-ci-body{font-size:16px;line-height:1.75;color:var(--muted);max-width:74ch}
.pt-store .pt-ci-body h3{font-family:var(--font-display);font-size:22px;color:var(--ink);margin:0 0 14px}
.pt-store .pt-ci-body table{width:100%;border-collapse:collapse;margin:0 0 18px}
.pt-store .pt-ci-body th,.pt-store .pt-ci-body td{text-align:left;padding:10px 0;
	border-bottom:1px solid var(--line);font-size:15px}
.pt-store .pt-ci-body th{color:var(--ink);font-weight:600;width:42%}
.pt-store .pt-ci-body a{color:var(--accent)}

/* The native select stays in the DOM because WooCommerce's variation script
   owns it; it is hidden from sight but not from assistive tech's reach via the
   pills, which carry the radiogroup semantics. */
.pt-store .pt-size-select{position:absolute;width:1px;height:1px;margin:-1px;
	padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* WooCommerce's own bits inside our layout */
.pt-store .single_variation_wrap{margin:18px 0 0}
.pt-store .woocommerce-variation-price{margin:0 0 12px;font-family:var(--font-display);
	font-size:26px;font-weight:600;color:var(--ink)}
.pt-store .woocommerce-variation-availability{margin:0 0 10px;font-size:14px;color:var(--muted)}
.pt-store .quantity{display:inline-flex;align-items:center}
.pt-store .quantity input.qty{width:74px;height:48px;text-align:center;border-radius:999px;
	border:1px solid var(--sky-400);background:var(--surface);color:var(--ink);
	font-size:15px;font-weight:600}
.pt-store .pt-qty-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0 0}
.pt-store .pt-cta-solid{background-color:var(--accent);color:#fff;border:0;cursor:pointer;
	transition:all .25s cubic-bezier(.4,0,.2,1)}
.pt-store .pt-cta-solid:hover{background-color:var(--accent-deep);
	box-shadow:0 8px 22px var(--accent-glow)}
/* WooCommerce marks an unselected variable product with CLASSES, not the
   disabled property, so styling :disabled alone left the button looking live
   while it was inert. */
.pt-store button.single_add_to_cart_button:disabled,
.pt-store .pt-cta-solid:disabled,
.pt-store .single_add_to_cart_button.disabled,
.pt-store .single_add_to_cart_button.wc-variation-selection-needed{
	opacity:.45;cursor:not-allowed;box-shadow:none}
.pt-store .woocommerce-variation.single_variation{margin:0 0 6px}

/* Buttons WooCommerce prints on cart, checkout and account pages */
.pt-store .woocommerce a.button,
.pt-store .woocommerce button.button,
.pt-store .woocommerce input.button,
.pt-store .woocommerce a.button.alt,
.pt-store .woocommerce button.button.alt{display:inline-flex;align-items:center;
	justify-content:center;height:48px;padding:0 26px;border-radius:999px;border:0;
	background:var(--accent);color:#fff;font-family:var(--font-body);font-size:14px;
	font-weight:600;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1)}
.pt-store .woocommerce a.button:hover,
.pt-store .woocommerce button.button:hover,
.pt-store .woocommerce input.button:hover,
.pt-store .woocommerce button.button.alt:hover{background:var(--accent-deep);
	box-shadow:0 8px 22px var(--accent-glow);color:#fff}
.pt-store .woocommerce button.button:disabled,
.pt-store .woocommerce a.button.disabled{opacity:.45;box-shadow:none}

/* Cart / checkout / account shells.
   Scoped to .woocommerce rather than .pt-store-main: those pages are ordinary
   pages rendering a WooCommerce block, so they never fire
   woocommerce_before_main_content and the .pt-store-main wrapper is absent. */
.pt-store .woocommerce{max-width:1140px;margin:0 auto;
	padding:150px clamp(20px,5vw,48px) 96px;
	font-family:var(--font-body),system-ui,-apple-system,sans-serif;color:var(--ink)}
.pt-store .woocommerce :where(*,*::before,*::after){box-sizing:border-box}
.pt-store.woocommerce-cart .pt-store-main .woocommerce,
.pt-store.woocommerce-checkout .pt-store-main .woocommerce,
.pt-store.woocommerce-account .pt-store-main .woocommerce{background:transparent}
.pt-store .woocommerce table.shop_table{border:1px solid var(--line);border-radius:16px;
	border-collapse:separate;border-spacing:0;overflow:hidden;background:var(--surface)}
.pt-store .woocommerce table.shop_table th{background:var(--sky-100);color:var(--ink);
	font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
	padding:14px 16px;border:0}
.pt-store .woocommerce table.shop_table td{padding:16px;border-top:1px solid var(--line);
	color:var(--muted);font-size:15px}
.pt-store .woocommerce table.shop_table td.product-name a{color:var(--ink);font-weight:600;
	text-decoration:none}
.pt-store .woocommerce .cart_totals h2,
.pt-store .woocommerce-billing-fields h3,
.pt-store .woocommerce-additional-fields h3,
.pt-store #order_review_heading,
.pt-store .woocommerce-order-details h2,
.pt-store .woocommerce-column__title{font-family:var(--font-display);font-size:22px;
	font-weight:600;color:var(--ink);margin:0 0 16px}
.pt-store .woocommerce form .form-row label{font-size:13px;font-weight:600;color:var(--ink);
	margin-bottom:6px;display:block}
.pt-store .woocommerce form .form-row input.input-text,
.pt-store .woocommerce form .form-row textarea,
.pt-store .woocommerce form .form-row select,
.pt-store .select2-container .select2-selection--single{height:48px;padding:0 14px;
	border:1px solid var(--sky-400);border-radius:10px;background:var(--surface);
	color:var(--ink);font-size:15px;width:100%}
.pt-store .woocommerce form .form-row textarea{height:110px;padding:12px 14px}
.pt-store .woocommerce form .form-row input.input-text:focus,
.pt-store .woocommerce form .form-row select:focus{outline:2px solid var(--accent);
	outline-offset:1px;border-color:var(--accent)}
.pt-store .woocommerce .woocommerce-info,
.pt-store .woocommerce .woocommerce-message,
.pt-store .woocommerce .woocommerce-error{border-top:0;border-left:3px solid var(--accent);
	border-radius:10px;background:var(--sky-100);color:var(--ink);font-size:15px;
	padding:16px 20px;list-style:none}
.pt-store .woocommerce .woocommerce-error{border-left-color:var(--alert);background:#FDECEA}
.pt-store .woocommerce .woocommerce-message{border-left-color:var(--verify);background:var(--ok-bg)}
.pt-store .woocommerce .woocommerce-info::before,
.pt-store .woocommerce .woocommerce-message::before,
.pt-store .woocommerce .woocommerce-error::before{display:none}
.pt-store .woocommerce-MyAccount-navigation ul{list-style:none;margin:0 0 24px;padding:0;
	display:flex;flex-wrap:wrap;gap:8px}
.pt-store .woocommerce-MyAccount-navigation a{display:inline-flex;align-items:center;height:40px;
	padding:0 16px;border-radius:999px;border:1px solid var(--sky-400);background:var(--surface);
	color:var(--ink);font-size:13px;font-weight:600;text-decoration:none}
.pt-store .woocommerce-MyAccount-navigation li.is-active a{background:var(--accent);
	border-color:var(--accent);color:#fff}
.pt-store .woocommerce .cart-collaterals .cart_totals{width:100%}
.pt-store .woocommerce .cart-collaterals{width:100%}

@media (max-width:1024px){
	.pt-store .pt-store-hero{padding-block-start:120px}
	.pt-store .woocommerce{padding-top:120px}
}
@media (max-width:767px){
	.pt-store .pt-store-hero{padding-block-start:100px}
	.pt-store .woocommerce{padding-top:100px;padding-bottom:64px}
	.pt-store .woocommerce table.shop_table td{padding:12px}
	.pt-store .pt-qty-line{gap:10px}
	.pt-store .pt-qty-line .pt-qty-cta,
	.pt-store .woocommerce-variation-add-to-cart .single_add_to_cart_button{width:100%}
}


/* WooCommerce prints the selected variation's price again inside
   .single_variation. The design shows one price, under the title, and store.js
   already updates it on show_variation - so the duplicate is hidden rather
   than removed, leaving WooCommerce's own markup intact for its scripts. */
.pt-store .woocommerce-variation-price{display:none}
.pt-store .woocommerce-variation-availability{margin:0 0 8px}

/* ---------------------------------------------------------------------------
   Spacing the design carries as inline element CSS.

   On an Elementor page these live on the node itself (css={"desktop": ...}),
   not in the global class - so a template that only uses the class names loses
   every one of them and the page collapses to no rhythm at all. Each rule below
   is the literal value from build/product.py, restated once here.
   --------------------------------------------------------------------------- */

/* hero column */
.pt-store .pt-prod-info .pt-chip-row{margin:16px 0 0}
.pt-store .pt-prod-short{margin:20px 0 0;max-width:52ch}
.pt-store .pt-prod-form .pt-label-cap{margin:28px 0 10px 0}
.pt-store .pt-prod-form .pt-label-cap ~ .pt-label-cap,
.pt-store .pt-prod-form .pt-size-pills ~ .pt-label-cap{margin:24px 0 10px 0}

/* section intros - "pt-measure" is the narrow text column above each grid */
.pt-store .pt-qc-sec .pt-measure,
.pt-store .pt-related-sec .pt-measure{margin:0 0 32px 0}
.pt-store .pt-ci-sec .pt-measure{margin:0 0 28px 0}

/* certificates + related sit on the cool ground, as in the design */
.pt-store .pt-qc-sec{background-color:var(--surface-cool);scroll-margin-top:120px}
.pt-store .pt-related-sec{background-color:var(--surface-cool)}

/* compound information */
.pt-store .pt-ci-sec .pt-eyebrow + .pt-h2{margin:6px 0 0}
.pt-store .pt-ci-sec .pt-ci-h{margin:4px 0 18px}
.pt-store .pt-ci-grid{margin:28px 0 0}
.pt-store .pt-ci-sec .pt-chip-row{margin:16px 0 0}
.pt-store .pt-ci-store{margin:16px 0 0}
.pt-store .pt-ci-note{margin:18px 0 0}
.pt-store .pt-ci-link{margin:18px 0 0}
.pt-store .pt-qc-val{margin:14px 0 0}

/* compound information with no storage column: the profile spans the grid */
.pt-store .pt-ci-grid > .pt-ci-col:only-child{grid-column:1 / -1}

/* the research notice closes the run of white sections */
.pt-store .pt-notice-sec{padding:0 0 clamp(40px,5vw,72px) 0}

/* closing band. The gradient belongs to the full-bleed section; the panel is
   the dark card inside it. aspect-ratio is reset because the design class is
   a deliberate 1/1 square that the built pages override inline. */
.pt-store .pt-cta-sec{padding:56px 0 88px 0;width:100%;
	background:linear-gradient(180deg,#FFFFFF 0%,#E1F0FD 22%,#B8D9F3 62%,#9CC8E6 100%)}
.pt-store .pt-cta-panel{aspect-ratio:auto;padding:clamp(48px,6vw,88px) 32px;
	background:linear-gradient(160deg,#12263D 0%,#0B2547 55%,#060F1B 100%)}
.pt-store .pt-cta-body{margin:14px 0 0}
.pt-store .pt-cta-action{margin:28px 0 0}


/* shown in place of the View COA button when a size has no certificate yet */
.pt-store .pt-qc-pending{margin:14px 0 0;color:var(--muted)}

/* WooCommerce's .variations wrapper only exists so add-to-cart-variation.js can
   find its <select> - the select inside is screen-reader-only and the design
   has no such element. Astra gives it a bottom border, which drew a hairline
   hard against the size pills. Neutralised; the select stays in the DOM and
   keeps working. */
/* Astra styles this as `.woocommerce-js div.product form.cart .variations`,
   which outranks a three-class selector - hence the longer one here. Both
   .pt-store and .woocommerce-js sit on <body>. */
.pt-store.woocommerce-js div.product form.cart .variations{border:0;margin:0;padding:0}

/* "Related Research Materials" needs 655px on one line but pt-measure caps at
   62ch (~626px), so it broke with "Materials" alone on the second line. That
   measure exists to hold body copy to a readable width; this block has only an
   eyebrow and the heading, so it is released to the container and still wraps
   naturally on a narrow screen. */
.pt-store .pt-related-sec .pt-measure{max-width:none}

/* The research notice carries no top padding by design, because in the built
   pages it always follows the compound-information section, which is white and
   ends with its own padding. Five products have no compound profile, so there
   the notice follows the certificates band instead - and its rounded card sat
   flush against that band's coloured edge. Only that adjacency is padded. */
.pt-store .pt-qc-sec + .pt-notice-sec{padding-top:clamp(40px,5vw,72px)}

/* --- "Added to cart" ---------------------------------------------------------
   The design's toast is a 26px disc and 14px type, which reads as a hairline
   at the bottom of a full product page. Same shape, grown, and tinted green so
   the confirmation is legible at a glance rather than needing to be looked for.
   The base rules are in the compiled block above; these override them. */

.pt-store .pt-toast{
	bottom:40px;gap:14px;padding:16px 30px 16px 16px;
	background-color:#F2FDF5;
	border:1px solid #B7E7C6;
	box-shadow:0 14px 40px rgba(11,27,46,.18),0 0 0 4px rgba(22,163,74,.08);
}
.pt-store .pt-toast-dot{width:38px;height:38px;background-color:#DCFCE7}
.pt-store .pt-toast-dot svg{width:24px;height:24px;stroke:#15803D}
.pt-store .pt-toast-text{font-size:16.5px;font-weight:700;color:#14532D;letter-spacing:-.01em}


/* --- My account --------------------------------------------------------------
   WooCommerce's own markup, given the site's layout. The navigation becomes a
   column beside the panel on a desktop and a scrollable row above it on a
   phone; both fill the container rather than sitting at their content width. */

.pt-store .pt-acct-head{margin:0 0 clamp(24px,3vw,36px)}
.pt-store .pt-acct-lead{font-size:16px;line-height:1.7;color:var(--muted);margin:10px 0 0}

.pt-store .pt-acct .woocommerce{
	display:grid;grid-template-columns:260px minmax(0,1fr);
	gap:clamp(18px,2.4vw,28px);align-items:start;width:100%;
}
@media (max-width:900px){
	.pt-store .pt-acct .woocommerce{grid-template-columns:minmax(0,1fr)}
}

/* the navigation */
.pt-store .pt-acct .woocommerce-MyAccount-navigation{
	float:none;width:auto;margin:0;
	background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:10px;
}
.pt-store .pt-acct .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
@media (max-width:900px){
	.pt-store .pt-acct .woocommerce-MyAccount-navigation ul{
		flex-direction:row;overflow-x:auto;gap:6px;
		scrollbar-width:none;-webkit-overflow-scrolling:touch;
	}
	.pt-store .pt-acct .woocommerce-MyAccount-navigation ul::-webkit-scrollbar{display:none}
	.pt-store .pt-acct .woocommerce-MyAccount-navigation li{flex:0 0 auto}
}
.pt-store .pt-acct .woocommerce-MyAccount-navigation li{margin:0;padding:0;list-style:none}
.pt-store .pt-acct .woocommerce-MyAccount-navigation li a{
	display:block;padding:11px 14px;border-radius:10px;
	font-family:var(--font-body),system-ui,sans-serif;font-size:14.5px;font-weight:600;
	color:var(--ink-soft);text-decoration:none;white-space:nowrap;
	transition:background .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1);
}
.pt-store .pt-acct .woocommerce-MyAccount-navigation li a:hover{background:var(--sky-100);color:var(--ink)}
.pt-store .pt-acct .woocommerce-MyAccount-navigation li.is-active a{background:var(--accent);color:#fff}

/* the panel */
.pt-store .pt-acct .woocommerce-MyAccount-content{
	float:none;width:auto;min-width:0;
	background:var(--surface);border:1px solid var(--line);border-radius:16px;
	padding:clamp(22px,2.6vw,32px);
}
.pt-store .pt-acct .woocommerce-MyAccount-content p{font-size:15.5px;line-height:1.7;color:var(--ink-soft);margin:0 0 14px}
.pt-store .pt-acct .woocommerce-MyAccount-content p:last-child{margin-bottom:0}
.pt-store .pt-acct .woocommerce-MyAccount-content a{color:var(--accent);font-weight:600}
.pt-store .pt-acct .woocommerce-MyAccount-content a:hover{color:var(--accent-deep)}
.pt-store .pt-acct .woocommerce-MyAccount-content h2,
.pt-store .pt-acct .woocommerce-MyAccount-content h3{
	font-family:var(--font-display),system-ui,sans-serif;font-size:20px;font-weight:600;
	letter-spacing:-.01em;color:var(--ink);margin:0 0 14px;
}
.pt-store .pt-acct .woocommerce-MyAccount-content table{width:100%;border-collapse:collapse;font-size:14.5px}
.pt-store .pt-acct .woocommerce-MyAccount-content table th,
.pt-store .pt-acct .woocommerce-MyAccount-content table td{
	padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;color:var(--ink-soft);
}
.pt-store .pt-acct .woocommerce-MyAccount-content table th{font-weight:700;color:var(--ink)}

/* the login / lost-password forms, which have no navigation beside them */
.pt-store .pt-acct .woocommerce:has(> .woocommerce-form-login),
.pt-store .pt-acct .woocommerce:has(> .woocommerce-ResetPassword){grid-template-columns:minmax(0,1fr)}
.pt-store .pt-acct form.woocommerce-form-login,
.pt-store .pt-acct form.woocommerce-ResetPassword,
.pt-store .pt-acct form.edit-account,
.pt-store .pt-acct form.woocommerce-EditAccountForm{
	background:var(--surface);border:1px solid var(--line);border-radius:16px;
	padding:clamp(22px,2.6vw,32px);margin:0;max-width:560px;
}
.pt-store .pt-acct .woocommerce form .form-row{display:flex;flex-direction:column;margin:0 0 16px;padding:0}
.pt-store .pt-acct .woocommerce form label{
	font-size:12.5px;font-weight:600;color:var(--ink-soft);margin:0 0 6px;
}
.pt-store .pt-acct .woocommerce form input.input-text,
.pt-store .pt-acct .woocommerce form input[type=text],
.pt-store .pt-acct .woocommerce form input[type=email],
.pt-store .pt-acct .woocommerce form input[type=password]{
	width:100%;height:48px;padding:0 14px;
	background:var(--surface);border:1px solid var(--line);border-radius:10px;
	font-family:var(--font-body),system-ui,sans-serif;font-size:15px;color:var(--ink);box-shadow:none;
}
.pt-store .pt-acct .woocommerce form input:focus{
	outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);
}
.pt-store .pt-acct .woocommerce button.button,
.pt-store .pt-acct .woocommerce a.button{
	display:inline-flex;align-items:center;justify-content:center;height:50px;padding:0 28px;
	border:0;border-radius:8px;background:var(--accent);color:#fff;
	font-family:var(--font-body),system-ui,sans-serif;font-size:15px;font-weight:600;
	cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;
}
.pt-store .pt-acct .woocommerce button.button:hover,
.pt-store .pt-acct .woocommerce a.button:hover{
	background:var(--accent-deep);color:#fff;box-shadow:0 10px 28px var(--accent-glow);
}
.pt-store .pt-acct .woocommerce-form-login__rememberme{flex-direction:row;align-items:center;gap:8px}

/* Placed explicitly rather than by source order. WooCommerce floats these two
   (navigation left, content right) and the floats stop mattering in a grid, but
   the implicit placement came out reversed - the navigation landed in the wide
   track and the panel in the narrow one. Naming the columns removes the
   question entirely. */
.pt-store .pt-acct .woocommerce-MyAccount-navigation{grid-column:1;grid-row:1}
.pt-store .pt-acct .woocommerce-MyAccount-content{grid-column:2;grid-row:1}
@media (max-width:900px){
	.pt-store .pt-acct .woocommerce-MyAccount-navigation{grid-column:1;grid-row:1}
	.pt-store .pt-acct .woocommerce-MyAccount-content{grid-column:1;grid-row:2}
}

/* Astra pads .woocommerce by 48px, which inset the whole panel inside the
   container and left it short of both edges - the "too slim" look. The
   container already provides the page gutter. */
.pt-store .pt-acct .woocommerce{padding:0;margin:0;max-width:none}

/* The account page carries Astra's transparent header, which is position:fixed
   and about 121px tall, so the heading started underneath it. The section's own
   padding is not enough on its own to clear a header that overlays the page. */
.pt-store .pt-acct .pt-section{padding-top:168px}
@media (max-width:880px){
	.pt-store .pt-acct .pt-section{padding-top:148px}
}
