/*
 * Moduli thotale/modulo-rivenditori, thotale/modulo-contatti, thotale/modulo-catalogo e thotale/modulo-newsletter.
 * Campi come nel mockup approvato (design/f2/tela/Rivenditori.dc.html): etichetta sopra, bordo
 * bordo-campo, raggio 2 px, altezza 48 px. Colori e pulsante dai preset del tema (theme.json);
 * i valori dopo la virgola valgono solo se il tema non li definisce.
 */

.thotale-form {
	--thotale-form-bordo: var(--wp--preset--color--bordo-campo, #8a958f);
	--thotale-form-testo: var(--wp--preset--color--testo, #1b2420);
	--thotale-form-secondario: var(--wp--preset--color--testo-secondario, #5c6862);
	--thotale-form-fondo: var(--wp--preset--color--base, #fff);
	--thotale-form-errore: var(--wp--preset--color--rosa-testo, #a8323a);
	--thotale-form-ok: var(--wp--preset--color--bava-testo, #10583a);
	--thotale-form-ok-fondo: var(--wp--preset--color--materia, #dcebdf);
	--thotale-form-raggio: var(--wp--custom--radius--etichetta, 2px);
	color: var(--thotale-form-testo);
}

.thotale-form__modulo {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
	gap: 18px 20px;
	margin: 0;
}

.thotale-form--newsletter .thotale-form__modulo {
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
}

.thotale-form__campo--pieno {
	grid-column: 1 / -1;
}

.thotale-form__campo {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.thotale-form__campo > label,
.thotale-form__scelte legend {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

.thotale-form input[type="text"],
.thotale-form input[type="email"],
.thotale-form input[type="tel"],
.thotale-form textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 10px 14px;
	border: 1px solid var(--thotale-form-bordo);
	border-radius: var(--thotale-form-raggio);
	background: var(--thotale-form-fondo);
	color: var(--thotale-form-testo);
	font: inherit;
	font-size: 16px;
	font-weight: 400;
}

.thotale-form textarea {
	resize: vertical;
}

.thotale-form ::placeholder {
	color: var(--thotale-form-secondario);
	opacity: 1;
}

.thotale-form [aria-invalid="true"] {
	border-color: var(--thotale-form-errore);
	box-shadow: inset 0 0 0 1px var(--thotale-form-errore);
}

/* Tipo di attività. */
.thotale-form__scelte {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.thotale-form__scelte legend {
	margin-bottom: 8px;
	padding: 0;
}

.thotale-form__opzioni {
	display: flex;
	flex-wrap: wrap;
	gap: 0 24px;
}

.thotale-form__scelta {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	cursor: pointer;
}

.thotale-form input[type="radio"],
.thotale-form input[type="checkbox"] {
	flex: none;
	width: 18px;
	height: 18px;
	margin: 2px 0 0;
	accent-color: var(--thotale-form-testo);
}

/* Consensi. */
.thotale-form__spunta {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr);
	gap: 4px 12px;
	align-items: start;
	font-size: 14px;
	line-height: 1.5;
}

.thotale-form__spunta label {
	cursor: pointer;
}

.thotale-form__spunta .thotale-form__errore {
	grid-column: 2;
}

.thotale-form__spunta a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.thotale-form__obbligatorio {
	color: var(--thotale-form-errore);
}

/* Messaggi. */
.thotale-form__errore {
	margin: 0;
	color: var(--thotale-form-errore);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}

.thotale-form__avviso {
	margin: 0 0 20px;
	padding: 16px 20px;
	border-left: 4px solid var(--thotale-form-ok);
	border-radius: var(--thotale-form-raggio);
	background: var(--thotale-form-ok-fondo);
	font-size: 16px;
	line-height: 1.5;
}

.thotale-form__avviso p {
	margin: 0;
}

.thotale-form__avviso--errore {
	border-left-color: var(--thotale-form-errore);
	background: var(--thotale-form-fondo);
	color: var(--thotale-form-testo);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--filetto, #dde3df);
}

.thotale-form__avviso:focus {
	outline: none;
}

/* Solo amministratori: newsletter non configurata. */
.thotale-form__avviso-admin {
	margin: 0;
	padding: 16px 20px;
	border: 1px dashed var(--thotale-form-errore);
	border-radius: var(--thotale-form-raggio);
	background: var(--thotale-form-fondo);
	font-size: 14px;
}

/* Pulsante: la resa viene dallo stile dei pulsanti del tema (.wp-element-button). */
.thotale-form__azioni {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 24px;
}

.thotale-form__pulsante {
	min-height: 52px;
	cursor: pointer;
}

.thotale-form__nota {
	margin: 0;
	color: var(--thotale-form-secondario);
	font-size: 13px;
}

/* Newsletter: email e pulsante sulla stessa riga, che va a capo sugli schermi stretti. */
.thotale-form__riga {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.thotale-form__riga input[type="email"] {
	flex: 1 1 220px;
	width: auto;
}

.thotale-form__riga .thotale-form__pulsante {
	flex: 0 0 auto;
	min-height: 48px;
}

/* Messaggio di riserva in cima alla pagina dopo il clic sul link di conferma. */
.thotale-form--esito {
	box-sizing: border-box;
	max-width: var(--wp--style--global--wide-size, 1280px);
	margin: 16px auto 0;
	padding: 0 16px;
}

/* Campo trappola per i bot: fuori dallo schermo, non nascosto con display (alcuni bot lo saltano). */
.thotale-form__trappola {
	position: absolute !important;
	left: -10000px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Pagina aperta dal link dell'email: testo e pulsante "Conferma l'iscrizione". */
.thotale-form__conferma form {
	margin: 14px 0 0;
}
