.setting-collapsible[open] > summary {
	padding-bottom: 1em;
}

.setting-collapsible > summary .setting-item-name {
	font-weight: var(--font-semibold);
	font-size: var(--font-ui-medium);
}

.setting-collapsible .setting-item:not(.setting-item-heading) .setting-item-name {
	font-weight: var(--font-weight);
}

.setting-collapsible[open] > div {
	border-left: 2px solid var(--background-modifier-border);
	padding-left: 1em;
}

.sidecar-reset-destructive-text {
  color: var(--color-red, #f44336) !important;
}

.multiple-text-component {
	/* Not sure if there is a non-hardcoded way to align with other single-line text components */
	min-width: 164.8px;
}

.multiple-text-component textarea {
	/* Does this have fine compatibility? */
	field-sizing: content;
	resize: none;
	min-width: 164.8px;
}

.sidecar-notice-value {
	font-weight: bold;
}

/* General dimming for all nav-file-tag elements (including base extensions) */
.nav-file-tag.dimmed {
	opacity: var(--link-unresolved-opacity);
}

/* Restore opacity on hover/active for all nav-file-tag elements */
.nav-file-title:hover .nav-file-tag.dimmed,
.nav-file-title.is-active .nav-file-tag.dimmed {
	opacity: 1;
}

/* Unified styling for all sidecar tags */
.nav-file-tag.sidecar-tag,
.nav-file-tag.redirect-tag,
.nav-file-tag.main-ext-tag,
.nav-file-tag.preview-tag {
	color: var(--text-accent);
	display: inline-block;
}

/* No-color variant for all tag types */
.nav-file-tag.sidecar-tag.no-color,
.nav-file-tag.redirect-tag.no-color,
.nav-file-tag.main-ext-tag.no-color,
.nav-file-tag.preview-tag.no-color {
	color: unset;
}

/* Dimmed state for all tag types */
.nav-file-tag.sidecar-tag.dimmed,
.nav-file-tag.redirect-tag.dimmed,
.nav-file-tag.main-ext-tag.dimmed,
.nav-file-tag.preview-tag.dimmed {
	opacity: var(--link-unresolved-opacity);
}

/* Override dimming for no-color tags */
.nav-file-tag.sidecar-tag.dimmed.no-color,
.nav-file-tag.redirect-tag.dimmed.no-color,
.nav-file-tag.main-ext-tag.dimmed.no-color,
.nav-file-tag.preview-tag.dimmed.no-color {
	opacity: 1;
}

/* Restore opacity on hover/active for all tag types */
.nav-file-title:hover .nav-file-tag.sidecar-tag.dimmed,
.nav-file-title:hover .nav-file-tag.redirect-tag.dimmed,
.nav-file-title:hover .nav-file-tag.main-ext-tag.dimmed,
.nav-file-title:hover .nav-file-tag.preview-tag.dimmed,
.nav-file-title.is-active .nav-file-tag.sidecar-tag.dimmed,
.nav-file-title.is-active .nav-file-tag.redirect-tag.dimmed,
.nav-file-title.is-active .nav-file-tag.main-ext-tag.dimmed,
.nav-file-title.is-active .nav-file-tag.preview-tag.dimmed {
	opacity: 1;
}

.sidecar-tag-example {
	margin-left: 0 !important;
	/* Override existing margin */
}

/* Utility margin for settings extension lists */
.sidecar-margin-top {
  margin-top: 0.25em;
}

.sidecar-explorer-style-settings>summary {
	margin-bottom: 11.25px;
	font-weight: var(--font-semibold);
}

.sidecar-redirect-files-settings>summary {
	font-weight: var(--font-semibold);
	padding-top: 11.25px;
}

.sidecar-redirect-files-settings>.setting-item-description {
	margin-bottom: 11.25px;
}

/* Redirect decorator styling - Pulsating circle */
.redirect-decorator {
	display: inline-block;
	width: 6px;
	height: 6px;
	background-color: var(--color-orange);
	border-radius: 50%;
	margin-top: var(--size-2-2);
	margin-left: var(--size-2-2);
	margin-bottom: calc(var(--size-2-2) + 1px);
	margin-right: calc(var(--size-2-2) + 2px);
	vertical-align: middle;
	position: relative;
	animation: pulse-redirect 2s infinite;
}

.redirect-decorator::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background-color: var(--color-orange);
	transform: translate(-50%, -50%);
	animation: pulse-ring-redirect 2s infinite;
	opacity: 0.6;
}

@keyframes pulse-redirect {
	0%, 100% {
		transform: scale(1);
		opacity: 0.8;
	}
	50% {
		transform: scale(1.2);
		opacity: 1;
	}
}

@keyframes pulse-ring-redirect {
	0% {
		transform: translate(-50%, -50%) scale(1);
		opacity: 0.5;
	}
	100% {
		transform: translate(-50%, -50%) scale(2.5);
		opacity: 0;
	}
}

/* Dimmed versions of the animations */
@keyframes pulse-redirect-dimmed {
	0%, 100% {
		transform: scale(1);
		opacity: 0.3;
	}
	50% {
		transform: scale(1.2);
		opacity: 0.5;
	}
}

@keyframes pulse-ring-redirect-dimmed {
	0% {
		transform: translate(-50%, -50%) scale(1);
		opacity: 0.2;
	}
	100% {
		transform: translate(-50%, -50%) scale(2.5);
		opacity: 0;
	}
}

.nav-file-title:hover .redirect-decorator {
	animation-duration: 1s;
}

/* Dimmed redirect decorator styling for sidecars */
.redirect-decorator.dimmed {
	animation: pulse-redirect-dimmed 2s infinite;
}

.redirect-decorator.dimmed::before {
	animation: pulse-ring-redirect-dimmed 2s infinite;
}

/* Faster animation on hover for dimmed decorators */
.nav-file-title:hover .redirect-decorator.dimmed {
	animation-duration: 1s;
}

.nav-file-title:hover .redirect-decorator.dimmed::before {
	animation-duration: 1s;
}

/* Restore normal animation for dimmed decorators when their parent item is active */
.nav-file-title.is-active .redirect-decorator.dimmed {
	animation: pulse-redirect 1s infinite;
}

.nav-file-title.is-active .redirect-decorator.dimmed::before {
	animation: pulse-ring-redirect 1s infinite;
}

/* Accent-colored redirect decorator for sidecars when sidecar coloring is enabled */
.redirect-decorator.accent-colored {
	background-color: var(--text-accent);
}

.redirect-decorator.accent-colored::before {
	background-color: var(--text-accent);
}

/* Dimmed accent-colored animations */
@keyframes pulse-redirect-accent-dimmed {
	0%, 100% {
		transform: scale(1);
		opacity: 0.32; /* 0.4 * 0.8 */
	}
	50% {
		transform: scale(1.2);
		opacity: 0.4; /* matches the dimmed opacity */
	}
}

@keyframes pulse-ring-redirect-accent-dimmed {
	0% {
		transform: translate(-50%, -50%) scale(1);
		opacity: 0.2; /* 0.4 * 0.5 */
	}
	100% {
		transform: translate(-50%, -50%) scale(2.5);
		opacity: 0;
	}
}

.redirect-decorator.accent-colored.dimmed {
	animation: pulse-redirect-accent-dimmed 2s infinite;
}

.redirect-decorator.accent-colored.dimmed::before {
	animation: pulse-ring-redirect-accent-dimmed 2s infinite;
}

.nav-file-title:hover .redirect-decorator.accent-colored.dimmed {
	animation: pulse-redirect 2s infinite;
	opacity: 0.8;
}

.nav-file-title:hover .redirect-decorator.accent-colored.dimmed::before {
	animation: pulse-ring-redirect 2s infinite;
	opacity: 0.5;
}

.nav-file-title:hover .redirect-decorator.accent-colored {
	animation-duration: 1s;
}