/**
 * Plugin-specific styles for Verifica Aiuti di Stato.
 *
 * Layout, typography, buttons, and inputs are handled by Tailwind classes
 * in the template. This file covers only plugin-specific components
 * (accordion behavior, loader, status messages, JS-generated content).
 *
 * Uses theme CSS custom properties for color consistency.
 */

/* =============================================
   Error states
   ============================================= */

.csrv-error-message {
	display: block;
}

.csrv-input-error {
	border-color: #ef4444 !important;
}

.csrv-button:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* =============================================
   Accordion
   ============================================= */

.csrv-accordion-content {
	max-height: 400px;
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: #cbd5e1 transparent;
}

.csrv-accordion-content::-webkit-scrollbar {
	width: 6px;
}

.csrv-accordion-content::-webkit-scrollbar-track {
	background: transparent;
}

.csrv-accordion-content::-webkit-scrollbar-thumb {
	background-color: #cbd5e1;
	border-radius: 3px;
}

.csrv-accordion-content::-webkit-scrollbar-thumb:hover {
	background-color: #94a3b8;
}

.csrv-accordion-content[hidden] {
	display: none;
}

.csrv-accordion-content hr {
	margin: 1rem 0;
	border: none;
	border-top: 1px solid var(--color-neutral-200, #e5e5e5);
}

/* Active state: highlight border-left when expanded. */
.csrv-accordion-item:has(.csrv-accordion-trigger[aria-expanded="true"]) {
	border-left-color: var(--color-cloud-burst-500, #5184e0);
	box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
}

/* Icon rotation is handled by JS via aria-expanded toggle. */
.crsv-accordion-icon svg {
	transition: transform 0.3s ease-in-out;
}

/* =============================================
   Loader spinner
   ============================================= */

.csrv-loader {
	border: 4px solid #f3f3f3;
	border-radius: 50%;
	border-top: 4px solid var(--color-flame-pea-500, #e95c40);
	width: 24px;
	height: 24px;
	animation: csrv-spin 1s linear infinite;
	display: inline-block;
	vertical-align: middle;
	margin-right: 8px;
}

@keyframes csrv-spin {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

/* =============================================
   Status messages (dynamic via JS)
   ============================================= */

.csrv-status {
	padding: 1rem;
	margin-bottom: 1rem;
	border-radius: 0.75rem;
	border: 1px solid transparent;
}

.csrv-status-success {
	background-color: #f0fdf4;
	border-color: #bbf7d0;
	color: #166534;
}

.csrv-status-error {
	background-color: #fef2f2;
	border-color: #fecaca;
	color: #991b1b;
}

/* =============================================
   JS-generated result items
   ============================================= */

.aiuto-item,
.dettaglio-item {
	background: var(--color-neutral-50, #fafafa);
	border-radius: 0.75rem;
	padding: 1.5rem;
	margin-bottom: 1rem;
}

.aiuto-item:last-child,
.dettaglio-item:last-child {
	margin-bottom: 0;
}

.aiuto-item h5,
.dettaglio-item h5 {
	color: var(--color-cloud-burst-950, #25315e);
	font-size: 1.125rem;
	font-weight: 700;
	margin: 0 0 0.75rem;
}

.aiuto-item dt,
.dettaglio-item dt,
#info-azienda dt {
	font-weight: 600;
	color: var(--color-cloud-burst-950, #25315e);
	font-size: 0.875rem;
}

.aiuto-item dd,
.dettaglio-item dd,
#info-azienda dd {
	margin-left: 0;
	color: var(--color-neutral-600, #525252);
}

.aiuto-item dd:not(:last-child),
.dettaglio-item dd:not(:last-child),
#info-azienda dd:not(:last-child) {
	margin-bottom: 0.75rem;
}

.disponibilita-negativa {
	color: #dc2626;
	font-weight: 600;
}

/* =============================================
   Raw aid list (Esito Ricerca RNA)
   ============================================= */

ul.csrv-raw-aid-list {
	list-style-type: none;
	padding-left: 0;
	margin: 0;
}

ul.csrv-raw-aid-list li {
	padding: 1rem;
	background: var(--color-neutral-50, #fafafa);
	border-radius: 0.75rem;
	margin-bottom: 0.5rem;
	border: 1px solid var(--color-neutral-200, #e5e5e5);
}

ul.csrv-raw-aid-list li:last-child {
	margin-bottom: 0;
}

ul.csrv-raw-aid-list li strong {
	color: var(--color-cloud-burst-950, #25315e);
}

/* =============================================
   Float clearfix for dt/dd layout
   ============================================= */

.aiuto-item dl::after,
.dettaglio-item dl::after {
	content: "";
	display: table;
	clear: both;
}
