/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* --- Ricostruzione medicinaesteticasartorio.com ---------------------------
   Impreza distanziava i paragrafi di 1.5em; Hello Elementor usa 0.8em.
   Senza questa regola ogni blocco di testo perde ~12px per paragrafo e le
   sezioni risultano tutte piu corte dell'originale. */
.elementor-widget-text-editor p,
.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol {
	/* Impreza dichiara lo stacco in rem (1.5rem su root 18px = 27px): e' fisso,
	   non proporzionale al font-size del paragrafo (un p a 22px stacca 27, non 33) */
	margin-bottom: 27px;
}

.elementor-widget-text-editor p:last-child,
.elementor-widget-text-editor ul:last-child,
.elementor-widget-text-editor ol:last-child {
	margin-bottom: 0;
}

/* Impreza dava 9px di respiro a ogni voce di elenco (l'ultima esclusa):
   con 7 voci sono 63px di sezione, la deriva misurata su "Chi sono". */
.elementor-widget-text-editor li {
	margin-bottom: 9px;
}

.elementor-widget-text-editor li:last-child {
	margin-bottom: 0;
}

/* Impreza chiedeva Raleway 700 italic ma caricava solo la 600: i <b> annidati
   devono restare al peso del blocco, altrimenti il testo si allarga e wrappa. */
.sart-raleway-600 b,
.sart-raleway-600 strong {
	font-weight: 600;
}

/* Le icone di Impreza vivono in un box a line-height 1: l'SVG di Elementor,
   restando inline, si porta dietro lo spazio della riga di testo (+7px). */
.elementor-widget-icon .elementor-icon,
.elementor-widget-icon .elementor-icon svg {
	display: block;
	line-height: 1;
}

/* --- Freccia "scorri al form" (pagina Contatti) ---------------------------
 * Riproduce l'animazione del sito originale: il link #contact_form portava
 * la classe .bounce. Il widget Icona di Elementor incapsula l'icona in un
 * <a>, quindi la classe sta sul wrapper del widget e l'animazione va
 * applicata all'icona interna.
 * ------------------------------------------------------------------------ */
.bounce .elementor-icon {
	-moz-animation: bounce 2s infinite;
	-webkit-animation: bounce 2s infinite;
	animation: bounce 2s infinite;
}

@keyframes bounce {
	0%,
	20%,
	50%,
	80%,
	100% {
		transform: translateY(0);
	}
	40% {
		transform: translateY(-30px);
	}
	60% {
		transform: translateY(-15px);
	}
}

/* Accessibilita': niente movimento per chi lo ha disattivato a sistema. */
@media (prefers-reduced-motion: reduce) {
	.bounce .elementor-icon {
		animation: none;
	}
}

/* =========================================================================
 * Form Gravity (Home e Contatti) — replica dello stile del sito originale
 * Fonte: medicinaesteticasartorio.com archiviato, regola Impreza
 * .us_custom_f26a6ad0 e variabili --inputs-* del tema.
 * ===================================================================== */

/* La scatola bianca (bordo, raggio 45, ombra) ora e' il container Elementor
 * di modulo() in _build/gen_pagine.py, modificabile dal cliente: ripeterla
 * qui creava un doppio riquadro. */
.gform_wrapper.gravity-theme {
	color: #000;
	margin: 0;
}

/* Campi: altezza, fondo grigio e ombra interna come nell'originale. */
.gform_wrapper.gravity-theme .gform_fields input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]),
.gform_wrapper.gravity-theme .gform_fields select,
.gform_wrapper.gravity-theme .gform_fields textarea {
	height: 2.8rem;
	padding: 0 0.8rem;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.2;
	color: #333;
	background: #f5f5f5;
	border: 0;
	border-radius: 0;
	box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.08) inset;
	transition: box-shadow 0.2s ease;
}

.gform_wrapper.gravity-theme .gform_fields textarea {
	height: auto;
	padding: 0.8rem;
}

/* Stato attivo: anello taupe al posto dell'outline di sistema,
 * fondo bianco per staccare il campo in uso dagli altri. */
.gform_wrapper.gravity-theme .gform_fields input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):focus,
.gform_wrapper.gravity-theme .gform_fields select:focus,
.gform_wrapper.gravity-theme .gform_fields textarea:focus {
	outline: none;
	background: #fff;
	box-shadow: 0 0 0 2px #8f7c75;
}

/* Focus da tastiera anche su checkbox e pulsante: senza questo
 * l'outline: none qui sopra lascerebbe la navigazione a tab cieca. */
.gform_wrapper.gravity-theme input[type="checkbox"]:focus-visible,
.gform_wrapper.gravity-theme .gform_footer .gform_button:focus-visible {
	outline: 2px solid #8f7c75;
	outline-offset: 2px;
}

.gform_wrapper.gravity-theme .gfield_label {
	font-weight: 600;
	color: #1a1a1a;
}

/* CTA verde del progetto: pulsante del form e pulsanti Elementor
 * condividono lo stesso aspetto. Gli !important battono il CSS
 * per-widget che Elementor genera (.elementor-32 .elementor-element-xxx). */
.gform_wrapper.gravity-theme .gform_footer .gform_button,
.gform_wrapper.gravity-theme .gform-footer .gform_button,
.elementor-button,
.elementor-button-wrapper .elementor-button {
	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.04em !important;
	text-transform: none !important;
	padding: 0.8em 1.8em !important;
	color: #fff !important;
	background: #44ae00 !important;
	border: 0 !important;
	border-radius: 0.3em !important;
	cursor: pointer !important;
	transition: background 0.2s ease !important;
}

/* Footer del form centrato: il pulsante sta al centro della scatola. */
.gform_wrapper.gravity-theme .gform_footer,
.gform_wrapper.gravity-theme .gform-footer {
	display: flex;
	justify-content: center;
	padding: 0;
	margin-top: 28px;
}

.gform_wrapper.gravity-theme .gform_footer .gform_button:hover,
.gform_wrapper.gravity-theme .gform-footer .gform_button:hover,
.elementor-button:hover,
.elementor-button:focus,
.elementor-button-wrapper .elementor-button:hover {
	background: #3a8f02 !important;
	color: #fff !important;
}

/* Il testo dentro il pulsante Elementor eredita, non decide. */
.elementor-button .elementor-button-text,
.elementor-button .elementor-button-content-wrapper {
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
}

/* Consenso privacy: testo piccolo, allineato alla casella. */
.gform_wrapper.gravity-theme .gfield--type-checkbox .gchoice label {
	font-size: 0.85rem;
	line-height: 1.4;
	color: #555;
}

/* Errori di validazione sul verde no: rosso leggibile sul fondo bianco. */
.gform_wrapper.gravity-theme .gfield_validation_message,
.gform_wrapper.gravity-theme .validation_message {
	font-size: 0.85rem;
	color: #b3261e;
	background: transparent;
	border: 0;
	padding: 0.3rem 0 0;
}
