/* ===== Voce "Contattaci" nel menu: pulsante con bordo ===== */
html body .main-navigation ul#primary-menu > li.ala-menu-contatti > a {
	display: inline-flex; align-items: center; gap: 6px;
	border: 2px solid currentColor; border-radius: 999px;
	padding: 6px 16px; margin-left: 8px; line-height: 1.2;
	transition: background .2s, color .2s;
}
html body .main-navigation ul#primary-menu > li.ala-menu-contatti > a:hover,
html body .main-navigation ul#primary-menu > li.ala-menu-contatti.current-menu-item > a {
	background: #fff; color: #357523; border-color: #fff;
}
html body .main-navigation ul#primary-menu > li.ala-menu-contatti > a::after { display: none; }
html body .mobile-menu li.ala-menu-contatti > a { font-weight: 700; display: flex; align-items: center; gap: 8px; }

/* ===== Modulo Contact Form 7 ===== */
html body .wpcf7 {
	background: #fff; border-radius: 16px;
	box-shadow: 0 10px 30px rgba(31, 60, 20, .10); border: 1px solid #e3eedd;
	padding: 28px 28px 20px; max-width: 680px; margin: 24px 0 32px;
}
html body .wpcf7 form p { margin: 0 0 18px; }
html body .wpcf7 form label {
	display: block; font-weight: 600; font-size: 15px; color: #2a3a1f;
}
html body .wpcf7 form label br { display: none; }
html body .wpcf7 .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
html body .wpcf7 input.wpcf7-text,
html body .wpcf7 input.wpcf7-email,
html body .wpcf7 textarea.wpcf7-textarea {
	width: 100%; box-sizing: border-box;
	font: inherit; font-weight: 400; font-size: 16px; color: #222;
	background: #f7faf5; border: 1.5px solid #d5e4cd; border-radius: 10px;
	padding: 12px 14px; transition: border-color .2s, box-shadow .2s, background .2s;
}
html body .wpcf7 textarea.wpcf7-textarea { min-height: 160px; resize: vertical; }
html body .wpcf7 input.wpcf7-text:focus,
html body .wpcf7 input.wpcf7-email:focus,
html body .wpcf7 textarea.wpcf7-textarea:focus {
	outline: none; background: #fff; border-color: #58b03c;
	box-shadow: 0 0 0 4px rgba(88, 176, 60, .18);
}
html body .wpcf7 ::placeholder { color: #9aa894; }
html body .wpcf7 .wpcf7-not-valid { border-color: #d64541 !important; }
html body .wpcf7 .wpcf7-not-valid-tip { font-size: 13px; margin-top: 4px; font-weight: 400; }

html body .wpcf7 input.wpcf7-submit {
	background: #44922c; color: #fff; border: 0; border-radius: 999px;
	padding: 13px 34px; font-size: 16px; font-weight: 700; letter-spacing: .3px;
	cursor: pointer; box-shadow: 0 6px 16px rgba(68, 146, 44, .30);
	transition: background .2s, transform .15s, box-shadow .2s;
}
html body .wpcf7 input.wpcf7-submit:hover { background: #357523; transform: translateY(-1px); box-shadow: 0 8px 20px rgba(68, 146, 44, .38); }
html body .wpcf7 input.wpcf7-submit:disabled { opacity: .6; cursor: wait; }

html body .wpcf7 form .wpcf7-response-output {
	margin: 4px 0 0; padding: 12px 16px; border-radius: 10px; border-width: 1.5px; font-size: 15px;
}
html body .wpcf7 form.sent .wpcf7-response-output { background: #ecf7e6; border-color: #58b03c; color: #2a5a1c; }
html body .wpcf7 form.invalid .wpcf7-response-output,
html body .wpcf7 form.unaccepted .wpcf7-response-output,
html body .wpcf7 form.spam .wpcf7-response-output,
html body .wpcf7 form.failed .wpcf7-response-output { background: #fff6e5; border-color: #f2cf6b; color: #6b4e00; }

@media (max-width: 600px) {
	html body .wpcf7 { padding: 20px 16px 12px; border-radius: 12px; }
	html body .wpcf7 input.wpcf7-submit { width: 100%; }
}

/* ===== Pagina Contattaci: riquadri con icone ===== */
html body .entry-content ul.ala-contatti {
	list-style: none; margin: 8px 0 20px; padding: 0;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; max-width: 680px;
}
html body .entry-content ul.ala-contatti li { margin: 0; padding: 0; }
html body .entry-content ul.ala-contatti li::before { display: none; }
html body .entry-content a.ala-contatti__voce {
	display: flex; align-items: center; gap: 12px; height: 100%; box-sizing: border-box;
	padding: 14px 16px; border-radius: 14px; background: #fff; border: 1px solid #e3eedd;
	box-shadow: 0 4px 14px rgba(31, 60, 20, .07); color: #2a3a1f; text-decoration: none;
	transition: transform .15s, box-shadow .2s, border-color .2s;
}
html body .entry-content a.ala-contatti__voce:hover { transform: translateY(-2px); border-color: #58b03c; box-shadow: 0 8px 20px rgba(31, 60, 20, .12); }
html body .ala-contatti__icona {
	flex: 0 0 44px; height: 44px; border-radius: 50%; display: grid; place-items: center;
	background: #ecf7e6; color: #44922c;
}
html body .ala-contatti li:first-child .ala-contatti__icona { background: #1877f2; color: #fff; }
html body a.ala-contatti__voce strong { display: block; font-size: 16px; line-height: 1.2; }
html body a.ala-contatti__voce small { display: block; font-size: 13.5px; color: #5d6b57; word-break: break-all; margin-top: 2px; }
html body .entry-content .ala-contatti__form { margin: 0 0 -8px; color: #5d6b57; }

/* Correzione 1.7.2: niente rientro, icona sopra il testo così le email stanno su una riga */
html body .entry-content ul.ala-contatti { margin-left: 0 !important; padding-left: 0 !important; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
html body .entry-content a.ala-contatti__voce { flex-direction: column; text-align: center; gap: 8px; padding: 18px 12px; }
html body a.ala-contatti__voce small { word-break: normal; overflow-wrap: anywhere; font-size: 13.5px; }
html body .ala-contatti__icona { flex: 0 0 auto; width: 44px; height: 44px; }
/* 1.8.0: quattro riquadri, Instagram */
html body .entry-content ul.ala-contatti { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
html body .ala-contatti li:nth-child(2) .ala-contatti__icona { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285aeb 90%); color: #fff; }

/* ===== Documenti scaricabili (sostituisce Better File Download) ===== */
html body a.ala-doc {
	display: flex; align-items: center; gap: 14px; max-width: 680px; box-sizing: border-box;
	margin: 0 0 12px; padding: 14px 18px; border-radius: 14px;
	background: #fff; border: 1px solid #e3eedd; box-shadow: 0 4px 14px rgba(31, 60, 20, .07);
	color: #2a3a1f; text-decoration: none; transition: transform .15s, box-shadow .2s, border-color .2s;
}
html body a.ala-doc:hover { transform: translateY(-2px); border-color: #58b03c; box-shadow: 0 8px 20px rgba(31, 60, 20, .12); }
html body .ala-doc__icona { position: relative; flex: 0 0 auto; width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; background: #fdecea; color: #c0392b; }
html body .ala-doc__icona b { position: absolute; bottom: 3px; font-size: 8.5px; letter-spacing: .4px; line-height: 1; }
html body .ala-doc__icona svg { margin-top: -6px; }
html body .ala-doc__testo { flex: 1; min-width: 0; }
html body .ala-doc__testo strong { display: block; font-size: 16px; line-height: 1.3; }
html body .ala-doc__testo small { display: block; font-size: 13px; color: #5d6b57; margin-top: 2px; }
html body .ala-doc__scarica { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: #ecf7e6; color: #44922c; transition: background .2s, color .2s; }
html body a.ala-doc:hover .ala-doc__scarica { background: #44922c; color: #fff; }
html body .entry-content a.ala-doc + br { display: none; }
html body a.ala-doc, html body a.ala-doc * { text-decoration: none !important; }
