/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
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: 1.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
*/


#site_header, #site_footer, #content, main,
.error404,
.e-landing-page-template {
	margin: 0 auto;
    max-width: 1920px;
}

b, strong {
  font-weight: 700;
}

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

/* menu */
header .k-menu .menu-item {
    border-bottom: 1px solid var(--e-global-color-c527726);
	padding-bottom: 3px !important;
}
header .k-menu .menu-item a {
	min-height:41px;
    flex-direction: column;
    align-items: flex-start;
}

header .k-menu .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:last-child {
  margin-bottom: 30px !important;
}

/*header .k-menu .menu-item a:hover {
	border-bottom: 1px solid var(--e-global-color-primary);
}*/
header .k-menu .item-title {
	font-size:15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
	transition: color 200ms ease;
	margin-right: 30px;
}
header .k-menu .item-title i {
    opacity: 0;
	transform: translatex(-10px);
    transition: all 200ms ease;
}
header .k-menu  .menu-item a:hover i {
    opacity: 1;
	transform: translatex(3px);
}

header .k-menu .item-subtitle {
	color: var(--e-global-color-text);
    font-weight: 400;
    font-size: 14px;
    display: inline-block;
    margin-top: 5px;
}    
header .k-menu .menu-item a:hover .item-subtitle {
    color: var(--e-global-color-text);
}
header .k-menu .item-description {
	color: var(--e-global-color-text);
    font-weight: 400;
    font-size: 12px;
    display: inline-block;
    padding-bottom: 5px;
}  


@media screen and (min-width: 1024px) {
	header .k-menu.k-menu-grid-2 .elementor-nav-menu {
		display: grid;
		gap: 0 30px;
		grid-template-columns:1fr 1fr;
	}
	header .k-menu.k-menu-grid-3 .elementor-nav-menu {
		display: grid;
		gap: 0 30px;
		grid-template-columns:1fr 1fr 1fr;
	}
	header .k-menu.k-menu-grid-4 .elementor-nav-menu {
		display: grid;
		gap: 0 30px;
		grid-template-columns:1fr 1fr 1fr 1fr;
	}
}

/* Elementor FAQ 2 colonne */
.faq-two-columns-wrapper {
    display: flex;
    gap: 40px; /* Spazio tra le colonne */
    align-items: flex-start;
}

.faq-two-columns-wrapper > div {
    flex: 1;
    width: 50%;
}
@media (max-width: 767px) {
    .faq-two-columns-wrapper {
        flex-direction: column;
        gap: 0;
    }
    .faq-two-columns-wrapper > div {
        width: 100%;
    }
}

/* Contatti */
.section-contatti .elementor-icon-box-wrapper {
    align-items: center;
}
.section-contatti .elementor-icon-box-content {
    display: flex;
    flex-direction: column;
}
.section-contatti .elementor-icon-box-title {
    order: 2;
    margin: 2px 0 0 0 !important;
}
.section-contatti .elementor-icon-box-description {
    order: 1
}
.section-contatti .elementor-icon-box-content:hover a {
	color: var( --e-global-color-primary ) !important;
}


/* Link cards */
.k__card_link {
	aspect-ratio: 1;
}
.k__card_link:hover * {
    color: #FFF;
    fill: #FFF;
}
.k__card_link:hover .arrow {
	transform: translatex(10px);
}
.k__card_link .title .elementor-heading-title {
    display: inline-block;
	position: relative;
}
.k__card_link .title .elementor-heading-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0; 
    width: 0; 
    height: 2px; 
    background-color: #FFF;
    transition: width 0.4s ease-in-out;
  }

.k__card_link:hover .title .elementor-heading-title:after {
    width: 100%;
  }


.k__skew_eFaq .e-n-accordion-item-title-icon {
	--k-icon-bgcolor: var(--e-global-color-primary);   
	display: flex;
	align-items: center;
	justify-content: center;
	transform: skewX(-25deg);
	transform-origin: bottom left;
	margin-right: 15px;
	aspect-ratio: 1;
	width: 35px;
	height: 35px;
	background-color: var(--k-icon-bgcolor);
}
.k__skew_eFaq .e-n-accordion-item-title-icon > span {
	transform: skewX(25deg);
}
.k__skew_eFaq-giallo .e-n-accordion-item-title-icon {
	--k-icon-bgcolor: var(--e-global-color-accent);
}
.k__skew_eFaq-viola .e-n-accordion-item-title-icon {
    --k-icon-bgcolor: var(--e-global-color-a2725ad);
}
.k__skew_eFaq-grigio .e-n-accordion-item-title-icon {
    --k-icon-bgcolor: var(--e-global-color-c527726);
}
.k__skew_eFaq-blu .e-n-accordion-item-title-icon {
    --k-icon-bgcolor: var(--e-global-color-secondary);
}

/* UE accordion widget skewed */
.k__skew_faq .ue_expand {
	transform: skewX(-20deg);
	transform-origin: top left;
	padding-left: 15px;
}
.k__skew_faq .ue_expand span {
	transform: skewX(20deg);
}

/* Stile per i Titoli che avranno la barretta */
.k__bar .elementor-heading-title {
    position: relative;
    /* Definizione delle variabili CSS (proprietà personalizzate) */
    --k-bar-color: var(--e-global-color-primary);        /* Colore predefinito della barretta  */
    --k-bar-length: 90px;      /* Lunghezza (larghezza) predefinita della barretta  */
    --k-bar-thickness: 8px;    /* Spessore (altezza) predefinito della barretta  */
    --k-bar-skew-angle: -35deg; /* Angolo di skew (inclinazione) predefinito per la barretta  */
    --k-bar-spacing: 20px;     /* Spazio tra la barretta e il titolo  */

    /* Aggiunge spazio sopra il testo dl titolo per la barretta */
    /* Il padding deve essere almeno lo spessore della barretta più lo spazio desiderato */
    padding-top: calc(var(--k-bar-thickness) + var(--k-bar-spacing));

    /* Opzionale: resetta i margini superiori */
    margin-top: 0;
}

/* Barretta e varianti colore / lunghezza */
.k__bar .elementor-heading-title:before {
    content: ""; 
    display: block; 
    position: absolute;
    top: 0;
    left: 0; 
    width: var(--k-bar-length);
    height: var(--k-bar-thickness);
    background-color: var(--k-bar-color);
    transform: skewX(var(--k-bar-skew-angle));
    transform-origin: 0 50%;
}
.k__bar-blu .elementor-heading-title:before {
    --k-bar-color: var(--e-global-color-secondary);
}
.k__bar-giallo .elementor-heading-title:before {
    --k-bar-color: var(--e-global-color-accent);
}
.k__bar-viola .elementor-heading-title:before {
    --k-bar-color: var(--e-global-color-a2725ad);
}
.k__bar-grigio .elementor-heading-title:before {
    --k-bar-color: var(--e-global-color-c527726);
}
.k__bar-bianco .elementor-heading-title:before {
    --k-bar-color: var(--e-global-color-cf66ffb);
}
.k__bar-lunga .elementor-heading-title:before {
    --k-bar-length: 125px;
	--k-bar-thickness: 12px;
	--k-bar-spacing: 20px;
}

.k__bar.k__bar_center .elementor-heading-title:before {
	left: 0;
	right: 0;
	margin: 0 auto;
}


/* Bottoni doppio font */
.k__button .elementor-button-text {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    line-height: 1;
	text-align: left;
}
.k__button .elementor-button-icon svg {
    fill: var(--e-global-color-primary);
}
.k__button small {
    font-size: 15px;
    text-transform: uppercase;
    font-weight: 500;
}

.k__button_column .elementor-button-text {
	flex-direction: column;
	align-items: flex-start;
	gap: 3px;
}
.k__button_column small {
    font-size: 13px;
}
.k__button.k__button_grigio .elementor-button-icon svg {
    fill: var(--e-global-color-c527726);
}


/* Bottone */
.k__button_prodotti .elementor-button-text {
	text-align: left;
}
.k__button_prodotti .elementor-button-content-wrapper {
	align-items: center;
}

.k__button_prodotti .elementor-button-icon {
	font-size: 30px;
	fill: var(--e-global-color-primary);
}


.k__button_prodotti_blu .elementor-button-icon {
	font-size: 30px;
	fill: var(--e-global-color-secondary);
}

.k__button_prodotti_giallo .elementor-button-icon {
	font-size: 30px;
	fill: var(--e-global-color-accent);
}

.k__button_prodotti_grigio .elementor-button-icon {
	font-size: 30px;
	fill: var(--e-global-color-c527726);
}


@media screen and (max-width: 767px) {
	.ug-slider-control {
		display: none !important;
	}
}


#cmplz-document {
    max-width: 100%;
}
#cmplz-document h2 {
    font-size: 22px;
}
#cmplz-document h2, 
#cmplz-document h3,
#cmplz-document h4,
#cmplz-document h5,
#cmplz-document h6 {
    color: var(--e-global-color-primary);
}
#cmplz-document a {
    color: inherit;
    font-weight: inherit;
    text-decoration: underline;
}
#cmplz-document a:hover {
    color: var(--e-global-color-primary);
}