:root {
  --hf-pcs-navy: #1B2545;
  --hf-pcs-orange: #E8622B;
  --hf-pcs-amber: #854F0B;
  --hf-pcs-muted: #6b6a63;
  --hf-pcs-border: #e5e3da;
  --hf-pcs-surface: #f5f5f2;
  --hf-pcs-error: #a3392e;
}

/* ---- Single product page status block ---- */

.hf-pcs-status {
  margin: 0.75em 0;
  padding: 0.65em 1em;
  border: 1px solid var(--hf-pcs-border);
  border-radius: 6px;
  background: var(--hf-pcs-surface);
}

.hf-pcs-status p {
  margin: 0;
  font-size: 0.95em;
}

.hf-pcs-coming-soon-label,
.hf-pcs-countdown-label {
  font-weight: 600;
  color: var(--hf-pcs-navy);
}

.hf-pcs-countdown-value {
  font-variant-numeric: tabular-nums;
  color: var(--hf-pcs-orange);
  font-weight: 600;
}

.hf-pcs-status--preorder_ended .hf-pcs-ended-label {
  font-weight: 600;
  color: var(--hf-pcs-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.hf-pcs-status--coming_soon {
  border-color: var(--hf-pcs-navy);
}

/* ---- Grid card badge ---- */

ul.products li.product .hf-pcs-card-badge {
  display: inline-block;
  margin-bottom: 0.4em;
  padding: 0.2em 0.6em;
  font-size: 0.72em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-radius: 3px;
  color: #fff;
  background: var(--hf-pcs-navy);
}

ul.products li.product .hf-pcs-card-badge--coming_soon {
  background: var(--hf-pcs-navy);
}

ul.products li.product .hf-pcs-card-badge--preorder_not_started,
ul.products li.product .hf-pcs-card-badge--preorder_active {
  background: var(--hf-pcs-orange);
}

ul.products li.product .hf-pcs-card-badge--preorder_ended {
  background: var(--hf-pcs-muted);
}

ul.products li.product .hf-pcs-card-countdown {
  margin: 0.3em 0 0;
  font-size: 0.78em;
  color: var(--hf-pcs-muted);
}

ul.products li.product .hf-pcs-card-countdown .hf-pcs-countdown-value {
  color: var(--hf-pcs-orange);
}

ul.products li.product .hf-pcs-card-disabled-btn {
  cursor: not-allowed;
  opacity: 0.5;
  background: var(--hf-pcs-muted) !important;
  border-color: var(--hf-pcs-muted) !important;
  color: #fff !important;
  pointer-events: none;
}

/* ---- Cart line item flag ---- */

.hf-pcs-cart-flag {
  display: inline-block;
  margin-left: 0.5em;
  padding: 0.1em 0.5em;
  font-size: 0.75em;
  font-weight: 600;
  color: #fff;
  background: var(--hf-pcs-error);
  border-radius: 3px;
  vertical-align: middle;
}
