/**
 * Homesite sale status pills — Vision, Forge, Trade Portal, Permit Tracker
 * Colors: --st-sale-* tokens in tokens.css (light + dark via data-theme)
 * Use .status-badge.status-* so colors beat generic .at-badge in primitives.css.
 */

.status-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 5.25rem;
	padding: 0.35rem 0.75rem;
	border: 1px solid transparent;
	border-radius: 0;
	font-family: var(--font-sans, inherit);
	font-size: var(--text-caps, 11px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	text-align: center;
	white-space: nowrap;
}

.status-badge.at-badge.status-available,
.status-badge.at-badge.status-available-spec,
.status-badge.at-badge.status-unavailable,
.status-badge.at-badge.status-reserved,
.status-badge.at-badge.status-reserved-spec,
.status-badge.at-badge.status-sold,
.status-badge.at-badge.status-sold-spec,
.status-badge.at-badge.status-spec,
.status-badge.at-badge.status-closed,
.status-badge.at-badge.status-closed-spec,
.status-badge.at-badge.status-cancelled,
.status-badge.at-badge.status-cancelled-spec,
.status-badge.status-available,
.status-badge.status-available-spec,
.status-available,
.status-available-spec {
	color: var(--st-sale-available-fg);
	background: var(--st-sale-available-bg);
	border-color: var(--st-sale-available-border);
}

.status-badge.status-unavailable,
.status-unavailable {
	color: var(--st-sale-unavailable-fg);
	background: var(--st-sale-unavailable-bg);
	border-color: var(--st-sale-unavailable-border);
}

.status-badge.status-reserved,
.status-badge.status-reserved-spec,
.status-reserved,
.status-reserved-spec {
	color: var(--st-sale-reserved-fg);
	background: var(--st-sale-reserved-bg);
	border-color: var(--st-sale-reserved-border);
}

.status-badge.status-sold,
.status-badge.status-sold-spec,
.status-sold,
.status-sold-spec {
	color: var(--st-sale-sold-fg);
	background: var(--st-sale-sold-bg);
	border-color: var(--st-sale-sold-border);
}

.status-badge.status-spec,
.status-spec {
	color: var(--st-sale-spec-fg);
	background: var(--st-sale-spec-bg);
	border-color: var(--st-sale-spec-border);
}

.status-badge.status-model,
.status-badge.status-available-model,
.status-badge.status-reserved-model,
.status-badge.status-sold-model,
.status-badge.status-closed-model,
.status-badge.status-cancelled-model,
.status-model,
.status-available-model,
.status-reserved-model,
.status-sold-model,
.status-closed-model,
.status-cancelled-model {
	color: var(--st-sale-model-fg);
	background: var(--st-sale-model-bg);
	border-color: var(--st-sale-model-border);
}

.status-badge.status-stay-play,
.status-badge.status-available-stay-play,
.status-badge.status-reserved-stay-play,
.status-badge.status-sold-stay-play,
.status-badge.status-closed-stay-play,
.status-badge.status-cancelled-stay-play,
.status-stay-play,
.status-available-stay-play,
.status-reserved-stay-play,
.status-sold-stay-play,
.status-closed-stay-play,
.status-cancelled-stay-play {
	color: var(--st-sale-stay-play-fg);
	background: var(--st-sale-stay-play-bg);
	border-color: var(--st-sale-stay-play-border);
}

.status-badge.status-closed,
.status-badge.status-closed-spec,
.status-closed,
.status-closed-spec {
	color: var(--st-sale-closed-fg);
	background: var(--st-sale-closed-bg);
	border-color: var(--st-sale-closed-border);
}

.status-badge.status-cancelled,
.status-badge.status-cancelled-spec,
.status-cancelled,
.status-cancelled-spec {
	color: var(--brand-danger-text, var(--brand-danger));
	background: var(--brand-danger-soft);
	border-color: rgba(186, 51, 51, 0.22);
}

.status-badge.status-available-spec,
.status-badge.status-reserved-spec,
.status-badge.status-sold-spec,
.status-badge.status-closed-spec,
.status-badge.status-cancelled-spec,
.status-available-spec,
.status-reserved-spec,
.status-sold-spec,
.status-closed-spec,
.status-cancelled-spec {
	box-shadow: inset 3px 0 0 var(--st-sale-spec-accent);
}

.status-badge.status-available-model,
.status-badge.status-reserved-model,
.status-badge.status-sold-model,
.status-badge.status-closed-model,
.status-badge.status-cancelled-model,
.status-available-model,
.status-reserved-model,
.status-sold-model,
.status-closed-model,
.status-cancelled-model {
	box-shadow: inset 3px 0 0 var(--st-sale-model-accent);
}

.status-badge.status-available-stay-play,
.status-badge.status-reserved-stay-play,
.status-badge.status-sold-stay-play,
.status-badge.status-closed-stay-play,
.status-badge.status-cancelled-stay-play,
.status-available-stay-play,
.status-reserved-stay-play,
.status-sold-stay-play,
.status-closed-stay-play,
.status-cancelled-stay-play {
	box-shadow: inset 3px 0 0 var(--st-sale-stay-play-accent);
}

.forge-hs-status {
	display: inline-flex;
	align-items: center;
	padding: 0.15rem 0.5rem;
	font-size: var(--text-caps, 11px);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border-radius: 0;
	line-height: 1.3;
	white-space: nowrap;
	border: 1px solid transparent;
}

.forge-hs-status--available,
.forge-hs-status--vacant {
	color: var(--st-sale-available-fg);
	background: var(--st-sale-available-bg);
	border-color: var(--st-sale-available-border);
}

.forge-hs-status--unavailable {
	color: var(--st-sale-unavailable-fg);
	background: var(--st-sale-unavailable-bg);
	border-color: var(--st-sale-unavailable-border);
}

.forge-hs-status--reserved {
	color: var(--st-sale-reserved-fg);
	background: var(--st-sale-reserved-bg);
	border-color: var(--st-sale-reserved-border);
}

.forge-hs-status--sold {
	color: var(--st-sale-sold-fg);
	background: var(--st-sale-sold-bg);
	border-color: var(--st-sale-sold-border);
}

.forge-hs-status--spec {
	color: var(--st-sale-spec-fg);
	background: var(--st-sale-spec-bg);
	border-color: var(--st-sale-spec-border);
}

.forge-hs-status--model {
	color: var(--st-sale-model-fg);
	background: var(--st-sale-model-bg);
	border-color: var(--st-sale-model-border);
}

.forge-hs-status--stay-play {
	color: var(--st-sale-stay-play-fg);
	background: var(--st-sale-stay-play-bg);
	border-color: var(--st-sale-stay-play-border);
}

.forge-hs-status--closed,
.forge-hs-status--other {
	color: var(--st-sale-closed-fg);
	background: var(--st-sale-closed-bg);
	border-color: var(--st-sale-closed-border);
}

body.tp-ds .status-badge.tp-clickable-filter:not(.status-available):not(.status-unavailable):not(.status-reserved):not(.status-sold):not(.status-closed):not(.status-spec):not(.status-model):not(.status-stay-play):not(.status-cancelled) {
	background: var(--surface-subtle);
	border-color: var(--border-default);
	color: var(--text-secondary);
	cursor: pointer;
}

body.tp-ds .status-badge.tp-clickable-filter[class*="status-"] {
	cursor: pointer;
}

body.tp-ds .status-badge.tp-clickable-filter:hover {
	filter: none;
	transform: none;
}

body.tp-ds .status-badge.tp-clickable-filter:focus-visible {
	box-shadow: 0 0 0 3px var(--brand-accent-soft);
	outline: none;
}
