/* Approved light theme: Nunito + C Original. Load after current portal CSS.
   Enable with body.qh-portal-og. Adapt observed hooks if the live renderer changed. */
@font-face {
  font-family: "QH Nunito";
  src: url("fonts/nunito-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
}
body.qh-portal-og,
body.qh-portal-og #qh-charcoal-final .cc-app {
  --qh-font: "QH Nunito", Arial, sans-serif;
  --qh-ink: #34312e;
  --qh-muted: #665f58;
  --qh-header: #37332f;
  --qh-paper: #fffefa;
  --qh-soft: #f3f0ea;
  --qh-line: #ded8d0;
  --qh-control: #8e8174;
  --qh-copper: #e89959;
  --qh-action: #8d421a;
  --qh-selected: #f9eadc;
  --qh-hover: #eeebe5;
  /* Existing site.css and qh-charcoal.css token aliases. */
  --ink: var(--qh-ink);
  --muted: var(--qh-muted);
  --line: var(--qh-line);
  --paper: var(--qh-paper);
  --wash: var(--qh-soft);
  --orange: var(--qh-copper);
  --orange-dark: var(--qh-action);
  --orange-soft: var(--qh-selected);
  --link: var(--qh-action);
  --cc-ink: var(--qh-ink);
  --cc-muted: var(--qh-muted);
  --cc-paper: var(--qh-paper);
  --cc-line: var(--qh-line);
  --cc-wash: var(--qh-soft);
  --cc-head: var(--qh-soft);
  --cc-tint: var(--qh-selected);
  --cc-orange: var(--qh-copper);
  --cc-accent: var(--qh-action);
  font-family: var(--qh-font);
  color: var(--qh-ink);
  background: var(--qh-paper);
  color-scheme: light;
}
body.qh-portal-og #qh-charcoal-final :is(button,input,select,textarea,h1,h2,h3,table) {
  font-family: var(--qh-font);
}
body.qh-portal-og #qh-charcoal-final .cc-header {
  background: var(--qh-header);
  color: #fff;
}
body.qh-portal-og #qh-charcoal-final .cc-header :is(.cc-logo,.cc-customer,.header-admin-link,.header-customer-change) {
  color: #fff;
}
body.qh-portal-og #qh-charcoal-final .cc-search {
  background: var(--qh-paper);
  color: var(--qh-ink);
}
body.qh-portal-og #qh-charcoal-final .cc-search :is(input,button) { color: var(--qh-ink); }
body.qh-portal-og #qh-charcoal-final .cc-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto 42px auto;
  align-items: center;
  gap: 8px 10px;
}
body.qh-portal-og #qh-charcoal-final .cc-header .cc-logo { grid-column: 1; grid-row: 1; }
body.qh-portal-og #qh-charcoal-final .cc-header .mark-logo,
body.qh-portal-og #qh-charcoal-final .cc-header .mark-logo img { height: 56px; width: auto; }
body.qh-portal-og #qh-charcoal-final .cc-header .cc-search {
  grid-column: 2; grid-row: 1; width: 100%; max-width: none; margin: 0;
}
body.qh-portal-og #qh-charcoal-final .cc-header .cc-customer {
  grid-column: 3; grid-row: 1; justify-self: end; max-width: 16rem; min-width: 0;
}
body.qh-portal-og #qh-charcoal-final .cc-header .cc-order-toggle { grid-column: 4; grid-row: 1; }
body.qh-portal-og #qh-charcoal-final .cc-header .header-sign-out {
  grid-column: 5; grid-row: 1; justify-self: end; margin: 0; width: auto; min-height: 32px;
  padding: 0 0.35rem; border: 0; background: transparent; color: #fff; font-size: 12px; font-weight: 700;
}
body.qh-portal-og #qh-charcoal-final .cc-order-toggle {
  position: relative; width: 42px; height: 40px; min-height: 40px; padding: 0;
  display: grid; place-items: center; background: transparent; border: 0;
  color: var(--qh-copper); font-weight: 600;
}
body.qh-portal-og #qh-charcoal-final .cc-header .cart-ic,
body.qh-portal-og #qh-charcoal-final .cc-header .cart-svg {
  display: block; width: 26px; height: 26px; color: var(--qh-copper); -webkit-text-fill-color: var(--qh-copper);
}
body.qh-portal-og #qh-charcoal-final .cc-order-label { display: none; }
body.qh-portal-og #qh-charcoal-final .cc-order-toggle .cart-copy {
  position: absolute; top: -2px; right: -4px; margin: 0; padding: 0 4px; min-width: 16px; height: 16px;
  display: grid; place-items: center; background: var(--qh-copper); color: #1c140c; border-radius: 99px;
  font-size: 10px; line-height: 1; font-weight: 800;
}
body.qh-portal-og #qh-charcoal-final .cc-order-toggle .cart-copy b {
  background: transparent; color: #1c140c; margin: 0; padding: 0; border: 0; font-size: 10px;
}
@media (max-width: 680px) {
  body.qh-portal-og #qh-charcoal-final .cc-header {
    grid-template-columns: auto minmax(0, 1fr) 40px;
  }
  body.qh-portal-og #qh-charcoal-final .cc-header .cart-link,
  body.qh-portal-og #qh-charcoal-final .cc-order-toggle {
    grid-column: 3;
    grid-row: 1;
    width: 40px;
    height: 40px;
    min-height: 40px;
    padding: 0;
    background: transparent;
    color: var(--qh-copper);
    display: grid;
    place-items: center;
    justify-self: end;
    align-self: center;
    border: 0;
    position: relative;
  }
  body.qh-portal-og #qh-charcoal-final .cc-header .cc-order-toggle .cart-ic,
  body.qh-portal-og #qh-charcoal-final .cc-header .cc-order-toggle .cart-svg {
    display: block;
    color: var(--qh-copper);
    width: 26px;
    height: 26px;
  }
  body.qh-portal-og #qh-charcoal-final .cc-order-toggle .cc-order-label { display: none; }
  body.qh-portal-og #qh-charcoal-final .cc-order-toggle .cart-copy {
    position: absolute;
    top: -2px;
    right: -4px;
    margin: 0;
    padding: 0 4px;
    min-width: 16px;
    height: 16px;
    display: grid;
    place-items: center;
    background: var(--qh-copper);
    color: #fff;
    border-radius: 99px;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    gap: 0;
  }
  body.qh-portal-og #qh-charcoal-final .cc-order-toggle .cart-copy b {
    background: transparent;
    color: #fff;
    padding: 0;
    margin: 0;
    border: 0;
    min-width: 0;
    font-size: 10px;
  }
}
body.qh-portal-og #qh-charcoal-final .mark-logo img { object-fit: contain; }
body.qh-portal-og #qh-charcoal-final .mark-logo-shade { display: none; }
body.qh-portal-og #qh-charcoal-final .cc-sidebar { background: var(--qh-soft); }
body.qh-portal-og #qh-charcoal-final .cc-layout {
  grid-template-columns: 250px minmax(0, 1fr);
}
body.qh-portal-og #qh-charcoal-final #stage {
  min-width: 0;
  max-width: none;
}
@media (min-width: 861px) {
  body.qh-portal-og #qh-charcoal-final #stage {
    padding-left: 1in;
    padding-right: 1in;
  }
}
@container qhcompact (max-width: 840px) {
  body.qh-portal-og #qh-charcoal-final .cc-layout {
    grid-template-columns: 220px minmax(0, 1fr);
  }
}
/* Replace the captured 18vh family-table gap with compact separation. */
body.qh-portal-og #qh-charcoal-final .family-body-sheet.results-scroll { margin-bottom: 8px; }
body.qh-portal-og #qh-charcoal-final table.adapter-results {
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  color: var(--qh-ink);
  background: var(--qh-paper);
}
body.qh-portal-og #qh-charcoal-final table.adapter-results :is(th,td) {
  border-color: var(--qh-line);
  vertical-align: middle;
}
body.qh-portal-og #qh-charcoal-final table.adapter-results thead th {
  position: sticky;
  top: calc(var(--chrome-h, 96px) + var(--family-h, 0px));
  z-index: 5;
  padding: 4px 6px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--qh-muted);
  background: var(--qh-soft);
}
body.qh-portal-og #qh-charcoal-final .app-chrome.is-away ~ .shell table.adapter-results thead th { top: var(--family-h, 0px); }
body.qh-portal-og #qh-charcoal-final table.adapter-results td { padding: 2px 6px; height: auto; min-height: 30px; }
body.qh-portal-og #qh-charcoal-final table.adapter-results .item-sku-line b { font-weight: 600; }
body.qh-portal-og #qh-charcoal-final table.adapter-results .col-add .qty-add {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
}
body.qh-portal-og #qh-charcoal-final table.adapter-results .qty-add .qty {
  width: 44px;
  min-width: 44px;
  flex: 0 0 44px;
  box-sizing: border-box;
  padding: 2px;
  text-align: center;
}
body.qh-portal-og #qh-charcoal-final table.adapter-results .add-btn {
  width: 43px;
  flex: 0 0 43px;
  border: 1px solid var(--qh-action);
  border-radius: 3px;
  color: var(--qh-action);
  background: var(--qh-paper);
  font-weight: 500;
  padding: 2px;
  transition: background-color 110ms ease, color 110ms ease;
}
body.qh-portal-og #qh-charcoal-final table.adapter-results .add-btn:hover {
  color: #fff;
  background: var(--qh-action);
}
body.qh-portal-og #qh-charcoal-final .family-sheet-tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin: 0 0 6px;
}
body.qh-portal-og #qh-charcoal-final .family-sheet-tools .sort-pick {
  font-size: 12px;
  color: var(--qh-muted);
}
body.qh-portal-og #qh-charcoal-final .family-sheet-tools select {
  margin-left: 6px;
  min-height: 28px;
  font-size: 12px;
}
@media (max-width: 680px) {
  body.qh-portal-og #qh-charcoal-final table.adapter-results .col-add .qty-add {
    flex-direction: row !important;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
  }
  body.qh-portal-og #qh-charcoal-final table.adapter-results .qty-add .qty,
  body.qh-portal-og #qh-charcoal-final table.adapter-results .col-add .qty {
    width: 2rem !important;
    min-width: 0 !important;
    flex: 0 0 2rem !important;
    min-height: 30px;
    font-size: 16px;
  }
  body.qh-portal-og #qh-charcoal-final table.adapter-results .col-add .add-btn {
    width: auto !important;
    min-width: 2.15rem !important;
    flex: 0 0 auto !important;
    min-height: 30px;
  }
  body.qh-portal-og #qh-charcoal-final table.adapter-results tbody tr:not(.detail-row):not(.group-row) td {
    height: 32px; padding-top: 1px; padding-bottom: 1px;
  }
  body.qh-portal-og #qh-charcoal-final .cc-header {
    grid-template-columns: auto minmax(0, 1fr) 40px auto;
  }
  body.qh-portal-og #qh-charcoal-final .cc-header .mark-logo,
  body.qh-portal-og #qh-charcoal-final .cc-header .mark-logo img { height: 42px; }
  body.qh-portal-og #qh-charcoal-final .cc-header .cc-customer { grid-column: 2 / 5; grid-row: 1; }
  body.qh-portal-og #qh-charcoal-final .cc-header .cc-search {
    grid-column: 1 / 3; grid-row: 2; width: auto; max-width: none; margin: 0;
  }
  body.qh-portal-og #qh-charcoal-final .cc-header .cc-order-toggle { grid-column: 3; grid-row: 2; }
  body.qh-portal-og #qh-charcoal-final .cc-header .header-sign-out {
    grid-column: 4; grid-row: 2; min-width: 0; font-size: 11px; white-space: nowrap;
  }
  body.qh-portal-og #qh-charcoal-final table.adapter-results thead th {
    top: calc(var(--chrome-h, 96px) + var(--refine-strip, 0px) + var(--family-h, 0px));
  }
  body.qh-portal-og #qh-charcoal-final .app-chrome.is-away ~ .shell table.adapter-results thead th {
    top: calc(var(--refine-strip, 0px) + var(--family-h, 0px));
  }
}
@media (max-width: 560px) {
  body.qh-portal-og #qh-charcoal-final table.adapter-results :is(th,td) { padding-inline: 3px; }
  body.qh-portal-og #qh-charcoal-final table.adapter-results .qty-add :is(.qty,.add-btn) { min-height: 30px; }
  body.qh-portal-og #qh-charcoal-final :is(input,select,textarea) { font-size: 16px; }
}
@media (pointer: coarse) {
  body.qh-portal-og #qh-charcoal-final table.adapter-results .qty-add :is(.qty,.add-btn) { min-height: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  body.qh-portal-og #qh-charcoal-final table.adapter-results .add-btn { transition: none; }
}

/* Close the leftover 18vh gap on every parts sheet, not only adapter family tables. */
body.qh-portal-og #qh-charcoal-final .results-scroll { margin-bottom: 8px; }
body.qh-portal-og #qh-charcoal-final .catalog-style { margin: 0 0 8px; }
body.qh-portal-og #qh-charcoal-final :is(.catalog-style-stack,.he-type-stack) { gap: 8px; }
body.qh-portal-og { font-weight: 400; }
body.qh-portal-og #qh-charcoal-final :is(button,select,label,.add-btn,.ghost-btn) { font-weight: 500; }
body.qh-portal-og #qh-charcoal-final :is(h1,h2,h3,.page,.qh-family-title,.item-sku-line b) { font-weight: 600; }
body.qh-portal-og #qh-charcoal-final .ff-box {
  max-height: 131px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-gutter: stable;
  border: 1px solid var(--qh-line);
  background: var(--qh-paper);
}
