/* ==========================================================================
   Status Display Component - Handles chip, badge, and template variants
   ========================================================================== */

/* Base status display */
.note-status-chip {
	display: inline-flex;
	align-items: center;
	gap: var(--size-2-2);
	padding: var(--size-2-1) var(--size-2-3);
	background: var(--interactive-accent);
	color: var(--text-on-accent);
	border-radius: var(--radius-s);
	font-size: var(--font-ui-smaller);
	cursor: default;
	transition:
		transform var(--anim-duration-fast) ease,
		opacity var(--anim-duration-fast) ease,
		box-shadow var(--anim-duration-fast) ease;
}

.note-status-chip--clickable {
	cursor: pointer;
}

.note-status-chip--clickable:hover {
	opacity: 0.92;
	transform: translateY(-1px);
	box-shadow: var(--shadow-s);
}

.note-status-chip--removing {
	opacity: 0.5;
	transform: scale(0.95);
}

.note-status-chip__icon {
	font-size: 1em;
	display: inline-flex;
}

.note-status-chip__text {
	font-weight: var(--font-medium);
}

.note-status-chip__remove {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.2);
	margin-left: var(--size-2-1);
	cursor: pointer;
	border: none;
	color: inherit;
	padding: 0;
	font: inherit;
	line-height: 1;
}

.note-status-chip__remove:hover {
	background: rgba(255, 255, 255, 0.3);
}

.note-status-chip__remove:focus-visible {
	outline: 2px solid var(--background-modifier-border);
}

/* Badge variant */
.status-badge-container {
	display: inline-flex;
	align-items: center;
	gap: var(--size-2-2);
	padding: var(--size-2-1) var(--size-4-2);
	border-radius: var(--radius-s);
	border: 1px solid var(--background-modifier-border);
	background: var(--background-primary);
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.status-badge-container::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	background: transparent;
	opacity: 0.85;
	display: none;
}

.status-badge-container--clickable {
	cursor: pointer;
	transition:
		background var(--anim-duration-fast) ease,
		box-shadow var(--anim-duration-fast) ease,
		filter var(--anim-duration-fast) ease;
}

.status-badge-container--clickable:not(.status-badge--filled):hover {
	background: var(--background-modifier-hover);
	box-shadow: var(--shadow-s);
}

.status-badge--accent {
	padding-left: calc(var(--size-4-1) + 4px);
}

.status-badge--accent::before {
	display: block;
	background: var(--status-accent, var(--interactive-accent));
}

.status-badge--filled {
	background: var(--status-accent, var(--interactive-accent));
	border-color: var(--status-accent, var(--interactive-accent));
	color: var(--text-on-accent);
	padding-left: var(--size-4-2);
}

.status-badge--filled .status-badge-icon,
.status-badge--filled .status-badge-text {
	color: inherit;
}

.status-badge--filled.status-badge-container--clickable:hover {
	filter: brightness(1.05);
	background: var(--status-accent, var(--interactive-accent));
	box-shadow: var(--shadow-s);
}

.status-badge--dot {
	border: none;
	background: transparent;
	padding: var(--size-2-1) var(--size-2-2);
	gap: var(--size-2-1);
}

.status-badge--dot::before {
	display: none;
}

.status-badge--dot .status-badge-item {
	gap: var(--size-2-2);
}

.status-badge-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--status-accent, var(--interactive-accent));
	box-shadow: 0 0 0 1px var(--background-primary);
}

.status-badge--empty {
	min-width: 32px;
	justify-content: center;
}

.status-badge-item {
	display: flex;
	align-items: center;
	gap: var(--size-2-1);
	position: relative;
	z-index: 1;
}

.status-badge-icon {
	font-size: var(--font-ui-small);
}

.status-badge-text {
	font-weight: var(--font-medium);
	font-size: var(--font-ui-small);
}

.status-badge-empty {
	display: inline-block;
	min-width: var(--size-3-2);
	height: var(--size-3-2);
}

/* Template variant */
.template-status-chip {
	display: inline-flex;
	align-items: center;
	gap: var(--size-2-1);
	padding: var(--size-2-1) var(--size-2-3);
	background: var(--background-secondary);
	border: 1px solid var(--background-modifier-border);
	border-radius: var(--radius-m);
	font-size: var(--font-ui-smaller);
	cursor: default;
	transition: background var(--anim-duration-fast) ease;
}

.template-status-chip[data-clickable="true"] {
	cursor: pointer;
}

.template-status-chip[data-clickable="true"]:hover {
	background: var(--background-modifier-hover);
}

.template-status-color-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: var(--dot-color);
}

.template-status-chip__label {
	display: inline-flex;
	align-items: center;
	gap: var(--size-2-1);
}

.template-status-chip__icon {
	display: inline-flex;
	font-size: 1em;
}
