/* CAPGO v1.7.0 — targeted page integrity and layouts.
   This file intentionally does NOT style .woocommerce-shop, product cards or checkout. */
:root{--cg17-ink:#161616;--cg17-gold:#c99e31;--cg17-cream:#faf7ef;--cg17-line:#e5e0d3;--cg17-copy:#4d4b46}
body.capgo-belt-theme :is(.capgo-v17-affiliate-section,.capgo-v17-authored-page,.capgo-journal-grid,.capgo-v17-designer-page .capgo-page,.capgo-v17-authored-landing){min-width:0;max-width:100%;box-sizing:border-box}
body.capgo-belt-theme :is(.capgo-v17-affiliate-section,.capgo-v17-authored-page,.capgo-v17-designer-page .capgo-page) :is(input,select,textarea,button){max-width:100%;box-sizing:border-box}
body.capgo-belt-theme :is(.capgo-v17-affiliate-section,.capgo-v17-designer-page .capgo-page,.capgo-v17-authored-page) :is(h2,h3){line-height:1.18;letter-spacing:-.025em;text-wrap:balance}
body.capgo-belt-theme:is(.capgo-v17-designer-page,.capgo-v17-affiliate-hub-page,.capgo-v17-apply-page,.blog,.category,.tag) .capgo-page-hero{padding-block:clamp(36px,5vw,68px)}
body.capgo-belt-theme:is(.capgo-v17-designer-page,.blog,.category,.tag) .capgo-page-hero h1{font-size:clamp(31px,3.5vw,52px);line-height:1.1;letter-spacing:-.035em;font-weight:800}
/* Affiliate hub: dedicated canonical route; business logic remains in CAPGO Commerce Core. */
.capgo-v17-affiliate-hero{padding:clamp(42px,6vw,86px) 0;color:white;background:radial-gradient(circle at 90% 10%,rgba(202,154,45,.25),transparent 32%),linear-gradient(110deg,#0c0c0c,#272217)}
.capgo-v17-affiliate-hero__inner{display:flex;justify-content:space-between;align-items:center;gap:30px;min-width:0}
.capgo-v17-affiliate-hero__inner>div{max-width:780px;min-width:0}
.capgo-v17-eyebrow{color:#e0b84c;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;margin:0 0 14px}
.capgo-v17-affiliate-hero h1{color:#fff;font-size:clamp(34px,4.6vw,62px);line-height:1.08;letter-spacing:-.045em;font-weight:800;margin:0 0 14px}
.capgo-v17-affiliate-hero p:not(.capgo-v17-eyebrow){color:#e7e2d5;font-size:clamp(15px,1.3vw,18px);line-height:1.65;margin:0}
.capgo-v17-affiliate-hero .capgo-button{flex-shrink:0;white-space:normal;text-align:center}
.capgo-v17-affiliate-section{padding:clamp(34px,4vw,68px) 0 clamp(58px,7vw,105px);background:#faf9f6}
.capgo-v17-affiliate-section .capgo-container{min-width:0}
.capgo-v17-affiliate-section :is(.capgo-affiliate-hub,.capgo-affiliate-public-bridge,.capgo-v17-affiliate-empty){max-width:100%;width:100%;min-width:0}
.capgo-v17-affiliate-section .capgo-affiliate-hub{display:grid;gap:22px}
.capgo-v17-affiliate-section .capgo-affiliate-hub>header,.capgo-v17-affiliate-section :is(.capgo-affiliate-public-bridge,.capgo-v17-affiliate-empty){background:#fff;border:1px solid var(--cg17-line);border-radius:14px;padding:clamp(22px,3.5vw,38px);box-shadow:0 10px 32px rgba(0,0,0,.035)}
.capgo-v17-affiliate-section .capgo-affiliate-hub>header h2{font-size:clamp(24px,3vw,38px);color:#131313;line-height:1.16}
.capgo-v17-affiliate-section .capgo-affiliate-hub>header p{color:var(--cg17-copy);max-width:760px}
.capgo-v17-affiliate-section :is(.capgo-core-panel,.capgo-affiliate-link,.capgo-copy-row,table){max-width:100%;min-width:0;overflow-wrap:anywhere}
.capgo-v17-affiliate-section table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
.capgo-v17-affiliate-section .capgo-v17-affiliate-editor{margin-top:30px;max-width:960px}
.capgo-v17-affiliate-section :is(.capgo-affiliate-public-bridge,.capgo-v17-affiliate-empty) h2{font-size:clamp(23px,3vw,34px);letter-spacing:-.028em}
/* Marketing page: keep existing staff-written content and all CAPGO brand sections. */
body.capgo-v17-apply-page .cgaf-section{padding-block:clamp(46px,5.5vw,88px)}
body.capgo-v17-apply-page .cgaf-wrap{width:min(100% - clamp(28px,5vw,88px),1400px);max-width:1400px;margin-inline:auto}
body.capgo-v17-apply-page .cgaf-title{font-size:clamp(31px,3.9vw,58px);line-height:1.09;letter-spacing:-.035em;font-weight:800}
body.capgo-v17-apply-page .cgaf-copy{font-size:clamp(15px,1.25vw,18px);line-height:1.68}
body.capgo-v17-apply-page .cgaf-grid{gap:clamp(20px,3.2vw,42px)}
body.capgo-v17-apply-page :is(.cgaf-card,.cgaf-step,.cgaf-hero-card,.cgaf-portal-panel){min-width:0;overflow-wrap:anywhere}
body.capgo-v17-apply-page .cgaf-actions{flex-wrap:wrap;gap:12px}
body.capgo-v17-apply-page .cgaf-btn{min-height:48px;padding:12px 20px;font-size:12px;white-space:normal;text-align:center}
body.capgo-v17-apply-page img{max-width:100%;height:auto}
/* Belt designer: page constraints and explicit multi-step form styles. */
body.capgo-v17-designer-page .capgo-page-hero{background:linear-gradient(115deg,#161616,#302816);color:#fff}
body.capgo-v17-designer-page .capgo-page-hero :is(h1,.capgo-eyebrow){color:#fff}
body.capgo-v17-designer-page .capgo-page{width:min(100% - clamp(26px,5vw,88px),1450px)!important;max-width:1450px!important;margin:0 auto!important;padding:clamp(26px,3vw,52px) 0 clamp(64px,6vw,100px)!important}
body.capgo-v17-designer-page .capgo-page-content{padding:0!important;width:100%!important;max-width:100%!important;margin:0!important;min-width:0}
body.capgo-v17-designer-page .capgo-request-form{width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:clamp(18px,3vw,42px);border:1px solid var(--cg17-line);border-top:4px solid var(--cg17-gold);border-radius:16px;background:#fff;box-shadow:0 18px 60px rgba(20,18,12,.065)}
body.capgo-v17-designer-page .capgo-request-stages{margin:18px 0 4px;gap:8px;grid-template-columns:repeat(6,minmax(0,1fr));min-width:0}
body.capgo-v17-designer-page .capgo-request-stages li{padding:13px 6px;border-radius:9px;min-width:0}
body.capgo-v17-designer-page .capgo-request-stages strong{overflow-wrap:anywhere;font-size:12px}
body.capgo-v17-designer-page .capgo-request-step{min-width:0;max-width:100%;border:0}
body.capgo-v17-designer-page .capgo-request-step legend{font-size:clamp(22px,2.35vw,32px);line-height:1.2;max-width:100%}
body.capgo-v17-designer-page .capgo-request-form :is(select,input:not([type=checkbox]):not([type=radio]),textarea){max-width:100%;min-width:0}
body.capgo-v17-designer-page .capgo-choice-grid{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:12px}
body.capgo-v17-designer-page .capgo-form-grid>*{min-width:0}
body.capgo-v17-designer-page .capgo-request-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
body.capgo-v17-designer-page .capgo-request-nav button{min-width:min(170px,100%);border-radius:8px;font-weight:800}
body.capgo-v17-designer-page .capgo-belt-concept svg{height:auto;max-width:100%;display:block}
/* Journal: cards align across widths even when articles have no featured image. */
body.capgo-belt-theme :is(.capgo-journal-grid,.capgo-post-list){width:min(100% - clamp(28px,5vw,88px),1540px);max-width:1540px;margin-inline:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.2vw,30px);padding-block:clamp(35px,4vw,60px) clamp(60px,5vw,90px);align-items:stretch}
body.capgo-belt-theme :is(.capgo-journal-grid,.capgo-post-list)>article.capgo-post-card{display:flex;min-width:0;min-height:100%;flex-direction:column;overflow:hidden;border:1px solid var(--cg17-line);border-radius:13px;background:#fff;box-shadow:0 8px 32px rgba(0,0,0,.04)}
body.capgo-belt-theme :is(.capgo-journal-grid,.capgo-post-list) .capgo-post-card__image{display:flex;flex:0 0 auto;aspect-ratio:16/10;min-height:0;overflow:hidden;background:#131313;text-decoration:none}
body.capgo-belt-theme :is(.capgo-journal-grid,.capgo-post-list) .capgo-post-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
body.capgo-belt-theme :is(.capgo-journal-grid,.capgo-post-list) .capgo-post-card__image--fallback{position:relative;align-items:flex-end;padding:24px;color:#efc85e;background:radial-gradient(circle at 80% 0%,rgba(237,196,84,.28),transparent 48%),linear-gradient(125deg,#121212,#383126);font-size:12px;font-weight:900;letter-spacing:.17em;text-transform:uppercase}
body.capgo-belt-theme :is(.capgo-journal-grid,.capgo-post-list) .capgo-post-card__body{display:flex;flex:1;flex-direction:column;min-width:0;padding:clamp(18px,2.2vw,28px)}
body.capgo-belt-theme :is(.capgo-journal-grid,.capgo-post-list) .capgo-post-card h2{font-size:clamp(20px,1.7vw,26px);line-height:1.18;letter-spacing:-.026em;margin:8px 0 12px;font-weight:800}
body.capgo-belt-theme :is(.capgo-journal-grid,.capgo-post-list) .capgo-post-card p{font-size:14px;line-height:1.7;color:var(--cg17-copy);margin:0 0 20px}
body.capgo-belt-theme :is(.capgo-journal-grid,.capgo-post-list) .capgo-post-card .capgo-text-link{margin-top:auto;align-self:flex-start}
body.capgo-belt-theme :is(.capgo-journal-grid,.capgo-post-list)>:is(.navigation,.capgo-pagination){grid-column:1/-1}
/* Sticky-scroll table-of-contents sidebars: scroll inside, not out of the viewport. */
body.capgo-belt-theme :is(.cgfaq-sidebar,.capgo-size-guide__quick-card,.capgo-request-aside,.capgo-v15-form-aside,.woocommerce-MyAccount-navigation){scrollbar-width:thin;scrollbar-color:#ad914f transparent}
@media(min-width:981px){
  body.capgo-belt-theme :is(.cgfaq-sidebar,.capgo-size-guide__quick-card){position:sticky!important;top:clamp(90px,10vh,150px)!important;align-self:start;max-height:calc(100dvh - clamp(108px,12vh,170px));overflow-y:auto;overscroll-behavior:contain}
  body.capgo-belt-theme .cgfaq-layout{align-items:start}
  body.capgo-belt-theme .cgfaq-main,.capgo-belt-theme .capgo-size-guide__intro{overflow:visible}
  body.capgo-belt-theme .capgo-v15-form-aside,body.capgo-belt-theme .capgo-request-aside{top:clamp(90px,10vh,150px);max-height:calc(100dvh - 145px);overflow-y:auto;overscroll-behavior:contain}
  body.capgo-belt-theme .woocommerce-account .woocommerce-MyAccount-navigation{position:sticky;top:106px;max-height:calc(100dvh - 135px);overflow-y:auto}
}
body.capgo-belt-theme :is(.cgfaq-nav,.capgo-size-guide__quick-list) a[aria-current="location"]{color:#191919;background:#f6e9c6;border-inline-start:3px solid #bd8f25;font-weight:800}
@media(hover:hover){body.capgo-belt-theme .capgo-post-card__image:hover img{transform:scale(1.04)}}
@media(max-width:1100px){body.capgo-belt-theme :is(.capgo-journal-grid,.capgo-post-list){grid-template-columns:repeat(2,minmax(0,1fr))}body.capgo-v17-apply-page .cgaf-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){body.capgo-belt-theme :is(.cgfaq-sidebar,.capgo-size-guide__quick-card,.capgo-v15-form-aside,.capgo-request-aside,.woocommerce-MyAccount-navigation){position:static!important;top:auto!important;max-height:none!important;overflow:visible!important}body.capgo-v17-apply-page :is(.cgaf-grid-2,.cgaf-grid-3){grid-template-columns:1fr}body.capgo-v17-designer-page .capgo-request-stages{grid-template-columns:repeat(3,minmax(0,1fr))}.capgo-v17-affiliate-hero__inner{align-items:start;flex-direction:column}}
@media(max-width:640px){body.capgo-belt-theme :is(.capgo-journal-grid,.capgo-post-list){grid-template-columns:1fr;width:calc(100% - 28px)}body.capgo-v17-apply-page .cgaf-wrap{width:calc(100% - 28px)}body.capgo-v17-apply-page .cgaf-grid-4{grid-template-columns:1fr}body.capgo-v17-apply-page .cgaf-title{font-size:clamp(30px,8vw,42px)}body.capgo-v17-designer-page .capgo-page{width:calc(100% - 24px)!important}body.capgo-v17-designer-page .capgo-request-stages{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}body.capgo-v17-designer-page .capgo-request-stages li{padding:8px 3px}body.capgo-v17-designer-page .capgo-request-stages strong{font-size:10px}body.capgo-v17-designer-page .capgo-form-grid{grid-template-columns:1fr}body.capgo-v17-designer-page .capgo-form-grid .capgo-span-2{grid-column:auto}body.capgo-v17-designer-page .capgo-request-nav button{flex:1 1 calc(50% - 10px);min-width:0}.capgo-v17-affiliate-hero h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){body.capgo-belt-theme .capgo-post-card__image img{transition:none}}

/* Generated editorial TOC for long standard pages and articles only. */
body.capgo-belt-theme .capgo-v17-toc-layout{display:grid;grid-template-columns:minmax(200px,250px) minmax(0,1fr);align-items:start;gap:clamp(20px,3vw,46px);max-width:100%}
body.capgo-belt-theme .capgo-v17-toc-layout>.capgo-page-content{min-width:0;max-width:100%;width:100%;margin:0}
body.capgo-belt-theme .capgo-v17-toc{position:sticky;top:110px;align-self:start;max-height:calc(100dvh - 140px);overflow-y:auto;overscroll-behavior:contain;background:#faf7ef;border:1px solid #e7dfcd;border-radius:12px;padding:18px 12px;scrollbar-width:thin;scrollbar-color:#aa8840 transparent}
body.capgo-belt-theme .capgo-v17-toc h2{font-size:14px;letter-spacing:.07em;text-transform:uppercase;margin:0 10px 10px}
body.capgo-belt-theme .capgo-v17-toc ul{list-style:none;margin:0;padding:0}
body.capgo-belt-theme .capgo-v17-toc li{margin:0}
body.capgo-belt-theme .capgo-v17-toc a{display:block;padding:10px 12px;color:#3d3a31;text-decoration:none;line-height:1.45;font-size:13px;border-radius:7px;overflow-wrap:anywhere}
body.capgo-belt-theme .capgo-v17-toc a:hover,body.capgo-belt-theme .capgo-v17-toc a[aria-current="location"]{background:#f2e6c6;color:#1c1813}
body.capgo-belt-theme .capgo-v17-toc-layout :is(h2,h3)[id]{scroll-margin-top:120px}
@media(max-width:980px){body.capgo-belt-theme .capgo-v17-toc-layout{grid-template-columns:1fr}body.capgo-belt-theme .capgo-v17-toc{position:static;max-height:none;overflow:visible}}
