/*
Theme Name: Canada Print Studio
Theme URI: https://www.canadaprintstudio.com/
Author: Canada Print Studio
Author URI: https://www.canadaprintstudio.com/
Description: Premium custom WordPress theme for Canada Print Studio — a Canadian print lab offering canvas, metal, framed, photo prints, photo books and gifts. Editorial design, WooCommerce-ready, fast and conversion-focused. Hand-coded, no page builder.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: canada-print-studio
Tags: ecommerce, woocommerce, custom-colors, custom-logo, custom-menu, featured-images, full-width-template, translation-ready
*/

/* =========================================================================
   1. DESIGN TOKENS  (override via Customizer → accent injects --red live)
   ========================================================================= */
:root{
  /* Brand colours */
  --ink:#0E0A06;
  --paper:#F7F0E6;
  --red:#C41E2A;
  --red2:#9E1520;
  --amber:#D4820A;
  --smoke:#E8DDD0;
  --ash:#C5B8A8;
  --ghost:#F2EAE0;
  --dim:#6B5E50;
  --white:#ffffff;

  /* Surfaces (themed for dark-mode toggle) */
  --bg:var(--paper);
  --bg-alt:var(--smoke);
  --bg-ink:var(--ink);
  --text:var(--ink);
  --text-dim:var(--dim);
  --border:var(--ink);

  /* 4px spacing scale */
  --sp-1:4px;  --sp-2:8px;  --sp-3:12px; --sp-4:16px; --sp-5:20px;
  --sp-6:24px; --sp-8:32px; --sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;

  /* Fluid type scale (clamp) */
  --fs-xs:clamp(.69rem,.66rem + .15vw,.78rem);
  --fs-sm:clamp(.8rem,.76rem + .2vw,.9rem);
  --fs-base:clamp(.9rem,.86rem + .25vw,1rem);
  --fs-md:clamp(1rem,.94rem + .35vw,1.15rem);
  --fs-lg:clamp(1.15rem,1rem + .6vw,1.4rem);
  --fs-xl:clamp(1.5rem,1.1rem + 2vw,2.2rem);
  --fs-2xl:clamp(2.2rem,1.4rem + 4vw,4rem);
  --fs-display:clamp(2.6rem,1.3rem + 6.5vw,5.5rem);

  /* Fonts */
  --font-body:'DM Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --font-display:'Bebas Neue',Impact,sans-serif;
  --font-serif:'DM Serif Display',Georgia,serif;
  --font-mono:'Space Mono','Courier New',monospace;

  /* Motion */
  --t:180ms ease;
  --shadow:0 8px 24px rgba(14,10,6,.12);
}

/* Dark mode — toggled by adding .cps-dark to <html> (see main.js) */
html.cps-dark{
  --bg:#15110c;
  --bg-alt:#1d1812;
  --paper:#15110c;
  --smoke:#1d1812;
  --ghost:#221c15;
  --text:#F7F0E6;
  --ink:#F7F0E6;
  --text-dim:#b9ac9c;
  --dim:#b9ac9c;
  --ash:#8a7d6d;
  --border:#3a3128;
}
html.cps-dark body{background:var(--bg);color:var(--text);}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --ink:#0E0A06;
  --paper:#F7F0E6;
  --red:#C41E2A;
  --red2:#9E1520;
  --amber:#D4820A;
  --smoke:#E8DDD0;
  --ash:#C5B8A8;
  --ghost:#F2EAE0;
  --dim:#6B5E50;
}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--paper);color:var(--ink);overflow-x:clip}
.ticker-wrap{background:var(--ink);overflow:hidden;height:36px;display:flex;align-items:center}
.ticker-track{display:flex;white-space:nowrap;animation:tick 28s linear infinite}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ticker-item{
  font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.1em;
  color:var(--ash);padding:0 48px;
  display:flex;align-items:center;gap:12px;
}
.ticker-item .dot{width:5px;height:5px;background:var(--red);border-radius:50%;flex-shrink:0}
nav{
  background:var(--paper);
  border-bottom:2px solid var(--ink);
  display:grid;grid-template-columns:1fr auto 1fr;
  align-items:center;padding:0 40px;height:200px;
  position:relative;top:0;z-index:200;
}
.nav-left{display:flex;gap:28px}
.nav-left a,.nav-right a{
  font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.08em;
  color:var(--dim);text-decoration:none;text-transform:uppercase;
  transition:color .15s;
}
.nav-left a:hover,.nav-right a:hover{color:var(--red)}
.nav-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px; position:relative; z-index:300; }
.nav-logo-img{width:175px;height:175px;object-fit:contain;display:block;filter:drop-shadow(0 2px 5px rgba(0,0,0,.18));position:relative;z-index:300}
.nav-wordmark{text-align:center;line-height:1.1; margin-top: -5px; position:relative; z-index:400;}
.nav-wordmark .w1{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:.12em;color:var(--ink)}
.nav-wordmark .w2{font-family:'Space Mono',monospace;font-size:8px;letter-spacing:.22em;color:var(--red);text-transform:uppercase}
.nav-right{display:flex;align-items:center;justify-content:flex-end;gap:28px}
.nav-order{
  background:var(--red);color:#ffffff !important; font-weight: bold;
  font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  padding:9px 20px;text-decoration:none;border:none;cursor:pointer;
  transition:background .15s;
}
.nav-order:hover{background:var(--red2); color:#ffffff;}
.hero{
  min-height:70vh;
  display:grid;grid-template-rows:auto 1fr;
  background:var(--ink);
  position:relative;overflow:hidden;
}
.hero-bg-text{
  position:absolute;
  font-family:'Bebas Neue',sans-serif;font-size:clamp(160px,22vw,340px);
  color:rgba(255,255,255,.03);
  white-space:nowrap;line-height:1;
  top:50%;left:50%;
  transform:translate(-50%,-50%) rotate(-8deg);
  pointer-events:none;user-select:none;
  letter-spacing:.05em;
}
.hero-inner{
  display:grid;grid-template-columns:1fr 1fr;
  height:100%;
}
.hero-type{
  padding:64px 56px 64px 64px;
  display:flex;flex-direction:column;justify-content:space-between;
  border-right:1px solid rgba(255,255,255,.1);
}
.hero-kicker{
  font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.2em;
  color:var(--red);text-transform:uppercase;
  display:flex;align-items:center;gap:10px;margin-bottom:32px;
}
.hero-kicker::before{content:'';width:28px;height:1px;background:var(--red)}
.hero-h1{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(22px,9vw,75px);
  line-height:.92;letter-spacing:.02em;
  color:#F7F0E6 !important; font-weight: bold;
  flex:1;display:flex;flex-direction:column;justify-content:center;
}
.hero-h1 .outline{
  -webkit-text-stroke:0.25px #F7F0E6;color:transparent;
  display:block;
}
.hero-h1 .solid-red{color:var(--red);display:block}
.hero-bottom{
  border-top:1px solid rgba(255,255,255,.15);
  padding-top:28px;
  display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px;
}
.hero-desc{font-size:14px;line-height:1.7;color:var(--ash);max-width:320px}
.hero-cta-group{display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.btn-red{
  background:var(--red);color:#ffffff !important; font-weight: bold;font-family:'Space Mono',monospace;
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  padding:13px 26px;text-decoration:none;border:none;cursor:pointer;
  white-space:nowrap;transition:background .15s;
}
.btn-red:hover{background:var(--red2)}
.btn-ghost{
  color:var(--ash);font-family:'Space Mono',monospace;font-size:11px;
  letter-spacing:.08em;text-transform:uppercase;text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:2px;
  transition:color .15s,border-color .15s;white-space:nowrap;
}
.btn-ghost:hover{color:#ffffff !important; font-weight: bold;border-color:#fff}
.hero-collage{
  display:grid;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;
  gap:2px;padding:2px;
}
.hero-tile{
  position:relative;overflow:hidden;background:var(--ink);cursor:pointer;
}
.hero-tile svg{width:100%;height:100%;display:block}
.hero-tile-label{
  position:absolute;bottom:0;left:0;right:0;
  padding:10px 14px;
  background:linear-gradient(transparent,rgba(14,10,6,.85));
}
.hero-tile-label span{
  font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.14em;
  color:var(--ash);text-transform:uppercase;
}
.hero-tile:hover svg{transform:scale(1.06);transition:transform .5s ease}
.hero-stats-bar{
  background:var(--red);
  display:flex;
  border-top:none;
}
.hstat{
  flex:1;padding:18px 28px;
  display:flex;align-items:baseline;gap:8px;
  border-right:1px solid rgba(255,255,255,.2);
}
.hstat:last-child{border-right:none}
.hstat-n{font-family:'Bebas Neue',sans-serif;font-size:32px;letter-spacing:.04em;color:#fff}
.hstat-l{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.1em;color:rgba(255,255,255,.7);text-transform:uppercase}
.marquee-section{
  background:var(--smoke);
  border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);
  overflow:hidden;height:52px;display:flex;align-items:center;
}
.marquee-inner{display:flex;white-space:nowrap;animation:tick 20s linear infinite}
.marquee-item{
  font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:.12em;
  color:var(--ink);padding:0 40px;
}
.marquee-item.accent{color:var(--red)}
.marquee-sep{color:var(--red);padding:0 4px}
.bento-section{padding:80px 40px;background:var(--paper)}
.bento-header{
  display:flex;align-items:flex-end;justify-content:space-between;
  margin-bottom:48px;gap:32px;
}
.bento-header h2{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(48px,6vw,88px);
  line-height:.9;letter-spacing:.03em;color:var(--ink);
}
.bento-header h2 em{font-family:'DM Serif Display',serif;font-style:italic;color:var(--red)}
.bento-sub{
  font-size:14px;line-height:1.65;color:var(--dim);
  max-width:340px;text-align:right;padding-bottom:6px;
}
.bento{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  grid-template-rows:320px 240px;
  gap:4px;
}
.b-card{
  position:relative;overflow:hidden;background:var(--ink);cursor:pointer;
}
.b-card.span2{grid-column:span 2}
.b-card.tall{grid-row:span 2}
.b-card-art{width:100%;height:100%;display:block;transition:transform .6s ease}
.b-card:hover .b-card-art{transform:scale(1.05)}
.b-card-info{
  position:absolute;inset:0;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:24px 22px;
  background:linear-gradient(160deg, transparent 40%, rgba(14,10,6,.82) 100%);
}
.b-card-tag{
  font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--red);margin-bottom:6px;
}
.b-card-name{
  font-family:'Bebas Neue',sans-serif;font-size:26px;
  letter-spacing:.08em;color:#ffffff !important; font-weight: bold;line-height:1;margin-bottom:4px;
}
.b-card-price{font-family:'Space Mono',monospace;font-size:10px;color:var(--ash);letter-spacing:.06em}
.b-card-arrow{
  position:absolute;top:18px;right:18px;
  width:32px;height:32px;background:var(--red);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transform:scale(.7);transition:all .25s;
}
.b-card:hover .b-card-arrow{opacity:1;transform:scale(1)}
.b-card-arrow svg{width:14px;height:14px;fill:#fff}
.craft-strip{
  display:grid;grid-template-columns:1fr 1fr;
  min-height:520px;
  border-top:2px solid var(--ink);
}
.craft-left{
  background:var(--ink);
  padding:72px 64px;
  display:flex;flex-direction:column;justify-content:space-between;
  position:relative;overflow:hidden;
}
.craft-stamp{
  position:absolute;right:-40px;bottom:-40px;
  font-family:'Bebas Neue',sans-serif;font-size:200px;
  color:rgba(255,255,255,.04);line-height:1;
  pointer-events:none;user-select:none;letter-spacing:-.02em;
}
.craft-left h2{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(56px,5.5vw,88px);
  line-height:.9;letter-spacing:.02em;color:#ffffff !important; font-weight: bold;
  position:relative;z-index:1;
}
.craft-left h2 span{color:var(--red)}
.craft-checklist{
  list-style:none;position:relative;z-index:1;
}
.craft-checklist li{
  display:grid;grid-template-columns:20px 1fr;gap:14px;
  align-items:start;padding:13px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
  font-size:13.5px;line-height:1.5;color:var(--ash);
}
.craft-checklist li::before{display:none}
.check-mark{
  width:18px;height:18px;background:var(--red);flex-shrink:0;
  margin-top:2px;
  clip-path:polygon(14% 44%,0 57%,35% 90%,100% 12%,84% 0%,35% 63%);
}
.craft-right{
  background:var(--smoke);
  display:flex;align-items:stretch;
  position:relative;overflow:hidden;
}
.craft-right svg{width:100%;height:100%;display:block}
.hiw-section{
  background:var(--paper);
  padding:80px 40px;
  border-top:2px solid var(--ink);
}
.hiw-header{
  display:flex;align-items:center;gap:20px;margin-bottom:64px;
}
.hiw-header h2{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(44px,5vw,72px);
  letter-spacing:.03em;line-height:1;
}
.hiw-header .divider{flex:1;height:2px;background:var(--ink)}
.hiw-steps{
  display:grid;grid-template-columns:repeat(4,1fr);gap:2px;
}
.hiw-step{
  background:var(--ghost);
  padding:36px 28px;
  position:relative;border-top:3px solid transparent;
  transition:border-color .2s,background .2s;
}
.hiw-step:hover{border-color:var(--red);background:var(--smoke)}
.step-letter{
  font-family:'Bebas Neue',sans-serif;font-size:88px;
  color:var(--smoke);line-height:1;margin-bottom:12px;
  transition:color .2s;
}
.hiw-step:hover .step-letter{color:rgba(196,30,42,.12)}
.step-title{
  font-family:'DM Serif Display',serif;font-size:20px;
  color:var(--ink);margin-bottom:10px;
}
.step-desc{font-size:13.5px;line-height:1.65;color:var(--dim)}
.step-num-badge{
  position:absolute;top:20px;right:20px;
  font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.14em;
  color:var(--red);text-transform:uppercase;
}
.price-section{
  background:var(--ink);
  padding:80px 40px;
  border-top:2px solid var(--ink);
}
.price-header{margin-bottom:56px;display:flex;align-items:flex-end;gap:32px}
.price-header h2{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(44px,5vw,72px);
  color:#ffffff !important; font-weight: bold;letter-spacing:.03em;line-height:1;
}
.price-header p{color:var(--ash);font-size:13px;line-height:1.6;max-width:300px;padding-bottom:5px}
.price-tabs{display:flex;gap:2px;margin-bottom:32px}
.ptab{
  font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;padding:11px 20px;cursor:pointer;border:none;
  background:rgba(255,255,255,.07);color:var(--ash);transition:all .2s;
}
.ptab.active,.ptab:hover{background:var(--red);color:#fff}
.price-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:2px;
}
.price-item{
  background:rgba(255,255,255,.05);padding:20px 16px;
  display:flex;flex-direction:column;gap:4px;
  border-bottom:2px solid transparent;
  transition:border-color .2s,background .2s;cursor:pointer;
}
.price-item:hover{border-color:var(--red);background:rgba(196,30,42,.08)}
.p-size{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:.06em;color:#fff}
.p-price{font-family:'Space Mono',monospace;font-size:11px;color:var(--red)}
.price-panel{display:none}
.price-panel.active{display:block}
.testi-section{
  background:var(--paper);
  padding:80px 40px;
  border-top:2px solid var(--ink);
}
.testi-header{
  display:grid;grid-template-columns:1fr 2fr;gap:80px;
  align-items:start;margin-bottom:56px;
}
.testi-header h2{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(48px,5.5vw,80px);
  line-height:.9;letter-spacing:.02em;
}
.testi-header p{font-size:14px;line-height:1.7;color:var(--dim);padding-top:8px}
.testi-grid{
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:2px;
}
.testi-card{
  background:var(--ghost);padding:40px 32px;
  border-bottom:3px solid var(--smoke);
  transition:border-color .2s;
}
.testi-card:hover{border-color:var(--red)}
.testi-stars{color:var(--red);font-size:14px;margin-bottom:16px;letter-spacing:2px}
.testi-quote{
  font-family:'DM Serif Display',serif;font-style:italic;
  font-size:16px;line-height:1.6;color:var(--ink);
  margin-bottom:24px;
}
.testi-who{display:flex;align-items:center;gap:12px}
.testi-av{
  width:38px;height:38px;background:var(--red);
  display:flex;align-items:center;justify-content:center;
  font-family:'Bebas Neue',sans-serif;font-size:18px;color:#ffffff !important; font-weight: bold;
  flex-shrink:0;
}
.testi-name{font-size:13px;font-weight:500;color:var(--ink)}
.testi-loc{font-family:'Space Mono',monospace;font-size:10px;color:var(--dim)}
.trust-row{
  background:var(--red);
  display:grid;grid-template-columns:repeat(5,1fr);
  border-top:2px solid var(--red2);
}
.tr-item{
  padding:32px 20px;text-align:center;
  border-right:1px solid rgba(255,255,255,.15);
  transition:background .2s;
}
.tr-item:last-child{border-right:none}
.tr-item:hover{background:rgba(0,0,0,.1)}
.tr-icon{font-size:24px;margin-bottom:10px}
.tr-label{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#ffffff !important; font-weight: bold;margin-bottom:4px}
.tr-sub{font-size:12px;color:rgba(255,255,255,.7);line-height:1.4}
.faq-section{
  background:var(--smoke);
  padding:80px 40px;
  border-top:2px solid var(--ink);
}
.faq-wrap{display:grid;grid-template-columns:1fr 1.6fr;gap:80px}
.faq-label{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(56px,5.5vw,88px);
  line-height:.9;letter-spacing:.02em;
  color:var(--ink);
}
.faq-label em{font-family:'DM Serif Display',serif;font-style:italic;color:var(--red);display:block}
.faq-list{display:flex;flex-direction:column}
.faq-row{border-bottom:1.5px solid var(--ash)}
.faq-q{
  display:flex;justify-content:space-between;align-items:center;
  padding:20px 0;cursor:pointer;gap:20px;
}
.faq-q-text{font-family:'DM Serif Display',serif;font-size:17px;color:var(--ink)}
.faq-icon{
  width:26px;height:26px;border:1.5px solid var(--ink);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;font-size:18px;color:var(--ink);line-height:1;
  transition:all .2s;
}
.faq-row.open .faq-icon{background:var(--red);border-color:var(--red);color:#ffffff !important; font-weight: bold;transform:rotate(45deg)}
.faq-a{
  font-size:14px;line-height:1.75;color:var(--dim);
  max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s;
}
.faq-row.open .faq-a{max-height:200px;padding-bottom:18px}
.cta-full{
  background:var(--ink);
  min-height:320px;
  display:flex;align-items:center;justify-content:center;
  text-align:center;padding:80px 40px;
  position:relative;overflow:hidden;
  border-top:2px solid var(--red);
}
.cta-bg-text{
  position:absolute;
  font-family:'Bebas Neue',sans-serif;font-size:clamp(100px,14vw,200px);
  color:rgba(255,255,255,.03);letter-spacing:.1em;
  pointer-events:none;user-select:none;
}
.cta-inner{position:relative;z-index:1}
.cta-inner h2{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(44px,6vw,96px);
  color:#ffffff !important; font-weight: bold;letter-spacing:.02em;line-height:.9;margin-bottom:24px;
}
.cta-inner h2 span{color:var(--red)}
.cta-inner p{color:var(--ash);font-size:14px;margin-bottom:36px}
.cta-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.btn-paper{
  background:var(--paper);color:var(--ink);
  font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;padding:14px 32px;text-decoration:none;
  border:2px solid var(--paper);transition:all .2s;
}
.btn-paper:hover{background:transparent;color:var(--paper)}
.btn-outline-white{
  background:transparent;color:#ffffff !important; font-weight: bold;
  font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;padding:14px 32px;text-decoration:none;
  border:2px solid rgba(255,255,255,.3);transition:all .2s;
}
.btn-outline-white:hover{border-color:#fff}
footer{
  background:var(--paper);border-top:2px solid var(--ink);
  padding:64px 40px 32px;
}
.footer-grid{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px;
  padding-bottom:48px;border-bottom:1.5px solid var(--ash);
}
.footer-brand-col .flogo{
  display:flex;align-items:center;gap:12px;margin-bottom:20px;
}
.footer-brand-col .flogo img{width:48px;height:48px;object-fit:contain}
.footer-brand-col p{font-size:13px;line-height:1.7;color:var(--dim);max-width:260px}
.footer-social{display:flex;gap:8px;margin-top:20px}
.fsoc{
  width:34px;height:34px;border:1.5px solid var(--ash);
  display:flex;align-items:center;justify-content:center;
  text-decoration:none;transition:all .2s;
}
.fsoc:hover{border-color:var(--red);background:var(--red)}
.fsoc svg{width:14px;height:14px;fill:var(--ink)}
.fsoc:hover svg{fill:#fff}
.footer-col h5{
  font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink);margin-bottom:20px;
}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:10px}
.footer-col ul li a{
  font-size:13px;color:var(--dim);text-decoration:none;transition:color .15s;
}
.footer-col ul li a:hover{color:var(--red)}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:28px;flex-wrap:wrap;gap:12px;
}
.footer-bottom p{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.06em;color:var(--dim)}
.footer-leaf{color:var(--red)}
@media(max-width:1024px){
  .hero-inner{grid-template-columns:1fr}
  .hero-collage{display:none}
  .hero-type{padding:56px 32px}
  
  .nav{padding:0 20px}
  .bento{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .b-card.span2,.b-card.tall{grid-column:unset;grid-row:unset}
  .craft-strip{grid-template-columns:1fr}
  .craft-right{min-height:300px}
  .hiw-steps{grid-template-columns:1fr 1fr}
  .testi-grid{grid-template-columns:1fr 1fr}
  .testi-header{grid-template-columns:1fr;gap:16px}
  .trust-row{grid-template-columns:1fr 1fr 1fr}
  .faq-wrap{grid-template-columns:1fr;gap:40px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .bento-section,.hiw-section,.price-section,.testi-section,.faq-section{padding:56px 24px}
}
@media(max-width:640px){
  .hero-stats-bar{flex-wrap:wrap}
  .hiw-steps{grid-template-columns:1fr}
  .testi-grid{grid-template-columns:1fr}
  .trust-row{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
  .price-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  
  .nav-logo-img { width: 60px; height: 60px; }
  .hero-type h1 { font-size: 55px; line-height: 1; }
  .hero-kicker { font-size: 14px; }
  .bento, .hiw-steps, .testi-grid, .trust-row, .footer-grid { grid-template-columns: 1fr !important; }
}
@media(max-width:1024px){
  nav { 
    display: flex; 
    flex-wrap: wrap; 
    height: auto !important; 
    padding: 15px 20px !important; 
    gap: 15px; 
    justify-content: center; 
  }
  .nav-left, .nav-right { 
    display: flex; 
    flex-wrap: wrap; 
    justify-content: center; 
    gap: 15px; 
    width: 100%; 
  }
  .nav-center {
    order: -1; 
    width: 100%;
    margin-bottom: 10px;
  }
  .nav-order { 
    margin-top: 10px; 
    width: 100%; 
    text-align: center; 
    padding: 12px !important; 
    font-size: 14px !important; 
  }
}
@media(max-width:1024px){
  .nav-logo-img{ width:150px !important; height:150px !important; margin-bottom:0 !important; transform:none !important; }
}
.site-nav{

    position:relative;
    top:0;
    z-index:9999;

    background:#F7F0E6;

    border-bottom:2px solid #0E0A06;

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:12px 24px;

}
.nav-logo{

    display:flex;

    align-items:center;

    gap:14px;

}
.nav-menu{

    display:flex;

    align-items:center;

    gap:28px;

}
.nav-menu a{

    text-decoration:none;

    color:#444;

    font-family:'Space Mono';

    font-size:12px;

    text-transform:uppercase;

}
.nav-menu a:hover{

    color:#C41E2A;

}
.menu-toggle{

    display:none;

    background:none;

    border:none;

    font-size:32px;

    cursor:pointer;

}
@media(max-width:768px){

.site-nav{

    padding:12px 18px;

}

.nav-logo-img{

    width:50px;

    height:50px;

}

.nav-wordmark .w1{

    font-size:18px;

}

.nav-wordmark .w2{

    font-size:8px;

}

.menu-toggle{

    display:block;

}

.nav-menu{

    position:absolute;

    left:0;

    top:100%;

    width:100%;

    background:#F7F0E6;

    border-bottom:2px solid #0E0A06;

    display:none;

    flex-direction:column;

    padding:20px;

    gap:18px;

}

.nav-menu.active{

    display:flex;

}

.nav-order{

    width:100%;

    text-align:center;

}

}
.cat-section{padding:80px 40px;background:var(--paper);border-top:2px solid var(--ink)}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.cat-grid .b-card{aspect-ratio:4/3}
.cat-grid .b-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.cat-grid .b-card:hover img{transform:scale(1.05)}
@media(max-width:1024px){.cat-grid{grid-template-columns:1fr 1fr}.cat-section{padding:56px 24px}}
@media(max-width:640px){.cat-grid{grid-template-columns:1fr}}
img{display:block}
a{color:var(--red)}
.hero-media{position:relative;overflow:hidden;background:var(--smoke)}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-media .tag{position:absolute;bottom:0;left:0;right:0;padding:12px 16px;background:linear-gradient(transparent,rgba(14,10,6,.8));font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.12em;color:var(--ash);text-transform:uppercase}
.prose-band{padding:72px 40px;background:var(--paper);border-bottom:2px solid var(--ink)}
.prose-wrap{max-width:980px;margin:0 auto}
.eyebrow{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--red);display:flex;align-items:center;gap:10px;margin-bottom:18px}
.eyebrow::before{content:'';width:24px;height:1px;background:var(--red)}
.prose-band h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(38px,5vw,68px);line-height:.94;letter-spacing:.02em;color:var(--ink);margin-bottom:22px}
.prose-band h2 em{font-family:'DM Serif Display',serif;font-style:italic;color:var(--red)}
.prose-band p{font-size:16px;line-height:1.8;color:var(--dim);max-width:760px;margin-bottom:16px}
.ticks{list-style:none;margin:18px 0 0;display:grid;gap:12px}
.ticks li{display:grid;grid-template-columns:20px 1fr;gap:14px;align-items:start;font-size:15px;line-height:1.6;color:var(--ink)}
.ticks li b{font-weight:600}
.split{display:grid;grid-template-columns:1fr 1fr;min-height:480px;border-bottom:2px solid var(--ink)}
.split-text{padding:64px 56px;display:flex;flex-direction:column;justify-content:center;gap:8px;position:relative;overflow:hidden}
.split-text h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(34px,4vw,58px);line-height:.95;letter-spacing:.02em;color:var(--ink);margin:6px 0 10px}
.split-text h2 em{font-family:'DM Serif Display',serif;font-style:italic;color:var(--red)}
.split-text p{font-size:15px;line-height:1.75;color:var(--dim);max-width:48ch;margin-bottom:10px}
.split-media{position:relative;overflow:hidden;background:var(--smoke)}
.split-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.split-media:hover img{transform:scale(1.05)}
.split.reverse .split-text{order:2}
.split.ink{background:var(--ink)}
.split.ink .split-text h2{color:var(--paper)}
.split.ink .split-text p{color:var(--ash)}
.split.ink .ticks li{color:var(--paper)}
.split-stamp{position:absolute;right:-30px;bottom:-50px;font-family:'Bebas Neue',sans-serif;font-size:180px;color:rgba(196,30,42,.06);line-height:1;pointer-events:none;user-select:none}
.split.ink .split-stamp{color:rgba(255,255,255,.04)}
.cmp-section{padding:72px 40px;background:var(--smoke);border-bottom:2px solid var(--ink)}
.cmp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:36px;flex-wrap:wrap}
.cmp-head h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(38px,5vw,64px);line-height:.92;letter-spacing:.02em}
.cmp-head h2 em{font-family:'DM Serif Display',serif;font-style:italic;color:var(--red)}
.cmp-head p{font-size:14px;color:var(--dim);max-width:340px;text-align:right}
.cmp{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.cmp-card{background:var(--paper);padding:30px 26px;border-top:3px solid var(--smoke);transition:border-color .2s}
.cmp-card:hover{border-color:var(--red)}
.cmp-card h3{font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:.06em;color:var(--ink)}
.cmp-card h3.red{color:var(--red)}
.cmp-card p{font-size:13.5px;line-height:1.65;color:var(--dim);margin-top:10px}
.rel-section{padding:72px 40px;background:var(--paper);border-bottom:2px solid var(--ink)}
.rel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px;flex-wrap:wrap}
.rel-head h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(36px,4.5vw,60px);letter-spacing:.02em;line-height:.92}
.rel-head h2 em{font-family:'DM Serif Display',serif;font-style:italic;color:var(--red)}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.b-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.b-card:hover img{transform:scale(1.05)}
footer.site{background:var(--paper);border-top:2px solid var(--ink);padding:60px 40px 28px}
@media(max-width:1024px){
  .hero-inner{grid-template-columns:1fr}
  .hero-media{min-height:320px}
  .split{grid-template-columns:1fr}
  .split.reverse .split-text{order:0}
  .split-media{min-height:300px}
  .cmp,.rel-grid{grid-template-columns:1fr}
  .hiw-steps{grid-template-columns:1fr 1fr}
  .trust-row{grid-template-columns:1fr 1fr}
  .faq-wrap{grid-template-columns:1fr;gap:36px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .nav-menu{position:absolute;left:0;top:100%;width:100%;background:var(--paper);border-bottom:2px solid var(--ink);display:none;flex-direction:column;padding:20px;gap:16px}
  .nav-menu.active{display:flex}
  .menu-toggle{display:block}
  .nav-order{width:100%;text-align:center}
}
@media(max-width:640px){
  .hero-type{padding:44px 26px}
  .hero-bottom{grid-template-columns:1fr}
  .hero-cta-group{align-items:flex-start}
  .hiw-steps{grid-template-columns:1fr}
  .trust-row{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .prose-band,.cmp-section,.rel-section,.hiw-section,.faq-section{padding:48px 22px}
  .split-text{padding:44px 26px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.Canvas-Prints-Gallery-Wrap.png,
img[src*="Canvas-Prints-Gallery-Wrap.png"] {
    display: block !important;
    visibility: visible !important;
    max-width: 100% !important;
    height: auto !important;
}
@media (max-width: 768px) {
    img[src*="Canvas-Prints-Gallery-Wrap.png"] {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
    }
}
.hero-tile img{width:100%;height:100%;object-fit:cover;display:block}
.breadcrumb{
  background:var(--ghost);border-bottom:1px solid var(--ash);
  padding:12px 40px;display:flex;align-items:center;gap:8px;
  font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.06em;
  color:var(--dim);text-transform:uppercase;
}
.breadcrumb a{color:var(--dim);text-decoration:none;transition:color .15s}
.breadcrumb a:hover{color:var(--red)}
.breadcrumb .sep{color:var(--ash)}
.breadcrumb .current{color:var(--red)}
.hero-lead{font-size:14.5px;line-height:1.75;color:var(--ash);max-width:480px;margin-bottom:8px}
.hero-tile-row{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.entity-strip{
  background:var(--ghost);border-bottom:2px solid var(--ink);
  padding:28px 40px;
}
.entity-strip-inner{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;
}
.entity-item{border-left:2px solid var(--red);padding-left:14px}
.entity-term{font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:.06em;color:var(--ink);margin-bottom:4px}
.entity-def{font-size:12px;line-height:1.55;color:var(--dim)}
.entity-def .tag{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:.12em;color:var(--red);text-transform:uppercase;display:block;margin-bottom:2px}
.qa-section{padding:72px 40px;background:var(--paper);border-bottom:2px solid var(--ink)}
.qa-box{
  max-width:880px;margin:0 auto;background:var(--ghost);
  border:2px solid var(--ink);padding:40px 44px;position:relative;
}
.qa-tag{
  font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--red);margin-bottom:14px;display:flex;align-items:center;gap:10px;
}
.qa-tag::before{content:'';width:24px;height:1px;background:var(--red)}
.qa-box h2{
  font-family:'DM Serif Display',serif;font-size:clamp(22px,3vw,32px);line-height:1.25;
  color:var(--ink);margin-bottom:14px;
}
.qa-box p{font-size:14.5px;line-height:1.75;color:var(--dim);margin-bottom:12px}
.qa-box p:last-child{margin-bottom:0}
.qa-box strong{color:var(--ink)}
.size-section{padding:80px 40px;background:var(--ink);border-top:2px solid var(--ink)}
.size-header{display:flex;align-items:flex-end;gap:32px;margin-bottom:48px}
.size-header h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(44px,5.5vw,80px);color:#fff;letter-spacing:.03em;line-height:.95}
.size-header p{color:var(--ash);font-size:13.5px;line-height:1.7;max-width:340px;padding-bottom:6px}
.size-table-wrap{overflow-x:auto}
.size-table{width:100%;border-collapse:collapse;min-width:760px}
.size-table th{
  font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--red);text-align:left;padding:14px 18px;border-bottom:2px solid var(--red);
}
.size-table td{
  font-size:13.5px;color:var(--ash);padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.08);
}
.size-table tr:hover td{background:rgba(196,30,42,.06);color:#fff}
.size-table .sz{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:.05em;color:#fff}
.wrap-section{padding:80px 40px;background:var(--paper);border-top:2px solid var(--ink)}
.wrap-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;border:2px solid var(--ink)}
.wrap-card{background:var(--ghost);padding:40px}
.wrap-card.alt{background:var(--smoke)}
.wrap-card .wtag{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.16em;color:var(--red);text-transform:uppercase;margin-bottom:10px}
.wrap-card h3{font-family:'DM Serif Display',serif;font-size:26px;color:var(--ink);margin-bottom:14px}
.wrap-card p{font-size:14px;line-height:1.7;color:var(--dim);margin-bottom:12px}
.wrap-card ul{list-style:none;margin-top:14px}
.wrap-card li{display:flex;gap:10px;font-size:13px;color:var(--dim);padding:6px 0;align-items:flex-start}
.wrap-card li::before{content:'—';color:var(--red);flex-shrink:0}
.wrap-section-head{margin-bottom:40px}
.wrap-section-head h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(44px,5.5vw,80px);color:var(--ink);letter-spacing:.03em;line-height:.95;margin-bottom:12px}
.wrap-section-head p{font-size:14px;color:var(--dim);max-width:520px;line-height:1.7}
.price-note{
  font-family:'Space Mono',monospace;font-size:11px;color:var(--ash);
  background:rgba(255,255,255,.05);border-left:3px solid var(--red);
  padding:12px 16px;margin-bottom:28px;line-height:1.6;max-width:640px;
}
.related-section{padding:64px 40px;background:var(--paper);border-top:2px solid var(--ink)}
.related-header{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-bottom:24px;display:flex;align-items:center;gap:10px}
.related-header::after{content:'';flex:1;height:1px;background:var(--ash)}
.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.related-card{
  border:1.5px solid var(--ink);padding:22px;text-decoration:none;
  display:flex;flex-direction:column;gap:6px;transition:all .2s;
}
.related-card:hover{background:var(--ink);border-color:var(--ink)}
.related-card:hover .rc-name,.related-card:hover .rc-desc{color:#fff}
.related-card:hover .rc-desc{color:var(--ash)}
.rc-name{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:.06em;color:var(--ink);transition:color .2s}
.rc-desc{font-size:12px;color:var(--dim);line-height:1.5;transition:color .2s}
@media(max-width:1024px){
  .hero-inner{grid-template-columns:1fr}
  .hero-collage{display:block !important;} 
  .hero-type{padding:48px 28px}
  .nav-left,.nav-right a:not(.nav-order){display:none}
  .nav{padding:0 20px}
  .breadcrumb{padding:10px 20px}
  .bento{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .b-card.span2{grid-column:unset}
  .b-card{min-height:240px}
  .wrap-grid{grid-template-columns:1fr}
  .craft-strip{grid-template-columns:1fr}
  .craft-right{min-height:280px}
  .hiw-steps{grid-template-columns:1fr 1fr}
  .testi-grid{grid-template-columns:1fr 1fr}
  .testi-header{grid-template-columns:1fr;gap:16px}
  .trust-row{grid-template-columns:1fr 1fr 1fr}
  .faq-wrap{grid-template-columns:1fr;gap:40px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .related-grid{grid-template-columns:1fr 1fr}
  .bento-section,.hiw-section,.price-section,.testi-section,.faq-section,.size-section,.wrap-section,.qa-section,.related-section{padding:56px 24px}
  .size-header,.price-header,.wrap-section-head{flex-direction:column;align-items:flex-start;gap:16px}
}
@media(max-width:640px){
  .hero-stats-bar{flex-wrap:wrap}
  .hiw-steps{grid-template-columns:1fr}
  .testi-grid{grid-template-columns:1fr}
  .trust-row{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
  .price-grid{grid-template-columns:repeat(2,1fr)}
  .related-grid{grid-template-columns:1fr}
  .entity-strip-inner{grid-template-columns:1fr}
}
.contact-cards .cmp-card h3{font-size:22px}
.contact-cards .cmp-card a{color:var(--red);text-decoration:none;word-break:break-word}
.contact-cards .cmp-card a:hover{color:var(--ink)}
.contact-form{display:grid;gap:16px;max-width:680px;margin-top:8px}
.contact-form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form label{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);display:block;margin-bottom:6px}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;font-family:'DM Sans',sans-serif;font-size:15px;color:var(--ink);background:var(--paper);border:1.5px solid var(--ash);border-radius:4px;padding:12px 14px}
.contact-form textarea{min-height:150px;resize:vertical}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;border-color:var(--red)}
.contact-form .btn-red{border:none;cursor:pointer;justify-self:start;font-size:12px;padding:14px 30px}
.form-note{font-size:13px;color:var(--dim)}
@media(max-width:640px){.contact-form .row{grid-template-columns:1fr}}
/* =========================================================================
   WORDPRESS CORE CLASSES
   ========================================================================= */
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;word-wrap:normal!important}
.skip-link{position:absolute;left:-9999px;z-index:99999;background:var(--ink);color:#fff;padding:10px 18px;font-family:var(--font-mono);font-size:12px}
.skip-link:focus{left:10px;top:10px}
.alignwide{max-width:1200px;margin-left:auto;margin-right:auto}
.alignfull{width:100%}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.alignleft{float:left;margin:0 var(--sp-6) var(--sp-4) 0}
.alignright{float:right;margin:0 0 var(--sp-4) var(--sp-6)}
.wp-caption{max-width:100%}
.wp-caption-text{font-family:var(--font-mono);font-size:12px;color:var(--dim);padding-top:6px}
.sticky,.bypostauthor{display:block}
img{max-width:100%;height:auto}
a{color:var(--red)}
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}

/* =========================================================================
   STICKY / SHRINK HEADER  (.is-sticky added by JS after 80px)
   ========================================================================= */
.site-header{position:static;top:0;z-index:9999;transition:box-shadow var(--t)}
.site-header.is-sticky{box-shadow:0 2px 0 var(--ink),0 6px 20px rgba(14,10,6,.12)}
.site-header.is-sticky .nav-logo-img{width:64px;height:64px;transition:width var(--t),height var(--t)}
.site-header.is-sticky .site-nav{padding-top:8px;padding-bottom:8px}
.nav-logo-img{transition:width var(--t),height var(--t)}

/* Hamburger → X */
.menu-toggle{line-height:1}
.menu-toggle.is-open{color:var(--red)}

/* =========================================================================
   SCROLL REVEAL  (data-reveal → .is-visible via IntersectionObserver)
   ========================================================================= */
[data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}
[data-reveal].is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1;transform:none;transition:none}
  .ticker-track,.marquee-inner{animation:none}
}

/* Dark-mode toggle button */
.cps-darktoggle{background:none;border:1.5px solid var(--ash);color:var(--text);width:34px;height:34px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all var(--t);font-size:15px}
.cps-darktoggle:hover{border-color:var(--red);color:var(--red)}

/* =========================================================================
   WOOCOMMERCE  (light touches so shop inherits brand)
   ========================================================================= */
.woocommerce-store-notice,p.demo_store{background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:12px}
.woocommerce span.onsale{background:var(--red);color:#fff;font-family:var(--font-mono);border-radius:0;min-height:auto;min-width:auto;padding:6px 12px;line-height:1.2}
.woocommerce ul.products li.product .price{color:var(--red);font-family:var(--font-mono);font-weight:500}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--font-serif);font-size:18px}
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .button.alt,
.woocommerce #respond input#submit.alt{
  background:var(--red);color:#fff;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;
  text-transform:uppercase;border-radius:0;padding:13px 26px;transition:background var(--t);
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce .button.alt:hover{background:var(--red2)}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info{border-top-color:var(--red)}
.woocommerce .woocommerce-message::before,.woocommerce .woocommerce-info::before{color:var(--red)}
.woocommerce-breadcrumb{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--dim)}
.cps-shop-wrap{padding:56px 40px;max-width:1280px;margin:0 auto}
.cps-shop-wrap .woocommerce-products-header__title,
.cps-shop-wrap h1.entry-title{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:.03em;line-height:.9;margin-bottom:24px}
@media(max-width:768px){.cps-shop-wrap{padding:40px 20px}}

/* =========================================================================
   404 / SEARCH
   ========================================================================= */
.cps-error-section{background:var(--ink);min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:80px 40px}
.cps-error-inner{max-width:560px}
.cps-error-code{font-family:var(--font-display);font-size:clamp(90px,18vw,200px);color:var(--red);line-height:.85;letter-spacing:.04em}
.cps-error-inner h1{font-family:var(--font-display);font-size:var(--fs-xl);color:#fff;letter-spacing:.04em;margin:16px 0 12px}
.cps-error-inner p{color:var(--ash);font-size:14px;margin-bottom:28px}
.cps-content-wrap{max-width:820px;margin:0 auto;padding:64px 24px}
.cps-content-wrap h1{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:.03em;line-height:.95;margin-bottom:24px}
.cps-content-wrap .entry-content p{font-size:var(--fs-base);line-height:1.8;color:var(--text-dim);margin-bottom:18px}
.cps-content-wrap .entry-content h2{font-family:var(--font-serif);font-size:var(--fs-lg);margin:32px 0 14px}
.search-result-item{padding:24px 0;border-bottom:1.5px solid var(--ash)}
.search-result-item h2{font-family:var(--font-serif);font-size:20px;margin-bottom:8px}
.search-result-item a{text-decoration:none;color:var(--ink)}
.search-result-item a:hover{color:var(--red)}

/* Search form */
.cps-searchform{display:flex;gap:0;max-width:480px}
.cps-searchform input[type=search]{flex:1;border:1.5px solid var(--ink);background:var(--paper);padding:12px 14px;font-family:var(--font-body);font-size:14px;color:var(--ink)}
.cps-searchform button{background:var(--red);color:#fff;border:none;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:0 20px;cursor:pointer;transition:background var(--t)}
.cps-searchform button:hover{background:var(--red2)}

/* Comments / posts */
.cps-post{max-width:760px;margin:0 auto;padding:56px 24px}
.cps-post .entry-title{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:.02em;line-height:.95;margin-bottom:16px}
.cps-post .entry-meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--dim);margin-bottom:28px}
.cps-post .entry-content p{font-size:var(--fs-base);line-height:1.85;margin-bottom:18px;color:var(--text)}
.cps-pagination{display:flex;gap:8px;justify-content:center;padding:40px 0;flex-wrap:wrap}
.cps-pagination .page-numbers{font-family:var(--font-mono);font-size:12px;padding:10px 14px;border:1.5px solid var(--ash);text-decoration:none;color:var(--ink)}
.cps-pagination .page-numbers.current{background:var(--red);color:#fff;border-color:var(--red)}

/* WP default widget styling inside footer columns */
.footer-col .widget{margin-bottom:28px}
.footer-col .widget-title{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--text);margin-bottom:16px}
.footer-col .widget ul{list-style:none;margin:0;padding:0}
.footer-col .widget ul li{margin-bottom:10px}
.footer-col .widget ul li a{font-size:13px;color:var(--dim);text-decoration:none}
.footer-col .widget ul li a:hover{color:var(--red)}

/* =========================================================================
   NAV MENU (wp_nav_menu list markup)
   ========================================================================= */
.nav-menu .nav-menu-list{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}
.nav-menu .nav-menu-list li{list-style:none;margin:0}
.nav-menu .nav-menu-list li a{
  text-decoration:none;color:#444;font-family:var(--font-mono);
  font-size:12px;text-transform:uppercase;letter-spacing:.04em;transition:color var(--t);
}
.nav-menu .nav-menu-list li a:hover{color:var(--red)}
.nav-menu .nav-menu-list li.menu-item-has-children > a::after{content:' ▾';font-size:9px}
.nav-menu .nav-menu-list li .nav-order,
.nav-menu .nav-menu-list li.cps-order a{background:var(--red);color:#fff!important;padding:10px 20px;border-radius:4px}
html.cps-dark .nav-menu .nav-menu-list li a{color:var(--text)}
@media(max-width:768px){
  .nav-menu .nav-menu-list{flex-direction:column;align-items:stretch;gap:18px;width:100%}
}
