/* OH-037: shared badges, quiet outlined reference style. */
.oh-stock-signal {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  width: max-content;
  max-width: 100%;
  padding: 5px 7px;
  border: 1px solid var(--oh-secondary);
  border-radius: 12px;
  background: var(--oh-color7);
  color: var(--oh-primary);
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
  word-break: normal;
}
.oh-stock-signal .oh-stock-icon {
  width: 11px;
  height: 11px;
  flex: 0 0 11px;
  fill: none;
  stroke: currentColor;
}
.oh-stock-signal--single {
  margin-bottom: 12px;
}
.oh-stock-signal--sold {
  background: var(--oh-secondary);
  color: var(--oh-color7);
}
.oh-stock-signal-default[hidden],
.oh-dispatch-cutoff[hidden] {
  display: none !important;
}
.oh-dispatch-cutoff {
  color: var(--oh-primary);
}
.oh-dispatch-cutoff--today {
  font-weight: 600;
}
/* A full-width label rail stacks sale/new/stock pills without overlap. */
.oh-product-top > .product-labels {
  max-width: calc(100% - 14px);
  width: auto;
  inset-inline-end: 7px;
  pointer-events: none;
  gap: 5px;
}
/* On narrow two-column cards, leave the top-right wishlist button clear.
   New/sale pills already occupy 22px + the 5px rail gap. */
@media (max-width: 480px) {
  .product-labels > .oh-stock-signal:not(.oh-stock-signal--sold):first-child {
    margin-top: 43px;
  }
  .product-labels > .oh-stock-signal:not(.oh-stock-signal--sold):nth-child(2) {
    margin-top: 16px;
  }
}
.oh-subcategory-chips {
  margin-bottom: 24px;
}
.oh-subcategory-chip {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 8px 14px;
  border: 1px solid var(--oh-color6);
  color: var(--oh-primary);
  font-size: 14px;
  line-height: 1.3;
}
.oh-subcategory-chip:hover,
.oh-subcategory-chip:focus-visible {
  background: var(--oh-primary);
  color: var(--oh-color7);
}
.oh-subcategory-chip:focus-visible {
  outline: 2px solid var(--oh-primary);
  outline-offset: 3px;
}
