/**
 * Pagina contatti: blocco recapiti e modulo.
 *
 * Stessi valori delle card (verde BIIG, inchiostro, righe) cosi' la
 * pagina non sembra costruita a parte. Il modulo e' Contact Form 7:
 * si stilizzano le classi che genera, senza toccarne il markup.
 */

.lqd-contact {
	--lqd-c-accent: var(--color-gradient-start, #7eb928);
	--lqd-c-ink: #14181a;
	--lqd-c-muted: #5c666b;
	--lqd-c-rule: rgba(20, 24, 26, 0.14);
}

/* Recapiti ----------------------------------------------------------- */

.lqd-contact-info {
	margin-top: 2.25rem;
}

.lqd-contact-item {
	padding: 1.1rem 0;
	border-top: 1px solid var(--lqd-c-rule);
}

.lqd-contact-item:last-child {
	border-bottom: 1px solid var(--lqd-c-rule);
}

.lqd-contact-label {
	display: block;
	margin-bottom: 0.3rem;
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--lqd-c-accent);
}

.lqd-contact-value {
	display: block;
	font-size: 1rem;
	line-height: 1.5;
	color: var(--lqd-c-ink);
}

.lqd-contact-value a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid var(--lqd-c-rule);
	transition: border-color 0.25s, color 0.25s;
}

.lqd-contact-value a:hover {
	color: var(--lqd-c-accent);
	border-color: currentColor;
}

/* Modulo ------------------------------------------------------------- */

.lqd-cf .lqd-cf-row {
	margin: 0 0 1.4rem;
}

/* Solo le etichette dei campi: Contact Form 7 avvolge anche il testo dei
   consensi in un <label>, e in maiuscolo spaziato diventerebbe illeggibile. */
.lqd-cf .lqd-cf-row > label {
	display: block;
	margin-bottom: 0.45rem;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--lqd-c-ink, #14181a);
}

.lqd-cf input[type="text"],
.lqd-cf input[type="email"],
.lqd-cf input[type="tel"],
.lqd-cf textarea {
	width: 100%;
	padding: 0.85rem 1rem;
	background: #fff;
	border: 1px solid rgba(20, 24, 26, 0.18);
	border-radius: 6px;
	font-size: 0.95rem;
	line-height: 1.5;
	color: #14181a;
	transition: border-color 0.25s, box-shadow 0.25s;
}

.lqd-cf textarea {
	min-height: 8rem;
	resize: vertical;
}

.lqd-cf input:focus,
.lqd-cf textarea:focus {
	outline: none;
	border-color: var(--color-gradient-start, #7eb928);
	/* alone tenue invece del contorno di sistema: resta visibile dove
	   si sta scrivendo senza rompere il disegno del campo */
	box-shadow: 0 0 0 3px rgba(126, 185, 40, 0.18);
}

.lqd-cf ::placeholder {
	color: #9aa3a7;
	opacity: 1;
}

/* Consensi ----------------------------------------------------------- */

/* Misura in px e non in rem: il tema riduce la base tipografica e
   un'informativa non deve scendere sotto la soglia di leggibilita'. */
.lqd-cf .lqd-cf-consent {
	margin: 0 0 1rem;
	font-size: 13px;
	line-height: 1.55;
	color: #5c666b;
}

.lqd-cf .lqd-cf-consent .wpcf7-list-item {
	display: block;
	margin: 0;
}

/*
 * Contact Form 7 annida casella e testo dentro il <label>, non accanto:
 * il contenitore flex deve essere il label stesso, altrimenti le righe
 * successive del testo vanno a capo sotto la casella.
 */
.lqd-cf p.lqd-cf-consent label {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	margin: 0;
	cursor: pointer;
}

/* Il testo resta prosa: niente maiuscolo ne' spaziatura. La misura va
   ripetuta in px perche' il tema applica alle label una dimensione
   relativa che vincerebbe su un semplice inherit. */
.lqd-cf p.lqd-cf-consent label,
.lqd-cf p.lqd-cf-consent .wpcf7-list-item-label {
	font-size: 13px;
	font-weight: 400;
	letter-spacing: normal;
	text-transform: none;
	line-height: 1.55;
	color: inherit;
}

.lqd-cf .lqd-cf-consent input[type="checkbox"] {
	/* allineato alla prima riga di testo, non al centro del blocco */
	margin-top: 0.2rem;
	flex: 0 0 auto;
	width: 1rem;
	height: 1rem;
	accent-color: var(--color-gradient-start, #7eb928);
}

/* Invio -------------------------------------------------------------- */

.lqd-cf .lqd-cf-submit {
	margin: 1.75rem 0 0;
}

.lqd-cf input[type="submit"] {
	padding: 0.95rem 2.25rem;
	background: #14181a;
	border: 0;
	border-radius: 6px;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #fff;
	cursor: pointer;
	transition: background 0.25s, transform 0.25s;
}

.lqd-cf input[type="submit"]:hover {
	background: var(--color-gradient-start, #7eb928);
	transform: translateY(-2px);
}

/* Messaggi di Contact Form 7 ----------------------------------------- */

.lqd-cf .wpcf7-not-valid-tip {
	margin-top: 0.35rem;
	font-size: 0.75rem;
	color: #c0392b;
}

.lqd-cf .wpcf7-response-output {
	margin: 1.25rem 0 0;
	padding: 0.9rem 1rem;
	border-radius: 6px;
	border-width: 1px;
	font-size: 0.85rem;
}

.lqd-cf .wpcf7-spinner {
	margin: 0 0 0 0.75rem;
}

/* Asterisco dei campi obbligatori: e' un segno, non testo da leggere
   (le label sono gia' associate a input required, che lo screen reader
   annuncia da solo). */
.lqd-cf .lqd-cf-req {
	color: var(--color-gradient-start, #7eb928);
	font-weight: 700;
}

/* I riferimenti alle informative sono link veri: vanno riconosciuti
   come tali anche dentro il testo grigio del consenso. */
.lqd-cf .lqd-cf-consent a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.lqd-cf .lqd-cf-consent a:hover,
.lqd-cf .lqd-cf-consent a:focus {
	color: var(--color-gradient-start, #7eb928);
}
