/* =====================================================================
   LORENTZIAN — theme stylesheet
   Ported from the sales-page and page-template design concepts.
   ===================================================================== */

/* ---------- Tokens ---------- */
:root{
  /* Cool near-black neutral ramp + neon blue/violet accents, matching the
     LORENTZIAN robot-mark logo. Variable names (--amber/--steel) are kept
     for low-risk cascading — only the values changed — but now hold blue
     and violet respectively; treat them as "primary accent" / "secondary
     accent" rather than literally amber/steel. */
  --ink:#07080C;
  --surface:#12141C;
  --surface-2:#181C27;
  --surface-3:#212632;
  --line:#2A2F3D;
  --line-soft:#1B1F29;
  --text-hi:#ECEEF5;
  --text-mid:#B7BAC9;
  --text-lo:#7D8194;
  --amber:#3FD1FF;
  --amber-dim:#1E5A73;
  --steel:#A66DFF;
  --steel-dim:#4B3B7A;
  --buy:#3ED98A;
  --sell:#FF6259;
  --warn:#E0A64A;
  --radius:2px;
  --mono: ui-monospace, 'Cascadia Code', 'SFMono-Regular', Consolas, 'Roboto Mono', monospace;
  --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  --maxw: 1180px;
}

/* ---------- Reset / base ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{color-scheme:dark;}
body{
  margin:0;background:var(--ink);color:var(--text-hi);font-family:var(--sans);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;
  background-image:
    radial-gradient(ellipse 900px 500px at 15% -10%, rgba(63,209,255,0.06), transparent 60%),
    radial-gradient(ellipse 700px 500px at 100% 10%, rgba(166,109,255,0.05), transparent 55%);
  background-repeat:no-repeat;
}
img,svg{max-width:100%;display:block;}
a{color:inherit;}
code,pre{font-family:var(--mono);}
::selection{background:var(--amber);color:var(--ink);}
h1,h2,h3{font-family:var(--mono);font-weight:700;letter-spacing:-0.01em;text-wrap:balance;margin:0;}
p{margin:0;}
button{font:inherit;}
ul{margin:0;padding:0;}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.scroller{overflow-x:auto;-webkit-overflow-scrolling:touch;}

.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.skip-link{
  position:absolute;top:-100px;left:16px;z-index:200;background:var(--amber);color:#062229;
  padding:10px 16px;border-radius:4px;font-family:var(--mono);font-size:13px;text-decoration:none;transition:top .15s ease;
}
.skip-link:focus{top:16px;}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
}

/* ---------- Type helpers ---------- */
.eyebrow{
  font-family:var(--mono);font-size:11.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--amber);
  display:inline-flex;align-items:center;gap:8px;
}
.eyebrow::before{content:"";width:6px;height:6px;background:var(--amber);border-radius:1px;flex:none;}
.eyebrow.steel{color:var(--steel);}
.eyebrow.steel::before{background:var(--steel);}

/* ---------- Buttons ---------- */
.btn{
  font-family:var(--mono);font-size:13.5px;letter-spacing:0.03em;padding:13px 22px;border-radius:var(--radius);
  border:1px solid var(--line);display:inline-flex;align-items:center;gap:10px;cursor:pointer;text-decoration:none;
  transition:border-color .15s ease, background .15s ease, transform .15s ease;background:transparent;color:var(--text-hi);
}
.btn:hover{border-color:var(--text-lo);}
.btn:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid var(--amber);outline-offset:2px;
}
.btn-primary{background:var(--amber);border-color:var(--amber);color:#062229;font-weight:700;}
.btn-primary:hover{background:#7FE0FF;border-color:#7FE0FF;transform:translateY(-1px);}
.btn-primary:active{transform:translateY(0);}
.btn-sm{padding:9px 15px;font-size:12.5px;}

/* ---------- Brand ---------- */
.brand{display:flex;align-items:center;text-decoration:none;}
.brand img{height:34px;width:auto;display:block;}

/* ---------- Site header / nav ---------- */
.site-header{position:sticky;top:0;z-index:40;background:rgba(7,8,12,0.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft);}
.site-nav{display:flex;align-items:center;justify-content:space-between;height:66px;gap:16px;}
.site-links{display:flex;gap:26px;font-family:var(--mono);font-size:12.5px;color:var(--text-mid);}
.site-links a{text-decoration:none;}
.site-links a:hover{color:var(--text-hi);}
.site-links a.current{color:var(--amber);}
.nav-toggle{display:flex;flex-direction:column;gap:4px;background:none;border:none;padding:8px;cursor:pointer;order:3;}
.nav-toggle span{width:20px;height:2px;background:var(--text-mid);display:block;}
@media(min-width:780px){
  .nav-toggle{display:none;}
  .site-links{display:flex !important;position:static;flex-direction:row;background:none;border:none;padding:0;}
}
@media(max-width:779px){
  .site-links{
    display:none;position:absolute;top:66px;left:0;right:0;flex-direction:column;gap:0;
    background:var(--surface);border-bottom:1px solid var(--line);padding:8px 28px;
  }
  .site-links.is-open{display:flex;}
  .site-links a{padding:14px 0;border-top:1px solid var(--line-soft);}
  .site-links a:first-child{border-top:none;}
}

.cart-link{
  display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:12.5px;color:var(--text-mid);
  text-decoration:none;white-space:nowrap;
}
.cart-link:hover{color:var(--text-hi);}

.lang-switcher{display:flex;align-items:center;gap:2px;font-family:var(--mono);font-size:11px;}
.lang-pill{padding:5px 7px;border-radius:2px;color:var(--text-lo);text-decoration:none;letter-spacing:0.03em;}
.lang-pill:hover{color:var(--text-hi);}
.lang-pill.is-active{background:var(--surface-3);color:var(--amber);}
.cart-count{
  display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;
  background:var(--amber);color:#062229;border-radius:20px;font-size:11px;font-weight:700;
}

/* ---------- Site footer ---------- */
.site-footer{border-top:1px solid var(--line-soft);padding:34px 0;margin-top:0;}
.foot-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;}
.foot-note{font-family:var(--mono);font-size:11.5px;color:var(--text-lo);flex:1 1 320px;max-width:60ch;}
.foot-links{display:flex;flex-wrap:wrap;gap:14px 20px;font-family:var(--mono);font-size:12px;min-width:0;}
.foot-note a{color:var(--text-mid);text-decoration:underline;text-underline-offset:2px;}
@media(max-width:640px){
  .foot-row{flex-direction:column;align-items:flex-start;}
  .foot-row > *{max-width:100%;}
}
.foot-links a{text-decoration:none;color:var(--text-lo);}
.foot-links a:hover{color:var(--text-hi);}

/* =====================================================================
   FRONT PAGE (sales / landing)
   ===================================================================== */
.hero{padding:76px 0 60px;}
.hero-grid{display:grid;gap:56px;grid-template-columns:1fr;}
@media(min-width:980px){.hero-grid{grid-template-columns:1.05fr 0.95fr;align-items:center;}}
.hero h1{font-size:clamp(32px,4.6vw,52px);line-height:1.08;margin:18px 0 22px;}
.hero h1 .accent{color:var(--amber);}
.hero p.lead{font-family:var(--sans);font-size:17px;color:var(--text-mid);max-width:52ch;margin-bottom:32px;}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:34px;}
.hero-meta{display:flex;flex-wrap:wrap;gap:22px;font-family:var(--mono);font-size:12px;color:var(--text-lo);}
.hero-meta span{display:flex;align-items:center;gap:7px;}
.dot{width:6px;height:6px;border-radius:50%;background:var(--buy);flex:none;box-shadow:0 0 8px rgba(62,217,138,0.6);}

.panel{background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow:hidden;box-shadow:0 30px 80px -30px rgba(0,0,0,0.7);}
.panel-head{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;border-bottom:1px solid var(--line);background:var(--surface-2);font-family:var(--mono);font-size:11.5px;color:var(--text-lo);letter-spacing:0.04em;}
.panel-head .lights{display:flex;gap:6px;}
.panel-head .lights span{width:8px;height:8px;border-radius:50%;background:var(--line);}
.panel-body{padding:18px;}
.decision-row{display:grid;grid-template-columns:20px 1fr auto;gap:12px;align-items:center;padding:10px 4px;border-bottom:1px dashed var(--line-soft);font-family:var(--mono);font-size:12.5px;opacity:0;transform:translateY(4px);animation:rowIn .5s ease forwards;}
.decision-row:last-child{border-bottom:none;}
.decision-row .idx{color:var(--text-lo);font-size:11px;}
.decision-row .label{color:var(--text-mid);}
.decision-row .status{font-size:11px;letter-spacing:0.05em;padding:3px 8px;border-radius:20px;white-space:nowrap;}
.status.pass{color:var(--buy);background:rgba(62,217,138,0.12);}
.status.check{color:var(--steel);background:rgba(166,109,255,0.12);}
@keyframes rowIn{to{opacity:1;transform:translateY(0);}}
.decision-row:nth-child(1){animation-delay:.1s;}
.decision-row:nth-child(2){animation-delay:.35s;}
.decision-row:nth-child(3){animation-delay:.6s;}
.decision-row:nth-child(4){animation-delay:.85s;}
.decision-row:nth-child(5){animation-delay:1.1s;}
.verdict{margin-top:16px;padding:16px;border-radius:4px;background:rgba(62,217,138,0.08);border:1px solid rgba(62,217,138,0.35);display:flex;align-items:center;justify-content:space-between;opacity:0;animation:rowIn .5s ease forwards;animation-delay:1.4s;}
.verdict .tag{font-family:var(--mono);font-weight:700;font-size:20px;color:var(--buy);letter-spacing:0.03em;}
.verdict .sub{font-family:var(--mono);font-size:11px;color:var(--text-lo);text-align:right;}
@media (prefers-reduced-motion: reduce){.decision-row,.verdict{animation:none;opacity:1;transform:none;}}

section{padding:88px 0;border-top:1px solid var(--line-soft);}
.section-head{max-width:640px;margin-bottom:52px;}
.section-head h2{font-size:clamp(24px,3vw,34px);margin:14px 0 16px;color:var(--text-hi);}
.section-head p{font-family:var(--sans);color:var(--text-mid);font-size:16px;max-width:56ch;}

.arch{display:grid;gap:0;grid-template-columns:1fr;align-items:stretch;}
@media(min-width:860px){.arch{grid-template-columns:1fr 84px 1fr;}}
.arch-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:26px;}
.arch-card .role{font-family:var(--mono);font-size:11px;color:var(--text-lo);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:10px;}
.arch-card h3{font-family:var(--mono);font-size:19px;color:var(--text-hi);margin-bottom:12px;}
.arch-card p{font-family:var(--sans);font-size:14.5px;color:var(--text-mid);}
.arch-card ul{margin:14px 0 0;padding-left:0;list-style:none;font-family:var(--mono);font-size:12.5px;color:var(--text-lo);}
.arch-card li{padding:6px 0;border-top:1px solid var(--line-soft);display:flex;gap:8px;}
.arch-card li::before{content:"→";color:var(--amber);flex:none;}
.arch-arrow{display:flex;align-items:center;justify-content:center;padding:20px 0;color:var(--text-lo);}
.arch-arrow svg{width:100%;height:32px;}
.arch-arrow.rot svg{transform:rotate(90deg);}
@media(min-width:860px){.arch-arrow.rot svg{transform:none;}}

.pipeline{display:flex;flex-direction:column;gap:0;counter-reset:step;}
.step{display:grid;grid-template-columns:56px 1fr;gap:22px;padding:30px 0;border-top:1px solid var(--line-soft);counter-increment:step;}
.step:first-child{border-top:1px solid var(--line);}
.step-num{font-family:var(--mono);font-size:13px;color:var(--amber);}
.step-num::before{content:"0" counter(step);font-size:26px;font-weight:700;display:block;color:var(--text-hi);}
.step-body h3{font-family:var(--sans);font-weight:700;font-size:18px;color:var(--text-hi);margin-bottom:8px;letter-spacing:0;}
.step-body p{font-family:var(--sans);color:var(--text-mid);font-size:15px;max-width:62ch;}
.step-body .kv{margin-top:14px;display:flex;flex-wrap:wrap;gap:10px;}
.kv span{font-family:var(--mono);font-size:11.5px;color:var(--steel);background:rgba(166,109,255,0.09);border:1px solid var(--steel-dim);padding:5px 10px;border-radius:20px;}

.blackbook{margin-top:56px;background:linear-gradient(180deg, var(--surface), var(--surface-2));border:1px solid var(--line);border-radius:6px;padding:32px;display:grid;gap:28px;grid-template-columns:1fr;}
@media(min-width:860px){.blackbook{grid-template-columns:1fr 1fr;padding:40px;}}
.blackbook h3{font-family:var(--mono);font-size:20px;color:var(--text-hi);margin-bottom:14px;}
.blackbook p{font-family:var(--sans);color:var(--text-mid);font-size:15px;margin-bottom:12px;}
.ledger{font-family:var(--mono);font-size:12px;border:1px solid var(--line);border-radius:4px;overflow:hidden;}
.ledger-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:10px 14px;border-top:1px solid var(--line-soft);color:var(--text-lo);}
.ledger-row:first-child{border-top:none;background:var(--surface-3);color:var(--text-mid);}
.ledger-row .veto{color:var(--sell);}
.ledger-row.head{color:var(--text-lo);font-size:10.5px;text-transform:uppercase;letter-spacing:0.08em;}

.tiles{display:grid;gap:18px;grid-template-columns:1fr;}
@media(min-width:700px){.tiles{grid-template-columns:repeat(3,1fr);}}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:24px;}
.tile .tile-eyebrow{font-family:var(--mono);font-size:11px;color:var(--text-lo);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:16px;}
.tile .big{font-family:var(--mono);font-size:36px;font-weight:700;color:var(--text-hi);font-variant-numeric:tabular-nums;}
.tile .big small{font-size:15px;color:var(--text-lo);font-weight:400;}
.tile p{font-family:var(--sans);font-size:13.5px;color:var(--text-mid);margin-top:12px;}
.meter{height:6px;border-radius:3px;background:var(--surface-3);margin-top:16px;overflow:hidden;}
.meter i{display:block;height:100%;border-radius:3px;}
.meter.warn i{background:var(--sell);width:9%;}
.meter.ok i{background:var(--steel);width:33%;}
.meter.info i{background:var(--amber);width:20%;}

.ticker-wrap{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:var(--surface);overflow:hidden;padding:16px 0;}
.ticker{display:flex;gap:36px;white-space:nowrap;animation:tick 32s linear infinite;font-family:var(--mono);font-size:13px;color:var(--text-lo);width:max-content;}
.ticker span b{color:var(--text-mid);}
@keyframes tick{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){.ticker{animation:none;}}

.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;}
.price-grid .price-card{margin:0;max-width:none;}
@media(max-width:980px){.price-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.price-grid{grid-template-columns:1fr;}}
.price-card{max-width:460px;margin:0 auto;background:var(--surface);border:1px solid var(--amber-dim);border-radius:8px;padding:38px;position:relative;display:flex;flex-direction:column;}
.price-card>*:last-child{margin-top:auto;padding-top:16px;}
.promo-note{font-family:var(--mono);font-size:12px;color:var(--buy);margin:6px 0 0;}
.price-card form{display:flex;flex-direction:column;gap:12px;}
.price-card form .woocommerce-Input{margin:0;}
.price-card .form-error{color:var(--sell);font-family:var(--sans);font-size:13px;margin:0;}

.license-upgrade-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}
.price-card .plan{font-family:var(--mono);font-size:12px;color:var(--amber);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:10px;}
.price-card .amount{font-family:var(--mono);font-size:44px;font-weight:700;color:var(--text-hi);}
.price-card .amount small{font-size:16px;color:var(--text-lo);font-weight:400;}
.price-card .desc{font-family:var(--sans);color:var(--text-mid);font-size:14.5px;margin:14px 0 26px;}
.price-list{list-style:none;padding:0;margin:0 0 30px;display:flex;flex-direction:column;gap:12px;}
.price-list li{display:flex;gap:10px;font-family:var(--sans);font-size:14.5px;color:var(--text-hi);}
.price-list li .ck{color:var(--buy);font-family:var(--mono);flex:none;}
.price-card .btn-primary{width:100%;justify-content:center;padding:15px;font-size:14px;}
.fineprint{text-align:center;font-family:var(--mono);font-size:11.5px;color:var(--text-lo);margin-top:16px;}

.faq{max-width:760px;}
details{border-top:1px solid var(--line-soft);padding:20px 0;}
details:last-child{border-bottom:1px solid var(--line-soft);}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:var(--sans);font-weight:600;font-size:16px;color:var(--text-hi);}
summary::-webkit-details-marker{display:none;}
summary::after{content:"+";font-family:var(--mono);font-size:20px;color:var(--amber);flex:none;transition:transform .2s ease;}
details[open] summary::after{transform:rotate(45deg);}
details p{font-family:var(--sans);color:var(--text-mid);font-size:14.5px;margin-top:14px;max-width:60ch;}

.disclaimer{font-family:var(--mono);font-size:11.5px;line-height:1.7;color:var(--text-lo);border:1px solid var(--line);border-radius:6px;padding:20px 22px;margin-bottom:32px;background:var(--surface);}
.disclaimer a{text-underline-offset:2px;}

.wc-risk-note{
  font-family:var(--mono);font-size:12.5px;line-height:1.6;color:var(--text-lo);
  border:1px solid var(--line);border-radius:6px;padding:14px 16px;margin:18px 0;background:var(--surface);
}
.wc-risk-note a{color:var(--amber);text-decoration:underline;text-underline-offset:2px;}

/* =====================================================================
   BLOG
   ===================================================================== */
.blog-hero{padding:56px 0 40px;border-bottom:1px solid var(--line-soft);}
.blog-hero h1{font-size:clamp(26px,3.6vw,38px);margin:14px 0 12px;}
.blog-hero p{font-family:var(--sans);color:var(--text-mid);font-size:15.5px;max-width:56ch;}
.cat-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px;}
.cat-pill{font-family:var(--mono);font-size:11.5px;padding:7px 14px;border-radius:20px;border:1px solid var(--line);color:var(--text-lo);background:transparent;cursor:pointer;text-decoration:none;display:inline-block;}
.cat-pill.active,.cat-pill:hover{border-color:var(--amber);color:var(--amber);background:rgba(63,209,255,0.08);}

.blog-body{padding:48px 0 80px;}
.featured{display:grid;gap:0;grid-template-columns:1fr;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:44px;background:var(--surface);text-decoration:none;color:inherit;}
@media(min-width:820px){.featured{grid-template-columns:1fr 1fr;}}
.abstract-art{position:relative;min-height:220px;background:radial-gradient(circle at 30% 30%, rgba(63,209,255,0.16), transparent 55%),radial-gradient(circle at 70% 70%, rgba(166,109,255,0.14), transparent 55%),var(--surface-2);overflow:hidden;}
.abstract-art svg{position:absolute;inset:0;width:100%;height:100%;}
.featured-copy{padding:30px;display:flex;flex-direction:column;gap:14px;justify-content:center;}
.featured-copy .cat{font-family:var(--mono);font-size:11px;color:var(--amber);text-transform:uppercase;letter-spacing:0.1em;}
.featured-copy h2{font-family:var(--sans);font-size:23px;font-weight:700;letter-spacing:-0.01em;line-height:1.25;}
.featured-copy p{font-family:var(--sans);color:var(--text-mid);font-size:14.5px;}
.post-meta{font-family:var(--mono);font-size:11.5px;color:var(--text-lo);display:flex;gap:14px;}

.post-grid{display:grid;gap:22px;grid-template-columns:1fr;}
@media(min-width:680px){.post-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:1000px){.post-grid{grid-template-columns:1fr 1fr 1fr;}}
.post-card{border-top:1px solid var(--line-soft);padding-top:20px;display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit;}
.post-card .cat{font-family:var(--mono);font-size:10.5px;color:var(--steel);text-transform:uppercase;letter-spacing:0.09em;}
.post-card h3{font-family:var(--sans);font-size:16px;font-weight:700;color:var(--text-hi);line-height:1.35;letter-spacing:0;}
.post-card p{font-family:var(--sans);font-size:13.5px;color:var(--text-mid);}

.pagination{display:flex;gap:10px;justify-content:center;margin-top:56px;font-family:var(--mono);font-size:13px;}
.pagination a,.pagination span{padding:9px 15px;border:1px solid var(--line);border-radius:4px;text-decoration:none;color:var(--text-mid);}
.pagination .current{border-color:var(--amber);color:var(--amber);}
.pagination a:hover{border-color:var(--text-lo);}

/* Single post reading view */
.post-header{padding:56px 0 36px;border-bottom:1px solid var(--line-soft);}
.post-header .cat{margin-bottom:16px;}
.post-header h1{font-family:var(--sans);font-size:clamp(26px,4vw,40px);line-height:1.2;letter-spacing:-0.01em;margin-bottom:18px;}
.post-header .post-meta{font-size:12.5px;}
.post-body{max-width:700px;margin:0 auto;padding:48px 28px 90px;}
.entry-content{font-family:var(--sans);color:var(--text-mid);font-size:16.5px;line-height:1.8;}
.entry-content > * + *{margin-top:1.4em;}
.entry-content h2{font-family:var(--sans);font-weight:700;font-size:24px;color:var(--text-hi);letter-spacing:-0.01em;margin-top:2em;}
.entry-content h3{font-family:var(--sans);font-weight:700;font-size:19px;color:var(--text-hi);letter-spacing:-0.005em;margin-top:1.8em;}
.entry-content a{color:var(--amber);text-underline-offset:3px;}
.entry-content strong{color:var(--text-hi);}
.entry-content ul,.entry-content ol{padding-left:1.4em;}
.entry-content li + li{margin-top:0.5em;}
.entry-content blockquote{border-left:2px solid var(--amber);padding-left:20px;color:var(--text-hi);font-style:normal;}
.entry-content code{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:3px;padding:2px 6px;font-size:0.9em;color:var(--steel);}
.entry-content pre{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:16px 18px;overflow-x:auto;font-size:13px;}
.entry-content pre code{background:none;border:none;padding:0;color:var(--text-mid);}
.entry-content img{border-radius:6px;}
.entry-content table{width:100%;border-collapse:collapse;font-size:14.5px;}
.entry-content th,.entry-content td{border:1px solid var(--line);padding:10px 12px;text-align:left;}
.entry-content th{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-lo);}
.entry-content .wp-block-button__link{font-family:var(--mono);background:var(--amber);color:#062229;border-radius:2px;padding:12px 20px;text-decoration:none;font-weight:700;display:inline-block;}
.entry-content hr{border:none;border-top:1px solid var(--line-soft);}
.author-box{display:flex;gap:14px;align-items:center;margin-top:56px;padding-top:32px;border-top:1px solid var(--line-soft);font-family:var(--mono);font-size:12.5px;color:var(--text-lo);}

/* Comments */
.comments-area{margin-top:64px;padding-top:40px;border-top:1px solid var(--line-soft);}
.comments-title,.comment-reply-title{font-family:var(--sans);font-size:19px;color:var(--text-hi);font-weight:700;margin-bottom:24px;}
.comment-list{list-style:none;display:flex;flex-direction:column;gap:22px;}
.comment-list .children{list-style:none;margin-top:22px;padding-left:28px;border-left:1px solid var(--line-soft);}
.comment-body{font-family:var(--sans);font-size:14.5px;color:var(--text-mid);}
.comment-author .fn{font-style:normal;font-weight:700;color:var(--text-hi);}
.comment-metadata{font-family:var(--mono);font-size:11px;color:var(--text-lo);margin-bottom:8px;}
.comment-form input:not([type=submit]),.comment-form textarea{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:10px 12px;color:var(--text-hi);font-family:var(--sans);font-size:14px;margin-top:6px;}
.comment-form label{font-family:var(--mono);font-size:11.5px;color:var(--text-lo);text-transform:uppercase;letter-spacing:0.05em;}
.comment-form p{margin-top:16px;}
.comment-notes{font-family:var(--sans);font-size:13px;color:var(--text-lo);}
.form-submit input[type=submit]{font-family:var(--mono);font-size:13px;padding:11px 20px;border-radius:2px;border:1px solid var(--amber);background:var(--amber);color:#062229;font-weight:700;cursor:pointer;margin-top:16px;}

/* =====================================================================
   DOCS / SUPPORT
   ===================================================================== */
.docs-shell{display:grid;grid-template-columns:1fr;}
@media(min-width:900px){.docs-shell{grid-template-columns:220px 1fr;}}
@media(min-width:1180px){.docs-shell{grid-template-columns:220px 1fr 200px;}}

.doc-sidebar{
  border-right:1px solid var(--line-soft);padding:28px 18px;display:none;
  position:sticky;top:86px;align-self:start;max-height:calc(100vh - 86px);overflow-y:auto;
}
@media(min-width:900px){.doc-sidebar{display:block;}}
.doc-wizard-cta{
  display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12.5px;font-weight:700;
  color:#062229;background:var(--amber);border-radius:4px;padding:10px 12px;text-decoration:none;margin-bottom:24px;
}
.doc-wizard-cta:hover{background:#7FE0FF;}
.doc-wizard-banner{
  display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--surface);
  border:1px solid var(--line);border-radius:8px;padding:18px 22px;margin-bottom:36px;text-decoration:none;
  transition:border-color .15s ease;
}
.doc-wizard-banner:hover{border-color:var(--amber);}
.doc-wizard-banner strong{display:block;font-family:var(--sans);font-size:15px;color:var(--text-hi);margin-bottom:4px;}
.doc-wizard-banner span:not(.arrow){font-family:var(--sans);font-size:13px;color:var(--text-mid);}
.doc-wizard-banner .arrow{font-family:var(--mono);color:var(--amber);font-size:18px;flex:none;}
.doc-search{font-family:var(--mono);font-size:12px;color:var(--text-lo);background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:9px 12px;width:100%;margin-bottom:24px;}
.doc-group{margin-bottom:22px;}
.doc-group .g-title{font-family:var(--mono);font-size:10.5px;color:var(--text-lo);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:8px;}
.doc-group a{display:block;font-family:var(--sans);font-size:13.5px;color:var(--text-mid);text-decoration:none;padding:6px 10px;border-radius:4px;border-left:2px solid transparent;}
.doc-group a:hover{color:var(--text-hi);}
.doc-group a.current{color:var(--amber);border-left-color:var(--amber);background:rgba(63,209,255,0.06);}

.doc-mobile-nav{display:block;padding:14px 28px;border-bottom:1px solid var(--line-soft);}
@media(min-width:900px){.doc-mobile-nav{display:none;}}
.doc-mobile-nav select{width:100%;font-family:var(--mono);font-size:13px;background:var(--surface);color:var(--text-hi);border:1px solid var(--line);border-radius:5px;padding:10px 12px;}

.doc-content{padding:40px 24px 90px;max-width:720px;}
@media(min-width:900px){.doc-content{padding:44px 40px 100px;}}
.doc-content .kicker{font-family:var(--mono);font-size:11px;color:var(--text-lo);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:10px;}
.doc-content h1{font-family:var(--sans);font-size:30px;font-weight:700;letter-spacing:-0.01em;margin-bottom:14px;}
.doc-content > p.lead{font-family:var(--sans);color:var(--text-mid);font-size:15.5px;max-width:62ch;margin-bottom:38px;}
.doc-content .doc-article{font-family:var(--sans);color:var(--text-mid);font-size:15.5px;line-height:1.75;}
.doc-content .doc-article > * + *{margin-top:1.3em;}
.doc-content .doc-article h2{font-family:var(--sans);font-weight:700;font-size:21px;color:var(--text-hi);margin-top:1.8em;scroll-margin-top:90px;}
.doc-content .doc-article h3{font-family:var(--sans);font-weight:700;font-size:17px;color:var(--text-hi);margin-top:1.6em;scroll-margin-top:90px;}
.doc-content .doc-article code{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:3px;padding:2px 6px;font-size:0.9em;color:var(--steel);}
.doc-content .doc-article a{color:var(--amber);}
.doc-content .doc-article ul,.doc-content .doc-article ol{padding-left:1.4em;}

.doc-step{display:grid;grid-template-columns:34px 1fr;gap:16px;padding:22px 0;border-top:1px solid var(--line-soft);}
.doc-step:first-of-type{border-top:1px solid var(--line);}
.doc-step .n{font-family:var(--mono);font-weight:700;color:var(--amber);font-size:14px;}
.doc-step h3{font-family:var(--sans);font-size:16px;font-weight:700;color:var(--text-hi);margin-bottom:8px;letter-spacing:0;}
.doc-step p{font-family:var(--sans);color:var(--text-mid);font-size:14.5px;max-width:60ch;}

pre.code,.doc-article pre{margin-top:12px;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:14px 16px;font-family:var(--mono);font-size:12.5px;color:var(--text-mid);overflow-x:auto;line-height:1.6;}
pre.code .p{color:var(--text-lo);}
pre.code .hl{color:var(--steel);}

.callout{border-radius:6px;padding:16px 18px;margin:26px 0;display:flex;gap:12px;font-family:var(--sans);font-size:13.5px;}
.callout .ic{font-family:var(--mono);font-weight:700;flex:none;width:20px;text-align:center;}
.callout.info{background:rgba(166,109,255,0.08);border:1px solid var(--steel-dim);color:var(--text-mid);}
.callout.info .ic{color:var(--steel);}
.callout.warn{background:rgba(224,166,74,0.08);border:1px solid var(--amber-dim);color:var(--text-mid);}
.callout.warn .ic{color:var(--warn);}

.doc-toc{
  display:none;padding:44px 20px;
  position:sticky;top:86px;align-self:start;max-height:calc(100vh - 86px);overflow-y:auto;
}
@media(min-width:1180px){.doc-toc{display:block;}}
.doc-toc .t-title{font-family:var(--mono);font-size:10.5px;color:var(--text-lo);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:14px;}
.doc-toc a{display:block;font-family:var(--sans);font-size:13px;color:var(--text-lo);text-decoration:none;padding:5px 0;border-left:2px solid var(--line-soft);padding-left:12px;}
.doc-toc a.current{color:var(--amber);border-left-color:var(--amber);}

/* Docs archive index (grouped list, no single doc open) */
.docs-index{padding:56px 0 90px;}
.docs-index-group{margin-bottom:44px;}
.docs-index-group h2{font-family:var(--sans);font-size:18px;color:var(--text-hi);margin-bottom:18px;}
.docs-index-list{display:grid;gap:12px;grid-template-columns:1fr;}
@media(min-width:700px){.docs-index-list{grid-template-columns:1fr 1fr;}}
.docs-index-list a{display:block;border:1px solid var(--line);border-radius:6px;padding:16px 18px;text-decoration:none;color:var(--text-hi);font-family:var(--sans);font-size:14.5px;font-weight:600;background:var(--surface);}
.docs-index-list a:hover{border-color:var(--text-lo);}

/* =====================================================================
   ACCOUNT / MEMBERSHIP (WooCommerce My Account)
   ===================================================================== */
body.lorentzian-app-shell .site-footer{margin-top:0;}

.account-notices{padding-top:24px;}
.account-notices:empty{display:none;}

/*
 * WooCommerce always wraps its shortcode output in <div class="woocommerce">,
 * so .account-shell's only real DOM child is that wrapper — in BOTH the
 * logged-in dashboard (nav + content inside it) and the logged-out
 * login/register view. Without this, the grid below was sizing that single
 * wrapper into just its first 230px track, squeezing the entire account
 * page (dashboard included) into a sidebar-width column. display:contents
 * removes the wrapper from the box model so its actual children become the
 * grid items instead.
 */
.account-shell > .woocommerce{display:contents;}

/* Logged-in dashboard: real 2-column app shell (nav + content). */
body.logged-in .account-shell{display:grid;grid-template-columns:1fr;min-height:60vh;}
@media(min-width:900px){body.logged-in .account-shell{grid-template-columns:230px 1fr;}}

/*
 * Logged-out (Login/Register): there's no sidebar yet, so don't force the
 * dashboard grid — just center the form. WooCommerce's own float-based
 * two-column layout (.u-columns > .col-1/.col-2) is neutralized in favor of
 * a simple responsive flex row.
 */
body:not(.logged-in) .account-shell{max-width:820px;margin:0 auto;padding:48px 24px 90px;}
body:not(.logged-in) .account-shell .u-columns{display:flex;flex-wrap:wrap;gap:40px;}
body:not(.logged-in) .account-shell .col-1,
body:not(.logged-in) .account-shell .col-2{float:none;width:auto !important;flex:1 1 280px;}

.woocommerce-MyAccount-navigation{border-right:1px solid var(--line-soft);padding:26px 18px;}
.woocommerce-MyAccount-navigation ul{list-style:none;display:flex;flex-direction:column;gap:2px;}
.woocommerce-MyAccount-navigation a{
  font-family:var(--mono);font-size:13px;color:var(--text-mid);text-decoration:none;padding:9px 12px;border-radius:4px;display:block;
}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--surface-2);color:var(--amber);}
.woocommerce-MyAccount-navigation a:hover{background:var(--surface);color:var(--text-hi);}

.woocommerce-MyAccount-content{padding:32px 24px 60px;}
@media(min-width:900px){.woocommerce-MyAccount-content{padding:36px 40px 70px;}}

.account-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-bottom:32px;}
.account-top h1,.account-top h2{font-size:22px;color:var(--text-hi);}
.account-top p{font-family:var(--sans);color:var(--text-lo);font-size:13.5px;margin-top:6px;}

.chip{font-family:var(--mono);font-size:11px;letter-spacing:0.04em;padding:5px 11px 5px 8px;border-radius:20px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
.chip .dot{width:6px;height:6px;border-radius:50%;flex:none;}
.chip.good{background:rgba(62,217,138,0.12);color:var(--buy);}
.chip.good .dot{background:var(--buy);box-shadow:0 0 6px rgba(62,217,138,0.7);}
.chip.muted{background:var(--surface-2);color:var(--text-lo);}

.license-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:26px;margin-bottom:34px;display:grid;gap:22px;grid-template-columns:1fr;}
@media(min-width:640px){.license-card{grid-template-columns:1.3fr 1fr;}}
.license-card .plan-name{font-family:var(--mono);font-size:11px;color:var(--text-lo);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:8px;}
.license-card .plan-title{font-family:var(--mono);font-size:19px;color:var(--text-hi);margin-bottom:16px;}
.keyrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.keyrow code{font-size:14px;color:var(--text-mid);background:var(--surface-2);border:1px solid var(--line-soft);padding:8px 12px;border-radius:4px;}
.license-meta{font-family:var(--sans);font-size:12.5px;color:var(--text-lo);margin-top:14px;}
.activation{border-left:1px solid var(--line-soft);padding-left:22px;}
@media(max-width:639px){.activation{border-left:none;padding-left:0;border-top:1px solid var(--line-soft);padding-top:18px;}}
.activation .label{font-family:var(--mono);font-size:11px;color:var(--text-lo);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:10px;}
.activation .figure{font-family:var(--mono);font-size:26px;color:var(--text-hi);font-variant-numeric:tabular-nums;}
.activation .figure small{font-size:13px;color:var(--text-lo);}
.meter2{height:5px;border-radius:3px;background:var(--surface-3);margin-top:10px;overflow:hidden;}
.meter2 i{display:block;height:100%;background:var(--steel);width:33%;border-radius:3px;}

.btn:disabled,.btn[disabled]{opacity:0.4;cursor:not-allowed;pointer-events:none;}

.refund-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:24px;margin-bottom:34px;}
.refund-card h2{font-size:16px;margin:0 0 8px;}
.refund-card form{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;}
.refund-card select.woocommerce-Input{width:auto;min-width:240px;}
.refund-card .form-error{color:var(--sell);font-family:var(--sans);font-size:13px;margin:10px 0 0;width:100%;}

.section-label{font-family:var(--mono);font-size:11.5px;color:var(--text-lo);text-transform:uppercase;letter-spacing:0.1em;margin:36px 0 16px;}

.dl-grid{display:grid;gap:14px;grid-template-columns:1fr;}
@media(min-width:640px){.dl-grid{grid-template-columns:1fr 1fr;}}
.dl-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:20px;display:flex;flex-direction:column;gap:12px;}
.dl-card .dl-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
.dl-card h3{font-family:var(--sans);font-size:15px;font-weight:700;color:var(--text-hi);letter-spacing:0;}
.dl-card .meta{font-family:var(--mono);font-size:11px;color:var(--text-lo);margin-top:5px;}
.dl-card .ver{font-family:var(--mono);font-size:10.5px;color:var(--steel);background:rgba(166,109,255,0.1);border:1px solid var(--steel-dim);padding:3px 8px;border-radius:20px;white-space:nowrap;flex:none;}
.dl-card .actions{display:flex;gap:10px;margin-top:4px;align-items:center;}
.dl-card .actions .link{font-family:var(--mono);font-size:12px;color:var(--text-lo);text-decoration:underline;text-underline-offset:3px;}
.dl-empty{border:1px dashed var(--line);border-radius:6px;padding:28px;text-align:center;font-family:var(--sans);color:var(--text-lo);font-size:14px;}

.changelog{border:1px solid var(--line);border-radius:6px;overflow:hidden;}
.cl-row{display:grid;grid-template-columns:110px 60px 1fr;gap:14px;padding:13px 16px;border-top:1px solid var(--line-soft);font-family:var(--mono);font-size:12.5px;}
.cl-row:first-child{border-top:none;}
.cl-row time{color:var(--text-lo);font-variant-numeric:tabular-nums;}
.cl-row .v{color:var(--amber);}
.cl-row .desc{color:var(--text-mid);font-family:var(--sans);font-size:13px;}

.support-cta{margin-top:36px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:22px 26px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;}
.support-cta h3{font-family:var(--sans);font-size:15px;font-weight:700;color:var(--text-hi);}
.support-cta p{font-family:var(--sans);font-size:13px;color:var(--text-lo);margin-top:4px;}

/* WooCommerce baseline: orders table, forms, notices (other My Account endpoints) */
.woocommerce-orders-table{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:13.5px;margin-top:8px;}
.woocommerce-orders-table th,.woocommerce-orders-table td{border-bottom:1px solid var(--line-soft);padding:12px 10px;text-align:left;color:var(--text-mid);}
.woocommerce-orders-table th{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-lo);}
.woocommerce-Button,button.woocommerce-Button{font-family:var(--mono);font-size:12.5px;padding:9px 15px;border-radius:2px;border:1px solid var(--amber);background:var(--amber);color:#062229;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block;}
.woocommerce-Button.button-cancel{background:transparent;border-color:var(--line);color:var(--text-hi);}
.woocommerce-form-row{margin-bottom:16px;}
.woocommerce-form-row label{display:block;font-family:var(--mono);font-size:11.5px;color:var(--text-lo);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:6px;}
.woocommerce-Input,.woocommerce form input.input-text,.woocommerce form textarea,.woocommerce form select{
  width:100%;background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:10px 12px;color:var(--text-hi);font-family:var(--sans);font-size:14px;
}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-NoticeGroup p{
  font-family:var(--sans);font-size:13.5px;background:rgba(166,109,255,0.08);border:1px solid var(--steel-dim);border-radius:6px;padding:14px 16px;list-style:none;color:var(--text-mid);margin-bottom:20px;
}
.woocommerce-error{background:rgba(255,98,89,0.08);border-color:var(--sell);}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none;}

/* License Manager for WooCommerce — "License keys" My Account endpoint.
   The plugin's own templates render a bare, unstyled table; theme overrides
   at woocommerce/myaccount/lmfwc-view-license-keys.php and .../single.php
   add the class names below in place of the plugin's defaults. */
.lmfwc-licenses-page h2{font-size:22px;color:var(--text-hi);margin-bottom:24px;}
.lmfwc-license-group,.lmfwc-license-detail{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:26px;margin-bottom:24px;}
.lmfwc-license-group h3.product-name{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-lo);margin:0 0 18px;}
.lmfwc-license-group h3.product-name a{color:var(--text-hi);text-decoration:none;}
.lmfwc-license-group h3.product-name a:hover{color:var(--amber);}
.lmfwc-license-detail h2{font-size:16px;margin:0 0 20px;}

.lmfwc-license-table{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:13.5px;}
.lmfwc-license-table th,.lmfwc-license-table td{border-bottom:1px solid var(--line-soft);padding:14px 10px;text-align:left;color:var(--text-mid);vertical-align:middle;}
.lmfwc-license-table tr:last-child td{border-bottom:none;}
.lmfwc-license-table th{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-lo);font-weight:400;}
.lmfwc-license-table td.license-key-actions{white-space:nowrap;text-align:right;}

/* Detail page reuses the same table look but as a definition list (th/td
   pairs per row instead of a header row), so its cells need vertical
   padding but not the same left/right alignment split. */
.lmfwc-license-table--detail th{text-align:left;width:180px;}
.lmfwc-license-table--detail td{text-align:left;}

.lmfwc-myaccount-license-key{font-family:var(--mono);font-size:13px;color:var(--text-hi);background:var(--surface-2);border:1px solid var(--line-soft);padding:6px 10px;border-radius:4px;display:inline-block;letter-spacing:0.02em;}
.lmfwc-activation-count{font-family:var(--mono);font-size:13px;color:var(--text-hi);font-variant-numeric:tabular-nums;}
.lmfwc-never-expires{color:var(--buy);}

.lmfwc-license-table .button,.lmfwc-license-detail .button{
  font-family:var(--mono);font-size:11.5px;padding:7px 14px;border-radius:4px;border:1px solid var(--line);
  background:transparent;color:var(--text-mid);text-decoration:none;display:inline-block;margin-left:8px;
  cursor:pointer;transition:border-color .15s ease,color .15s ease;
}
.lmfwc-license-table td.license-key-actions .button:first-child{margin-left:0;}
.lmfwc-license-table .button:hover,.lmfwc-license-detail .button:hover{border-color:var(--amber);color:var(--amber);}
.lmfwc-btn-primary{background:var(--amber) !important;border-color:var(--amber) !important;color:#062229 !important;font-weight:700;}
.lmfwc-btn-primary:hover{opacity:0.88;color:#062229 !important;}

/* My Account → Downloads (WooCommerce core's own order/order-downloads.php,
   theme-overridden at woocommerce/order/order-downloads.php to reuse the
   same card/table look as the License keys page above). */
.lorentzian-downloads-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:26px;margin-bottom:24px;}
.lorentzian-downloads-card .woocommerce-order-downloads__title{font-size:16px;color:var(--text-hi);margin:0 0 18px;}
.lorentzian-downloads-table td.download-file{white-space:nowrap;}

/* =====================================================================
   SINGLE PRODUCT
   ===================================================================== */
.product-hero .product-grid{display:grid;gap:48px;grid-template-columns:1fr;align-items:start;list-style:none;padding:0;margin:0;}
@media(min-width:900px){.product-hero .product-grid{grid-template-columns:0.9fr 1.1fr;align-items:center;}}

.product-shot-panel{background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow:hidden;box-shadow:0 30px 80px -30px rgba(0,0,0,0.7);}
.product-shot-body{padding:38px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%, rgba(63,209,255,0.08), transparent 60%);}
.product-shot{width:100%;max-width:320px;height:auto;border-radius:8px;margin:0 auto;}
.product-shot--placeholder{max-width:200px;filter:drop-shadow(0 20px 40px rgba(63,209,255,0.18));}

.product-hero .summary .product_title{font-size:clamp(28px,3.6vw,40px);line-height:1.12;margin:16px 0 18px;}
.product-hero .summary .price{display:block;font-family:var(--mono);font-size:40px;font-weight:700;color:var(--text-hi);margin-bottom:18px;}
.product-hero .summary .price ins{text-decoration:none;color:var(--text-hi);}
.product-hero .summary .price del{color:var(--text-lo);font-size:0.55em;margin-right:10px;}
.product-hero .summary .woocommerce-product-details__short-description{font-family:var(--sans);color:var(--text-mid);font-size:16.5px;line-height:1.7;max-width:52ch;margin-bottom:28px;}
.product-hero .summary .woocommerce-product-details__short-description p{margin:0;}

.product-hero .cart{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:16px;}
.product-hero .quantity{display:inline-flex;}
.product-hero .quantity .qty{
  width:70px;padding:13px 12px;background:transparent;border:1px solid var(--line);border-radius:var(--radius);
  color:var(--text-hi);font-family:var(--mono);font-size:14px;
}
.product-hero .quantity .qty:focus-visible{outline:2px solid var(--amber);outline-offset:2px;}
.product-hero .single_add_to_cart_button{
  font-family:var(--mono);font-size:14px;font-weight:700;letter-spacing:0.03em;padding:15px 26px;border-radius:var(--radius);
  border:1px solid var(--amber);background:var(--amber);color:#062229;cursor:pointer;text-decoration:none;display:inline-flex;
  align-items:center;gap:10px;transition:background .15s ease, transform .15s ease;
}
.product-hero .single_add_to_cart_button:hover{background:#7FE0FF;border-color:#7FE0FF;transform:translateY(-1px);}
.product-hero .single_add_to_cart_button:disabled{opacity:0.5;cursor:not-allowed;}

.product-hero .wc-risk-note{max-width:52ch;margin-top:0;}

/* =====================================================================
   SHOP ARCHIVE
   ===================================================================== */
.shop-index{padding:56px 0 90px;}
.shop-index .wc-risk-note{max-width:70ch;margin:0 0 40px;padding:16px 20px;background:var(--surface);border:1px solid var(--line);border-radius:6px;font-family:var(--sans);color:var(--text-mid);font-size:14.5px;}
.shop-index .wc-risk-note a{color:var(--amber);}

.shop-grid{display:grid;gap:28px;grid-template-columns:1fr;list-style:none;padding:0;margin:0;}
@media(min-width:640px){.shop-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:960px){.shop-grid{grid-template-columns:repeat(3,1fr);}}

a.shop-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden;text-decoration:none;transition:border-color 0.15s ease,transform 0.15s ease;}
a.shop-card:hover{border-color:var(--amber-dim);transform:translateY(-2px);}

.shop-card-shot{background:radial-gradient(circle at 50% 40%, rgba(63,209,255,0.08), transparent 60%);display:flex;align-items:center;justify-content:center;padding:28px;min-height:180px;}
.shop-card-img{width:100%;max-width:180px;height:auto;border-radius:8px;}
.shop-card-img--placeholder{max-width:110px;filter:drop-shadow(0 16px 32px rgba(63,209,255,0.18));}

.shop-card-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);}
.shop-card-title{font-family:var(--sans);font-weight:600;font-size:17px;color:var(--text-hi);}
.shop-card-price{font-family:var(--mono);font-size:22px;font-weight:700;color:var(--text-hi);}
.shop-card-price ins{text-decoration:none;color:var(--text-hi);}
.shop-card-price del{color:var(--text-lo);font-size:0.6em;margin-right:8px;}
.shop-card-cta{font-family:var(--mono);font-size:12.5px;letter-spacing:0.05em;color:var(--amber);text-transform:uppercase;margin-top:4px;}

.shop-pagination{margin-top:48px;}

/* =====================================================================
   TEACH GALLERY — backtest-teaching GIF proof (homepage + doc)
   ===================================================================== */
.teach-gallery{margin-top:56px;}
.teach-gallery-grid{display:grid;gap:20px;grid-template-columns:1fr;}
@media(min-width:760px){.teach-gallery-grid{grid-template-columns:repeat(3,1fr);}}
.teach-gallery-item{background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow:hidden;}
.teach-gallery-item img{display:block;width:100%;height:auto;}
.teach-gallery-caption{padding:12px 14px;border-top:1px solid var(--line);}
.teach-gallery-caption .step{font-family:var(--mono);font-size:11px;color:var(--amber);text-transform:uppercase;letter-spacing:0.06em;display:block;margin-bottom:4px;}
.teach-gallery-caption .label{font-family:var(--sans);font-size:13.5px;color:var(--text-mid);}

.doc-article figure.doc-shot{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow:hidden;}
.doc-article figure.doc-shot img{display:block;width:100%;height:auto;}
.doc-article figure.doc-shot figcaption{padding:10px 14px;border-top:1px solid var(--line);font-family:var(--mono);font-size:12px;color:var(--text-lo);text-transform:uppercase;letter-spacing:0.05em;}

/* =====================================================================
   CART — proceed-to-checkout card note
   ===================================================================== */
.checkout-card-note{font-family:var(--mono);font-size:11.5px;letter-spacing:0.03em;color:var(--text-lo);text-align:center;margin:10px 0 0;}

/* =====================================================================
   SUPPORT
   ===================================================================== */
.support-page{padding:56px 0 90px;}
.support-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.support-form textarea.woocommerce-Input{resize:vertical;}
.support-form button.woocommerce-Button{margin-top:8px;}

/* =====================================================================
   Generic pages / 404
   ===================================================================== */
.page-prose{padding:64px 0 90px;max-width:760px;}
.page-title{font-family:var(--sans);font-size:clamp(26px,4vw,36px);letter-spacing:-0.01em;margin-bottom:32px;}

.error-404{padding:110px 0;text-align:center;}
.error-404 .code{font-family:var(--mono);font-size:14px;color:var(--amber);letter-spacing:0.1em;margin-bottom:16px;}
.error-404 h1{font-size:clamp(28px,4vw,40px);margin-bottom:16px;}
.error-404 p{font-family:var(--sans);color:var(--text-mid);font-size:15px;max-width:50ch;margin:0 auto 32px;}

::-webkit-scrollbar{height:8px;width:8px;}
::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px;}
