/* ============================================================
   CONTATTI (page-id-2144) — restyle 2026-08-17
   Scopo: card di contatto vere (via icon-box grigi/rotti), CTA
   WhatsApp da canale primario, form curato con submit brand.
   Solo CSS sopra il markup Elementor esistente: reversibile
   rimuovendo questo file dall'enqueue.
   ============================================================ */

/* ---- gerarchia dei titoli ---- */
.page-id-2144 .elementor-heading-title {
	letter-spacing: -0.02em;
}
.page-id-2144 h2.elementor-heading-title {
	font-weight: 800;
	font-size: clamp(26px, 3.2vw, 34px);
	color: var(--ape-ink);
}

/* ---- icon-box → card di contatto ---- */
.page-id-2144 .elementor-widget-icon-box .elementor-widget-container {
	background: var(--ape-surface);
	border: 1px solid var(--ape-line);
	border-radius: 14px;
	padding: 16px 18px;
	transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}
.page-id-2144 .elementor-widget-icon-box .elementor-widget-container:hover {
	border-color: transparent;
	box-shadow: 0 10px 30px rgba(13, 17, 23, .10);
	transform: translateY(-2px);
}
.page-id-2144 .elementor-icon-box-wrapper {
	display: flex;
	align-items: center;
	gap: 14px;
	text-align: left;
}
.page-id-2144 .elementor-icon-box-icon {
	margin: 0 !important;
	flex: 0 0 auto;
}
.page-id-2144 .elementor-icon-box-icon .elementor-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--ape-ink);
	color: #fff;
	font-size: 24px;
	line-height: 1;
}
/* WhatsApp: cerchio verde ufficiale */
.page-id-2144 .elementor-icon-box-icon .elementor-icon[href*="wa.me"] {
	background: #25D366;
}
/* Email: l'icona FontAwesome manca (quadrato vuoto) → busta via mask */
.page-id-2144 .elementor-icon-box-icon .elementor-icon[href^="mailto"]::before,
.page-id-2144 .elementor-widget-icon-box:has(a[href^="mailto"]) .elementor-icon:empty::before {
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2Zm8 6.7L20 7H4l8 4.7ZM4 9.2V17h16V9.2l-7.5 4.4a1 1 0 0 1-1 0L4 9.2Z'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2Zm8 6.7L20 7H4l8 4.7ZM4 9.2V17h16V9.2l-7.5 4.4a1 1 0 0 1-1 0L4 9.2Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.page-id-2144 .elementor-icon-box-title,
.page-id-2144 .elementor-icon-box-title a {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--ape-ink-mute);
	margin: 0 0 2px;
}
.page-id-2144 .elementor-icon-box-description {
	margin: 0;
	font-size: 17px;
	font-weight: 700;
	color: var(--ape-ink);
}

/* ---- il numero WhatsApp e l'email come pill cliccabili ---- */
.page-id-2144 .elementor-2144 .elementor-widget-text-editor h5 a[href*="wa.me"],
.page-id-2144 .elementor-2144 .elementor-icon-box-content a[href*="wa.me"] {
	color: var(--ape-ink);
	text-decoration: none;
}
.page-id-2144 .elementor-2144 .elementor-widget-text-editor h5 a[href*="wa.me"] {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 13px 24px;
	border-radius: 999px;
	background: #25D366;
	color: #fff;
	font-size: 17px;
	font-weight: 800;
	transition: background .15s ease, transform .15s ease;
}
.page-id-2144 .elementor-2144 .elementor-widget-text-editor h5 a[href*="wa.me"]:hover {
	background: #1FBF5C;
	transform: translateY(-1px);
	color: #fff;
}
.page-id-2144 .elementor-2144 a[href^="mailto:info@"]:not(.elementor-icon) {
	display: inline-flex;
	align-items: center;
	padding: 10px 20px;
	border-radius: 999px;
	border: 1.5px solid var(--ape-line);
	color: var(--ape-ink);
	font-weight: 700;
	text-decoration: none;
	transition: border-color .15s ease, background .15s ease;
}
.page-id-2144 .elementor-2144 a[href^="mailto:info@"]:not(.elementor-icon):hover {
	border-color: var(--ape-ink);
	background: var(--ape-surface);
}

/* ---- form: card curata ---- */
.page-id-2144 .elementor-widget-form > .elementor-widget-container {
	background: var(--ape-surface);
	border: 1px solid var(--ape-line);
	border-radius: 16px;
	padding: 26px 24px 22px;
	box-shadow: 0 10px 34px rgba(13, 17, 23, .07);
}
.page-id-2144 .elementor-field-group > label {
	font-size: 13px;
	font-weight: 600;
	color: var(--ape-ink-soft);
	margin-bottom: 6px;
}
.page-id-2144 .elementor-field-group .elementor-field {
	border: 1px solid var(--ape-line);
	border-radius: 10px;
	background: var(--ape-surface);
	font-size: 15px;
	color: var(--ape-ink);
	padding: 11px 14px;
	min-height: 44px;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.page-id-2144 .elementor-field-group .elementor-field:focus {
	outline: none;
	border-color: var(--ape-accent-focus);
	box-shadow: 0 0 0 3px var(--ape-accent-soft);
}
.page-id-2144 .elementor-field-group textarea.elementor-field {
	min-height: 130px;
	resize: vertical;
}
/* submit: bottone brand (giallo APE), non più grigio-disabilitato */
.page-id-2144 .e-form__buttons .elementor-button {
	background: var(--ape-accent);
	color: var(--ape-on-accent);
	font-size: 16px;
	font-weight: 800;
	letter-spacing: .01em;
	border: none;
	border-radius: 12px;
	padding: 15px 20px;
	cursor: pointer;
	transition: background .15s ease, transform .12s ease, box-shadow .15s ease;
}
.page-id-2144 .e-form__buttons .elementor-button:hover {
	background: var(--ape-accent-hover);
	transform: translateY(-1px);
	box-shadow: 0 8px 22px rgba(212, 184, 0, .35);
}
.page-id-2144 .e-form__buttons .elementor-button:active {
	transform: translateY(0);
}

/* ---- respiro tra le sezioni della colonna sinistra ---- */
.page-id-2144 .elementor-widget-icon-box { margin-bottom: 4px; }

/* ---- mobile ---- */
@media (max-width: 767px) {
	.page-id-2144 .elementor-widget-form > .elementor-widget-container { padding: 20px 16px 18px; }
	.page-id-2144 .elementor-2144 .elementor-widget-text-editor h5 a[href*="wa.me"] { width: 100%; justify-content: center; }
}

/* il titolo EMAIL resta etichetta, non pill */
.page-id-2144 .elementor-2144 .elementor-icon-box-title a[href^="mailto"] {
	display: inline;
	padding: 0;
	border: none;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--ape-ink-mute);
}

/* riga consenso privacy: checkbox allineata al testo */
.page-id-2144 .elementor-field-type-acceptance .elementor-field-subgroup label {
	display: inline-flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 14px;
	color: var(--ape-ink-soft);
}
.page-id-2144 .elementor-field-type-acceptance input[type="checkbox"] {
	margin-top: 3px;
	flex: 0 0 auto;
}

/* FIX: la checkbox del consenso ha classe .elementor-field → la regola generica
   dei campi (min-height 44 + padding) la gonfiava e la spingeva su una riga sua.
   Reset dimensioni checkbox + riga flex input/testo. */
.page-id-2144 .elementor-field-type-acceptance .elementor-field-option {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}
.page-id-2144 .elementor-field-group input.elementor-acceptance-field {
	min-height: 0;
	width: 18px;
	height: 18px;
	padding: 0;
	margin: 2px 0 0;
	border-radius: 4px;
	flex: 0 0 auto;
	accent-color: var(--ape-accent-focus);
}
.page-id-2144 .elementor-field-type-acceptance .elementor-field-option label {
	font-size: 14px;
	line-height: 1.45;
	color: var(--ape-ink-soft);
	margin: 0;
}

/* v3 invisibile: il contenitore del campo recaptcha non deve sembrare un input */
.page-id-2144 .elementor-field-type-recaptcha_v3 .elementor-field,
.page-id-2144 .elementor-field-type-recaptcha_v3 {
	border: none !important;
	min-height: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
}
