.elementor-kit-5{--e-global-color-primary:#D7261E;--e-global-color-secondary:#1B1B1F;--e-global-color-text:#3B3B42;--e-global-color-accent:#1672B8;--e-global-color-giallo:#F5B400;--e-global-color-verde:#7CB83A;--e-global-color-grigio:#55555C;--e-global-color-grigio2:#77777E;--e-global-color-grigio3:#9A9AA0;--e-global-color-grigio4:#B5B5BB;--e-global-color-linea:#ECEBE7;--e-global-color-bordo:#D9D8D3;--e-global-color-fondo:#FCFCFB;--e-global-color-fondo2:#F5F4F1;--e-global-color-bianco:#FFFFFF;--e-global-color-scuro2:#2A2A30;--e-global-typography-primary-font-family:"Sora";--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Sora";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"DM Sans";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"Sora";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-line-height:1.2em;--e-global-typography-display-font-family:"Sora";--e-global-typography-display-font-size:108px;--e-global-typography-display-font-weight:800;--e-global-typography-display-line-height:0.95em;--e-global-typography-display-letter-spacing:-5.4px;--e-global-typography-titolo_pagina-font-family:"Sora";--e-global-typography-titolo_pagina-font-size:84px;--e-global-typography-titolo_pagina-font-weight:800;--e-global-typography-titolo_pagina-line-height:0.98em;--e-global-typography-titolo_pagina-letter-spacing:-3.8px;--e-global-typography-titolo_hero-font-family:"Sora";--e-global-typography-titolo_hero-font-size:64px;--e-global-typography-titolo_hero-font-weight:800;--e-global-typography-titolo_hero-line-height:1.04em;--e-global-typography-titolo_hero-letter-spacing:-2.2px;--e-global-typography-titolo_sezione-font-family:"Sora";--e-global-typography-titolo_sezione-font-size:66px;--e-global-typography-titolo_sezione-font-weight:800;--e-global-typography-titolo_sezione-line-height:1em;--e-global-typography-titolo_sezione-letter-spacing:-2.6px;--e-global-typography-titolo_medio-font-family:"Sora";--e-global-typography-titolo_medio-font-size:36px;--e-global-typography-titolo_medio-font-weight:800;--e-global-typography-titolo_medio-line-height:1.1em;--e-global-typography-titolo_medio-letter-spacing:-1.1px;--e-global-typography-titolo_card_grande-font-family:"Sora";--e-global-typography-titolo_card_grande-font-size:32px;--e-global-typography-titolo_card_grande-font-weight:800;--e-global-typography-titolo_card_grande-line-height:1.05em;--e-global-typography-titolo_card_grande-letter-spacing:-1px;--e-global-typography-titolo_card-font-family:"Sora";--e-global-typography-titolo_card-font-size:20px;--e-global-typography-titolo_card-font-weight:700;--e-global-typography-titolo_card-line-height:1.3em;--e-global-typography-titolo_card-letter-spacing:-0.2px;--e-global-typography-occhiello-font-family:"Sora";--e-global-typography-occhiello-font-size:14px;--e-global-typography-occhiello-font-weight:700;--e-global-typography-occhiello-text-transform:uppercase;--e-global-typography-occhiello-line-height:1.2em;--e-global-typography-occhiello-letter-spacing:1.1px;--e-global-typography-etichetta-font-family:"DM Sans";--e-global-typography-etichetta-font-size:12.5px;--e-global-typography-etichetta-font-weight:700;--e-global-typography-etichetta-text-transform:uppercase;--e-global-typography-etichetta-line-height:1.2em;--e-global-typography-etichetta-letter-spacing:1px;--e-global-typography-corpo_grande-font-family:"DM Sans";--e-global-typography-corpo_grande-font-size:20px;--e-global-typography-corpo_grande-font-weight:400;--e-global-typography-corpo_grande-line-height:1.55em;--e-global-typography-corpo_card-font-family:"DM Sans";--e-global-typography-corpo_card-font-size:16.5px;--e-global-typography-corpo_card-font-weight:400;--e-global-typography-corpo_card-line-height:1.6em;--e-global-typography-menu-font-family:"Sora";--e-global-typography-menu-font-size:14.5px;--e-global-typography-menu-font-weight:600;--e-global-typography-menu-line-height:1.2em;--e-global-typography-piccolo-font-family:"DM Sans";--e-global-typography-piccolo-font-size:13.5px;--e-global-typography-piccolo-font-weight:400;--e-global-typography-piccolo-line-height:1.5em;background-color:#FCFCFB;color:#3B3B42;font-family:"DM Sans", Sans-serif;font-size:17px;font-weight:400;line-height:1.6em;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:#D7261E;font-family:"Sora", Sans-serif;font-size:15px;font-weight:700;line-height:1.2em;color:#FFFFFF;border-radius:999px 999px 999px 999px;padding:15px 26px 15px 26px;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:#1B1B1F;color:#FFFFFF;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:#1B1B1F;}.elementor-kit-5 a:hover{color:#D7261E;}.elementor-kit-5 h1{color:#1B1B1F;font-family:"Sora", Sans-serif;font-weight:800;}.elementor-kit-5 h2{color:#1B1B1F;font-family:"Sora", Sans-serif;font-weight:800;}.elementor-kit-5 h3{color:#1B1B1F;font-family:"Sora", Sans-serif;font-weight:700;}.elementor-kit-5 h4{color:#1B1B1F;font-family:"Sora", Sans-serif;font-weight:700;}.elementor-kit-5 h5{color:#1B1B1F;font-family:"Sora", Sans-serif;font-weight:700;}.elementor-kit-5 h6{color:#1B1B1F;font-family:"Sora", Sans-serif;font-weight:700;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1256px;}.e-con{--container-max-width:1256px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-5{--e-global-typography-display-font-size:76px;--e-global-typography-display-letter-spacing:-3.8px;--e-global-typography-titolo_pagina-font-size:60px;--e-global-typography-titolo_pagina-letter-spacing:-2.7px;--e-global-typography-titolo_hero-font-size:48px;--e-global-typography-titolo_hero-letter-spacing:-1.7px;--e-global-typography-titolo_sezione-font-size:48px;--e-global-typography-titolo_sezione-letter-spacing:-1.9px;--e-global-typography-titolo_medio-font-size:32px;--e-global-typography-titolo_medio-letter-spacing:-1px;--e-global-typography-titolo_card_grande-font-size:28px;--e-global-typography-titolo_card_grande-letter-spacing:-0.8px;--e-global-typography-corpo_grande-font-size:19px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{--e-global-typography-display-font-size:52px;--e-global-typography-display-letter-spacing:-2.6px;--e-global-typography-titolo_pagina-font-size:44px;--e-global-typography-titolo_pagina-letter-spacing:-2px;--e-global-typography-titolo_hero-font-size:36px;--e-global-typography-titolo_hero-letter-spacing:-1.3px;--e-global-typography-titolo_sezione-font-size:40px;--e-global-typography-titolo_sezione-letter-spacing:-1.6px;--e-global-typography-titolo_medio-font-size:28px;--e-global-typography-titolo_medio-letter-spacing:-0.8px;--e-global-typography-titolo_card_grande-font-size:26px;--e-global-typography-titolo_card_grande-letter-spacing:-0.8px;--e-global-typography-corpo_grande-font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* GN Media – CSS del kit (Elementor → Impostazioni del sito → CSS personalizzato).
   Solo decorazioni che nessun controllo di Elementor produce. Due gruppi:
   1) dentro @layer apx: aspetto di base, i controlli di Elementor lo sovrascrivono sempre;
   2) fuori dal layer (con selettori specifici, mai !important): i colori diversi per ogni voce del menu e per ogni
      scheda dello slider, perché i widget hanno un solo colore per tutte le voci. */
@layer apx {
	/* Slider della home (widget Schede, classe gn-hero): barra delle schede sovrapposta al fondo della slide */
	.gn-hero .e-n-tabs-heading { position: relative; z-index: 3; width: calc(100% - 64px); max-width: 1256px; margin-inline: auto; margin-top: -84px; border-radius: 20px 20px 0 0; overflow: hidden; box-shadow: 0 -10px 40px rgba(0, 0, 0, .12); }
	.gn-hero .e-n-tabs-heading { counter-reset: gn-scheda; }
	.gn-hero .e-n-tab-title { counter-increment: gn-scheda; }   /* numero sopra il nome: controllo nativo Stile → Icona → Posizione «Sopra» */
	.gn-hero .e-n-tab-title::before { content: counter(gn-scheda, decimal-leading-zero); font-family: 'DM Sans', sans-serif; font-size: 12.5px; font-weight: 700; color: #9a9aa0; font-variant-numeric: tabular-nums; }
	.gn-hero .e-n-tabs-content > .e-con.e-active { animation: gn-dissolvenza .7s ease; }
	@media (max-width: 767px) { .gn-hero .e-n-tabs-heading { width: calc(100% - 24px); margin-top: -64px; } }

	/* Loghi delle associazioni nel footer e card: fondi bianchi dei jpg che si fondono con lo sfondo */
	.gn-multiply img { mix-blend-mode: multiply; }
	/* Card con immagine: l'immagine riempie il riquadro */
	.gn-card-img img { width: 100%; object-fit: cover; }
	/* Titolo con una parola in rosso: <span class="gn-rosso">parole.</span> */
	.gn-rosso { color: var(--e-global-color-primary); }
}
@keyframes gn-dissolvenza { from { opacity: 0; } to { opacity: 1; } }

/* ---- fuori dal layer: colore di ogni voce ---- */
/* Menu: bordo colorato del pannello a tendina, diverso per voce (classe CSS della voce in Aspetto → Menu) */
.gn-nav .elementor-nav-menu--main .gn-sub-blu > ul.sub-menu { border-top-color: #1672b8; }
.gn-nav .elementor-nav-menu--main .gn-sub-rosso > ul.sub-menu { border-top-color: #d7261e; }
.gn-nav .elementor-nav-menu--main .gn-sub-giallo > ul.sub-menu { border-top-color: #f5b400; }
.gn-nav .elementor-nav-menu--main .gn-sub-verde > ul.sub-menu { border-top-color: #7cb83a; }
.gn-nav .elementor-nav-menu--main ul.sub-menu { min-width: 290px; }
/* Voci «figlie» (classe gn-figlia): rientrate e più leggere, come nel mockup. Il grigio vale solo a riposo: al passaggio
   del mouse e sulla pagina aperta valgono i colori del widget Menu (Tendina → passaggio / attivo, oggi rosso). */
.gn-nav.gn-nav .elementor-nav-menu--main ul.sub-menu li.gn-figlia > a.elementor-sub-item { padding-left: 38px; font-size: 14px; font-weight: 400; }
.gn-nav.gn-nav .elementor-nav-menu--main ul.sub-menu li.gn-figlia > a.elementor-sub-item:not(:hover):not(.elementor-item-active) { color: #55555c; }
/* «Contatti» sta nel menu mobile; su desktop c'è il pulsante rosso */
@media (min-width: 1260px) { .gn-nav .elementor-nav-menu--main li.gn-menu-contatti { display: none; } }
/* Pulsante del menu mobile: cerchio da 52 px come nel mockup (il widget ha la dimensione dell'icona ma non lo spazio intorno) */
.gn-nav.gn-nav .elementor-menu-toggle { padding: 14px; }
/* Slider: bordo della scheda attiva nel colore della slide (1 rosso, 2 blu, 3 giallo, 4 verde, poi si ripete) */
.elementor .gn-hero.gn-hero .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"]:nth-child(4n+1) { border-top-color: #d7261e; }
.elementor .gn-hero.gn-hero .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"]:nth-child(4n+2) { border-top-color: #1672b8; }
.elementor .gn-hero.gn-hero .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"]:nth-child(4n+3) { border-top-color: #f5b400; }
.elementor .gn-hero.gn-hero .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"]:nth-child(4n+4) { border-top-color: #7cb83a; }

@layer apx {
	/* Filtri a pillola (menu Filtri – …): bordo delle pillole non attive */
	.gn-pillole .elementor-nav-menu--main .elementor-item { border: 1px solid #d9d8d3; border-radius: 999px; }
	.gn-pillole .elementor-nav-menu--main .elementor-item.elementor-item-active, .gn-pillole .elementor-nav-menu--main .elementor-item:hover { border-color: #1b1b1f; }
}

/* Indice «In questa pagina» (widget Indice, classe gn-toc): voci a riquadro, quella della sezione in vista evidenziata */
@layer apx {
	.gn-toc .elementor-toc__list-wrapper { display: flex; flex-direction: column; gap: 6px; }
	.gn-toc .elementor-toc__list-item-text { flex: 1 1 auto; padding: 12px 16px; border-radius: 12px; }
}
/* fuori dal layer: il reset del tema azzera il fondo dei link */
.gn-toc .elementor-toc__list-item-text.elementor-item-active { background-color: #f5f4f1; border-left: 4px solid #d7261e; font-weight: 700; }

/* Clienti: galleria filtrabile (widget Galleria, classe gn-loghi-clienti). Fuori dal layer: il CSS della galleria
   ritaglia le immagini (background-size: cover) e dà ai filtri un padding fisso; nessun controllo cambia questi valori. */
.gn-loghi-clienti .elementor-gallery-item { background-color: #fff; }
.gn-loghi-clienti .e-gallery-item .e-gallery-image { background-size: contain; background-repeat: no-repeat; transform-origin: center center; transform: scale(.72); }   /* il logo intero, con aria intorno (l'altezza del riquadro la dà la galleria col padding) */
.gn-loghi-clienti .elementor-gallery__titles-container a.elementor-gallery-title { padding: 11px 18px; border: 1px solid #d9d8d3; border-radius: 999px; }
.gn-loghi-clienti .elementor-gallery__titles-container a.elementor-gallery-title::before { border-radius: 999px; }
.gn-loghi-clienti .elementor-gallery__titles-container a.elementor-gallery-title.elementor-item-active, .gn-loghi-clienti .elementor-gallery__titles-container a.elementor-gallery-title:hover { border-color: #1b1b1f; }/* End custom CSS */