/* V8: a model index, compact manufacturer directory, and search-first part finder. */
body.ch8-ui .ch-ui-home .ch-ui-featured {
  display:grid;
  grid-template-columns:minmax(235px,.35fr) minmax(0,.65fr);
  align-items:start;
  gap:22px clamp(25px,3vw,46px);
  margin-bottom:54px;
  padding:clamp(27px,3.4vw,46px);
  overflow:hidden;
  border:1px solid #285467;
  border-radius:22px;
  background:radial-gradient(circle at 100% 0,rgba(69,155,159,.22),transparent 37%),linear-gradient(120deg,#102c3e,#103b4e 70%,#104c59);
  box-shadow:0 20px 43px rgba(17,54,69,.15);
}
body.ch8-ui .ch-ui-home .ch-ui-featured .ch-ui-section-heading {
  display:block;
  margin:0;
}
body.ch8-ui .ch-ui-home .ch-ui-featured .ch-ui-eyebrow { color:#8dd9dc; }
body.ch8-ui .ch-ui-home .ch-ui-featured h2 {
  max-width:310px;
  margin:0 0 13px;
  color:#fff;
  font-size:clamp(30px,2.75vw,39px);
  line-height:1.08;
}
body.ch8-ui .ch-ui-home .ch-ui-featured .ch-ui-section-heading p:not(.ch-ui-eyebrow) {
  max-width:330px;
  color:#c3d8df;
  font-size:14px;
  line-height:1.58;
}
body.ch8-ui .ch-ui-home .ch-ui-featured .ch-ui-text-link {
  display:inline-flex;
  margin-top:23px;
  color:#a8e8e8 !important;
  font-size:14px;
  font-weight:750;
}
body.ch8-ui .ch-ui-home .ch-ui-part-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
body.ch8-ui .ch-ui-home .ch-ui-part-card {
  position:relative;
  min-height:95px;
  padding:15px 43px 14px 17px;
  border:1px solid rgba(195,228,231,.2);
  border-radius:11px;
  background:rgba(255,255,255,.065);
  box-shadow:inset 0 1px rgba(255,255,255,.035);
}
body.ch8-ui .ch-ui-home .ch-ui-part-card:hover {
  transform:translateY(-2px);
  border-color:rgba(147,230,228,.75);
  background:rgba(255,255,255,.12);
  box-shadow:0 9px 20px rgba(3,24,34,.17);
}
body.ch8-ui .ch-ui-home .ch-ui-part-card > span {
  color:#add1d9;
  font-size:11px;
  letter-spacing:.015em;
}
body.ch8-ui .ch-ui-home .ch-ui-part-card strong {
  margin:6px 0 0;
  color:#fff;
  font-size:clamp(14px,1.2vw,17px);
  font-weight:750;
  letter-spacing:-.01em;
}
body.ch8-ui .ch-ui-home .ch-ui-part-card small {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
}
body.ch8-ui .ch-ui-home .ch-ui-part-card:after {
  content:"↗";
  position:absolute;
  top:17px;
  right:17px;
  color:#9cdbdb;
  font-size:18px;
  line-height:1;
}
body.ch8-ui .ch-ui-home .ch-ui-featured > .ch-ui-fineprint {
  grid-column:1 / -1;
  margin:2px 0 0;
  color:#aac7d0;
  font-size:12px;
}

/* Brand routes become navigation, not a second wall of product cards. */
body.ch8-ui :is(.ch-ui-home,.ch-ui-products) .ch-ui-brand-grid { gap:10px; }
body.ch8-ui :is(.ch-ui-home,.ch-ui-products) .ch-ui-brand {
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 20px;
  grid-template-rows:auto auto;
  align-content:center;
  align-items:center;
  column-gap:13px;
  min-height:96px;
  padding:17px;
  border:1px solid #dbe7e9;
  border-radius:13px;
  background:#fff;
  box-shadow:0 3px 10px rgba(25,58,70,.035);
}
body.ch8-ui :is(.ch-ui-home,.ch-ui-products) .ch-ui-brand:hover {
  transform:translateY(-2px);
  border-color:#8fbec0;
  background:#fbfdfd;
  box-shadow:0 10px 22px rgba(25,58,70,.09);
}
body.ch8-ui :is(.ch-ui-home,.ch-ui-products) .ch-ui-brand-mark {
  grid-column:1;
  grid-row:1 / 3;
  width:46px;
  height:46px;
  margin:0;
  border-radius:9px;
}
body.ch8-ui :is(.ch-ui-home,.ch-ui-products) .ch-ui-brand strong {
  grid-column:2;
  grid-row:1;
  margin:0 0 3px;
  font-size:15px;
  line-height:1.2;
}
body.ch8-ui :is(.ch-ui-home,.ch-ui-products) .ch-ui-brand small {
  grid-column:2;
  grid-row:2;
  font-size:11px;
  line-height:1.3;
}
body.ch8-ui :is(.ch-ui-home,.ch-ui-products) .ch-ui-brand-arrow {
  position:static;
  grid-column:3;
  grid-row:1 / 3;
  align-self:center;
  font-size:18px;
}
body.ch8-ui :is(.ch-ui-home,.ch-ui-products) .ch-ui-brand:after { content:none; }
body.ch8-ui .ch-ui-home .ch-ui-featured + .ch-ui-section .ch-ui-section-heading { margin-bottom:20px; }

/* Search is the primary action; the existing GET controls retain their URLs and parameters. */
body.ch8-ui .ch-ui-popular .ch-ui-popular-hero { margin-bottom:30px; }
body.ch8-ui .ch-ui-popular .ch-ui-popular-hero {
  gap:24px;
  padding:27px 30px;
}
body.ch8-ui .ch-ui-popular .ch-ui-popular-hero h1 { font-size:clamp(32px,3vw,41px); }
body.ch8-ui .ch-ui-popular .ch-ui-popular-hero > div > p:not(.ch-ui-eyebrow) { font-size:14px; line-height:1.52; }
body.ch8-ui .ch-ui-popular .ch-ui-popular-hero aside { padding:20px 22px; }
body.ch8-ui .ch-ui-popular .ch-ui-popular-hero aside h2 { font-size:21px; }
body.ch8-ui .ch-ui-popular .ch-ui-popular-hero aside p:not(.ch-ui-eyebrow) { font-size:12px; line-height:1.48; }
body.ch8-ui .ch-ui-popular .ch-ui-popular-heading { margin-bottom:14px; }
body.ch8-ui .ch-ui-popular .ch-ui-popular-heading h2 { font-size:clamp(27px,2.5vw,34px); }
body.ch8-ui .ch-ui-popular .ch-pp-tools {
  display:block;
  margin:0 0 16px;
  padding:21px 23px 17px;
  border:1px solid #d9e7e9;
  border-radius:15px;
  background:#fff;
  box-shadow:0 7px 20px rgba(27,60,74,.045);
}
body.ch8-ui .ch-ui-popular .ch-pp-search { width:100%; max-width:none; min-width:0; }
body.ch8-ui .ch-ui-popular .ch-pp-search input[type="search"] {
  height:55px;
  padding:0 18px;
  border-color:#cddfe3;
  border-radius:9px 0 0 9px;
  color:#183748;
  font-size:16px;
  box-shadow:none;
}
body.ch8-ui .ch-ui-popular .ch-pp-search input[type="search"]:focus { border-color:#0a719e; box-shadow:inset 0 0 0 1px #0a719e; }
body.ch8-ui .ch-ui-popular .ch-pp-search button {
  height:55px;
  min-width:135px;
  border-color:#0a719e;
  border-radius:0 9px 9px 0;
  background:#0a719e;
  font-weight:750;
}
body.ch8-ui .ch-ui-popular .ch-pp-search button:hover { border-color:#075b7e; background:#075b7e; }
body.ch8-ui .ch-ui-popular .ch-pp-az {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:3px;
  margin-top:17px;
  padding-top:14px;
  border-top:1px solid #e7eff0;
}
body.ch8-ui .ch-ui-popular .ch-pp-az:before {
  content:"INITIAL";
  flex:none;
  margin-right:10px;
  color:#647d88;
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
}
body.ch8-ui .ch-ui-popular .ch-pp-az-item {
  min-width:31px;
  height:32px;
  border-radius:6px;
  color:#326079;
  font-size:12px;
  font-weight:700;
  text-decoration:none;
}
body.ch8-ui .ch-ui-popular .ch-pp-az-item:hover { background:#edf6f5; color:#0a647c; }
body.ch8-ui .ch-ui-popular .ch-pp-az-item.is-active { background:#0a719e; color:#fff; }
body.ch8-ui .ch-ui-popular .ch-pp-tabs {
  display:flex;
  flex-wrap:nowrap;
  gap:7px;
  margin:0 0 17px;
  padding:2px 0 7px;
  overflow-x:auto;
  scrollbar-width:thin;
}
body.ch8-ui .ch-ui-popular .ch-pp-tab {
  flex:none;
  height:38px;
  border-color:#d7e5e8;
  border-radius:999px;
  background:#fff;
  color:#315166;
  font-size:12px;
  text-decoration:none;
}
body.ch8-ui .ch-ui-popular .ch-pp-tab:hover { border-color:#79acb4; background:#f1f8f8; }
body.ch8-ui .ch-ui-popular .ch-pp-tab.is-active { border-color:#0a719e; background:#0a719e; color:#fff; }
body.ch8-ui .ch-ui-popular .ch-pp-status { margin:0 0 15px; padding:0 2px; }
body.ch8-ui .ch-ui-popular .ch-pp-status-label { color:#436171; font-size:13px; font-weight:650; }
body.ch8-ui .ch-ui-popular .ch-pp-grid { gap:10px; }
body.ch8-ui .ch-ui-popular .ch-pp-item {
  min-height:84px;
  padding:16px 43px 15px 16px;
  border:1px solid #dbe7e9;
  border-radius:10px;
  box-shadow:0 3px 10px rgba(25,58,70,.025);
  text-decoration:none !important;
}
body.ch8-ui .ch-ui-popular .ch-pp-item:hover { transform:translateY(-2px); box-shadow:0 9px 18px rgba(20,68,76,.09); }
body.ch8-ui .ch-ui-popular .ch-pp-item:after {
  display:grid;
  place-items:center;
  top:15px;
  right:13px;
  width:25px;
  height:25px;
  transform:none;
  border-radius:50%;
  background:#edf5f5;
  color:#287e8a;
  font-size:14px;
}
body.ch8-ui .ch-ui-popular .ch-pp-pn {
  color:#14374a;
  font-size:14px;
  font-weight:750;
  text-decoration:none !important;
}
body.ch8-ui .ch-ui-popular .ch-pp-brand { color:#627e8d; font-size:11px; text-decoration:none !important; }

@media (max-width:1100px) {
  body.ch8-ui .ch-ui-home .ch-ui-featured { grid-template-columns:1fr; }
  body.ch8-ui .ch-ui-home .ch-ui-featured h2,
  body.ch8-ui .ch-ui-home .ch-ui-featured .ch-ui-section-heading p:not(.ch-ui-eyebrow) { max-width:none; }
  body.ch8-ui .ch-ui-home .ch-ui-featured .ch-ui-text-link { margin-top:12px; }
}
@media (max-width:760px) {
  body.ch8-ui .ch-ui-popular .ch-ui-popular-hero { margin-bottom:24px; padding:23px 20px; }
  body.ch8-ui .ch-ui-popular .ch-ui-popular-hero h1 { font-size:30px; }
  body.ch8-ui .ch-ui-popular .ch-ui-popular-hero > div > p:not(.ch-ui-eyebrow) { margin-bottom:8px; font-size:13px; line-height:1.45; }
  body.ch8-ui .ch-ui-popular .ch-ui-popular-hero .ch-ui-button { display:none; }
  body.ch8-ui .ch-ui-popular .ch-ui-popular-hero small { margin-top:9px; }
  body.ch8-ui .ch-ui-popular .ch-ui-popular-heading .ch-ui-eyebrow { display:none; }
  body.ch8-ui .ch-ui-popular .ch-ui-popular-heading h2 { font-size:23px; line-height:1.2; }
  body.ch8-ui .ch-ui-home .ch-ui-featured { gap:20px; margin-bottom:44px; padding:25px 19px; border-radius:17px; }
  body.ch8-ui .ch-ui-home .ch-ui-part-grid { grid-template-columns:1fr; gap:8px; }
  body.ch8-ui .ch-ui-home .ch-ui-part-card { min-height:78px; padding:12px 37px 11px 14px; }
  body.ch8-ui .ch-ui-home .ch-ui-part-card strong { font-size:15px; }
  body.ch8-ui :is(.ch-ui-home,.ch-ui-products) .ch-ui-brand-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  body.ch8-ui :is(.ch-ui-home,.ch-ui-products) .ch-ui-brand { grid-template-columns:35px minmax(0,1fr) 10px; min-height:85px; column-gap:9px; padding:12px 10px; }
  body.ch8-ui :is(.ch-ui-home,.ch-ui-products) .ch-ui-brand-mark { width:34px; height:34px; }
  body.ch8-ui :is(.ch-ui-home,.ch-ui-products) .ch-ui-brand strong { font-size:12px; overflow-wrap:anywhere; }
  body.ch8-ui :is(.ch-ui-home,.ch-ui-products) .ch-ui-brand small { font-size:10px; }
  body.ch8-ui :is(.ch-ui-home,.ch-ui-products) .ch-ui-brand-arrow { font-size:15px; }
  body.ch8-ui .ch-ui-popular .ch-pp-tools { padding:15px; }
  body.ch8-ui .ch-ui-popular .ch-pp-search input[type="search"],
  body.ch8-ui .ch-ui-popular .ch-pp-search button { height:49px; }
  body.ch8-ui .ch-ui-popular .ch-pp-search button { min-width:90px; padding:0 12px; }
  body.ch8-ui .ch-ui-popular .ch8-az-toggle { margin-top:12px; border-top:1px solid #e7eff0; }
  body.ch8-ui .ch-ui-popular .ch8-az-toggle summary { padding:12px 2px 2px; color:#28617a; font-size:13px; font-weight:750; cursor:pointer; }
  body.ch8-ui .ch-ui-popular .ch8-az-toggle summary::marker { color:#0a719e; }
  body.ch8-ui .ch-ui-popular .ch8-az-toggle .ch-pp-az { gap:2px; margin-top:4px; padding-top:5px; border-top:0; }
  body.ch8-ui .ch-ui-popular .ch8-az-toggle .ch-pp-az:before { display:none; }
  body.ch8-ui .ch-ui-popular .ch-pp-az-item { min-width:31px; }
}
@media (max-width:500px) {
  body.ch8-ui :is(.ch-ui-home,.ch-ui-products) .ch-ui-brand-grid { grid-template-columns:1fr; }
  body.ch8-ui :is(.ch-ui-home,.ch-ui-products) .ch-ui-brand { grid-template-columns:46px minmax(0,1fr) 20px; min-height:74px; column-gap:13px; padding:12px 15px; }
  body.ch8-ui :is(.ch-ui-home,.ch-ui-products) .ch-ui-brand-mark { width:43px; height:43px; }
  body.ch8-ui :is(.ch-ui-home,.ch-ui-products) .ch-ui-brand strong { font-size:14px; }
  body.ch8-ui :is(.ch-ui-home,.ch-ui-products) .ch-ui-brand small { font-size:11px; }
}
@media (prefers-reduced-motion:reduce) {
  body.ch8-ui .ch-ui-home .ch-ui-part-card,
  body.ch8-ui :is(.ch-ui-home,.ch-ui-products) .ch-ui-brand,
  body.ch8-ui .ch-ui-popular .ch-pp-item { transition:none; }
}
