/* Availability indicator v1 — racestage.eu 20261023 */

/* Wrapper: badge + contact-line stacked vertically */
.rs-avail-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
}

.rs-avail {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 5px;
  border-radius: 8px;
  border: 1px solid transparent;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
}

.rs-avail__icon { font-size: 14px; }

/* Separator: CSS-only vertical bar — screen readers unaffected */
.rs-avail__count {
  position: relative;
  padding-left: 8px;
}
.rs-avail__count::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: .8em;
  border-left: 1px solid currentColor;
  opacity: .35;
}
.rs-avail__count strong { font-size: 14px; font-weight: 600; }
.rs-avail__unit         { font-size: 12px; font-weight: 400; }

/* States — contrast ratios: 5.6:1 / 5.6:1 / 8.7:1 */
.rs-avail--instock   { background: #e8f8ee; color: #08733a; border-color: #b5e8c8; }
.rs-avail--lastone   { background: #e8f8ee; border-color: #b5e8c8; color: #08733a; }
.rs-avail--onrequest { background: #fef4e4; border-color: #f6d7a3; color: #8f5300; }

/* Mobile ≤767px: label above badge */
@media (max-width: 767px) {
  .rs-availability {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
}
