/* Artist Name Checker — stili autonomi, prefisso .anc- */

.anc-wrap.anc-wrap--elementor {
	margin-left: auto;
	margin-right: auto;
}

.anc-wrap {
	--anc-critico: #e24b4a;
	--anc-alto: #ef9f27;
	--anc-medio: #7f77dd;
	--anc-basso: #639922;
	--anc-ok: #1d9e75;
	--anc-border: #e2e4e8;
	--anc-bg: #f8f9fb;
	--anc-text: #1a1d21;
	--anc-muted: #5c6370;
	--anc-range-track: #e2e4e8;
	--anc-range-fill: #2d6cdf;
	--anc-range-thumb: #2d6cdf;
	--anc-range-thumb-border: transparent;
	--anc-range-thumb-border-width: 0px;
	--anc-range-height: 8px;
	--anc-range-thumb-size: 18px;
	--anc-range-pct: 50%;
	--anc-check-size: 1.125rem;
	--anc-check-radius: 4px;
	--anc-check-bg: transparent;
	--anc-check-border: #e2e4e8;
	--anc-check-border-width: 2px;
	--anc-check-checked-bg: #2d6cdf;
	--anc-check-checked-border: #2d6cdf;
	--anc-check-mark: #ffffff;
	--anc-disclaimer-bg: var(--anc-bg);
	max-width: 42rem;
	margin: 1.5rem 0;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	color: var(--anc-text);
}

.anc-form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 1.25rem;
	background: var(--anc-bg);
	border: 1px solid var(--anc-border);
	border-radius: 8px;
}

.anc-field label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.35rem;
	font-size: 0.9rem;
}

.anc-field input[type="text"] {
	width: 100%;
	padding: 0.55rem 0.75rem;
	border: 1px solid var(--anc-border);
	border-radius: 6px;
	font-size: 1rem;
	box-sizing: border-box;
}

.anc-field--threshold input[type="range"] {
	width: 100%;
	margin: 0;
	padding: 0;
	background: transparent;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	height: var(--anc-range-thumb-size);
}

.anc-field--threshold input[type="range"]::-webkit-slider-runnable-track {
	height: var(--anc-range-height);
	border-radius: 999px;
	background: linear-gradient(
		to right,
		var(--anc-range-fill) 0%,
		var(--anc-range-fill) var(--anc-range-pct),
		var(--anc-range-track) var(--anc-range-pct),
		var(--anc-range-track) 100%
	);
}

.anc-field--threshold input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: var(--anc-range-thumb-size);
	height: var(--anc-range-thumb-size);
	margin-top: calc((var(--anc-range-height) - var(--anc-range-thumb-size)) / 2);
	border-radius: 50%;
	background: var(--anc-range-thumb);
	border: var(--anc-range-thumb-border-width) solid var(--anc-range-thumb-border);
	box-sizing: border-box;
}

.anc-field--threshold input[type="range"]::-moz-range-track {
	height: var(--anc-range-height);
	border-radius: 999px;
	background: var(--anc-range-track);
}

.anc-field--threshold input[type="range"]::-moz-range-progress {
	height: var(--anc-range-height);
	border-radius: 999px;
	background: var(--anc-range-fill);
}

.anc-field--threshold input[type="range"]::-moz-range-thumb {
	width: var(--anc-range-thumb-size);
	height: var(--anc-range-thumb-size);
	border-radius: 50%;
	background: var(--anc-range-thumb);
	border: var(--anc-range-thumb-border-width) solid var(--anc-range-thumb-border);
	box-sizing: border-box;
}

.anc-threshold-value {
	font-weight: 400;
	color: var(--anc-muted);
	margin-left: 0.35rem;
}

.anc-field-checkbox label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 500;
	cursor: pointer;
}

.anc-field-checkbox input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	width: var(--anc-check-size);
	height: var(--anc-check-size);
	min-width: var(--anc-check-size);
	margin: 0;
	padding: 0;
	border: var(--anc-check-border-width) solid var(--anc-check-border);
	border-radius: var(--anc-check-radius);
	background: var(--anc-check-bg);
	cursor: pointer;
	position: relative;
	flex-shrink: 0;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.anc-field-checkbox input[type="checkbox"]:checked {
	background: var(--anc-check-checked-bg);
	border-color: var(--anc-check-checked-border);
}

.anc-field-checkbox input[type="checkbox"]:checked::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 48%;
	width: 28%;
	height: 50%;
	border: solid var(--anc-check-mark);
	border-width: 0 2px 2px 0;
	transform: translate(-50%, -55%) rotate(45deg);
	box-sizing: border-box;
}

.anc-field-checkbox input[type="checkbox"]:focus-visible {
	outline: 2px solid var(--anc-range-fill);
	outline-offset: 2px;
}

.anc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.65rem 1.25rem;
	background: #2d6cdf;
	color: #fff;
	border: none;
	border-radius: 6px;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	transition: opacity 0.15s;
}

.anc-btn:hover:not(:disabled) {
	opacity: 0.92;
}

.anc-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.anc-spinner {
	width: 1rem;
	height: 1rem;
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-top-color: #fff;
	border-radius: 50%;
	animation: anc-spin 0.7s linear infinite;
}

@keyframes anc-spin {
	to {
		transform: rotate(360deg);
	}
}

.anc-disclaimer {
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	font-size: 0.8rem;
	line-height: 1.5;
	color: var(--anc-muted);
	background-color: var(--anc-disclaimer-bg);
	border: 1px solid var(--anc-border);
	border-radius: 6px;
}

.anc-disclaimer p {
	margin: 0 0 0.5rem;
}

.anc-disclaimer p:last-child {
	margin-bottom: 0;
}

.anc-disclaimer a {
	color: var(--anc-disclaimer-link, #2d6cdf);
	text-decoration: underline;
}

.anc-disclaimer a:hover {
	opacity: 0.9;
}

.anc-manual-searches-wrap {
	margin-top: 1rem;
	padding: 0.75rem 1rem;
	background: var(--anc-bg);
	border: 1px dashed var(--anc-border);
	border-radius: 6px;
}

.anc-manual-searches-title {
	margin: 0 0 0.5rem;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--anc-text);
}

.anc-manual-searches {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
}

.anc-manual-search-link {
	display: inline-block;
	font-weight: 600;
	text-decoration: underline;
}

.anc-form + .anc-disclaimer {
	margin-top: 1rem;
}

.anc-results + .anc-manual-searches-wrap {
	margin-top: 1rem;
}

.anc-manual-searches-wrap + .anc-disclaimer,
.anc-results + .anc-disclaimer {
	margin-top: 1rem;
}

.anc-results {
	margin-top: 1.25rem;
}

.anc-admin-notice {
	padding: 0.75rem 1rem;
	background: #fff8e6;
	border-left: 4px solid var(--anc-alto);
}

.anc-banner {
	padding: 0.85rem 1rem;
	border-radius: 6px;
	margin-bottom: 1rem;
	font-weight: 600;
}

.anc-banner--critico {
	background: rgba(226, 75, 74, 0.12);
	border: 1px solid var(--anc-critico);
	color: var(--anc-critico);
}

.anc-banner--alto {
	background: rgba(239, 159, 39, 0.12);
	border: 1px solid var(--anc-alto);
	color: #9a5f00;
}

.anc-message--ok {
	padding: 1rem;
	background: rgba(29, 158, 117, 0.1);
	border: 1px solid var(--anc-ok);
	border-radius: 6px;
	color: #0d6b50;
	font-weight: 600;
}

.anc-card {
	border: 1px solid var(--anc-border);
	border-radius: 8px;
	padding: 1rem;
	margin-bottom: 0.75rem;
	background: #fff;
}

.anc-card-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
}

.anc-card-title {
	margin: 0;
	font-size: 1.1rem;
	flex: 1 1 auto;
}

.anc-badge {
	display: inline-block;
	padding: 0.2rem 0.55rem;
	border-radius: 4px;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	color: #fff;
}

.anc-badge--critico { background: var(--anc-critico); }
.anc-badge--alto { background: var(--anc-alto); }
.anc-badge--medio { background: var(--anc-medio); }
.anc-badge--basso { background: var(--anc-basso); }
.anc-badge--ok { background: var(--anc-ok); }

.anc-score-bar-wrap {
	margin: 0.5rem 0;
}

.anc-score-label {
	font-size: 0.85rem;
	color: var(--anc-muted);
	margin-bottom: 0.25rem;
}

.anc-score-bar {
	height: 8px;
	background: var(--anc-border);
	border-radius: 4px;
	overflow: hidden;
}

.anc-score-bar-fill {
	height: 100%;
	border-radius: 4px;
	transition: width 0.3s ease;
}

.anc-subscores {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	font-size: 0.8rem;
	color: var(--anc-muted);
	margin: 0.5rem 0;
}

.anc-meta {
	font-size: 0.85rem;
	color: var(--anc-muted);
	margin-top: 0.5rem;
}

.anc-tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
	margin-top: 0.5rem;
}

.anc-sources-label {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--anc-muted);
	margin: 0;
}

.anc-tag {
	display: inline-block;
	font-size: 0.7rem;
	padding: 0.15rem 0.45rem;
	color: var(--anc-text);
	background: var(--anc-bg);
	border: 1px solid var(--anc-border);
	border-radius: 4px;
	text-transform: capitalize;
	line-height: 1.3;
}

.anc-link {
	color: #2d6cdf;
	text-decoration: none;
	font-size: 0.9rem;
}

.anc-link:hover {
	text-decoration: underline;
}

.anc-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
	margin-top: 0.5rem;
}

.anc-error {
	padding: 0.85rem 1rem;
	background: rgba(226, 75, 74, 0.1);
	border: 1px solid var(--anc-critico);
	border-radius: 6px;
	color: var(--anc-critico);
}
