/* ICD Pro — template layer (deploy 2, 2026-11-03). Loaded on every page after icd-pro.css.
   icd-pro.css owns the tokens and the grammar (.ip-sh band header, .ip-b box, .ip-btn button, .ip-call box); this file
   puts the older page templates on that grammar: light heroes with an eyebrow pill, figures as boxes, cards on a
   hairline with a pure engine piece (no tinted box behind an icon), every primary button in the ICD Pro shape, every
   solid-fill call-to-action as a tint box, section headings as band headers, labels first-capital only.
   !important where a template prints its own <style> after this sheet. */
.ip-sh{margin:28px 0 14px}
.ip-sh .ik{flex:0 0 32px}
.ip-sh h2,.ip-sh h3{margin:0}
.ip-sh h2.bl-section-title,.ip-sh h2.bp-section-title,.ip-sh h2.svc-section-title,.ip-sh h2.ug-section-title{margin:0!important;padding:0!important;border:0!important;text-align:left!important}
.ip-sh h2.bp-section-title::after,.ip-sh h2.bl-section-title::after,.ip-sh h2::after{display:none!important}
/* heroes: light ground, eyebrow pill, ink headline, figures as boxes */
.pf-hero,.eosl-hero,.icd-bulk-hero,.svc-hero,.cfg-hero,.bl-hero,.bp-hero,.cmp-hero{background:#fff!important;border:0!important;box-shadow:none!important}
.pf-hero::before,.bl-hero::before,.pf-hero:not(.pf-hero-landing)::before{display:none!important}
.pf-hero-badge-top,.svc-eyebrow,.eosl-eyebrow,.bl-section-badge,.bl-hero-badge,.bp-eyebrow{display:inline-flex;align-items:center;gap:6px;background:var(--icd-tint)!important;border:1px solid var(--icd-line)!important;color:var(--icd-accent)!important;border-radius:999px!important;padding:4px 12px!important;font-size:12px!important;font-weight:700!important;text-transform:none!important;letter-spacing:0!important}
.pf-hero h1,.eosl-hero h1,.icd-bulk-hero h1,.svc-hero h1,.bl-hero h1,.bp-hero h1{color:var(--icd-ink)!important;font-weight:700;letter-spacing:-.02em}
.pf-hero-stats-row,.eosl-stats-row,.bl-hero-stats{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.pf-stat,.eosl-stat,.bl-hero-stat{display:flex;flex-direction:column;align-items:center;border:1px solid var(--icd-line)!important;border-radius:12px!important;padding:10px 18px!important;min-width:120px;background:#fff!important;box-shadow:none!important}
.pf-stat-number,.eosl-stat-num,.bl-hero-stat-value{color:var(--icd-accent)!important;font-weight:700;font-size:22px}
.pf-stat-label,.eosl-stat-label,.bl-hero-stat-label{color:#3A3A3C!important;font-size:12px;font-weight:600;text-transform:none!important;letter-spacing:0!important}
.pf-stat-divider{display:none}
/* cards: hairline, pure piece in the accent, tint on hover (no gradient box, no white icon on hover) */
.pf-device-type-card,.pf-cat-highlight,.cfg-brand-card,.eosl-brand-card,.icd-404-categories a,.icd-404-brands a,.bl-cat-card,.bl-model-card,.bl-why-card,.svc-card,.svc-brand-card,.icd-cat-related-grid a,.icd-cat-sub-card,.bp-model-card,.bp-brand-card,.ug-card,.xr-card{background:#fff!important;border:1px solid var(--icd-line)!important;border-radius:12px!important;box-shadow:none!important;transition:background .15s,border-color .15s}
.pf-device-type-card:hover,.pf-cat-highlight:hover,.cfg-brand-card:hover,.eosl-brand-card:hover,.icd-404-categories a:hover,.icd-404-brands a:hover,.bl-cat-card:hover,.bl-model-card:hover,.bl-why-card:hover,.svc-card:hover,.svc-brand-card:hover,.icd-cat-related-grid a:hover,.icd-cat-sub-card:hover,.bp-model-card:hover,.bp-brand-card:hover,.ug-card:hover,.xr-card:hover{background:var(--icd-tint)!important;border-color:var(--icd-accent)!important;transform:none!important;box-shadow:none!important}
.pf-device-type-card::before,.bl-cat-card::before{display:none!important}
.pf-dt-icon,.pf-cat-icon,.cfg-brand-card .brand-icon,.bl-cat-icon,.bl-model-icon,.bl-why-icon,.bl-trust-icon,.bl-hero-stat-icon,.svc-card-icon,.svc-brand-card-icon,.icd-cat-icon,.wv-seal{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;width:auto!important;height:auto!important;display:inline-flex;align-items:center;justify-content:center;color:var(--icd-accent)!important}
.pf-device-type-card:hover .pf-dt-icon,.pf-cat-highlight:hover .pf-cat-icon,.bl-cat-card:hover .bl-cat-icon,.bl-model-card:hover .bl-model-icon,.bl-why-card:hover .bl-why-icon,.svc-card:hover .svc-card-icon,.svc-brand-card:hover .svc-brand-card-icon,.cfg-brand-card:hover .brand-icon{background:none!important;color:var(--icd-accent)!important}
.pf-dt-icon .ik{width:56px;height:56px;margin:0 auto 10px}
.pf-cat-icon .ik{width:40px;height:40px}
.pf-tab-icon .ik{width:16px;height:16px;vertical-align:-3px}
.cfg-brand-card .brand-icon .ik{width:48px;height:48px}
.bl-cat-icon .ik{width:36px;height:36px}
.bl-model-icon .ik,.bl-why-icon .ik{width:28px;height:28px}
.bl-trust-icon .ik,.bl-hero-stat-icon .ik{width:22px;height:22px}
.bl-cat-card:hover .bl-cat-icon svg,.bl-model-card:hover .bl-model-icon svg,.bl-why-card:hover .bl-why-icon svg,.svc-card:hover .svc-card-icon svg{stroke:none!important;fill:currentColor;color:var(--icd-accent)!important}
.svc-card-icon .ik{width:30px;height:30px}
.icd-cat-icon .ik{width:36px;height:36px}
.cfg-cat-icon .ik{width:20px;height:20px;vertical-align:-4px;color:var(--icd-accent)}
.pf-device-type-card:hover .pf-dt-count{background:var(--icd-tint2)!important;color:var(--icd-accent)!important}
.pf-dt-count,.eosl-brand-count{background:var(--icd-tint);color:var(--icd-accent);border-radius:999px;font-weight:700}
.pf-category-highlights h2::after,.bp-section-title::after{display:none!important}
/* primary buttons: the ICD Pro shape (tint ground, accent text, accent border, deeper tint on hover) */
.pf-search-btn,.pf-btn-primary,.icd-bulk-submit,.eosl-cta-btn,.icd-404-search button,.icd-404-search-form button,.icd-404-btn-wa,.icd-404-btn-contact,.button.wc-backward,.return-to-shop .button,.cfg-btn-primary,.sp-btn-primary,.svc-btn-primary,.svc-btn-outline,.wv-go,.wv-form button,.wv-cta,.cmp-empty .cfg-btn-browse,.cfg-btn-browse,.cfg-picker-item .pk-add,.icd-calc-btn,.icd-back-btn,.bl-cta-btn,.bl-cta .bl-btn,.bl-btn-primary,.bl-btn-secondary,.bp-cta-btn,.icd-sup-submit,.icd-rfq-submit,.pf-quote-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--icd-tint)!important;color:var(--icd-accent)!important;border:1px solid var(--icd-accent)!important;border-radius:10px!important;padding:10px 18px!important;min-height:44px;font-size:14px!important;font-weight:700!important;text-decoration:none!important;text-transform:none!important;letter-spacing:0!important;box-shadow:none!important;line-height:1.2;transform:none!important;opacity:1!important}
.pf-search-btn:hover,.pf-btn-primary:hover,.icd-bulk-submit:hover,.eosl-cta-btn:hover,.icd-404-search button:hover,.icd-404-search-form button:hover,.icd-404-btn-contact:hover,.button.wc-backward:hover,.return-to-shop .button:hover,.cfg-btn-primary:hover,.cfg-btn-primary:hover:not(:disabled),.sp-btn-primary:hover,.svc-btn-primary:hover,.svc-btn-outline:hover,.wv-go:hover,.wv-form button:hover,.wv-cta:hover,.cmp-empty .cfg-btn-browse:hover,.cfg-btn-browse:hover,.cfg-picker-item .pk-add:hover,.icd-calc-btn:hover,.icd-back-btn:hover,.bl-cta-btn:hover,.bl-cta .bl-btn:hover,.bl-btn-primary:hover,.bl-btn-secondary:hover,.bp-cta-btn:hover,.icd-sup-submit:hover,.icd-rfq-submit:hover,.pf-quote-btn:hover{background:var(--icd-tint2)!important;color:var(--icd-accent)!important;transform:none!important;opacity:1!important}
.icd-bulk-submit:disabled,.cfg-btn-primary:disabled,.sp-btn-primary:disabled{opacity:.45!important}
.icd-404-btn-wa{color:var(--icd-green)!important;border-color:var(--icd-green)!important;background:var(--icd-gtint)!important}
.icd-404-btn-wa:hover{background:rgba(11,125,58,.12)!important}
.svc-btn-ic,.pf-search-btn svg,.icd-bulk-submit svg,.cfg-btn-primary svg,.sp-btn-primary svg{width:18px;height:18px}
/* active tabs and filter chips: tint + accent, never a solid fill */
.bp-tab-active,.bp-tab-active:hover,.cfg-gen-tab.active,.cfg-picker-filter.active,.cfg-picker-filter:hover,.pf-page-active,.wv-chip,.pf-tab.active{background:var(--icd-tint)!important;color:var(--icd-accent)!important;border:1px solid var(--icd-accent)!important;box-shadow:none!important}
.pf-tab::after{background:var(--icd-accent)!important}
.pf-search-results-count,.icd-calc-table thead tr,.icd-calc-table thead th,.cfg-summary-header,.specspro-popup-header,.specspro-group-header{background:var(--icd-tint)!important;color:var(--icd-accent)!important;border-bottom:1px solid var(--icd-line)!important}
.cfg-summary-header *,.specspro-popup-header *,.specspro-group-header *,.icd-calc-table thead th{color:var(--icd-accent)!important}
.cfg-slot.filled{background:var(--icd-tint)!important;border:1px solid var(--icd-accent)!important;color:var(--icd-ink)!important}
.cfg-constraint-bar .bar-fill{background:var(--icd-accent)!important}
.specspro-fab{background:var(--icd-tint)!important;color:var(--icd-accent)!important;border:1px solid var(--icd-accent)!important;box-shadow:0 4px 14px rgba(29,29,31,.10)!important}
.specspro-fab:hover{background:var(--icd-tint2)!important}
.wv-stock .wv-seal,.wv-soon .wv-seal,.wv-exp .wv-seal,.wv-dot.stock{background:none!important}
.wv-seal svg{width:34px!important;height:34px!important}
/* call-to-action and empty states: one tint box, ink text, buttons in the shape */
.eosl-cta,.icd-404-cta,.cart-empty.woocommerce-info,.svc-cta,.bl-cta,.bp-cta,.cmp-empty,.pf-quote-box,.icd-cat-cta{background:var(--icd-tint)!important;background-image:none!important;border:1px solid var(--icd-line)!important;border-radius:10px!important;color:var(--icd-ink)!important;padding:18px!important;text-align:left!important;box-shadow:none!important}
.eosl-cta h2,.icd-404-cta strong,.bl-cta h2,.bp-cta h2,.pf-quote-box h2,.svc-cta h2,.cmp-empty h2,.cmp-empty h3{color:var(--icd-accent)!important;font-size:17px;margin:0 0 4px!important}
.eosl-cta p,.icd-404-cta-text,.bl-cta p,.bp-cta p,.pf-quote-box p,.svc-cta p,.cmp-empty p{color:#222!important;opacity:1!important;font-size:14px;margin:0 0 12px}
.eosl-cta .ik,.bl-cta .ik,.pf-quote-box .ik,.icd-404-cta .ik{vertical-align:-3px;margin-right:6px}
.cart-empty.woocommerce-info{display:flex!important;align-items:center;gap:12px;font-weight:700;font-size:15px}
.cart-empty.woocommerce-info::before{display:none!important}
.cart-empty.woocommerce-info .ik{flex:0 0 28px;color:var(--icd-accent)}
.return-to-shop{margin:14px 0 0;text-align:left}
/* 404 */
.icd-404-code{color:var(--icd-accent)!important;background:none!important;-webkit-text-fill-color:var(--icd-accent)!important}
.icd-404-search-label,.icd-404-brands h3,.icd-404-components h3{color:#3A3A3C!important;text-transform:none!important;letter-spacing:0!important}
.icd-404-divider{background:var(--icd-line)!important}
.icd-404-brands a:hover,.icd-404-components a:hover{background:var(--icd-tint)!important;color:var(--icd-accent)!important;border-color:var(--icd-accent)!important}
/* bulk order + supplier + quote forms: sections as hairline boxes, heading with its piece */
.icd-bulk-section,.icd-sup-section,.icd-rfq-section{border:1px solid var(--icd-line)!important;border-radius:12px!important;padding:16px!important;background:#fff!important;box-shadow:none!important}
.icd-bulk-section h3,.icd-sup-section h3{display:flex;align-items:center;gap:8px;color:var(--icd-accent)!important;font-size:15px;text-transform:none!important;letter-spacing:0!important}
.icd-bulk-hero-icon{color:var(--icd-accent)!important;line-height:0}
.icd-bulk-table thead th,.icd-rfq-table thead th{background:var(--icd-tint)!important;color:var(--icd-accent)!important;text-transform:none!important;letter-spacing:0!important}
/* labels: first capital only, no tracking */
.pf-stat-label,.eosl-stat-label,.bl-section-badge,.pf-hero-badge-top,.cfg-eyebrow,.bp-eyebrow,.pf-tab,.cfg-gen-tab,.bp-tab,.icd-404-search-label,.pf-cat-label,.bl-cat-count,.wv-label,.cfg-label,.ug-eyebrow,.xr-eyebrow{text-transform:none!important;letter-spacing:0!important}
/* parts-finder model quote box (was a solid gradient) */
.pf-quote-box a.ip-btn{margin-top:4px}
@media (max-width:600px){.pf-stat,.eosl-stat,.bl-hero-stat{min-width:calc(50% - 6px)}.pf-dt-icon .ik{width:48px;height:48px}}
/* Product tile v10 grammar on the theme's own part cards (parts-finder category/model, cross-reference, best-parts,
   upgrade-guide): same 4:3 photo box, pill, two-line title, flush full-width Add to Quote (2026-11-03). */
.pf-parts-grid .pf-part-card{border:1px solid var(--icd-line);border-radius:12px;padding:12px;background:#fff}
.pf-parts-grid .pf-part-card .pf-part-image,.pf-parts-grid .pf-part-card .pf-part-placeholder{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;padding:8px;background:#fff;border-radius:8px}
.pf-parts-grid .pf-part-card .pf-part-info{padding:10px 0 0;display:flex;flex-direction:column}
.pf-parts-grid .pf-part-card .pf-part-badge{display:inline-flex;align-self:flex-start;padding:4px 10px;border-radius:6px;background:var(--icd-tint);border:1px solid var(--icd-line);color:var(--icd-accent);font-size:11px;font-weight:700;line-height:1.2;text-transform:none;letter-spacing:0}
.pf-parts-grid .pf-part-card .pf-part-code{font-family:inherit;font-size:13px;font-weight:700;color:var(--icd-accent);margin:8px 0 2px}
.pf-parts-grid .pf-part-card .pf-part-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px;font-size:15px;font-weight:700;color:var(--icd-ink);line-height:1.3;margin:0 0 6px}
.pf-parts-grid .pf-part-card .pf-part-action{padding:12px 0 0;border-top:0;margin-top:auto}
.pf-parts-grid .pf-part-card .pf-part-action .pf-btn{display:block;width:100%;text-align:center;min-height:44px;line-height:42px;padding:0 12px;border-radius:10px;background:var(--icd-tint);color:var(--icd-accent);border:1px solid var(--icd-accent);font-weight:700;text-transform:none;letter-spacing:0}
@media (hover:hover){.pf-parts-grid .pf-part-card .pf-part-action .pf-btn:hover{background:var(--icd-tint2)}}
