@import url('https://fonts-api.wp.com/css2?family=Big+Shoulders+Display:wght@700;800&family=IBM+Plex+Mono:wght@400;500&display=swap');
/* ============================================================
   Slide Off design system  (rev 2026-09)  == so-phase1 ==
   The @import above loads the display and mono faces: Blocksy's Google-font loader only
   picked up Archivo from the typography settings (checked on the live site 2026-09-09).
   Port of the KingFluids kf- system. Palette from the "Defend your mix"
   logo: yellow #E9B308 on near-black #15181B, concrete greys.
   Type: Big Shoulders Display (display), Archivo (body), IBM Plex Mono (numbers)
   Fonts are loaded by Blocksy typography settings (see customizer-config.md).
   ============================================================ */
:root{
  --so-char:#15181B; --so-char-deep:#0B0E11; --so-ink:#23272B; --so-muted:#5C6267;
  --so-yellow:#E9B308; --so-yellow-bright:#F5C118; --so-yellow-deep:#9C7300; --so-yellow-ink:#5E4500; --so-yellow-tint:#FBF1CF; --so-yellow-soft:#EDD588;
  --so-slab:#EEEFEF; --so-slab-2:#E2E4E4; --so-line:#D6D9DA; --so-line-strong:#B6BBBE; --so-white:#fff;
  --so-amber-bg:#FBF1CF; --so-amber-ink:#6B4F00; --so-amber-line:#E7CF7E;
  --so-display:"Big Shoulders Display","Arial Narrow",Impact,"Helvetica Neue",sans-serif;
  --so-body:"Archivo","Helvetica Neue",Arial,sans-serif;
  --so-mono:"IBM Plex Mono",Menlo,Consolas,monospace;
  --so-shadow:0 18px 40px -24px rgba(11,14,17,.5);
  --so-r:2px;
  --so-tape:repeating-linear-gradient(135deg,#E9B308 0 14px,#15181B 14px 28px);
}

/* ---------- layout primitives ---------- */
.so-wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.so-sec{padding:88px 0;margin-top:0 !important;margin-bottom:0 !important}
.so-sec--white{background:var(--so-white)}
.so-sec--slab{background:var(--so-slab);border-top:1px solid var(--so-line);border-bottom:1px solid var(--so-line)}
.entry-content > .so-sec.alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.so-sec .wp-block-group{margin-top:0;margin-bottom:0}
.so-sec p{margin:0}
.so-sec h1,.so-sec h2,.so-sec h3{margin:0}

/* ---------- type ---------- */
.so-eyebrow{display:inline-flex !important;align-items:center;gap:12px;font-family:var(--so-body);font-weight:600;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--so-yellow-deep);margin:0 0 18px !important}
.so-eyebrow::before{content:"";width:28px;height:2px;background:var(--so-yellow)}
.so-h1,.so-h2{font-family:var(--so-display);font-weight:800;text-transform:uppercase;letter-spacing:.01em;color:var(--so-char);line-height:1.05;text-wrap:balance}
.so-h1{font-size:clamp(52px,7vw,96px);line-height:.92;margin:0 0 22px !important}
.so-h2{font-size:clamp(36px,4.2vw,58px);margin:0 0 14px !important}
.so-h1 em,.so-h2 em{font-style:normal;color:var(--so-char);background:linear-gradient(transparent 9%,var(--so-yellow) 9%,var(--so-yellow) 93%,transparent 93%);padding:0 .12em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.so-lede{font-size:17.5px;line-height:1.6;color:var(--so-ink);max-width:54ch;margin:0 0 30px !important}
.so-lede strong{color:var(--so-char);font-weight:600}
.so-quiet{color:var(--so-muted);font-size:15px}
.so-link a{font-weight:600;color:var(--so-yellow-deep);text-decoration:none}
.so-link a:hover{color:var(--so-yellow-ink)}
.so-split__copy > p{margin:0 0 14px !important;max-width:56ch;font-size:16px}
.so-num{font-family:var(--so-mono);font-variant-numeric:tabular-nums}

/* ---------- buttons (override theme + core) ---------- */
.so-actions{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 34px !important}
.so-actions .wp-block-button{margin:0}
.so-btn .wp-block-button__link{font-family:var(--so-body);font-weight:600;font-size:15px;padding:14px 24px;border-radius:var(--so-r);border:1px solid transparent;line-height:1.2;transition:background .15s,color .15s,border-color .15s,transform .15s}
.so-btn .wp-block-button__link:hover{transform:translateY(-1px)}
.so-btn--yellow .wp-block-button__link{background:var(--so-yellow);color:var(--so-char)}
.so-btn--yellow .wp-block-button__link:hover{background:var(--so-yellow-bright);color:var(--so-char)}
.so-btn--char .wp-block-button__link{background:var(--so-char);color:#fff}
.so-btn--char .wp-block-button__link:hover{background:var(--so-char-deep);color:#fff}
.so-btn--line .wp-block-button__link{background:transparent;color:var(--so-char);border-color:var(--so-char)}
.so-btn--line .wp-block-button__link:hover{background:var(--so-slab);color:var(--so-char)}
.so-btn--white .wp-block-button__link{background:#fff;color:var(--so-char)}
.so-btn--white .wp-block-button__link:hover{background:var(--so-yellow-tint);color:var(--so-char)}
.so-btn--ghost .wp-block-button__link{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.so-btn--ghost .wp-block-button__link:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.06)}

/* ---------- hero ---------- */
.so-sec.so-hero{background:linear-gradient(180deg,#fff 0%,var(--so-slab) 100%);border-bottom:1px solid var(--so-line);padding:0 !important;overflow:hidden}
.so-hero__grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:28px;align-items:center}
.so-hero__copy{padding:72px 0 64px}
.so-spec{display:flex;flex-wrap:wrap;gap:8px 0;margin:0;padding:0;list-style:none;font-size:13.5px;color:var(--so-muted);font-variant-numeric:tabular-nums}
.so-spec li{display:flex;align-items:center;margin:0}
.so-spec li + li::before{content:"";width:3px;height:3px;border-radius:50%;background:var(--so-yellow);margin:0 12px}
.so-spec b{color:var(--so-char);font-weight:600;font-family:var(--so-mono);font-size:13px}
.so-hero__media{position:relative;align-self:end;margin:0 -60px 0 0}
.so-hero__media img{width:100%;height:auto;display:block;-webkit-mask-image:radial-gradient(ellipse 82% 86% at 52% 58%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse 82% 86% at 52% 58%,#000 62%,transparent 100%)}
.so-hero__cap{position:absolute;left:4%;bottom:8%;background:rgba(255,255,255,.94);border:1px solid var(--so-line);padding:10px 14px;font-size:12.5px;color:var(--so-muted);box-shadow:var(--so-shadow);line-height:1.4}
.so-hero__cap strong{display:block;font-weight:600;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--so-char);margin-bottom:2px}

/* ---------- ledger strip ---------- */
.so-sec.so-ledger{background:var(--so-char);color:#fff;padding:0 !important}
.so-ledger__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.so-ledger__grid > div{padding:26px 28px 26px 0;border-right:1px solid rgba(255,255,255,.12)}
.so-ledger__grid > div + div{padding-left:28px}
.so-ledger__grid > div:last-child{border-right:0}
.so-ledger small{display:block;font-weight:600;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--so-yellow-bright);margin-bottom:6px}
.so-ledger p{font-size:14px;color:rgba(255,255,255,.86);line-height:1.5}

/* ---------- section head ---------- */
.so-sechead{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:end;margin-bottom:44px !important}
.so-sechead__aside{padding-bottom:8px}
.so-sechead__aside p{color:var(--so-muted);font-size:15.5px;max-width:46ch}
.so-sechead__aside .so-link{margin-top:10px !important}

/* ---------- product family label cards ---------- */
.so-grid4{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px !important}
@media (max-width:1099px){.so-grid4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.so-grid4{grid-template-columns:minmax(0,1fr)}}
.so-grid4 .so-label{min-width:0;background:#fff;border:1px solid var(--so-line-strong);display:flex;flex-direction:column;padding:0;transition:transform .18s,box-shadow .18s,border-color .18s}
.so-grid4 .so-label:hover{transform:translateY(-3px);box-shadow:var(--so-shadow);border-color:var(--so-yellow)}
.so-label__pic{margin:0 !important;background:var(--so-slab);aspect-ratio:4/3;overflow:hidden;border-bottom:1px solid var(--so-line)}
.so-label__pic img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;display:block}
.so-label__band{display:flex;align-items:center;min-height:52px;background:var(--so-char);font-family:var(--so-display);font-weight:700;font-size:20px;letter-spacing:.04em;text-transform:uppercase;padding:11px 18px 9px;line-height:1.1;border-bottom:3px solid var(--so-yellow);margin:0 !important}
.so-label__band a{color:#fff !important;text-decoration:none}
.so-label__pack{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;row-gap:8px;white-space:nowrap;font-family:var(--so-mono);font-size:12px;color:var(--so-muted);letter-spacing:.04em;text-transform:uppercase;border-bottom:1px dashed var(--so-line-strong);margin:16px 18px 14px !important;padding-bottom:12px;font-variant-numeric:tabular-nums}
.so-tag{font-family:var(--so-body);font-style:normal;font-size:10px;font-weight:600;letter-spacing:.1em;padding:3px 7px;border:1px solid var(--so-yellow-soft);background:var(--so-yellow-tint);color:var(--so-yellow-ink);border-radius:2px;white-space:nowrap}
.so-tag--acid{background:var(--so-char);border-color:var(--so-char);color:#fff}
.so-label__desc{font-size:14.5px;line-height:1.55;color:var(--so-ink);padding:0 18px;flex:1;margin:0 !important}
.so-label__foot{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:18px 18px 18px !important;padding-top:12px;border-top:1px solid var(--so-line)}
.so-label__foot a{font-weight:600;font-size:14px;color:var(--so-yellow-deep);text-decoration:none;white-space:nowrap}
.so-label__foot a:hover{color:var(--so-yellow-ink)}
.so-label__foot span{font-family:var(--so-mono);font-size:12px;color:var(--so-muted);white-space:nowrap}
.so-notice{margin:26px 0 0 !important;background:var(--so-amber-bg);border:1px solid var(--so-amber-line);color:var(--so-amber-ink);padding:12px 16px;font-size:13.5px;display:flex;gap:12px;align-items:center}
.so-notice::before{content:"";flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--so-amber-ink);opacity:.7}
.so-notice strong{font-weight:600}

/* ---------- photo band (core/cover) ---------- */
.so-sec.so-photo{padding:0 !important;min-height:540px;display:flex;align-items:center;margin:0}
.so-photo .wp-block-cover__inner-container{width:100%;max-width:none;padding:96px 24px;margin:0}
.so-photo .so-wrap{margin:0 auto}
.so-photo__copy{max-width:640px}
.so-photo .so-eyebrow{color:var(--so-yellow-bright)}
.so-photo .so-eyebrow::before{background:var(--so-yellow-bright)}
.so-photo h2{color:#fff;margin:14px 0 18px}
.so-photo h2 em{color:var(--so-yellow-bright);background:none;padding:0}
.so-photo p:not(.so-eyebrow){color:rgba(255,255,255,.86);font-size:17px;line-height:1.6;max-width:560px}
.so-photo .wp-block-buttons{margin-top:26px}
.so-photo small{display:block;margin-top:22px;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.so-photo .wp-block-cover__image-background{object-position:center 42%}
.so-photo--warehouse .wp-block-cover__image-background{object-position:center 55%}

/* ---------- ordering steps ---------- */
.so-steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--so-line-strong)}
.so-step{padding:34px 32px 8px 0;border-right:1px solid var(--so-line-strong);position:relative}
.so-step + .so-step{padding-left:32px}
.so-step:last-child{border-right:0}
.so-step::before{content:"";position:absolute;top:-1px;left:0;width:56px;height:3px;background:var(--so-yellow)}
.so-step + .so-step::before{left:32px}
.so-step__num{font-family:var(--so-display);font-weight:800;font-size:52px;line-height:1;color:var(--so-line-strong);font-variant-numeric:tabular-nums;margin-bottom:14px}
.so-step h3{font-family:var(--so-body);font-weight:600;font-size:17.5px;color:var(--so-char);line-height:1.3;margin:0 0 10px}
.so-step p{font-size:14.5px;color:var(--so-muted)}

/* ---------- industries ---------- */
.so-ind{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.so-ind article{border-top:1px solid var(--so-line-strong);padding-top:22px;position:relative}
.so-ind article::before{content:"";position:absolute;top:-1px;left:0;width:40px;height:3px;background:var(--so-yellow)}
.so-ind figure{margin:0 0 16px;aspect-ratio:4/3;overflow:hidden;background:var(--so-line)}
.so-ind figure img{display:block;width:100%;height:100%;object-fit:cover}
.so-ind small{display:block;font-weight:600;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--so-yellow-deep);margin-bottom:12px}
.so-ind h3{font-family:var(--so-display);font-weight:700;font-size:26px;text-transform:uppercase;letter-spacing:.01em;color:var(--so-char);line-height:1.15;margin:0 0 10px}
.so-ind p{font-size:14.5px;color:var(--so-muted);margin:0 0 14px}
.so-ind a{font-weight:600;font-size:14px;color:var(--so-yellow-deep);text-decoration:none}
.so-ind a:hover{color:var(--so-yellow-ink)}

/* ---------- manufacturer split + supply sheet ---------- */
.so-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.so-sheet{background:#fff;border:1px solid var(--so-line-strong)}
.so-sheet__head{display:flex;justify-content:space-between;align-items:center;background:var(--so-char);color:#fff;padding:13px 20px;font-family:var(--so-display);font-weight:700;font-size:18px;letter-spacing:.06em;text-transform:uppercase;border-bottom:3px solid var(--so-yellow)}
.so-sheet__head span{font-family:var(--so-mono);font-weight:400;letter-spacing:.02em;font-size:11px;color:rgba(255,255,255,.7);text-transform:none}
.so-sheet dl{margin:0;padding:6px 20px}
.so-sheet dl > div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--so-line)}
.so-sheet dl > div:last-child{border-bottom:0}
.so-sheet dt{font-weight:600;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--so-muted);padding-top:3px}
.so-sheet dd{margin:0;font-size:14.5px;color:var(--so-char);font-weight:500;line-height:1.45;font-variant-numeric:tabular-nums}
.so-sheet dd span{display:block;color:var(--so-muted);font-weight:400;font-size:13px}
.so-about-pic{margin:30px 0 0 !important;border:1px solid var(--so-line-strong);background:#fff}
.so-about-pic img{width:100%;height:auto;display:block}
.so-about-pic figcaption{font-size:12px;color:var(--so-muted);padding:9px 12px;border-top:1px solid var(--so-line);text-align:left}

/* ---------- CTA band ---------- */
.so-sec.so-cta{background:linear-gradient(135deg,var(--so-char-deep),var(--so-char) 60%,#2E2405);color:#fff;position:relative;overflow:hidden;padding:84px 0 !important;border-top:6px solid transparent;border-image:var(--so-tape) 1}
.so-cta::after{content:"";position:absolute;right:-30px;top:50%;width:520px;height:520px;transform:translateY(-50%);background:url('https://slideoff.com/wp-content/uploads/2026/09/ec-logo-white.png') center/contain no-repeat;opacity:.08;pointer-events:none}
.so-cta__inner{position:relative;max-width:760px;margin-left:calc((100% - min(1180px,100% - 48px))/2)}
.so-cta .so-eyebrow{color:var(--so-yellow-bright)}
.so-cta .so-eyebrow::before{background:var(--so-yellow-bright)}
.so-cta .so-h2{color:#fff;font-size:clamp(40px,4.6vw,64px);margin-bottom:16px !important}
.so-cta .so-h2 em{color:var(--so-yellow-bright);background:none;padding:0}
.so-cta__p{color:rgba(255,255,255,.78);font-size:17px;max-width:52ch;margin:0 0 30px !important}
.so-cta__lines{display:flex;flex-wrap:wrap;gap:8px 28px;font-size:14px;color:rgba(255,255,255,.7);font-variant-numeric:tabular-nums}
.so-sec.so-cta .so-cta__lines a{color:#fff !important;font-weight:500;text-decoration:none}
.so-sec.so-cta .so-cta__lines a:hover{color:var(--so-yellow-bright) !important}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .so-ledger__grid{grid-template-columns:repeat(2,1fr)}
  .so-ledger__grid > div:nth-child(2){border-right:0}
  .so-ledger__grid > div:nth-child(n+3){border-top:1px solid rgba(255,255,255,.12)}
  .so-ledger__grid > div:nth-child(3){padding-left:0}
  .so-ind{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:960px){
  .so-hero__grid{grid-template-columns:1fr}
  .so-hero__copy{padding:56px 0 24px}
  .so-hero__media{margin:0;max-width:640px;justify-self:center;width:100%}
  .so-sec{padding:64px 0}
  .so-sechead{grid-template-columns:1fr;gap:12px;margin-bottom:32px !important}
  .so-steps{grid-template-columns:1fr;border-top:0}
  .so-step{border-right:0;border-top:1px solid var(--so-line-strong);padding:26px 0 22px}
  .so-step + .so-step{padding-left:0}
  .so-step + .so-step::before{left:0}
  .so-split{grid-template-columns:1fr;gap:36px}
  .so-sec.so-photo{min-height:460px}
  .so-photo .wp-block-cover__inner-container{padding:64px 20px}
}
@media (max-width:600px){
  .so-wrap{width:calc(100% - 32px)}
  .so-ledger__grid{grid-template-columns:1fr}
  .so-ledger__grid > div{border-right:0;padding-left:0 !important}
  .so-ledger__grid > div + div{border-top:1px solid rgba(255,255,255,.12)}
  .so-ind{grid-template-columns:1fr}
  .so-sheet dl > div{grid-template-columns:1fr;gap:4px}
  .so-hero__cap{position:static;margin-top:8px;box-shadow:none}
  .so-cta::after{display:none}
}
@media (prefers-reduced-motion:reduce){
  .so-btn .wp-block-button__link,.so-grid4 .so-label{transition:none}
}

/* ============================================================
   Theme chrome: header, footer, page titles, shop, product
   ============================================================ */

/* ---- global text + links ---- */
body{-webkit-font-smoothing:antialiased}
.entry-content a:not(.wp-block-button__link):not(.wp-element-button):not(.wc-block-components-button):not(.button):not(.so-label__band a):not(.so-btn-link){color:var(--so-yellow-deep)}
.entry-content h1,.entry-content h2,.entry-content h3{letter-spacing:.01em}
#main-container{overflow-x:clip}

/* ---- sticky header ---- */
#header{position:sticky;top:0;z-index:90}
body.admin-bar #header{top:32px}
@media (max-width:782px){body.admin-bar #header{top:46px}}

/* ---- header: top bar (HTML item) + hazard tape ---- */
.ct-header [data-row="top"]{background:var(--so-char) !important}
.ct-header [data-row="top"] > div{background:transparent !important;min-height:38px !important;border-bottom:0 !important}
.ct-header [data-row="top"]::after{content:"";display:block;height:6px;background:var(--so-tape)}
.ct-header [data-row="top"] .ct-header-text .entry-content::after{content:none}
.ct-header [data-row="top"] .ct-header-text{font-family:var(--so-body);font-size:12.5px;color:rgba(255,255,255,.72);letter-spacing:.01em;width:100%}
.ct-header [data-row="top"] .ct-header-text .entry-content{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;width:100%}
.ct-header [data-row="top"] .ct-header-text strong{color:#fff;font-weight:600}
.ct-header [data-row="top"] .ct-header-text .so-sep{display:inline-block;width:1px;height:12px;background:rgba(255,255,255,.22);margin:0 12px;vertical-align:-1px}
.ct-header [data-row="top"] .ct-header-text a{color:#fff !important;font-weight:500;font-variant-numeric:tabular-nums;text-decoration:none}
.ct-header [data-row="top"] .ct-header-text a + a{margin-left:18px}
.ct-header [data-row="top"] .ct-header-text p{margin:0;font-size:12.5px;line-height:1.4}
.ct-header [data-row="top"] [data-column="start"],.ct-header [data-row="top"] [data-items]{width:100%}
@media (max-width:600px){.ct-header [data-row="top"] .so-muted{display:none}}

/* ---- header: middle row ---- */
.ct-header [data-row="middle"]{background:rgba(255,255,255,.96) !important;border-bottom:1px solid var(--so-line) !important}
.ct-header [data-row="middle"] > div{background:transparent !important;border-bottom:0 !important;min-height:96px !important}
.ct-header .site-title-container{display:none !important}
.ct-header .site-logo-container img{max-height:76px;width:auto}
.ct-header .header-menu-1 .ct-menu-link{font-family:var(--so-body) !important;font-weight:600 !important;font-size:12.5px !important;letter-spacing:.06em !important;text-transform:uppercase !important;color:var(--so-char) !important}
.ct-header .header-menu-1 > ul > li > .ct-menu-link{border-bottom:2px solid transparent;padding-top:6px;padding-bottom:4px}
.ct-header .header-menu-1 > ul > li:hover > .ct-menu-link,.ct-header .header-menu-1 > ul > li.current-menu-item > .ct-menu-link,.ct-header .header-menu-1 > ul > li.current-menu-ancestor > .ct-menu-link{border-bottom-color:var(--so-yellow);color:var(--so-char) !important}
.ct-header .header-menu-1 .sub-menu .ct-menu-link{font-family:var(--so-body) !important;font-weight:500 !important;font-size:14px !important;letter-spacing:0 !important;text-transform:none !important}
.ct-header .header-menu-1 .sub-menu{background:#fff !important;border:1px solid var(--so-line);border-top:2px solid var(--so-yellow);border-radius:0 0 var(--so-r) var(--so-r);box-shadow:0 18px 40px -18px rgba(11,14,17,.35);padding:6px 0;--dropdown-divider:1px solid var(--so-line)}
.ct-header .header-menu-1 .sub-menu .ct-menu-link{color:#23272B !important;--theme-link-initial-color:#23272B;--theme-link-hover-color:var(--so-char);padding:11px 18px}
.ct-header .header-menu-1 .sub-menu li:hover > .ct-menu-link,.ct-header .header-menu-1 .sub-menu li:focus-within > .ct-menu-link,.ct-header .header-menu-1 .sub-menu .current-menu-item > .ct-menu-link{color:var(--so-char) !important;background:var(--so-yellow-tint)}
.ct-header .ct-button{font-family:var(--so-body) !important;font-weight:600 !important;font-size:14px !important;border-radius:var(--so-r) !important;padding:0 18px !important;min-height:42px !important;background:var(--so-yellow) !important;color:var(--so-char) !important;border:1px solid var(--so-yellow) !important}
.ct-header .ct-button:hover{background:var(--so-yellow-bright) !important;border-color:var(--so-yellow-bright) !important;color:var(--so-char) !important;transform:translateY(-1px)}
.ct-header .ct-header-cart .ct-cart-item{width:42px;height:42px;border:1px solid var(--so-line-strong);border-radius:var(--so-r);display:inline-flex;align-items:center;justify-content:center;color:var(--so-char)}
.ct-header .ct-header-cart .ct-cart-item:hover{border-color:var(--so-yellow)}
.ct-header .ct-header-cart .ct-dynamic-count-cart{background:var(--so-yellow) !important;color:var(--so-char) !important;font-family:var(--so-body);font-weight:600}
.ct-header .ct-header-search{color:var(--so-char)}
.ct-header .ct-header-search:hover{color:var(--so-yellow-deep)}
.ct-header .ct-header-trigger{color:var(--so-char)}
[data-header] [data-row="middle"] [data-column="end"] [data-items]{gap:14px}

/* ---- page titles (hero) on archives ---- */
.hero-section[data-type="type-2"]{background:linear-gradient(135deg,var(--so-char-deep),var(--so-char)) !important;padding:44px 0 !important}
.hero-section[data-type="type-2"] .page-title,.hero-section[data-type="type-2"] .ct-breadcrumbs,.hero-section[data-type="type-2"] .ct-breadcrumbs a,.hero-section[data-type="type-2"] .page-description,.hero-section[data-type="type-2"] .page-description p{color:#fff !important}
.hero-section[data-type="type-2"] .page-title{font-family:var(--so-display) !important;font-weight:800 !important;text-transform:uppercase;font-size:clamp(36px,4.4vw,60px) !important;letter-spacing:.01em;line-height:.95}
.hero-section[data-type="type-2"] .page-description{color:rgba(255,255,255,.78) !important;font-size:16px;max-width:60ch}
.hero-section[data-type="type-1"] .page-title{font-family:var(--so-display);font-weight:800;text-transform:uppercase;color:var(--so-char)}

/* ---- shop archive ---- */
.woo-listing-top .woocommerce-result-count{font-size:13px;color:var(--so-muted);text-transform:uppercase;letter-spacing:.06em}
.woocommerce-ordering select{border:1px solid var(--so-line-strong);border-radius:var(--so-r);font-family:var(--so-body);font-size:14px}
[data-products="type-1"] .product,.woocommerce ul.products li.product{background:#fff;border:1px solid var(--so-line-strong) !important;border-radius:0 !important;padding:0 !important;overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s}
[data-products="type-1"] .product:hover,.woocommerce ul.products li.product:hover{transform:translateY(-3px);box-shadow:var(--so-shadow);border-color:var(--so-yellow) !important}
[data-products] .product > figure,[data-products] .product .ct-media-container{margin:0;border-radius:0 !important}
[data-products] .product .ct-media-container{background:var(--so-slab);border-bottom:1px solid var(--so-line)}
[data-products] .product .ct-media-container img{aspect-ratio:1;object-fit:cover;mix-blend-mode:multiply;border-radius:0 !important}
.woocommerce-loop-product__title{font-family:var(--so-display) !important;font-weight:700 !important;font-size:24px !important;text-transform:uppercase;letter-spacing:.02em;line-height:1;color:var(--so-char);padding:16px 18px 0 !important}
.woocommerce-loop-product__title a{color:var(--so-char) !important}
[data-products] .product .entry-meta{padding:0 18px !important;margin-top:6px}
[data-products] .product .entry-meta .meta-categories a{font-family:var(--so-body);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--so-yellow-deep) !important;font-weight:600}
[data-products] .product .price{font-family:var(--so-body);font-weight:600;color:var(--so-char) !important;font-size:15px;padding:0 18px !important;margin-top:10px;font-variant-numeric:tabular-nums}
[data-products] .product .price del{color:var(--so-muted);font-weight:400}
[data-products] .product .ct-woo-card-actions,[data-products] .product .ct-woo-card-actions-inner{padding:0 18px 18px !important;margin-top:12px}
[data-products] .product .button,[data-products] .product .added_to_cart{font-family:var(--so-body) !important;font-weight:600 !important;font-size:13.5px !important;border-radius:var(--so-r) !important;background:var(--so-yellow) !important;color:var(--so-char) !important;min-height:40px !important;padding:0 16px !important}
[data-products] .product .button:hover{background:var(--so-yellow-bright) !important;color:var(--so-char) !important}
[data-products] .product .ct-woo-card-extra{padding:0 18px}
li.product.product_tag-acid-based .woocommerce-loop-product__title::after{content:"Acid-based";display:inline-block;margin-left:8px;vertical-align:middle;font-family:var(--so-body);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:3px 7px;border-radius:2px;background:var(--so-char);color:#fff;white-space:nowrap}
li.product.product_tag-flammable .woocommerce-loop-product__title::after{content:"Flammable";display:inline-block;margin-left:8px;vertical-align:middle;font-family:var(--so-body);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:3px 7px;border-radius:2px;background:var(--so-char);color:#fff;white-space:nowrap}

/* ---- single product ---- */
.single-product .product_title{font-family:var(--so-display) !important;font-weight:800 !important;text-transform:uppercase;font-size:clamp(44px,5vw,72px) !important;color:var(--so-char);line-height:.95;letter-spacing:.01em}
.single-product .entry-summary .price{font-family:var(--so-body);font-weight:600;color:var(--so-char) !important;font-size:22px;font-variant-numeric:tabular-nums}
.single-product .entry-summary .price small,.single-product .entry-summary .price .woocommerce-Price-currencySymbol{font-weight:500}
.single-product .woocommerce-product-details__short-description{color:var(--so-ink);font-size:15px}
.single-product .entry-summary .posted_in,.single-product .entry-summary .sku_wrapper,.single-product .entry-summary .tagged_as{font-family:var(--so-body);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--so-muted);font-weight:600}
.single-product .entry-summary .posted_in a,.single-product .entry-summary .tagged_as a{color:var(--so-yellow-deep)}
.single-product table.variations th.label{font-family:var(--so-body);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--so-muted);font-weight:600}
.single-product table.variations select,.single-product .quantity input{border:1px solid var(--so-line-strong) !important;border-radius:var(--so-r) !important;font-family:var(--so-body)}
.single-product .single_add_to_cart_button{background:var(--so-yellow) !important;color:var(--so-char) !important;border-radius:var(--so-r) !important;font-family:var(--so-body) !important;font-weight:600 !important;letter-spacing:0 !important;min-height:46px !important;padding:0 26px !important}
.single-product .single_add_to_cart_button:hover{background:var(--so-yellow-bright) !important;color:var(--so-char) !important}
.single-product .woocommerce-variation-price .price{font-size:20px}
.single-product .woocommerce-variation-description p{font-size:13.5px;color:var(--so-muted);margin:0 0 8px}
.single-product .woocommerce-tabs .tabs li a,.single-product .ct-accordion-item summary,.single-product .woocommerce-tabs h2{font-family:var(--so-body);font-weight:600;color:var(--so-char)}
.single-product .woocommerce-product-gallery .ct-media-container,.single-product .woocommerce-product-gallery img{border-radius:0 !important;background:var(--so-slab)}
.single-product .related.products > h2,.single-product .upsells.products > h2{font-family:var(--so-display);font-weight:800;text-transform:uppercase;font-size:clamp(30px,3.2vw,44px);color:var(--so-char)}
.single-product .product.product_tag-acid-based form.cart::after,.single-product .product.product_tag-acid-based .so-quote::after{content:"Acid-based product. Ships by freight with the Safety Data Sheet in the paperwork. Gloves and eye protection are required on the job. Read the label before use.";display:block;margin-top:16px;background:var(--so-amber-bg);border:1px solid var(--so-amber-line);color:var(--so-amber-ink);padding:12px 16px;font-size:13.5px;border-radius:var(--so-r);line-height:1.5}
.single-product .product.product_tag-flammable form.cart::after,.single-product .product.product_tag-flammable .so-quote::after{content:"Flammable liquid. Ships by freight with the Safety Data Sheet in the paperwork. Use with ventilation, away from ignition sources, and store sealed in a flammables cabinet.";display:block;margin-top:16px;background:var(--so-amber-bg);border:1px solid var(--so-amber-line);color:var(--so-amber-ink);padding:12px 16px;font-size:13.5px;border-radius:var(--so-r);line-height:1.5}

/* ---- WooCommerce notices + block cart / checkout accents ---- */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner{border-radius:var(--so-r)}
.wc-block-components-button:not(.is-link),.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button{background:var(--so-yellow) !important;color:var(--so-char) !important;border-radius:var(--so-r) !important;font-family:var(--so-body) !important;font-weight:600 !important}
.wc-block-components-button:not(.is-link):hover{background:var(--so-yellow-bright) !important;color:var(--so-char) !important}
.woocommerce-store-notice{background:var(--so-char) !important;color:#fff !important}

/* ---- footer ---- */
footer.ct-footer{background:var(--so-char-deep) !important;color:rgba(255,255,255,.7);font-size:14px}
footer.ct-footer [data-row] > div{background:transparent !important}
footer.ct-footer [data-row="middle"] > div{padding:60px 0 44px !important;border:0 !important}
footer.ct-footer [data-row="middle"] .ct-container{column-gap:36px !important}
footer.ct-footer .widget-title,footer.ct-footer h2.wp-block-heading,footer.ct-footer h3.wp-block-heading,footer.ct-footer h4.wp-block-heading{font-family:var(--so-body) !important;font-weight:600 !important;font-size:11px !important;letter-spacing:.18em !important;text-transform:uppercase !important;color:#fff !important;margin:0 0 16px !important}
footer.ct-footer p,footer.ct-footer li,footer.ct-footer address{color:rgba(255,255,255,.7) !important;font-family:var(--so-body);line-height:1.6}
footer.ct-footer a{color:rgba(255,255,255,.7) !important;text-decoration:none}
footer.ct-footer a:hover{color:#fff !important}
footer.ct-footer ul{list-style:none;margin:0;padding:0}
footer.ct-footer ul.wp-block-list li{padding:4px 0}
footer.ct-footer .so-ftr-brand{display:flex;align-items:center;gap:16px;margin-bottom:18px}
footer.ct-footer .so-ftr-brand img{width:104px;height:auto;flex-shrink:0}
footer.ct-footer .so-ftr-name{font-family:var(--so-display);font-weight:800;font-size:26px;letter-spacing:.02em;text-transform:uppercase;color:#fff !important;line-height:1}
footer.ct-footer .so-ftr-name small{display:block;font-family:var(--so-body);font-weight:600;font-size:9.5px;letter-spacing:.22em;color:var(--so-yellow-bright) !important;margin-top:6px}
footer.ct-footer .so-ftr-lead{max-width:38ch}
footer.ct-footer .so-ftr-office{font-style:normal}
footer.ct-footer .so-ftr-office b{display:block;color:#fff !important;font-weight:500;margin-top:10px}
footer.ct-footer .so-ftr-office b:first-child{margin-top:0}
footer.ct-footer [data-row="bottom"] > div{border-top:1px solid rgba(255,255,255,.1) !important;padding:18px 0 !important}
footer.ct-footer .ct-footer-copyright,footer.ct-footer [data-row="bottom"] .ct-footer-copyright p{font-size:12.5px !important;color:rgba(255,255,255,.45) !important}
footer.ct-footer [data-row="bottom"] .ct-footer-copyright a{color:rgba(255,255,255,.7) !important}
footer.ct-footer .footer-menu-1 .ct-menu-link,footer.ct-footer .menu-container .ct-menu-link{font-size:12.5px !important;color:rgba(255,255,255,.7) !important}

/* == so-phase2: inner pages == */
.so-sec.so-pagehero{background:linear-gradient(135deg,var(--so-char-deep),var(--so-char) 70%,#2E2405);color:#fff;padding:64px 0 56px !important;position:relative;overflow:hidden;isolation:isolate;border-top:6px solid transparent;border-image:var(--so-tape) 1}
.so-pagehero::after{content:"";position:absolute;right:-40px;top:50%;width:380px;height:380px;transform:translateY(-50%);background:url('https://slideoff.com/wp-content/uploads/2026/09/ec-logo-white.png') center/contain no-repeat;opacity:.06;pointer-events:none}
.so-pagehero .so-wrap{position:relative}
.so-pagehero .so-eyebrow{color:var(--so-yellow-bright)}
.so-pagehero .so-eyebrow::before{background:var(--so-yellow-bright)}
.so-pagehero .so-h1{color:#fff;font-size:clamp(44px,5.4vw,80px);max-width:22ch}
.so-pagehero .so-h1 em{color:var(--so-yellow-bright);background:none;padding:0}
.so-pagehero .so-lede{color:rgba(255,255,255,.82);margin-bottom:0 !important}
.so-prose{max-width:62ch}
.so-prose h2{font-family:var(--so-display);font-weight:800;text-transform:uppercase;font-size:30px;color:var(--so-char);line-height:1.05;margin:34px 0 12px}
.so-prose h2:first-child{margin-top:0}
.so-prose p{margin:0 0 16px;font-size:16.5px;line-height:1.65}
.so-prose ul{margin:0 0 16px;padding-left:1.2em}
.so-prose li{margin-bottom:8px;font-size:15.5px}
.so-prose a{color:var(--so-yellow-deep);font-weight:600}
.so-contact{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.so-contact > div{background:#fff;border:1px solid var(--so-line-strong);padding:22px 24px;border-top:3px solid var(--so-yellow)}
.so-contact small{display:block;font-weight:600;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--so-yellow-deep);margin-bottom:10px}
.so-contact p{margin:0 0 4px;font-size:15px;color:var(--so-char);font-variant-numeric:tabular-nums;line-height:1.5}
.so-contact p.so-quiet{color:var(--so-muted);font-size:13.5px;margin-top:8px}
.so-contact a{color:var(--so-char);font-weight:600;text-decoration:none}
.so-contact a:hover{color:var(--so-yellow-deep)}
.so-split2{gap:56px !important}
.so-aside{background:#fff;border:1px solid var(--so-line-strong);padding:24px 26px;border-top:3px solid var(--so-yellow)}
.so-aside h3{font-family:var(--so-display);font-weight:800;text-transform:uppercase;font-size:26px;color:var(--so-char);margin:0 0 10px}
.so-aside h3 + p + h3{margin-top:22px}
.so-aside p{margin:0 0 12px;font-size:15px;line-height:1.6}
.so-aside p:last-child{margin-bottom:0}
.so-aside b{color:var(--so-char);font-weight:600}
.so-aside a{color:var(--so-yellow-deep);font-weight:600}
.so-form .grunion-field-label,.so-form .jetpack-field-label,.so-form .jetpack-field-label__input,.so-form label{font-family:var(--so-body);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--so-muted);font-weight:600}
.so-form input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=file]),.so-form select,.so-form textarea{width:100%;border:1px solid var(--so-line-strong) !important;border-radius:var(--so-r) !important;padding:12px 14px !important;font-family:var(--so-body);font-size:15px;background:#fff;color:var(--so-ink)}
.so-form input:not([type=submit]):not([type=checkbox]):not([type=radio]):not([type=file]),.so-form select{height:auto !important;line-height:1.4 !important}
.so-form .contact-form__select-wrapper{border:0 !important;background:#fff !important;border-radius:var(--so-r) !important}
.so-form .contact-form__select-wrapper select{padding-right:42px !important;text-overflow:ellipsis}
.so-form input:focus,.so-form select:focus,.so-form textarea:focus{outline:2px solid rgba(233,179,8,.55);border-color:var(--so-yellow-deep) !important}
.so-form .wp-block-jetpack-button button,.so-form button[type=submit],.so-form .wp-block-button__link{background:var(--so-yellow) !important;color:var(--so-char) !important;border-radius:var(--so-r) !important;font-family:var(--so-body) !important;font-weight:600 !important;padding:14px 26px !important;border:0 !important}
.so-form .wp-block-jetpack-button button:hover,.so-form button[type=submit]:hover{background:var(--so-yellow-bright) !important;color:var(--so-char) !important}
.so-form .jetpack-field,.so-form .grunion-field-wrap{margin-bottom:16px}
@media (max-width:960px){.so-contact{grid-template-columns:repeat(2,1fr)}.so-split2{gap:24px !important}}
@media (max-width:600px){.so-contact{grid-template-columns:1fr}}

/* == so-phase3: full-bleed pages sit flush against the header (body class from the utilities plugin) == */
body.so-flush [data-vertical-spacing]{padding-top:0 !important;padding-bottom:0 !important}
body.so-flush .entry-content > :first-child{margin-top:0 !important}
.entry-content > .so-sec.alignfull + .so-sec.alignfull{margin-top:0 !important}

/* == so-phase7: product marketing layout == */
.single-product .woocommerce-product-details__short-description .so-eyebrow{margin:0 0 10px !important}
.single-product .so-plede{font-family:var(--so-body);font-size:17px;line-height:1.55;color:var(--so-ink);margin:0 0 14px}
.single-product .so-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px;padding:0;list-style:none}
.single-product .so-chips li{font-family:var(--so-body);font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border:1px solid var(--so-line-strong);border-radius:2px;color:var(--so-char);background:#fff;margin:0;line-height:1.2}
.single-product .so-chips li.so-chip--acid{background:var(--so-char);border-color:var(--so-char);color:#fff}
.single-product .so-note{font-size:13.5px;line-height:1.5;color:var(--so-amber-ink);background:var(--so-amber-bg);border:1px solid var(--so-amber-line);border-radius:var(--so-r);padding:10px 14px;margin:0 0 16px}
.single-product .so-order{border-top:1px solid var(--so-line);padding-top:14px;margin:0 0 4px}
.single-product .so-order__h{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--so-muted);margin:0 0 8px}
.single-product .so-order ul{margin:0 0 10px;padding-left:18px;font-size:14px;line-height:1.55;font-variant-numeric:tabular-nums}
.single-product .so-order li{margin:0 0 4px}
.single-product .so-order p{font-size:13px;line-height:1.5;color:var(--so-muted);margin:0}
.single-product .so-quote{margin:16px 0 0;display:flex;gap:10px;flex-wrap:wrap}
.so-btn-link,.so-btn-link:visited{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 26px;background:var(--so-yellow) !important;color:var(--so-char) !important;border-radius:var(--so-r);font-family:var(--so-body);font-weight:600;font-size:15px;text-decoration:none !important;transition:background .18s}
.so-btn-link:hover{background:var(--so-yellow-bright) !important;color:var(--so-char) !important}
.so-btn-link--line,.so-btn-link--line:visited{background:transparent !important;border:1px solid var(--so-char);color:var(--so-char) !important}
.so-btn-link--line:hover{background:var(--so-slab) !important;color:var(--so-char) !important}
.single-product .woocommerce-Tabs-panel--description{padding-top:8px}
.so-pd__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.so-pd-card{background:#fff;border:1px solid var(--so-line-strong);padding:22px 24px;margin:0}
.so-pd-card h2,.so-pd-card h3{font-family:var(--so-display) !important;font-weight:700 !important;font-size:24px !important;line-height:1.2 !important;text-transform:uppercase;letter-spacing:.02em;color:var(--so-char);margin:0 0 12px !important;padding-bottom:10px;border-bottom:3px solid var(--so-yellow)}
.so-pd-card ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.so-pd-card ul li{display:flex;gap:10px;font-size:14.5px;color:var(--so-ink);margin:0;line-height:1.5}
.so-pd-card ul li::before{content:"";flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--so-yellow);margin-top:8px}
.so-pd-card ol{margin:0;padding:0;list-style:none;display:grid;gap:12px;counter-reset:s}
.so-pd-card ol li{display:grid;grid-template-columns:34px 1fr;gap:0 10px;font-size:14.5px;margin:0}
.so-pd-card ol li::before{content:counter(s,decimal-leading-zero);counter-increment:s;font-family:var(--so-display);font-weight:800;font-size:26px;line-height:1;color:var(--so-line-strong);grid-row:span 2}
.so-pd-card ol li b{display:block;font-weight:600;color:var(--so-char);grid-column:2}
.so-pd-card ol li span{color:var(--so-muted);font-size:13.5px;grid-column:2;line-height:1.5}
.so-pd-card dl{margin:0}
.so-pd-card dl > div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid var(--so-line);font-size:14px;line-height:1.45}
.so-pd-card dl > div:last-child{border-bottom:0}
.so-pd-card dt{font-weight:600;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--so-muted);padding-top:3px;margin:0}
.so-pd-card dd{margin:0;color:var(--so-char);font-weight:500}
.so-dil{margin-top:28px;background:#fff;border:1px solid var(--so-line-strong);padding:22px 24px}
.so-dil h2,.so-dil h3{font-family:var(--so-display) !important;font-weight:700 !important;font-size:24px !important;line-height:1.2 !important;text-transform:uppercase;letter-spacing:.02em;color:var(--so-char);margin:0 0 6px !important;padding-bottom:10px;border-bottom:3px solid var(--so-yellow)}
.so-dil .so-dil__lede{font-size:14px;color:var(--so-muted);margin:8px 0 14px;max-width:70ch}
.so-dil__wrap{overflow-x:auto}
.so-dil table{border-collapse:collapse;width:100%;min-width:720px;font-size:13.5px}
.so-dil th,.so-dil td{text-align:left;vertical-align:top;padding:9px 12px;border-bottom:1px solid var(--so-line)}
.so-dil th{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--so-muted);font-weight:600;background:var(--so-slab);white-space:nowrap}
.so-dil td.so-soil{font-weight:600;color:var(--so-char);white-space:nowrap}
.so-dil td.so-num{font-family:var(--so-mono);font-size:13px;color:var(--so-char);white-space:nowrap;font-variant-numeric:tabular-nums}
.so-dil td.so-ratio{font-family:var(--so-mono);font-weight:500;color:var(--so-yellow-deep);white-space:nowrap}
.so-dil .so-dil__note{font-size:12.5px;color:var(--so-muted);margin-top:12px}
.so-pd__docs{margin:28px 0 0;font-size:14px;color:var(--so-muted);line-height:1.6}
@media (max-width:1100px){.so-pd__grid{grid-template-columns:1fr}}

/* == so-phase8: shop hero photo == */
body.post-type-archive-product .hero-section[data-type="type-2"]{position:relative;display:flex;align-items:center;min-height:clamp(340px,36vw,480px);padding:0 !important;background:linear-gradient(90deg,rgba(11,14,17,.96) 0%,rgba(11,14,17,.9) 26%,rgba(21,24,27,.55) 50%,rgba(21,24,27,.18) 74%,rgba(21,24,27,.26) 100%),url('https://i0.wp.com/slideoff.com/wp-content/uploads/2026/09/so-band-foam-wash-bay.jpg?fit=2048%2C1024&ssl=1') center 42%/cover no-repeat,linear-gradient(135deg,var(--so-char-deep),var(--so-char)) !important}
body.post-type-archive-product .hero-section[data-type="type-2"] .entry-header{width:min(1180px,calc(100% - 48px));max-width:none;margin:0 auto;padding:60px 0 !important;text-align:left}
body.post-type-archive-product .hero-section[data-type="type-2"] .page-title{font-size:clamp(44px,5vw,72px) !important;text-shadow:0 1px 2px rgba(0,0,0,.35)}
body.post-type-archive-product .hero-section[data-type="type-2"] .page-title::after{content:"Concrete removers, fleet wash, asphalt release, and solvents, by the 55-gallon drum or the 275- or 330-gallon tote.";display:block;margin-top:14px;font-family:var(--so-body);font-weight:400;font-size:17px;line-height:1.55;letter-spacing:0;text-transform:none;text-shadow:none;color:rgba(242,242,242,.86);max-width:46ch}
@media (max-width:960px){
body.post-type-archive-product .hero-section[data-type="type-2"]{min-height:380px;background:linear-gradient(180deg,rgba(11,14,17,.94) 0%,rgba(11,14,17,.86) 48%,rgba(21,24,27,.42) 100%),url('https://i0.wp.com/slideoff.com/wp-content/uploads/2026/09/so-band-foam-wash-bay.jpg?fit=2048%2C1024&ssl=1') center 50%/cover no-repeat,linear-gradient(135deg,var(--so-char-deep),var(--so-char)) !important}
body.post-type-archive-product .hero-section[data-type="type-2"] .entry-header{width:calc(100% - 40px);padding:44px 0 !important}
body.post-type-archive-product .hero-section[data-type="type-2"] .page-title::after{font-size:15.5px}
}

/* == so-phase9: seo pass == */
/* FAQ blocks from apply.faq_blocks(): div.wp-block-group.so-faq > h2.so-faq__h + details.wp-block-details.so-faq__item > summary + p.
   Product pages: .single-product .woocommerce-tabs h2 (above) forces the body face on every h2 in the tabs, hence the !important
   on the heading font, the same way the .so-pd-card headings do it. Resources page: the group sits in its own .so-sec, whose
   .so-sec h2 / .so-sec p{margin:0} rules the FAQ selectors out-rank. The same item rules cover core details blocks in posts. */
.so-faq{margin-top:40px;max-width:76ch}
.so-faq .so-faq__h,.so-cat-copy h2,body.single-post .entry-content h2{font-family:var(--so-display) !important;font-weight:800 !important;font-size:30px !important;text-transform:uppercase;letter-spacing:.01em;line-height:1.05;color:var(--so-char);margin:0 0 16px}
.so-faq .so-faq__item,body.single-post .entry-content .wp-block-details{background:var(--so-white);border:1px solid var(--so-line-strong);border-radius:0;padding:12px 18px;margin:0 0 10px}
.so-faq .so-faq__item summary,body.single-post .entry-content .wp-block-details summary{font-family:var(--so-body);font-weight:600;font-size:16px;line-height:1.4;color:var(--so-char);cursor:pointer}
.so-faq .so-faq__item summary::marker,body.single-post .entry-content .wp-block-details summary::marker{color:var(--so-yellow-deep)}
.so-faq .so-faq__item summary::-webkit-details-marker,body.single-post .entry-content .wp-block-details summary::-webkit-details-marker{color:var(--so-yellow-deep)}
.so-faq .so-faq__item[open] summary,body.single-post .entry-content .wp-block-details[open] summary{margin-bottom:6px}
.so-faq .so-faq__item p,body.single-post .entry-content .wp-block-details p{font-size:15px;line-height:1.6;color:var(--so-ink);max-width:70ch;margin:8px 0 0}
.so-faq .so-faq__item a,body.single-post .entry-content .wp-block-details a{font-weight:600}

/* Shop / category archive copy: seo-archive-strings 'copy' rendered by the utilities plugin in div.so-cat-copy below the product loop
   (main content area, not the dark hero, where the page-description colour rules would paint it white). Type restates .so-prose. */
.so-cat-copy{margin-top:48px;padding-top:32px;border-top:1px solid var(--so-line);max-width:76ch}
.so-cat-copy h2{margin:28px 0 12px}
.so-cat-copy h2:first-child{margin-top:0}
.so-cat-copy p{margin:0 0 16px;font-size:16.5px;line-height:1.65;color:var(--so-ink)}
.so-cat-copy ul{margin:0 0 16px;padding-left:1.2em}
.so-cat-copy li{margin-bottom:8px;font-size:15.5px;line-height:1.55;color:var(--so-ink)}
.so-cat-copy strong{font-weight:600;color:var(--so-char)}
.so-cat-copy a{font-weight:600;color:var(--so-yellow-deep);text-decoration:none}
.so-cat-copy a:hover{color:var(--so-yellow-ink)}

/* Guides page (pages/guides.html): wp:query.so-guides > ul.wp-block-post-template > li.wp-block-post. The ul qualifier out-ranks
   core's .wp-block-post-template.is-flex-container{display:flex} and the per-instance grid container rule, whichever layout the
   query block is saved with. The card width needs !important: core's columns-N rule repeats .is-flex-container and lands at
   (0,4,1), which beats any sane selector here, and a 33% width inside a grid cell shrinks the card to a third of its column. */
.so-guides ul.wp-block-post-template{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;list-style:none;padding:0;margin:0}
@media (min-width:640px){.so-guides ul.wp-block-post-template{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.so-guides ul.wp-block-post-template{grid-template-columns:repeat(3,minmax(0,1fr))}}
.so-guides ul.wp-block-post-template > li.wp-block-post{width:auto !important;min-width:0;margin:0;border:1px solid var(--so-line);border-radius:0;overflow:hidden;background:var(--so-white);display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s}
.so-guides ul.wp-block-post-template > li.wp-block-post:hover{transform:translateY(-3px);box-shadow:var(--so-shadow);border-color:var(--so-yellow)}
.so-guides .wp-block-post-featured-image{margin:0;background:var(--so-slab)}
.so-guides .wp-block-post-featured-image img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;display:block}
.so-guides .wp-block-post-title{font-family:var(--so-display);font-weight:700;font-size:20px;text-transform:uppercase;letter-spacing:.02em;line-height:1.1;color:var(--so-char);padding:14px 16px 0;margin:0}
.so-guides .wp-block-post-title a{color:inherit !important;text-decoration:none}
.so-guides .wp-block-post-excerpt{padding:8px 16px;font-size:15px;line-height:1.55;color:var(--so-ink);margin:0;flex:1}
.so-guides .wp-block-post-excerpt__more-text{margin:6px 0 0}
.so-guides .wp-block-post-date{padding:0 16px 16px;margin:0;font-family:var(--so-body);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--so-yellow-deep)}
.so-guides .wp-block-post-date a{color:inherit !important;text-decoration:none}
.so-guides .wp-block-query-pagination{margin-top:32px;gap:12px 20px;font-size:14px;font-weight:600}
@media (prefers-reduced-motion:reduce){.so-guides ul.wp-block-post-template > li.wp-block-post{transition:none}}

/* Single posts (the guides): Blocksy single-post. .entry-content is the content wrapper on the live pages; .author-box is the
   author box container styled by the live theme's author-box.min.css (2.1.56), .ct-author-box is kept alongside it, and
   .entry-meta .meta-author follows the .entry-meta li.meta-* naming seen live on the shop cards. No post exists yet, so the
   post-only selectors are unverified against real markup; the h2 rule is shared with .so-faq__h above. */
body.single-post .entry-content{max-width:72ch;margin-left:auto;margin-right:auto}
body.single-post .entry-content h2{margin:34px 0 12px}
body.single-post .entry-content h2:first-child{margin-top:0}
body.single-post .entry-content h3{font-family:var(--so-display);font-weight:700;text-transform:uppercase;font-size:22px;letter-spacing:.02em;line-height:1.15;color:var(--so-char);margin:26px 0 10px}
body.single-post .entry-content p{margin:0 0 16px;font-size:16.5px;line-height:1.65;color:var(--so-ink)}
body.single-post .entry-content ul,body.single-post .entry-content ol{margin:0 0 16px;padding-left:1.2em}
body.single-post .entry-content li{margin-bottom:8px;font-size:15.5px;line-height:1.55}
body.single-post .entry-content a{font-weight:600}
body.single-post .entry-content figure{margin:24px 0}
body.single-post .entry-content figure img{display:block;max-width:100%;height:auto}
body.single-post .entry-content figcaption{font-size:12.5px;color:var(--so-muted);padding:8px 0 0;text-align:left}
body.single-post .entry-content table{border-collapse:collapse;width:100%;font-size:15px;margin:0 0 20px}
body.single-post .entry-content th,body.single-post .entry-content td{text-align:left;vertical-align:top;padding:9px 12px;border:1px solid var(--so-line);line-height:1.45}
body.single-post .entry-content th{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--so-muted);font-weight:600;background:var(--so-slab)}
body.single-post .entry-content blockquote{margin:0 0 20px;padding:4px 0 4px 18px;border-left:3px solid var(--so-yellow);font-size:17px;line-height:1.6;color:var(--so-ink)}
body.single-post .entry-content blockquote p{margin:0 0 8px}
body.single-post .entry-content .so-faq{max-width:none}
body.single-post .ct-author-box,body.single-post .author-box,body.single-post .entry-meta .meta-author{display:none}
