
/* Portal controls stay in the page content, not in the shared site header. */
.customer-section-nav { display:flex; flex-wrap:wrap; gap:10px 20px; padding:18px 0; margin-bottom:20px; border-bottom:1px solid var(--color-border, #ddd); }
.customer-section-nav a { font-size:14px; font-weight:700; }
.catalog-site-layout > .customer-main { width:100%; padding:32px; min-width:0; align-content:start; }
.catalog-site-layout .line-card-hero-grid { gap:32px; }
.catalog-site-layout .taxonomy-callout strong { white-space:normal; }
@media(min-width:981px) { .catalog-site-layout .line-card-hero-grid { grid-template-columns:minmax(0,1fr) minmax(270px,.62fr); } }
@media(max-width:600px) { .catalog-site-layout > .customer-main { padding:22px 18px; } }
.shared-preview-banner { padding:8px 24px; background:#332c28; color:#fff; font:12px/1.6 sans-serif; display:flex; flex-wrap:wrap; gap:8px 20px; }
.shared-preview-banner nav { display:flex; flex-wrap:wrap; gap:16px; }
.shared-preview-banner a { color:#fff; text-decoration:underline; }
@media print { .catalog-sidebar,.catalog-search-strip,.shared-preview-banner { display:none!important; } .catalog-site-layout { display:block; } }

/* The category name selects its full set. The adjacent arrow only expands. */
.filter-parent-row { display:flex; align-items:stretch; min-width:0; }
.filter-expand-toggle { display:flex; align-items:center; justify-content:center; flex:0 0 32px; min-height:44px; padding:0; border:0; background:transparent; color:var(--color-text); cursor:pointer; }
.filter-parent-row .filter-parent-select { flex:1; width:auto; min-width:0; min-height:44px; padding:10px 8px 10px 0; text-decoration:none; }
.filter-parent-select > span { min-width:0; }
.filter-parent-select.is-selected,.filter-expand-toggle.has-selection { color:var(--color-primary); font-weight:700; }
.filter-parent-select.is-selected { box-shadow:inset 0 -2px var(--color-primary); }
.filter-expand-toggle:hover { background:var(--tile-hover); }
.filter-expand-toggle:focus-visible,.filter-parent-select:focus-visible { outline:2px solid var(--color-primary); outline-offset:-2px; border-radius:3px; }
.clearance-subgroup .filter-parent-select { font-size:13px; }
@media(max-width:900px) { .filter-expand-toggle { flex-basis:44px; } }

/* Shared industrial surfaces. Two strengths keep decoration behind the copy.
   A 78% charcoal scrim caps even a white texture pixel at #4c5052.
   Dense data, inputs, product photography and status colors remain untextured. */
:root {
  --plate-image:url("./assets/textures/diamond-plate.webp");
  --plate-bold:linear-gradient(rgb(26 31 34 / .78),rgb(18 23 26 / .84)),var(--plate-image);
  --plate-quiet:linear-gradient(rgb(26 29 31 / .90),rgb(23 26 28 / .93)),var(--plate-image);
}
html:root body :is(.utility-bar,.site-footer,.intro,.line-card-downloads,
  .cta-panel,.contact-section,.blog-subscribe-panel,.review-banner,
  .shared-preview-banner,.preview-toast,.cart-feedback) {
  background-color:#1a1f22;
  background-image:var(--plate-bold);
  background-size:auto,380px 380px;
  background-repeat:repeat;
  color:#fff8ec;
}
html:root body :is(.intro,.line-card-downloads,.cta-panel,.contact-section,
  .blog-subscribe-panel) > :is(h1,h2,h3,p),
html:root body :is(.intro,.line-card-downloads,.cta-panel,.contact-section,
  .blog-subscribe-panel) .eyebrow {
  color:#fff8ec;
}
html:root body :is(.intro,.line-card-downloads,.cta-panel) p,
html:root body .contact-grid > div:first-child p,
html:root body .blog-subscribe-panel p,
html:root body .blog-subscribe-form .checkbox-row {
  color:#e2ddd4;
  opacity:1;
}
html:root body .blog-subscribe-panel .eyebrow { color:#ffc1b7; }
html:root body .blog-subscribe-form {
  background-color:#1a1d1f;
  background-image:var(--plate-quiet);
  background-size:auto,380px 380px;
}
html:root body :is(.intro,.line-card-downloads,.cta-panel,.contact-section,
  .blog-subscribe-panel) .button-secondary {
  background:#252b2e;
  color:#fff8ec;
  border-color:#a6adb0;
}
html:root body :is(.intro,.line-card-downloads,.cta-panel,.contact-section,
  .blog-subscribe-panel) .button-secondary:hover {
  background:#3b4449;
  color:#fff;
}
html:root body :is(.intro,.line-card-downloads,.cta-panel,.contact-section,
  .blog-subscribe-panel) a:focus-visible {
  outline:2px solid #ffc1b7;
  outline-offset:4px;
}

/* Quieter plating for dark-mode reading and navigation surfaces. */
html[data-theme="dark"] {
  --color-primary:#f58a7e;
  --color-text-muted:#c9c1b4;
  --color-text-faint:#b5ada1;
}
html[data-theme="dark"] body,
html[data-theme="dark"] body :is(.site-header,.catalog-search-strip,
  .category-strip,.catalog-sidebar,.top-drilldown,.services-menu,.brands-menu,
  .primary-nav,.hero-panel,.heritage-badge,.product-feature,.service-card,.contact-card,
  .product-list article,.service-stack article,.vmi-cards article,.snapshot-copy,
  .line-card-summary,.line-category-card,.rfq-hero-card,.catalog-panel,
  .category-index,.category-subcategory-panel,.faq-list details,.map-copy,
  .professional-bin-grid article,.blog-card,.blog-pagination,
  .cart-order-summary,.cart-quote-panel,.account-gate,.account-preview-card,
  .customer-card,.customer-panel,.kit-builder-panel,.help-cta__panel,
  .preview-map-note,.split-section,.faq-section,.section-muted,.line-manufacturers,
  .service-card-large) {
  background-color:#1a1d1f;
  background-image:var(--plate-quiet);
  background-size:auto,380px 380px;
  background-repeat:repeat;
}
/* The header is one continuous sheet, not a separate patch behind each link. */
html[data-theme="dark"] body .primary-nav {
  background:transparent;
}
@media(max-width:980px) {
  html[data-theme="dark"] body.is-nav-open .primary-nav {
    background-color:#1a1d1f;
    background-image:var(--plate-quiet);
    background-size:auto,380px 380px;
  }
}
html[data-theme="dark"] body .browse-toggle {
  background-color:#1a1f22;
  background-image:var(--plate-bold);
  background-size:auto,380px 380px;
  color:#fff8ec;
}
html[data-theme="dark"] body .thread-hero .thread-banner {
  background-color:#1a1f22;
  background-image:var(--plate-bold);
  background-size:auto,380px 380px;
}
html[data-theme="dark"] body .thread-hero .thread-banner::before { opacity:0; }
html[data-theme="dark"] body .thread-hero .thread-banner h1 { color:#fff8ec; }
html[data-theme="dark"] body .thread-hero .thread-banner h1 strong { color:#ffc1b7; }
html[data-theme="dark"] body :is(input,textarea)::placeholder {
  color:#c9c1b4;
  opacity:1;
}
@media print {
  html:root body :is(.intro,.line-card-downloads,.cta-panel,.contact-section,
    .blog-subscribe-panel) {
    background:#fff!important;
    color:#111!important;
  }
  html:root body :is(.intro,.line-card-downloads,.cta-panel,.contact-section,
    .blog-subscribe-panel) :is(p,h1,h2,h3,.eyebrow) { color:#111!important; }
}

/* Single desktop header row: logo, drilldown navigation, search, cart, controls.
   No separate search strip or Browse products button. */
.site-header.compact-site-header .header-main {
  display:grid;
  width:100%;
  max-width:1488px;
  grid-template-columns:calc(var(--catalog-sidebar-width) - 40px) auto minmax(160px,1fr) auto auto;
  align-items:center;
  column-gap:16px;
  padding:12px 20px;
  min-height:82px;
}
.compact-site-header .primary-nav { gap:0; }
.compact-site-header .primary-nav > a,
.compact-site-header .primary-nav .nav-dropdown-toggle {
  padding-inline:8px;
  font-size:14px;
}
.site-header.compact-site-header .header-product-search {
  max-width:none;
  min-width:0;
  width:100%;
  margin:0;
}
.compact-site-header .header-product-search input { font-size:14px; }
.compact-site-header .header-product-search .button { padding-inline:12px; }
.compact-site-header .search-symbol { margin-left:8px; margin-right:4px; }
.compact-site-header .view-cart-button {
  min-height:48px;
  padding:10px 12px;
  font-size:14px;
}
.compact-site-header .header-actions {
  margin:0;
  gap:4px;
  justify-self:end;
}
@media(min-width:981px) and (max-width:1200px) {
  .site-header.compact-site-header .header-main { column-gap:8px; }
  .compact-site-header .primary-nav > a,
  .compact-site-header .primary-nav .nav-dropdown-toggle { padding-inline:5px; font-size:13px; }
  .compact-site-header .view-cart-button { font-size:13px; padding-inline:8px; }
  .compact-site-header .header-product-search .search-symbol { display:none; }
}
@media(min-width:621px) and (max-width:980px) {
  .site-header.compact-site-header .header-main {
    grid-template-columns:minmax(130px,170px) minmax(140px,1fr) auto auto;
    column-gap:10px;
    padding-inline:16px;
  }
  .site-header.compact-site-header .header-main .header-product-search {
    grid-column:auto; grid-row:auto;
  }
}
@media(max-width:900px) {
  .site-header.compact-site-header .header-main .view-cart-button {
    grid-column:auto;
    grid-row:auto;
  }
}
@media(max-width:620px) {
  .site-header.compact-site-header .header-main {
    grid-template-columns:minmax(0,1fr) 28px auto;
    gap:10px;
    padding:12px 16px;
  }
  .compact-site-header .brand {
    grid-column:1/3; grid-row:1;
    width:fit-content; max-width:calc(100vw - 140px);
  }
  .site-header.compact-site-header .brand-logo { width:145px; max-width:100%; }
  .compact-site-header .header-actions { grid-column:2/4; grid-row:1; gap:0; }
  .compact-site-header .header-actions .nav-toggle { margin:0; }
  .site-header.compact-site-header .header-product-search { grid-column:1/3; grid-row:2; }
  .site-header.compact-site-header .header-main .view-cart-button {
    grid-column:3; grid-row:2; padding-inline:8px; font-size:13px;
  }
  .compact-site-header .header-product-search input { font-size:16px; }
  .compact-site-header .header-product-search .search-symbol { display:none; }
  .compact-site-header .header-product-search .button { padding-inline:9px; font-size:12px; }
}
/* The existing sidebar arrow is the ONLY collapse/reopen control.
   Keep it reachable in a slim desktop rail and in the mobile sidebar heading. */
@media(min-width:901px) {
  body.sidebar-collapsed .catalog-site-layout { grid-template-columns:52px minmax(0,1fr); }
  body.sidebar-collapsed .catalog-sidebar { display:block; padding:28px 8px; }
  body.sidebar-collapsed .catalog-sidebar :is(.all-products,.category-tree,.clearance-tree,.sidebar-help) { display:none; }
  body.sidebar-collapsed .sidebar-top { justify-content:center; }
}
@media(max-width:900px) {
  body:not(.filters-open) .catalog-sidebar {
    display:block; position:relative; top:auto; bottom:auto;
    width:100%; height:auto; padding:12px 20px;
    box-shadow:none; border-right:0; border-bottom:1px solid var(--tile-border);
  }
  body:not(.filters-open) .catalog-sidebar :is(.category-tree,.clearance-tree,.sidebar-help) { display:none; }
  body:not(.filters-open) .catalog-sidebar .sidebar-top { margin:0; }
}
.catalog-site-layout,.catalog-sidebar { transition:none; }
.active-filters[hidden] { display:none!important; }
.catalog-active-filters { margin:22px 32px 16px; }
.clearance-active-filters,
.shop-hero .shop-active-filters { margin-top:0; }
@media(max-width:900px) {
  .catalog-active-filters { margin-inline:20px; }
}
.filter-chip {
  display:inline-flex; align-items:center; gap:8px;
  max-width:100%; min-height:38px;
  border-radius:999px; padding:2px 4px 2px 13px;
  background:var(--color-surface-2); color:var(--color-text);
}
.filter-chip > span { overflow-wrap:anywhere; min-width:0; }
.filter-chip button {
  flex:0 0 34px; width:34px; min-height:34px;
  border:0; border-radius:50%; padding:0;
  color:inherit; background:transparent; font-size:21px; cursor:pointer;
}
.filter-chip button:hover { background:var(--tile-hover); }
.filter-chip button:focus-visible { outline:2px solid var(--color-primary); outline-offset:-2px; }
@media(pointer:coarse) { .filter-chip button { min-height:44px; width:44px; flex-basis:44px; } }
