/* ==========================================================================
   Modulo "Prenota una demo" (Contact Form 7) con i token di Tappa:
   campi bianchi con bordo ash e raggio 8, etichette 14px, invio a pillola lime.
   ========================================================================== */

body.tappa-page .tp-demo-modulo .wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0;
	font-family: var(--font-otsono);
}
body.tappa-page .tp-demo-modulo .wpcf7-form p { margin: 0; }
body.tappa-page .tp-demo-modulo .wpcf7-form br { display: none; }

body.tappa-page .tp-demo-modulo .tappa-modulo-riga {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
@media (max-width: 767px) {
	body.tappa-page .tp-demo-modulo .tappa-modulo-riga { grid-template-columns: 1fr; }
}

body.tappa-page .tp-demo-modulo label {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 14px;
	font-weight: 500;
	line-height: 18px;
	color: var(--color-off-black-ink);
}

body.tappa-page .tp-demo-modulo input[type="text"],
body.tappa-page .tp-demo-modulo input[type="email"],
body.tappa-page .tp-demo-modulo input[type="tel"],
body.tappa-page .tp-demo-modulo select,
body.tappa-page .tp-demo-modulo textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	padding: 12px 16px;
	border: 1px solid var(--color-ash);
	border-radius: 8px;
	background-color: var(--color-pure-white);
	color: #000;
	font-family: inherit;
	font-size: 16px;
	font-weight: 400;
	line-height: 22px;
	transition: border-color 0.2s;
}
body.tappa-page .tp-demo-modulo textarea { min-height: 112px; resize: vertical; }
body.tappa-page .tp-demo-modulo input::placeholder,
body.tappa-page .tp-demo-modulo textarea::placeholder { color: var(--color-stone); }
body.tappa-page .tp-demo-modulo input:focus,
body.tappa-page .tp-demo-modulo select:focus,
body.tappa-page .tp-demo-modulo textarea:focus {
	border-color: var(--color-off-black-ink);
	outline: 2px solid var(--color-off-black-ink);
	outline-offset: 1px;
}

/* Consenso privacy */
body.tappa-page .tp-demo-modulo .wpcf7-acceptance label {
	flex-direction: row;
	align-items: flex-start;
	gap: 10px;
	font-weight: 400;
	color: var(--color-graphite);
}
body.tappa-page .tp-demo-modulo .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
body.tappa-page .tp-demo-modulo input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: 0;
	flex-shrink: 0;
	accent-color: var(--color-off-black-ink);
}

/* Invio: l'unico pulsante pieno del sistema, lime */
body.tappa-page .tp-demo-modulo input[type="submit"] {
	align-self: flex-start;
	padding: 12px 24px;
	border: 1px solid transparent;
	border-radius: 26px;
	background-color: var(--color-electric-lime);
	color: var(--color-off-black-ink);
	font-family: inherit;
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
	cursor: pointer;
	transition: background-color 0.2s;
}
body.tappa-page .tp-demo-modulo input[type="submit"]:hover { background-color: #aef03c; }
body.tappa-page .tp-demo-modulo input[type="submit"]:disabled { opacity: 0.5; cursor: not-allowed; }
body.tappa-page .tp-demo-modulo input[type="submit"]:focus-visible {
	outline: 2px solid var(--color-off-black-ink);
	outline-offset: 3px;
}
body.tappa-page .tp-demo-modulo .wpcf7-spinner { margin: 0 0 0 12px; }

/* Errori e risposta */
body.tappa-page .tp-demo-modulo .wpcf7-not-valid { border-color: #b3261e; }
body.tappa-page .tp-demo-modulo .wpcf7-not-valid-tip {
	margin-top: 4px;
	font-size: 13px;
	font-weight: 400;
	color: #b3261e;
}
body.tappa-page .tp-demo-modulo .wpcf7-response-output {
	margin: 0;
	padding: 12px 16px;
	border-radius: 8px;
	font-size: 14px;
	line-height: 20px;
}
body.tappa-page .tp-demo-modulo .wpcf7 form.sent .wpcf7-response-output {
	border-color: var(--color-off-black-ink);
	background-color: var(--color-electric-lime);
	color: var(--color-off-black-ink);
}
