/**
 * CSS minimo indispensabile per l'usabilità del form senza tema (PROJECT.md §2 e Fase 4).
 * Non decide l'aspetto: nessun colore di brand, nessun font, nessuna decisione grafica.
 * Il tema che porta il design definitivo può sovrascrivere ogni regola qui sotto.
 */

/*
 * .slt-login-wrapper/.slt-recupero-wrapper/.slt-reset-wrapper/.slt-registrazione-wrapper
 * tolte da qui (30/09/2026): erano la causa reale del disallineamento a sinistra delle
 * schermate di accesso segnalato da Simone. Questo max-width senza margin:auto vince
 * sempre su un width:100% dato altrove (max-width comprime sempre width, non è mai una
 * questione di specificità), quindi il blocco restava incollato a sinistra invece di
 * centrarsi — .accesso__dentro (usato da login/recupero/reset) non ha un proprio max-width
 * a fargli da contrappeso, a differenza di .contenitore (usato da registrazione, archivio,
 * dettaglio), che vince sempre perché il suo file (stile.css) carica DOPO questo. Tolta
 * anche .slt-registrazione-wrapper: non le serve più, ha già .contenitore.
 *
 * .slt-archivio-wrapper/.slt-dettaglio-wrapper restano invece: .slt-dettaglio-wrapper è
 * condivisa con conferma-pagamento.php, non ancora portato e senza .contenitore — toglierla
 * lo avrebbe lasciato senza nessun max-width. Per le due schermate già portate che la
 * condividono (dettaglio-richiesta.php, dettaglio-sbloccato.php) è innocua: il loro
 * .contenitore vince comunque, per lo stesso motivo di cascata di sopra.
 */
.slt-consultazione-wrapper,
.slt-form-richiesta-wrapper,
.slt-area-azienda-wrapper,
.slt-dettaglio-wrapper {
	max-width: 40em;
}

.slt-archivio-wrapper,
.slt-storico-wrapper {
	max-width: 60em;
}

/*
 * Regole generiche per qualunque form del plugin (richiesta, registrazione, login,
 * recupero/reset password, profilo): non scope-ate a un form specifico, così si applicano
 * a tutte le schermate di Fase 4 e Fase 5 senza doverle ripetere per ognuna.
 */
fieldset {
	border: 1px solid;
	border-color: currentColor;
	opacity: 1;
	margin: 0 0 1.5em;
	padding: 1em;
}

legend {
	font-weight: bold;
	padding: 0 0.25em;
}

.slt-field,
.slt-field-row > div {
	margin: 0 0 0.85em;
}

.slt-field-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75em;
}

.slt-field-row > div {
	flex: 1 1 10em;
}

label,
.slt-field-label {
	display: block;
	margin: 0 0 0.25em;
}

.slt-field--checkbox label,
.slt-radio,
.slt-checkbox-group label {
	display: block;
	margin: 0 0 0.4em;
}

.slt-checkbox-group--griglia {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(4em, 1fr));
	gap: 0 0.5em;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="date"],
input[type="number"],
select,
textarea {
	width: 100%;
	box-sizing: border-box;
}

.slt-field--errore input,
.slt-field--errore select,
.slt-field--errore textarea {
	border-width: 2px;
}

.slt-field-errore,
.slt-form-errore-generale {
	margin: 0.25em 0 0;
}

.slt-field-aiuto {
	margin: 0.25em 0 0;
	opacity: 0.75;
}

.slt-required {
	margin-left: 0.15em;
}

.slt-esito--successo {
	border: 1px solid;
	padding: 0.75em 1em;
	margin: 0 0 1em;
}

.slt-area-azienda-intestazione {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1em;
	margin: 0 0 1.5em;
}

/* Honeypot: fuori dallo schermo, mai display:none (alcuni bot lo ignorano se nascosto così). */
.slt-form-honeypot {
	position: absolute;
	left: -9999px;
	top: -9999px;
}

.slt-form-nav {
	display: flex;
	gap: 0.5em;
	margin-top: 1em;
}

.slt-form-passi {
	margin-bottom: 1em;
}

.slt-form-passi ol {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em 1em;
	list-style: none;
	margin: 0;
	padding: 0;
}

/*
 * Fino al 30/09/2026 qui c'era un override (max-width:100% sui wrapper dei template portati)
 * perché il tema Hello Elementor avvolgeva queste pagine in .site-main (500-1140px), dentro
 * cui il 70% di .contenitore si applicava due volte, restringendo troppo. Dal 01/10/2026 non
 * serve più: templates/page-slt.php (SLT_Page_Template) serve queste pagine con un proprio
 * template HTML, senza l'header/footer del tema e quindi senza .site-main — .contenitore
 * torna a vedere l'intero viewport, come nel design originale, 70% è di nuovo quello giusto.
 */

/*
 * .slt-step è un <fieldset> (form-richiesta.php, porting design): senza questo reset
 * eredita bordo/padding/margine dalla regola generica "fieldset" qui sopra, pensata per il
 * markup pre-porting — un riquadro visibile attorno a ogni passo che non fa parte del
 * design (bug reale, segnalato da Simone il 29/09/2026 su uno screenshot).
 */
.slt-form-richiesta .slt-step {
	border: 0;
	margin: 0;
	padding: 0;
}

/*
 * Navigazione a step: attiva SOLO quando assets/js/slt-form.js aggiunge la classe "slt-js"
 * al form. Senza JavaScript tutti i fieldset restano visibili in sequenza: il form funziona
 * comunque, semplicemente più lungo.
 */
.slt-form-richiesta.slt-js .slt-step {
	display: none;
}

.slt-form-richiesta.slt-js .slt-step.slt-step-attivo {
	display: block;
}

.slt-form-richiesta:not(.slt-js) .slt-form-nav .slt-step-prev,
.slt-form-richiesta:not(.slt-js) .slt-form-nav .slt-step-next {
	display: none;
}

.slt-form-richiesta.slt-js .slt-form-nav .slt-form-submit {
	display: none;
}

.slt-form-richiesta.slt-js.slt-step-ultimo .slt-form-nav .slt-form-submit {
	display: inline-block;
}

.slt-form-richiesta.slt-js.slt-step-ultimo .slt-form-nav .slt-step-next {
	display: none;
}

.slt-form-richiesta.slt-js.slt-step-primo .slt-form-nav .slt-step-prev {
	display: none;
}

.slt-consultazione-riepilogo .slt-riepilogo-riga {
	display: flex;
	gap: 0.75em;
	margin: 0 0 0.4em;
}

.slt-consultazione-riepilogo dt {
	font-weight: bold;
	min-width: 10em;
}

.slt-consultazione-riepilogo dd {
	margin: 0;
}

/* Archivio richieste (Fase 6). */

.slt-form-filtri-richieste {
	border: 1px solid;
	padding: 1em;
	margin: 0 0 1.5em;
}

.slt-archivio-area,
.slt-archivio-totale {
	margin: 0 0 0.75em;
}

.slt-richieste-lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(16em, 1fr));
	gap: 1em;
}

.slt-richiesta-card {
	border: 1px solid;
	padding: 1em;
}

.slt-richiesta-card h3 {
	margin: 0 0 0.4em;
}

.slt-richiesta-card p {
	margin: 0 0 0.4em;
}

.slt-archivio-paginazione {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4em;
	margin-top: 1.5em;
}

.slt-archivio-paginazione .slt-pagina {
	border: 1px solid;
	padding: 0.25em 0.6em;
	text-decoration: none;
}

.slt-archivio-paginazione .slt-pagina-attiva {
	font-weight: bold;
}

.slt-dettaglio-prezzo {
	font-size: 1.2em;
	margin: 1em 0 0.5em;
}

.slt-btn-sblocca[disabled] {
	opacity: 0.6;
	cursor: not-allowed;
}

.slt-nota-sblocca {
	margin-left: 0.5em;
	opacity: 0.75;
}

/* Lead sbloccato e conferma pagamento (Fase 7). */

.slt-lista-allegati {
	margin: 0 0 1em;
	padding-left: 1.2em;
}

.slt-btn-whatsapp {
	white-space: nowrap;
}

/* Storico acquisti e dashboard area azienda (Fase 8). */

.slt-a11y-nascosto {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.slt-form-filtri-storico {
	border: 1px solid;
	padding: 1em;
	margin: 0 0 1.5em;
}

.slt-storico-totale {
	margin: 0 0 0.75em;
}

.slt-tabella-scroll {
	overflow-x: auto;
}

.slt-tabella-storico {
	width: 100%;
	border-collapse: collapse;
}

.slt-tabella-storico th,
.slt-tabella-storico td {
	text-align: left;
	padding: 0.5em 0.75em;
	border-bottom: 1px solid;
	vertical-align: top;
}

.slt-badge-stato {
	border: 1px solid;
	padding: 0.15em 0.5em;
	white-space: nowrap;
}

.slt-storico-paginazione {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4em;
	margin-top: 1.5em;
}

.slt-storico-paginazione .slt-pagina {
	border: 1px solid;
	padding: 0.25em 0.6em;
	text-decoration: none;
}

.slt-storico-paginazione .slt-pagina-attiva {
	font-weight: bold;
}

.slt-dashboard-statistiche {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
	margin: 0 0 1em;
}

.slt-dashboard-statistica {
	border: 1px solid;
	padding: 0.75em 1em;
	flex: 1 1 10em;
}

.slt-dashboard-numero {
	display: block;
	font-size: 1.5em;
	font-weight: bold;
}

.slt-dashboard-etichetta {
	display: block;
	opacity: 0.75;
}

.slt-dashboard-ultimi-lead {
	margin: 0 0 1em;
	padding-left: 1.2em;
}
