:root{
  --o-bg:#FFFFFF; --o-oat:#F5F1EA; --o-ink:#1A1815; --o-accent:#9C4A2A;
  --o-accent-dk:#7E3A20; --o-muted:#6E675F; --o-line:#E5DFD6; --o-maxw:1200px;
  --o-r:4px;
}

/* ---- base ---- */
body.ai-on{font-family:'Barlow',system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--o-ink);background:var(--o-bg);line-height:1.6;-webkit-font-smoothing:antialiased;}
body.ai-on h1,body.ai-on h2,body.ai-on h3,body.ai-on h4{
  font-family:'Barlow',system-ui,sans-serif;font-weight:600;line-height:1.14;
  color:var(--o-ink);letter-spacing:-.01em;text-wrap:balance;}
body.ai-on a{color:var(--o-accent);text-underline-offset:3px;}
body.ai-on a:hover{color:var(--o-accent-dk);}
body.ai-on :focus-visible{outline:2px solid var(--o-accent);outline-offset:3px;}

.ai-wrap{max-width:var(--o-maxw);margin:0 auto;padding-left:24px;padding-right:24px;}

/* ---- sections ---- */
.ai-section{padding:clamp(48px,7vw,86px) 0;}
.ai-section--surface{background:var(--o-bg);}
.ai-section--tint,.ai-section--blush{background:var(--o-oat);}
.ai-section--ink{background:var(--o-ink);color:#fff;}
.ai-section--ink h1,.ai-section--ink h2,.ai-section--ink h3{color:#fff;}
.ai-section--ink p,.ai-section--ink li{color:#E8E3DC;}

.ai-eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--o-accent);margin:0 0 12px;}
.ai-display{font-size:clamp(2.1rem,4.6vw,3.5rem);line-height:1.08;margin:0 0 16px;}
.ai-h2{font-size:clamp(1.6rem,3vw,2.3rem);margin:0 0 14px;}
.ai-h3{font-size:clamp(1.1rem,1.8vw,1.35rem);margin:0 0 10px;}
.ai-lead{font-size:1.06rem;color:var(--o-muted);max-width:60ch;margin:0 0 22px;}
.ai-muted{color:var(--o-muted);}
.ai-center{text-align:center;}
.ai-center .ai-lead{margin-left:auto;margin-right:auto;}
.ai-shead{margin-bottom:clamp(24px,3vw,40px);}

/* ---- buttons ---- */
.ai-btnrow{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.ai-btn{display:inline-block;padding:14px 26px;border-radius:var(--o-r);
  font-weight:600;font-size:.94rem;letter-spacing:.01em;text-decoration:none;
  border:1px solid transparent;transition:background .15s ease,color .15s ease;}
.ai-btn-primary{background:var(--o-ink);color:#fff;}
.ai-btn-primary:hover{background:var(--o-accent);color:#fff;}
.ai-btn-secondary{background:transparent;color:var(--o-ink);border-color:var(--o-ink);}
.ai-btn-secondary:hover{background:var(--o-ink);color:#fff;}
.ai-section--ink .ai-btn-primary{background:#fff;color:var(--o-ink);}
.ai-section--ink .ai-btn-secondary{color:#fff;border-color:#fff;}

/* ---- hero ---- */
.ai-hero{display:grid;gap:clamp(26px,4vw,56px);align-items:center;
  grid-template-columns:minmax(0,1fr);}
@media(min-width:900px){.ai-hero{grid-template-columns:1.05fr 1fr;}}
.ai-shot,.ai-hero-shot{border-radius:var(--o-r);overflow:hidden;background:var(--o-oat);}
.ai-shot img,.ai-hero-shot img,.ai-mount img{display:block;width:100%;height:auto;}
.ai-price{font-size:1rem;color:var(--o-muted);margin:0;}
.ai-price b{color:var(--o-ink);font-size:1.18rem;font-weight:600;}

/* ---- trust strip ---- */
.ai-trust{display:flex;flex-wrap:wrap;gap:10px 30px;padding:18px 0;margin:0;
  list-style:none;border-top:1px solid var(--o-line);border-bottom:1px solid var(--o-line);}
.ai-trust li{font-size:.9rem;color:var(--o-muted);padding-left:22px;position:relative;}
.ai-trust li::before{content:"";position:absolute;left:0;top:.46em;width:9px;height:5px;
  border-left:1.6px solid var(--o-accent);border-bottom:1.6px solid var(--o-accent);
  transform:rotate(-45deg);}

/* ---- feature grid ---- */
.ai-features{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.ai-feature{background:var(--o-bg);border:1px solid var(--o-line);border-radius:var(--o-r);
  padding:24px;}
.ai-section--tint .ai-feature{background:var(--o-bg);}
.ai-feature p{margin:0;color:var(--o-muted);font-size:.95rem;}

/* ---- split ---- */
.ai-split{display:grid;gap:clamp(24px,4vw,52px);align-items:center;
  grid-template-columns:minmax(0,1fr);}
@media(min-width:900px){.ai-split{grid-template-columns:1fr 1fr;}}
.ai-split-media{border-radius:var(--o-r);overflow:hidden;}
.ai-split-body p{color:var(--o-muted);}
.ai-bleed{margin-top:clamp(26px,4vw,44px);}

/* ---- steps ---- */
.ai-steps{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  counter-reset:step;list-style:none;padding:0;margin:0;}
.ai-step{counter-increment:step;padding:22px 0 0;border-top:2px solid var(--o-accent);}
.ai-step::before{content:counter(step,decimal-leading-zero);display:block;
  font-size:.74rem;font-weight:700;letter-spacing:.12em;color:var(--o-accent);margin-bottom:8px;}
.ai-step p{margin:0;color:var(--o-muted);font-size:.95rem;}

/* ---- faq ---- */
.ai-faq{border-top:1px solid var(--o-line);}
.ai-faq details{border-bottom:1px solid var(--o-line);padding:16px 0;}
.ai-faq summary{cursor:pointer;font-weight:600;list-style:none;}
.ai-faq summary::-webkit-details-marker{display:none;}
.ai-faq p{color:var(--o-muted);margin:10px 0 0;}
.ai-prose p{color:var(--o-muted);max-width:68ch;}

/* ---- cards / covers / badges ---- */
.ai-covers{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));}
.ai-cover{background:var(--o-bg);border:1px solid var(--o-line);border-radius:var(--o-r);
  overflow:hidden;}
.ai-badge{display:inline-block;background:var(--o-oat);color:var(--o-accent);
  font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:5px 10px;border-radius:var(--o-r);}

/* ---- footer ---- */
.ai-footer{background:var(--o-ink);color:#E8E3DC;padding:clamp(40px,5vw,64px) 24px;}
.ai-foot-grid{max-width:var(--o-maxw);margin:0 auto;display:grid;gap:30px;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));}
.ai-foot-brand p{color:#B8B1A8;font-size:.92rem;}
.ai-foot-logo{margin:0 0 10px;}
.ai-foot-logo img{display:block;height:34px;width:auto;}
.ai-foot-pay{font-size:.86rem;color:#9A938A;}
.ai-foot-col h4{color:var(--o-accent);font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;margin:0 0 12px;font-weight:700;}
.ai-foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.ai-foot-col a,.ai-foot-bottom a{color:#E8E3DC;text-decoration:none;font-size:.93rem;}
.ai-foot-col a:hover,.ai-foot-bottom a:hover{color:#fff;text-decoration:underline;}
.ai-foot-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:8px;padding-top:22px;}
.ai-foot-bottom .ai-foot-grid{display:flex;flex-wrap:wrap;justify-content:space-between;
  gap:12px;font-size:.86rem;color:#9A938A;}

/* ---- WooCommerce ---- */
body.ai-on .single_add_to_cart_button,
body.ai-on .button.alt,
body.ai-on .checkout-button{background:var(--o-ink)!important;color:#fff!important;
  border-radius:var(--o-r)!important;font-weight:600!important;letter-spacing:.01em!important;}
body.ai-on .single_add_to_cart_button:hover,
body.ai-on .button.alt:hover,
body.ai-on .checkout-button:hover{background:var(--o-accent)!important;}
body.ai-on .onsale{background:var(--o-accent)!important;color:#fff!important;
  border-radius:var(--o-r)!important;}
body.ai-on .price,body.ai-on .amount{color:var(--o-ink);}
body.ai-on ul.products li.product img{border-radius:var(--o-r);}
body.ai-on .woocommerce-product-gallery img{border-radius:var(--o-r);}

@media (prefers-reduced-motion:reduce){
  body.ai-on *{transition:none!important;animation:none!important;}
}

/* ---- Footer overflow fix -------------------------------------------------
   .col-full in the footer is a flex container and the footer widget is a flex
   item. A flex item defaults to min-width:auto, so it refuses to shrink below
   its content and pushed the page ~31px wider than the viewport, producing a
   horizontal scrollbar on every page. min-width:0 lets it shrink to the
   container; the footer grid is already auto-fit and reflows on its own. */
body.ai-on .site-footer .col-full{min-width:0;}
body.ai-on .site-footer .col-full > .widget{min-width:0;max-width:100%;}
body.ai-on .ai-footer,
body.ai-on .ai-foot-grid{max-width:100%;box-sizing:border-box;}
