/*
Theme Name: Entire
Theme URI: https://www.entire.pro/
Author: Fantasktic for Entire Machinery Co., Ltd.
Author URI: https://fantasktic.com/
Description: Purpose-built WooCommerce theme for ENTIRE — OEM hose couplings & fittings. Purple industrial design system with a part-number-first catalog: spec-table category layouts with faceted browsing, variant tiles, sibling chips, RFQ (quote) mode on by default, reorderable homepage sections, About/Contact page templates and theme.json Global Styles.
Version: 1.1.5
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 8.0
License: Proprietary
Text Domain: entire
Tags: e-commerce, woocommerce, custom-colors, custom-logo, custom-menu
*/


/* Prime Car Care — palette from the logo: #FF0000, #2F393A, #000, #FFF */
:root{
	/* theme.json Global Styles feed the design system: presets override
	   these fallbacks when edited in the Site Editor; the Customizer
	   brand panel (ent_dynamic_css) still wins when set. */

  --red:#6D28D9;
  --red-d:#5B21B6;
  --red-soft:#C4B5FD;
  --dark:#2B2438;
  --ink:#1B1626;
  --body:#3E4849;
  --mute:#6B7576;
  --line:#E2DFEA;
  --bg:#F7F6FA;
  --white:#fff;
  --max:1280px;
  --pad:clamp(18px,4vw,40px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:'Inter',system-ui,Arial,sans-serif;font-size:16px;line-height:1.6;color:var(--body);background:var(--white)}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;background:none;border:0;cursor:pointer;color:inherit}
:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--pad)}

h1,h2,h3{color:var(--ink);line-height:1.15;margin:0}
h1{font-size:clamp(30px,4.4vw,46px);font-weight:800;letter-spacing:-.02em}
h2{font-size:clamp(24px,3.2vw,34px);font-weight:800;letter-spacing:-.015em}
h3{font-size:19px;font-weight:700}
.sub{color:var(--red);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:10px}

.btn{
  display:inline-block;background:var(--red);color:#fff;font-weight:700;font-size:15px;
  padding:13px 26px;transition:background .15s;
}
.btn:hover{background:var(--red-d)}
.btn--line{background:none;color:var(--ink);border:2px solid var(--ink);padding:11px 24px}
.btn--line:hover{background:var(--ink);color:#fff}
.btn--white{background:#fff;color:var(--ink)}
.btn--white:hover{background:var(--line)}
.btn--hero{background:none;color:#fff;border:2px solid rgba(255,255,255,.55);padding:11px 24px}
.btn--hero:hover{background:#fff;color:var(--ink);border-color:#fff}

/* ── top bar ── */
.top{background:var(--dark);color:#C9CFCF;font-size:13px}
.top__in{display:flex;align-items:center;gap:18px;min-height:36px}
.top a:hover{color:#fff}
.top__r{margin-left:auto;display:flex;align-items:center;gap:16px}
.top svg{width:15px;height:15px;display:block}

/* ── header ── */
.hd{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.hd__in{display:flex;align-items:center;gap:clamp(14px,3vw,36px);min-height:78px}
.hd__logo img{height:50px;width:auto}
.nav{display:flex;margin-left:auto}
.nav__item{position:relative}
.nav__link{
  display:flex;align-items:center;gap:6px;padding:0 13px;min-height:78px;white-space:nowrap;
  font-weight:600;font-size:14.5px;color:var(--ink);border-bottom:3px solid transparent;
}
.nav__link svg{width:9px;height:9px;opacity:.5}
.nav__link:hover,.nav__item.open .nav__link{border-bottom-color:var(--red);color:var(--red)}
.drop{
  position:absolute;top:100%;left:0;min-width:250px;background:#fff;
  border:1px solid var(--line);border-top:3px solid var(--red);
  box-shadow:0 14px 30px rgba(27,22,38,.12);padding:10px 0;display:none;z-index:60;
}
.nav__item.open .drop{display:block}
.drop a{display:block;padding:8px 20px;font-size:14.5px;color:var(--body)}
.drop a:hover{background:var(--bg);color:var(--red)}
.drop__hd{padding:10px 20px 5px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--mute)}
.drop__hd:not(:first-child){border-top:1px solid var(--line);margin-top:8px;padding-top:12px}
.hd__acts{display:flex;align-items:center;gap:2px}
.icb{display:flex;align-items:center;justify-content:center;width:42px;height:42px;color:var(--ink);position:relative}
.icb:hover{color:var(--red)}
.icb svg{width:20px;height:20px}
.cartn{position:absolute;top:4px;right:2px;background:var(--red);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;display:grid;place-items:center;padding:0 3px}
.burger{display:none}

/* ── hero: their Pomona shop photo, cropped from the live theme banner ── */
.hero{
  position:relative;color:#fff;
  background:#1B1626 url(assets/img/hero-bg.jpg) center/cover no-repeat;
}
.hero::before{ /* scrim: solid over the text, opens up toward the machines */
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,
    rgba(20,24,25,.94) 0%, rgba(20,24,25,.86) 34%,
    rgba(20,24,25,.55) 60%, rgba(20,24,25,.22) 100%);
}
.hero__in{position:relative;max-width:640px;margin-right:auto;padding-block:clamp(52px,7vw,96px)}
.hero .sub{color:#F2B8B8}
.hero h1{color:#fff}
.hero p{margin:16px 0 26px;max-width:52ch;color:#E3E7E7}
.hero__cta{display:flex;gap:12px;flex-wrap:wrap}


/* ── sections ── */
.sec{padding-block:clamp(44px,5.6vw,76px)}
.sec--gray{
  background:var(--bg);
  background-image:repeating-linear-gradient(-45deg,rgba(47,57,58,.028) 0 1px,transparent 1px 9px);
}
.sec__hd{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;margin-bottom:30px}
.sec__hd p{margin:10px 0 0;max-width:64ch}
.sec__link{margin-left:auto;font-weight:700;font-size:14.5px;color:var(--red);white-space:nowrap}
.sec__link:hover{text-decoration:underline}

/* ── category grid ── */
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cat{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:border-color .15s,box-shadow .15s,transform .15s;position:relative}
.cat::after{content:"";position:absolute;left:0;bottom:-1px;height:3px;width:0;background:var(--red);transition:width .2s}
.cat:hover{border-color:var(--dark);box-shadow:0 10px 24px rgba(27,22,38,.10);transform:translateY(-3px)}
.cat:hover::after{width:100%}
.cat__img{background:#fff;border-bottom:1px solid var(--line);overflow:hidden}
.cat__img img{width:100%;aspect-ratio:16/10;object-fit:contain;padding:18px;transition:transform .25s}
.cat:hover .cat__img img{transform:scale(1.045)}
.cat__body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.cat__body p{margin:6px 0 14px;font-size:14.5px;color:var(--mute)}
.cat__go{margin-top:auto;font-weight:700;font-size:14.5px;color:var(--red)}
.cat:hover .cat__go{text-decoration:underline}

/* ── services: split band, image flush to the section edges ── */
.svcband{padding:0}
.svcband__grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch}
.svcband__text{
  padding-top:clamp(44px,5.6vw,76px);padding-bottom:clamp(44px,5.6vw,76px);
  padding-left:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));
  padding-right:clamp(24px,4vw,64px);
}
.svcband__text .sec__hd{margin-bottom:22px}
.svcband__text ul{margin:16px 0 22px;padding:0;list-style:none;columns:2;column-gap:32px}
.svcband__text li{margin-bottom:9px;padding-left:22px;position:relative;font-size:15px;break-inside:avoid}
.svcband__text li::before{content:"";position:absolute;left:0;top:8px;width:10px;height:2px;background:var(--red)}
.svcband__img{margin:0;position:relative;min-height:100%}
.svcband__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.svcband__img figcaption{
  position:absolute;left:0;right:0;bottom:0;
  background:rgba(20,24,25,.82);color:#E3E7E7;
  padding:11px max(var(--pad),calc((100vw - var(--max))/2 + var(--pad))) 11px 18px;
  font-size:13.5px;
}

/* ── featured products ── */
.prods{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.prod{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;position:relative;transition:border-color .15s,box-shadow .15s,transform .15s}
.prod::after{content:"";position:absolute;left:0;bottom:-1px;height:3px;width:0;background:var(--red);transition:width .2s}
.prod:hover{border-color:var(--dark);box-shadow:0 10px 24px rgba(27,22,38,.10);transform:translateY(-3px)}
.prod:hover::after{width:100%}
.prod__img{border-bottom:1px solid var(--line);overflow:hidden}
.prod__img img{width:100%;aspect-ratio:1;object-fit:contain;padding:16px;transition:transform .25s}
.prod:hover .prod__img img{transform:scale(1.045)}
.prod__body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.prod__brand{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--red);margin-bottom:4px}
.prod__body h3{font-size:16.5px;font-weight:700;line-height:1.3}
.prod__spec{font-size:13.5px;color:var(--mute);margin:4px 0 12px}
.prod__foot{margin-top:auto;display:flex;align-items:baseline;gap:10px;border-top:1px solid var(--line);padding-top:12px}
.prod__price{font-weight:800;font-size:17px;color:var(--ink)}
.prod__go{margin-left:auto;font-weight:700;font-size:14px;color:var(--red)}
.prod:hover .prod__go{text-decoration:underline}

/* ── about / legacy: photo band from their theme banner ── */
.aboutband{
  position:relative;color:#DDE2E2;
  background:#1B1626 url(assets/img/about-bg.jpg) center/cover no-repeat;
}
.aboutband::before{content:"";position:absolute;inset:0;background:rgba(20,24,25,.88)}
.aboutband>.wrap{position:relative}
.aboutband h2{color:#fff}
.aboutband .sub{color:#C4B5FD}
.about{display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(24px,4vw,60px);align-items:start}
.about p{margin:0 0 16px}
.about p:last-child{margin-bottom:0}

/* ── brands ── */
.brands{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;align-items:center}
.brands a{background:#fff;border:1px solid var(--line);display:grid;place-items:center;min-height:88px;padding:16px}
.brands a{transition:border-color .15s,transform .15s}
.brands a:hover{border-color:var(--dark);transform:translateY(-2px)}
.brands img{max-height:44px;width:auto;object-fit:contain}
.brands__note{margin:22px 0 0;font-size:14.5px;color:var(--mute)}

/* ── locations: nine branches on the real map ── */
.locband{
  position:relative;border-top:1px solid var(--line);
  background:var(--bg) url(assets/img/map-bg.jpg) center/cover no-repeat;
}
.locband::before{content:"";position:absolute;inset:0;background:rgba(245,246,246,.58)}
.locband>.wrap{position:relative}
.locband__in{padding-block:clamp(40px,5vw,64px)}
.locband__credit{
  position:absolute;right:10px;bottom:6px;font-size:11px;color:#8A9394;
}
.locband__credit a{text-decoration:underline}
.locband p{margin:10px 0 26px;max-width:60ch}
.locs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px}
.loc{background:#fff;border:1px solid var(--line);padding:14px 18px 14px 30px;position:relative;transition:border-color .15s,transform .15s,box-shadow .15s;box-shadow:0 2px 8px rgba(27,22,38,.06)}
.loc::before{content:"";position:absolute;left:14px;top:20px;width:8px;height:8px;background:var(--red)}
.loc b{display:block;font-size:16px;color:var(--ink)}
.loc span{font-size:13px;color:var(--mute)}
.loc:hover{border-color:var(--dark);transform:translateY(-2px);box-shadow:0 8px 18px rgba(27,22,38,.08)}

/* ── footer ── */
.ft{background:var(--ink);color:#AEB6B7;border-top:4px solid var(--red)}
.ft__in{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:clamp(22px,3vw,44px);padding-block:clamp(38px,4.6vw,58px)}
.ft__logo{background:#fff;display:inline-block;padding:10px 14px;margin-bottom:16px}
.ft__logo img{height:42px;width:auto}
.ft h4{color:#fff;font-size:15px;font-weight:700;margin:0 0 14px}
.ft ul{list-style:none;margin:0;padding:0}
.ft li{margin-bottom:8px}
.ft ul a{font-size:14.5px}
.ft ul a:hover{color:#fff}
.ft__soc{display:flex;gap:10px;margin-top:18px}
.ft__soc a{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.25)}
.ft__soc a:hover{background:var(--red);border-color:var(--red);color:#fff}
.ft__soc svg{width:16px;height:16px}
.ft__bar{border-top:1px solid rgba(255,255,255,.14);padding-block:18px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:13.5px}
.pay{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}
.pay img{height:22px;width:auto;background:#fff;padding:2px 4px}

/* ── responsive ── */
@media (max-width:1180px){
  .prods{grid-template-columns:repeat(2,1fr)}
  .nav__link{padding:0 8px;font-size:13.5px}
  .hd__logo img{height:42px}
  .hd__in{gap:12px}
  .cats{grid-template-columns:repeat(2,1fr)}
  .brands{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:1000px){
  .svcband__grid{grid-template-columns:1fr}
  .svcband__text{padding-right:var(--pad)}
  .svcband__img{min-height:320px;position:relative}
  .svcband__img figcaption{padding-right:var(--pad)}
  .burger{display:flex}
  .nav{
    position:fixed;inset:calc(36px + 78px) 0 0;background:#fff;z-index:49;
    flex-direction:column;overflow-y:auto;padding:6px var(--pad) 40px;
    transform:translateX(100%);transition:transform .22s ease;border-top:1px solid var(--line);
  }
  body.menu .nav{transform:none}
  body.menu{overflow:hidden}
  .nav__item{width:100%}
  .nav__link{min-height:54px;padding:0;border-bottom:1px solid var(--line);width:100%}
  .nav__link svg{margin-left:auto}
  .drop{position:static;display:none;border:0;box-shadow:none;border-left:3px solid var(--red);margin:4px 0 10px;padding:0}
  .nav__item.open .drop{display:block}
  .hero__in,.about{grid-template-columns:1fr}
  .svcs{grid-template-columns:1fr}
  .locs{grid-template-columns:repeat(2,1fr)}
  .ft__in{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .prods{grid-template-columns:1fr}
  .cats,.locs{grid-template-columns:1fr}
  .brands{grid-template-columns:repeat(2,1fr)}
  .ft__in{grid-template-columns:1fr}
  .top__hide{display:none}
}

/* ══════════════════════════════════════════════════════════════
   INTERIOR PAGES + WOOCOMMERCE MAPPINGS
   ══════════════════════════════════════════════════════════════ */
.crumbs{background:var(--bg);border-bottom:1px solid var(--line)}
.crumbs__in{display:flex;align-items:center;gap:8px;min-height:44px;font-size:13.5px;color:var(--mute);flex-wrap:wrap}
.crumbs a:hover{color:var(--red)}
.crumbs b,.crumbs .breadcrumb-last{color:var(--ink);font-weight:600}
.crumbs .woocommerce-breadcrumb{margin:0;font-size:13.5px;color:var(--mute)}
.crumbs .woocommerce-breadcrumb a{color:var(--mute)}
.crumbs .woocommerce-breadcrumb a:hover{color:var(--red)}

.pagehead{padding:26px 0 4px}
.pagehead h1{font-size:clamp(26px,3.4vw,36px);font-weight:800;letter-spacing:-.02em;color:var(--ink);margin:0}
.pagehead p{margin:8px 0 0;color:var(--mute);font-size:15px;max-width:70ch}

/* shop layout: sidebar + loop */
.shop-layout{display:grid;grid-template-columns:255px 1fr;gap:30px;padding-block:26px 60px;align-items:start}
.shop-layout.no-sidebar{grid-template-columns:1fr}
.fbox,.shop-side .widget{background:#fff;border:1px solid var(--line);padding:18px 20px;margin-bottom:16px}
.fbox h4,.shop-side .widget .widget-title,.shop-side .widget .wp-block-heading{margin:0 0 12px;font-size:15px;font-weight:700;color:var(--ink)}
.fbox ul,.shop-side .widget ul{list-style:none;margin:0;padding:0}
.fbox li,.shop-side .widget li{margin-bottom:7px}
.fbox ul a,.shop-side .widget ul a{font-size:14px;color:var(--body)}
.fbox ul a:hover,.shop-side .widget ul a:hover{color:var(--red)}
.shop-side .widget .count{color:var(--mute);font-size:12.5px}
.filter-toggle{display:none}

/* Woo result count + ordering, wrapped into the toolbar */
.shop-toolbar{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);padding:10px 14px;margin-bottom:18px;flex-wrap:wrap}
.shop-toolbar .woocommerce-result-count{margin:0;font-size:14px;color:var(--mute);float:none}
.shop-toolbar .woocommerce-ordering{margin:0 0 0 auto;float:none}
.shop-toolbar .woocommerce-ordering select{font:inherit;font-size:14px;padding:7px 10px;border:1px solid var(--line);background:#fff;color:var(--ink)}
.woocommerce .shop-main .page-title{display:none} /* we print our own pagehead */

/* product loop: Woo ul.products carries .prod cards from the content-product override */
.shop-main ul.products,.prods{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0;padding:0;list-style:none}
.front .prods{grid-template-columns:repeat(4,1fr);gap:22px}
ul.products li.product{margin:0;padding:0;width:auto;float:none;display:block}
ul.products li.product .prod{height:100%}
.prod{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;position:relative;transition:border-color .15s,box-shadow .15s,transform .15s}
.prod::after{content:"";position:absolute;left:0;bottom:-1px;height:3px;width:0;background:var(--red);transition:width .2s}
.prod:hover{border-color:var(--dark);box-shadow:0 10px 24px rgba(27,22,38,.10);transform:translateY(-3px)}
.prod:hover::after{width:100%}
.prod__img{border-bottom:1px solid var(--line);overflow:hidden;display:block}
.prod__img img{width:100%;aspect-ratio:1;object-fit:contain;padding:16px;transition:transform .25s}
.prod:hover .prod__img img{transform:scale(1.045)}
.prod__body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.prod__brand{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--red);margin-bottom:4px;display:block}
.prod__body h3{font-size:16.5px;font-weight:700;line-height:1.3;margin:0;color:var(--ink)}
.prod__spec{font-size:13.5px;color:var(--mute);margin:4px 0 12px;display:block}
.prod__foot{margin-top:auto;display:flex;align-items:baseline;gap:10px;border-top:1px solid var(--line);padding-top:12px}
.prod__price,.prod .price{font-weight:800;font-size:17px;color:var(--ink)}
.prod .price del{color:var(--mute);font-weight:600;font-size:14px;margin-right:6px}
.prod .price ins{text-decoration:none}
.prod__go{margin-left:auto;font-weight:700;font-size:14px;color:var(--red);white-space:nowrap}
.prod:hover .prod__go{text-decoration:underline}

/* Woo pagination */
.woocommerce nav.woocommerce-pagination{margin-top:26px;text-align:left}
.woocommerce nav.woocommerce-pagination ul{display:flex;gap:6px;border:0;margin:0}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{min-width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);background:#fff;font-size:14px;font-weight:600;color:var(--body);padding:0}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--red);border-color:var(--red);color:#fff}
.woocommerce nav.woocommerce-pagination ul li a:hover{border-color:var(--dark);background:#fff;color:var(--ink)}

/* ── single product ── */
.pdp-wrap{padding-block:30px 22px}
.woocommerce div.product{display:block}
.woocommerce div.product .pdp-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,56px);align-items:start}
.woocommerce div.product div.images{float:none;width:auto;margin:0;border:1px solid var(--line);background:#fff}
.woocommerce div.product div.images img{padding:26px;object-fit:contain}
.woocommerce div.product div.summary{float:none;width:auto;margin:0}
.woocommerce div.product .pdp-brand{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--red)}
.woocommerce div.product .product_title{font-size:clamp(24px,2.8vw,32px);font-weight:800;letter-spacing:-.02em;color:var(--ink);margin:6px 0 6px;line-height:1.2}
.woocommerce div.product .summary .sku_wrapper,.woocommerce div.product .summary .posted_in{font-size:13.5px;color:var(--mute)}
.woocommerce div.product p.price{font-size:32px;font-weight:800;color:var(--ink);margin:16px 0 4px}
.woocommerce div.product p.price del{font-size:20px;color:var(--mute)}
.woocommerce div.product p.price ins{text-decoration:none}
.woocommerce div.product p.stock.in-stock{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--body)}
.woocommerce div.product p.stock.in-stock::before{content:"";width:9px;height:9px;background:#1E8E3E}
.woocommerce div.product form.cart{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap;margin:18px 0 14px}
.woocommerce div.product form.cart div.quantity{margin:0;display:flex;border:1px solid var(--line);float:none}
.woocommerce .quantity .qty{width:64px;text-align:center;border:0;font:inherit;font-size:15px;height:auto}
.woocommerce div.product form.cart .button,
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #payment #place_order,.wc-block-components-button{
  background:var(--red);color:#fff;border-radius:0;font-weight:700;font-size:15px;padding:13px 26px;border:2px solid var(--red);
}
.woocommerce div.product form.cart .button:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #payment #place_order:hover{
  background:var(--red-d);border-color:var(--red-d);color:#fff;
}
.woocommerce div.product form.cart .button{flex:1;min-width:180px}
.woocommerce div.product .product_meta{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);font-size:14.5px}
.woocommerce div.product .product_meta>span{display:block;margin-bottom:9px}
.woocommerce div.product .product_meta>span span,.woocommerce div.product .product_meta>span a{color:var(--body)}
.svcnote{border-left:4px solid var(--red);background:var(--bg);padding:14px 18px;font-size:14.5px;margin-top:20px}
.svcnote b{color:var(--ink)}

/* tabs → flat sections */
.woocommerce div.product .woocommerce-tabs{border-top:1px solid var(--line);margin-top:34px;padding-top:6px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 4px;border:0}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none;border:0;border-radius:0;margin:0;padding:0 22px 0 0}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:14px 0;font-weight:700;color:var(--mute);font-size:15px;border-bottom:3px solid transparent}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ink);border-bottom-color:var(--red)}
.woocommerce div.product .woocommerce-tabs .panel{margin:14px 0 26px}
.woocommerce div.product .woocommerce-tabs .panel h2:first-of-type{font-size:22px;font-weight:800;color:var(--ink);margin:0 0 14px}
.woocommerce table.shop_attributes{border:1px solid var(--line);font-size:14.5px}
.woocommerce table.shop_attributes th{background:var(--bg);color:var(--ink);font-weight:600;border-bottom:1px solid var(--line);padding:9px 12px;width:42%}
.woocommerce table.shop_attributes td{border-bottom:1px solid var(--line);padding:9px 12px;font-style:normal}

/* related / upsells reuse the loop grid */
.woocommerce div.product .related.products,.woocommerce div.product .upsells.products{margin-top:34px;border-top:1px solid var(--line);padding-top:34px}
.related.products>h2,.upsells.products>h2{font-size:clamp(24px,3.2vw,34px);font-weight:800;letter-spacing:-.015em;color:var(--ink);margin:0 0 22px}
.related.products ul.products,.upsells.products ul.products{grid-template-columns:repeat(4,1fr)}

/* notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--red);border-radius:0}
.woocommerce-message::before,.woocommerce-info::before{color:var(--red)}

/* interior responsive */
@media (max-width:1180px){
  .shop-main ul.products,.prods{grid-template-columns:repeat(2,1fr)}
  .front .prods{grid-template-columns:repeat(2,1fr)}
  .related.products ul.products,.upsells.products ul.products{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1000px){
  .shop-layout{grid-template-columns:1fr}
  .filter-toggle{display:inline-flex;margin-bottom:14px}
  .shop-side{display:none}
  .shop-side.open{display:block}
  .woocommerce div.product .pdp-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .shop-main ul.products,.prods,.front .prods,
  .related.products ul.products,.upsells.products ul.products{grid-template-columns:1fr}
}

/* ══════════════════════════════════════════════════════════════
   INTERIOR PAGE BANNER + LEAF CATEGORY + CTA BAND
   ══════════════════════════════════════════════════════════════ */
.hero--page .hero__in{padding-block:clamp(34px,4.6vw,62px);max-width:820px}
.hero--page .sub{color:var(--red-soft)}
.hero--page h1{font-size:clamp(28px,3.8vw,44px);font-weight:800;letter-spacing:-.02em;color:#fff;margin:0;line-height:1.12}
.hero--page p{margin:12px 0 0;color:#E3E7E7;font-size:15.5px;max-width:66ch}
.hero--page .cathero__count{display:inline-block;color:#AEB6B7;margin-top:14px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}

.sibsbar{background:#fff;border-bottom:1px solid var(--line)}
.sibsbar__in{display:flex;align-items:center;gap:14px;padding-block:14px;flex-wrap:wrap}
.sibs__label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--mute);white-space:nowrap}
.sibs__row{display:flex;flex-wrap:wrap;gap:8px}
.sibs__row a{display:inline-block;background:#fff;border:1px solid var(--line);padding:8px 14px;font-size:13.5px;font-weight:600;color:var(--body);transition:border-color .15s,color .15s}
.sibs__row a:hover{border-color:var(--dark);color:var(--ink)}
.sibs__row a.on{background:var(--red);border-color:var(--red);color:#fff}

.leafgrid{padding-block:28px 8px}
.leafgrid ul.products{grid-template-columns:repeat(3,1fr)}
ul.products li.product.ent-slot{display:flex}
.slotcard{width:100%;background:var(--dark);color:#fff;border:1px solid var(--dark);display:flex;flex-direction:column;padding:26px 28px}
.slotcard .sub{color:var(--red-soft);margin-bottom:8px}
.slotcard h3{color:#fff;font-size:20px;font-weight:800;margin:0 0 10px}
.slotcard p{color:#C9CFCF;font-size:14.5px;margin:0 0 16px}
.slotcard .btn{margin-top:auto;align-self:flex-start}

.cathelp{padding-block:26px 40px}
.cathelp__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.helpbox{background:#fff;border:1px solid var(--line);padding:22px 26px;position:relative}
.helpbox::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red)}
.helpbox h3{font-size:17px;font-weight:800;color:var(--ink);margin:0 0 7px}
.helpbox p{margin:0 0 12px;font-size:14.5px}
.helpbox a{font-weight:700;font-size:14px;color:var(--red)}
.helpbox a:hover{text-decoration:underline}

.ctaband{background:var(--dark);color:#fff}
.ctaband .wrap{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding-block:26px}
.ctaband h2{color:#fff;font-size:clamp(20px,2.4vw,28px);margin:0}
.ctaband .btn{margin-left:auto}

@media (max-width:1000px){
  .leafgrid ul.products{grid-template-columns:repeat(2,1fr)}
  .cathelp__grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .leafgrid ul.products{grid-template-columns:1fr}
}


/* ═══════════════════════════════════════════════════════════════════
   v2.0 — RFQ mode
   ═══════════════════════════════════════════════════════════════════ */
.ent-rfq-price{font-weight:800;color:var(--ink);font-size:15px}
.prod__price--rfq{color:var(--red);font-weight:800}
.ent-rfq-link{font-weight:700;color:var(--red)}
.ent-rfq-link:hover{text-decoration:underline}
.ent-rfq-pdp{margin:18px 0}
.ent-rfq-pdp .ent-rfq-link.button{display:inline-block;background:var(--red);color:#fff;padding:13px 26px;font-weight:700;text-decoration:none}
.ent-rfq-pdp .ent-rfq-link.button:hover{background:var(--red-d)}
.ent-rfq-context{background:var(--bg);border-left:4px solid var(--red);padding:12px 16px;font-size:14.5px}

/* ═══════════════════════════════════════════════════════════════════
   v2.0 — Catalog (spec table) layout
   ═══════════════════════════════════════════════════════════════════ */
.catalog-layout .shop-main{min-width:0}
.ent-vartiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin:0 0 18px}
.ent-vt{background:#fff;border:1px solid var(--line);padding:8px 8px 10px;text-align:center;text-decoration:none;transition:border-color .15s}
.ent-vt img{width:100%;height:56px;object-fit:contain;display:block}
.ent-vt b{display:block;margin-top:6px;font-size:12.5px;font-weight:800;color:var(--ink)}
.ent-vt:hover{border-color:var(--red)}
.cattool{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.cattool .woocommerce-result-count{margin:0;font-size:13.5px;font-weight:700;color:var(--mute);text-transform:uppercase;letter-spacing:.05em}
.cattool .woocommerce-ordering{margin:0 0 0 auto}
.cattool .woocommerce-ordering select,.ent-perpage select{border:1px solid var(--line);background:#fff;padding:9px 12px;font:inherit;font-size:13.5px}
.tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);background:#fff}
.spectable{width:100%;border-collapse:collapse;background:#fff;font-size:14px;min-width:560px;margin:0}
.spectable th{background:var(--dark);color:#fff;text-align:left;font-weight:700;padding:11px 14px;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.spectable td{border-top:1px solid var(--line);padding:8px 14px;vertical-align:middle}
.spectable tr:hover td{background:var(--bg)}
.spectable .ent-thmb{width:64px}
.spectable .ent-thmb img{width:52px;height:40px;object-fit:contain;display:block}
.spectable .ent-sku{font-weight:800;color:var(--ink);white-space:nowrap}
.spectable .ent-name a{color:var(--body);text-decoration:none}
.spectable .ent-name a:hover{color:var(--red)}
.spectable .ent-price-cell{white-space:nowrap;font-weight:700}
.catalog-layout .woocommerce-pagination{margin-top:18px}

/* ═══════════════════════════════════════════════════════════════════
   v2.0 — New home sections
   ═══════════════════════════════════════════════════════════════════ */
.ent-statband .statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
.ent-statband .stat{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);padding:16px 18px}
.ent-statband .stat b{display:block;font-size:22px;font-weight:800;color:#fff}
.ent-statband .stat span{font-size:13px;color:rgba(255,255,255,.66)}
.ent-statband__title{color:#fff;font-size:clamp(20px,2.6vw,28px);font-weight:800;letter-spacing:-.015em;margin:0}
.inds{padding-block:34px 60px}
.inds h2{font-size:clamp(20px,2.6vw,28px);font-weight:800;letter-spacing:-.015em;color:var(--ink);margin:0 0 18px}
.inds__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
.inds__grid div{background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);padding:18px 16px;font-weight:800;font-size:15px;color:var(--ink)}
.inds__grid span{display:block;margin-top:4px;font-size:12.5px;font-weight:500;color:var(--mute)}
.certs{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px}
.certs span{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);padding:12px}
.certs img{max-height:64px;width:auto;max-width:100%}

/* pattern helper classes (block editor parity) */
.milestones .ms{background:#fff;border:1px solid var(--line);border-left:4px solid var(--red);padding:14px 18px;margin:0 0 12px}
.leader{background:#fff;border:1px solid var(--line);border-left:4px solid var(--red);padding:16px 20px}
.plant{background:#fff;border:1px solid var(--line);border-left:4px solid var(--red);padding:16px 20px;font-size:14px}
.sub{font-size:13px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--red)}

@media (max-width:1000px){
	.ent-statband .statgrid{grid-template-columns:repeat(2,1fr)}
	.cattool .woocommerce-ordering{margin-left:0}
}


/* ═══════════════════════════════════════════════════════════════════
   ENTIRE — lockup, OEM row, about/contact components
   ═══════════════════════════════════════════════════════════════════ */
.ent-lockup{display:flex;align-items:center;gap:11px;text-decoration:none}
.ent-lockup__text{display:flex;flex-direction:column;line-height:1}
.ent-lockup__text b{font-size:21px;font-weight:800;letter-spacing:.02em;color:var(--ink)}
.ent-lockup__text span{font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-top:3px}
.ft .ent-lockup__text b{color:#fff}
.ft .ent-lockup__text span{color:var(--red-soft)}
@media (max-width:600px){
	.ent-lockup{gap:8px}
	.ent-lockup svg{width:32px;height:32px}
	.ent-lockup__text b{font-size:15px}
	.ent-lockup__text span{display:none}
}
.oemrow{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:var(--dark);color:#fff;padding:16px 22px;margin-top:20px}
.oemrow b{font-size:15.5px}
.oemrow span{color:var(--red-soft);font-size:14px;opacity:.85}
.oemrow a{margin-left:auto;font-weight:800;font-size:14px;color:#fff;border:1.5px solid rgba(255,255,255,.5);padding:9px 16px;text-decoration:none}
.oemrow a:hover{background:var(--red);border-color:var(--red)}
/* about template */
.storygrid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,3.5vw,56px);align-items:start;padding-block:34px 10px}
.storygrid h2{font-size:clamp(21px,2.6vw,30px);font-weight:800;color:var(--ink);margin:0 0 12px}
.storygrid p{margin:0 0 14px;font-size:15px}
.milerail{display:flex;flex-direction:column;gap:12px}
.glance{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;padding-block:8px 30px}
.gl{background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);padding:16px 18px}
.gl b{display:block;font-size:19px;font-weight:800;color:var(--ink)}
.gl span{font-size:13px;color:var(--mute)}
.photo-plate{background:#fff;border:1px solid var(--line);padding:14px;max-width:820px}
.photo-plate img{display:block;width:100%;height:auto}
.photo-plate figcaption{padding:11px 4px 2px;font-size:13px;color:var(--mute)}
.leaders{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:760px;padding-block:8px 34px}
.plantcards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0 4px;max-width:760px}
.plantcards--stack{grid-template-columns:1fr;margin:0;max-width:none}
/* contact template */
.cgrid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(22px,3.4vw,50px);padding-block:34px 50px;align-items:start}
.cform{background:#fff;border:1px solid var(--line);padding:26px 28px}
.cform h2{font-size:20px;font-weight:800;color:var(--ink);margin:0 0 16px}
.cinfo{display:flex;flex-direction:column;gap:14px}
@media (max-width:1000px){
	.storygrid,.cgrid,.leaders,.plantcards{grid-template-columns:1fr}
}

/* branded category-tile fallback (no term image set) */
.cat__img--brand{display:flex;align-items:center;justify-content:center;background:var(--bg)}
.cat__img--brand svg{width:44%;height:44%;max-height:96px}


/* ═══════════════════════════════════════════════════════════════════
   v1.1 — mockup-faithful catalog layout (facets, tree, tiles, table)
   ═══════════════════════════════════════════════════════════════════ */
.catlayout{display:grid;grid-template-columns:260px 1fr;gap:clamp(20px,2.6vw,40px);padding-block:28px 40px;align-items:start}
.catlayout>*{min-width:0}
.facets{display:flex;flex-direction:column;gap:16px;position:sticky;top:76px}
.facet{background:#fff;border:1px solid var(--line)}
.facet>b{display:block;padding:12px 16px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);border-bottom:1px solid var(--line)}
.facet .fx{max-height:238px;overflow:auto;padding:10px 16px 12px}
.fx__opt{display:flex;align-items:center;gap:9px;padding:5px 0;font-size:14px;color:var(--body);text-decoration:none}
.fx__opt:hover{color:var(--ink)}
.fx__box{width:15px;height:15px;border:1.5px solid var(--line);background:#fff;flex:0 0 auto;position:relative}
.fx__opt.on .fx__box{background:var(--red);border-color:var(--red)}
.fx__opt.on .fx__box::after{content:"";position:absolute;inset:2px 4px 4px 4px;border:2.5px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg)}
.fx__opt .n{margin-left:auto;font-size:12px;color:var(--mute)}
.cattree{background:#fff;border:1px solid var(--line);padding:12px 16px 14px}
.cattree b{display:block;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);margin-bottom:8px}
.cattree a{display:block;padding:4px 0;font-size:14px;color:var(--body);text-decoration:none}
.cattree a:hover{color:var(--red)}
.cattree a.on{color:var(--red);font-weight:700}
.cattree .lv2{padding-left:14px}
.cattree .lv3{padding-left:28px;font-size:13.5px}
.compl h2{font-size:clamp(19px,2.4vw,26px);font-weight:800;letter-spacing:-.015em;color:var(--ink);margin:0 0 16px}
.compl{padding-block:34px 54px}
.compl__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.compl__grid a{background:#fff;border:1px solid var(--line);padding:18px;text-decoration:none;display:flex;flex-direction:column;gap:5px;transition:border-color .15s}
.compl__grid a:hover{border-color:var(--red)}
.compl__grid b{font-size:15px;font-weight:800;color:var(--ink)}
.compl__grid span{font-size:13px;color:var(--mute)}
.compl__grid i{font-style:normal;font-weight:700;font-size:13.5px;color:var(--red);margin-top:4px}
.cattool .ent-perpage{margin:0}
@media (max-width:1000px){
	.catlayout{grid-template-columns:1fr}
	.facets{position:static;flex-direction:row;flex-wrap:wrap;width:100%}
	.facet{flex:1 1 240px}
	.cattree{flex:1 1 100%}
	.compl__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
	.facet{flex:1 1 100%}
	.compl__grid{grid-template-columns:1fr}
}

/* no share widgets on product pages, whatever injects them */
.single-product .sharedaddy,
.single-product .jp-relatedposts,
.single-product .sd-sharing-enabled{display:none!important}
