/* Voxal · ponte per le pagine ancora costruite con Elementor
   Allinea caratteri, colori, pulsanti e spaziature al linguaggio del tema
   finché le pagine non vengono ricostruite con i modelli Voxal. */

.vx-elementor {
	--e-global-color-primary: #235C67;
	--e-global-color-secondary: #3A4542;
	--e-global-color-text: #3A4542;
	--e-global-color-accent: #235C67;
	--e-global-typography-primary-font-family: 'Source Serif 4';
	--e-global-typography-primary-font-weight: 400;
	--e-global-typography-secondary-font-family: 'Source Serif 4';
	--e-global-typography-secondary-font-weight: 400;
	--e-global-typography-text-font-family: 'Inter';
	--e-global-typography-text-font-weight: 400;
	--e-global-typography-accent-font-family: 'Inter';
	--e-global-typography-accent-font-weight: 600;
	color: var(--vx-ink-2);
	font-family: var(--vx-sans);
}

/* Titoli */
.vx-elementor .elementor-heading-title,
.vx-elementor h1, .vx-elementor h2, .vx-elementor h3, .vx-elementor h4 {
	font-family: var(--vx-serif) !important;
	font-weight: 400 !important;
	letter-spacing: -0.01em !important;
	text-transform: none !important;
	color: var(--vx-ink) !important;
	line-height: 1.15 !important;
}
.vx-elementor h1.elementor-heading-title, .vx-elementor h1 { font-size: clamp(34px, 4.2vw, 54px) !important; }
.vx-elementor h2.elementor-heading-title, .vx-elementor .elementor-widget-text-editor h2 { font-size: clamp(26px, 2.8vw, 36px) !important; }
.vx-elementor h3 { font-size: clamp(21px, 2vw, 26px) !important; }
.vx-elementor h4 { font-size: 19px !important; }
.vx-elementor h5, .vx-elementor h6 { font-family: var(--vx-sans) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .18em !important; text-transform: uppercase !important; color: var(--vx-teal) !important; }

/* Testo */
.vx-elementor .elementor-widget-text-editor,
.vx-elementor .elementor-widget-text-editor p,
.vx-elementor .elementor-widget-text-editor li,
.vx-elementor .elementor-icon-list-text {
	font-family: var(--vx-sans) !important;
	font-size: 16px;
	line-height: 1.75 !important;
	color: var(--vx-ink-2) !important;
}
.vx-elementor .elementor-widget-text-editor strong, .vx-elementor .elementor-widget-text-editor b { color: var(--vx-ink); font-weight: 600; }
.vx-elementor .elementor-widget-text-editor a { color: var(--vx-teal) !important; text-decoration: underline; text-underline-offset: 3px; }
.vx-elementor .elementor-widget-text-editor blockquote { border-left: 3px solid var(--vx-teal); padding-left: 22px; font-family: var(--vx-serif); font-style: italic; font-size: 20px; color: var(--vx-ink); }

/* Pulsanti */
.vx-elementor .elementor-button,
.vx-elementor .elementor-widget-button .elementor-button,
.vx-elementor .button, .vx-elementor .add_to_cart_button,
.vx-elementor .elementor-widget-wc-add-to-cart .button {
	background: var(--vx-teal) !important;
	border: 1px solid var(--vx-teal) !important;
	color: #fff !important;
	border-radius: var(--vx-r) !important;
	font-family: var(--vx-sans) !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	padding: 14px 22px !important;
	line-height: 1.2 !important;
	box-shadow: none !important;
	transition: background-color .15s, border-color .15s;
}
.vx-elementor .elementor-button:hover, .vx-elementor .button:hover, .vx-elementor .add_to_cart_button:hover {
	background: var(--vx-teal-dark) !important;
	border-color: var(--vx-teal-dark) !important;
}
.vx-elementor .elementor-button .elementor-button-text { text-transform: none !important; }

/* Immagini e riquadri */
.vx-elementor .elementor-widget-image img { border-radius: var(--vx-r); }
.vx-elementor .elementor-divider-separator { border-color: var(--vx-line) !important; }
.vx-elementor .elementor-icon-list-icon i, .vx-elementor .elementor-icon-list-icon svg { color: var(--vx-teal) !important; fill: var(--vx-teal) !important; }
.vx-elementor .vx-bg-soft { background-color: var(--vx-ice) !important; border-top: 1px solid var(--vx-line); border-bottom: 1px solid var(--vx-line); }

/* Valutazioni a stelle statiche (non legate a recensioni reali): nascoste */
.vx-elementor .elementor-widget-rating,
.vx-elementor .elementor-widget-star-rating,
.vx-elementor .e-rating { display: none !important; }

/* Schede prodotto dei caroselli */
.vx-elementor .elementor-widget-woocommerce-product-title .product_title,
.vx-elementor .woocommerce-loop-product__title { font-family: var(--vx-serif) !important; font-weight: 400 !important; letter-spacing: 0 !important; }
.vx-elementor .swiper-pagination-bullet-active { background: var(--vx-teal) !important; }
.vx-elementor .elementor-swiper-button, .vx-elementor .swiper-button-next, .vx-elementor .swiper-button-prev { color: var(--vx-ink) !important; }

/* Moduli */
.vx-elementor .elementor-field-group input, .vx-elementor .elementor-field-group textarea, .vx-elementor .elementor-field-group select {
	border: 1px solid #8E9DA3 !important; border-radius: var(--vx-r) !important; font-family: var(--vx-sans) !important; min-height: 48px;
}
.vx-elementor h2[data-vx-was-h1] { font-size: clamp(30px, 3.6vw, 46px) !important; }

/* Vecchie pagine Elementor su smartphone: aree di tocco e immagini */
@media (max-width: 767px) {
	.vx-elementor-page .e-n-menu-dropdown-icon { min-width: 44px; min-height: 44px; }
	.vx-elementor-page img { max-width: 100%; height: auto; }
}
