/* da-card-progetto-inline-css */

.elementor-10627 .elementor-element.elementor-element-0225287:not(.elementor-motion-effects-element-type-background), .elementor-10627 .elementor-element.elementor-element-0225287 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#2c2c2c;}.elementor-10627 .elementor-element.elementor-element-0225287{overflow:hidden;transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:0px;margin-bottom:0px;padding:24px 20px 24px 20px;}.elementor-10627 .elementor-element.elementor-element-0225287, .elementor-10627 .elementor-element.elementor-element-0225287 > .elementor-background-overlay{border-radius:25px 25px 25px 25px;}.elementor-10627 .elementor-element.elementor-element-0225287 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-bc-flex-widget .elementor-10627 .elementor-element.elementor-element-24ce296.elementor-column .elementor-widget-wrap{align-items:flex-start;}.elementor-10627 .elementor-element.elementor-element-24ce296.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:flex-start;align-items:flex-start;}.elementor-widget-theme-post-featured-image .widget-image-caption{color:var( --e-global-color-text );}.elementor-10627 .elementor-element.elementor-element-bf8355b > .elementor-widget-container{margin:-24px -20px 20px -20px;}.elementor-10627 .elementor-element.elementor-element-bf8355b{z-index:1;}.elementor-widget-heading .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-10627 .elementor-element.elementor-element-a4247ee{width:auto;max-width:auto;z-index:0;}.elementor-10627 .elementor-element.elementor-element-a4247ee .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:44px;font-weight:600;line-height:1em;letter-spacing:-0.03em;-webkit-text-stroke-width:1px;stroke-width:1px;-webkit-text-stroke-color:rgba(255,255,255,0.14);stroke:rgba(255,255,255,0.14);color:rgba(255,255,255,0.02);}.elementor-10627 .elementor-element.elementor-element-c19ef42{z-index:1;text-align:center;}.elementor-10627 .elementor-element.elementor-element-c19ef42 .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:15px;font-weight:400;line-height:1.3em;color:#ffffff;}.elementor-widget-text-editor{color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-10627 .elementor-element.elementor-element-62289c0 > .elementor-widget-container{margin:6px 0px 0px 0px;}.elementor-10627 .elementor-element.elementor-element-62289c0{z-index:1;text-align:center;font-family:"Manrope", Sans-serif;font-size:12px;font-weight:400;line-height:1.45em;color:#b9b9b9;}.elementor-10627 .elementor-element.elementor-element-de7bd4c{width:auto;max-width:auto;}.elementor-10627 .elementor-element.elementor-element-de7bd4c > .elementor-widget-container{background-color:#ffcf0e;padding:6px 17px 8px 17px;border-radius:999px 999px 999px 999px;}.elementor-10627 .elementor-element.elementor-element-de7bd4c .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:17px;font-weight:700;line-height:1em;color:#1a1a1a;}@media(max-width:1024px){.elementor-10627 .elementor-element.elementor-element-c19ef42 .elementor-heading-title{font-size:15px;}.elementor-10627 .elementor-element.elementor-element-62289c0{font-size:12px;}}@media(max-width:767px){.elementor-10627 .elementor-element.elementor-element-0225287{padding:20px 16px 20px 16px;}.elementor-10627 .elementor-element.elementor-element-c19ef42 .elementor-heading-title{font-size:15px;}.elementor-10627 .elementor-element.elementor-element-62289c0{font-size:12px;line-height:1.45em;}}/* Start custom CSS for theme-post-featured-image, class: .elementor-element-bf8355b */.elementor-10627 .elementor-element.elementor-element-bf8355b{width:calc(100% + 40px);}.elementor-10627 .elementor-element.elementor-element-bf8355b img{width:100%;height:auto;display:block;border-radius:25px 25px 0 0;}.elementor-10627 .elementor-element.elementor-element-bf8355b:empty{display:none;}@media(max-width:767px){.elementor-10627 .elementor-element.elementor-element-bf8355b{margin:-20px -16px 16px -16px;width:calc(100% + 32px);}}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-a4247ee */.elementor-10627 .elementor-element.elementor-element-a4247ee{position:absolute;right:6px;bottom:58px;margin:0;z-index:0;}.elementor-10627 .elementor-element.elementor-element-a4247ee .elementor-heading-title{writing-mode:vertical-rl;}@media(max-width:767px){.elementor-10627 .elementor-element.elementor-element-a4247ee{display:none;}}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-c19ef42 */.elementor-10627 .elementor-element.elementor-element-c19ef42{text-wrap:balance;}@media(max-width:767px){.elementor-10627 .elementor-element.elementor-element-c19ef42 .elementor-heading-title{font-size:15px;line-height:1.3;}}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-62289c0 */@media(max-width:767px){.elementor-10627 .elementor-element.elementor-element-62289c0{font-size:12px;line-height:1.45;}.elementor-10627 .elementor-element.elementor-element-62289c0 p{font-size:12px;line-height:1.45;margin:0;}}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-de7bd4c */.elementor-10627 .elementor-element.elementor-element-de7bd4c{position:absolute;left:18px;bottom:18px;margin:0;z-index:2;transition:background .3s;}.elementor-10627 .elementor-element.elementor-element-de7bd4c:hover{background:#ffb70e;}@media(max-width:767px){.elementor-10627 .elementor-element.elementor-element-de7bd4c{left:14px;bottom:14px;}}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-0225287 */.elementor-10627 .elementor-element.elementor-element-0225287{min-height:470px;display:flex;align-items:flex-start;position:relative;cursor:pointer;transition:transform .35s cubic-bezier(0.16,1,0.3,1),box-shadow .35s;}.elementor-10627 .elementor-element.elementor-element-0225287:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(0,0,0,0.4);}.elementor-10627 .elementor-element.elementor-element-0225287 .elementor-container{width:100%;}.elementor-10627 .elementor-element.elementor-element-0225287 .elementor-container,.elementor-10627 .elementor-element.elementor-element-0225287 .elementor-row,.elementor-10627 .elementor-element.elementor-element-0225287 .elementor-column,.elementor-10627 .elementor-element.elementor-element-0225287 .elementor-widget-wrap{position:static;}.elementor-10627 .elementor-element.elementor-element-0225287 .elementor-widget-wrap{padding-bottom:46px;}@media(max-width:767px){.elementor-10627 .elementor-element.elementor-element-0225287{min-height:420px;}}/* End custom CSS */
/*# sourceURL=da-card-progetto-inline-css */

/* da-mega-menu */

/* ── footer: le due righe di elenchi stavano troppo distanti su desktop ──
   Non dipende dal prefisso dell'header: si emette una volta sola. ── */
@media (min-width:1025px){
	.da-footer-riga2{ margin-top:-52px !important; }
}
@media (max-width:1024px){
	/* su schermi stretti le colonne si impilano: il margine negativo
	   sovrapporrebbe i blocchi, quindi lì si azzera */
	.da-footer-riga2{ margin-top:0 !important; }
}
/* ── freccetta della voce attiva ── */
.elementor-10606 .elementor-element.elementor-element-d20957a .elementor-nav-menu--main .current-menu-item > a .sub-arrow,
.elementor-10606 .elementor-element.elementor-element-d20957a .elementor-nav-menu--main .current-menu-item > a .sub-arrow i,
.elementor-10606 .elementor-element.elementor-element-d20957a .elementor-nav-menu--main .current-menu-item > a .sub-arrow svg,
.elementor-10606 .elementor-element.elementor-element-d20957a .elementor-nav-menu--main .current-menu-item > a .sub-arrow path{
	color:#141414 !important; fill:#141414 !important; opacity:1 !important;
}

@media (min-width:1025px){

	/* 🔴 IL DISPLAY NON SI TOCCA NELLO STATO A RIPOSO.
	   Primo tentativo: `display:grid !important` sul pannello. Risultato: il
	   mega menu restava APERTO su ogni pagina del sito, perché lo stato chiuso
	   di SmartMenus è `display:none` via CSS (nessuno stile inline) e veniva
	   sovrascritto. Il layout si applica quindi SOLO da aperto.

	   🔴 VIDEO 39 — L'APERTURA NON È PIÙ SU :hover.
	   Con `:hover` il pannello compariva e spariva ISTANTANEAMENTE, mentre
	   «Corsi» è governato da SmartMenus, che ha `showTimeout:250` e
	   `hideTimeout:500` (letti dai default del plugin sulla pagina viva).
	   Da qui le due differenze che si vedevano: Servizi appariva più in fretta
	   e, soprattutto, spariva subito appena il puntatore usciva.

	   ✅ Lo stato aperto si aggancia all'attributo che SmartMenus scrive da sé
	   sull'anchor: `aria-expanded="true"`. Così apertura e chiusura le decide
	   lo stesso identico codice che governa «Corsi» — stessi ritardi, stesso
	   comportamento — e resta valida la regola d'oro: da chiuso l'attributo è
	   "false", quindi il pannello non può restare aperto per colpa del CSS.

	   🔴 VIDEO 40 — IL LAMPO A COLONNA SINGOLA IN CHIUSURA.
	   Agganciando TUTTO l'assetto ad `aria-expanded`, in chiusura si vedeva il
	   pannello diventare una colonna alta e stretta per una frazione di
	   secondo. Misurato: SmartMenus mette `aria-expanded="false"` PRIMA di
	   nascondere il pannello, e in quell'istante la regola smette di valere.
	   Restano però attivi gli stili inline che SmartMenus stesso ha scritto
	   all'apertura (`display:block; min-width:10em; max-width:1000px`), quindi
	   il pannello passa da 686×286 in tre colonne a 290×714 in una colonna —
	   e si vede, prima che arrivi il `display:none`.

	   ✅ La cura: solo `display:flex` resta legato allo stato aperto. Tutto il
	   resto dell'assetto — larghezza, margini interni, e colonne affiancate —
	   si applica SEMPRE. Da chiuso non fa danni (il pannello è `display:none`
	   e i figli non esistono a schermo), e nell'istante in cui il display
	   torna `block` le colonne restano affiancate perché diventano
	   `inline-block`: la disposizione non cambia, cambia solo chi la governa.

	   ⚠️ Il `display` a riposo continua a non essere toccato: è la regola che
	   nel video 36 aveva lasciato il menu aperto su tutto il sito. */

	/* ── assetto sempre attivo: è questo che toglie il lampo ── */
	.elementor-10606 .elementor-element.elementor-element-d20957a .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu{
		padding:14px !important;
		width:max-content !important; min-width:0 !important; max-width:min(92vw,940px) !important;
	}
	.elementor-10606 .elementor-element.elementor-element-d20957a .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li{
		/* con `display:flex` sul pannello questo viene ignorato (i figli
		   diventano elementi flessibili); serve solo nel fotogramma in cui il
		   display è tornato `block` e il flex non c'è ancora più */
		display:inline-block !important; vertical-align:top !important;
		/* il margine sostituisce il `gap`, che esiste solo in flex: così la
		   distanza fra le colonne è la stessa nei due modi */
		margin-right:10px !important;
	}
	.elementor-10606 .elementor-element.elementor-element-d20957a .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li:last-child{ margin-right:0 !important; }

	/* ── l'unica cosa legata allo stato aperto ── */
	.elementor-10606 .elementor-element.elementor-element-d20957a .elementor-nav-menu--main li.menu-item-10564 > a[aria-expanded="true"] + ul.sub-menu{
		display:flex !important; align-items:stretch !important;
	}

	/* 🔴 IL PONTE TRASPARENTE NON SERVE PIÙ — e faceva danni.
	   Storia: finché il pannello si apriva in puro CSS su :hover, i 18px di
	   `margin-top` fra la voce e il pannello erano terra di nessuno; il
	   puntatore che li attraversava perdeva l'hover e il menu si chiudeva in
	   faccia a chi ci stava andando. Il margine era quindi diventato un BORDO
	   SUPERIORE TRASPARENTE da 18px con `background-clip:padding-box`, e il
	   border-radius andava gonfiato a 36px sopra per compensare
	   (raggio dello sfondo = border-radius − border-width).

	   🔴 Prezzo pagato, ed è esattamente ciò che si vede nel video 39:
	   · il pannello partiva 18px più in basso di quello di «Corsi»,
	   · gli angoli non erano stondati come quelli di «Corsi» — sopra per via
	     della compensazione approssimata, sotto perché la cornice era un'ombra
	     interna e non il bordo vero.

	   ✅ Ora che ad aprire e chiudere è SmartMenus, i 18px li copre il suo
	   `hideTimeout` di mezzo secondo — lo stesso identico margine di manovra
	   che ha «Corsi» oggi. Quindi il blocco intero è stato tolto: senza
	   override, il pannello di «Servizi» eredita margine, bordo, raggio e
	   ombra dal CSS del widget, cioè gli stessi di «Corsi», per costruzione. */

	/* ogni colonna: stessa larghezza e — grazie ad align-items:stretch — stessa altezza */
	.elementor-10606 .elementor-element.elementor-element-d20957a .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li{
		flex:1 1 0 !important; min-width:212px !important;
		border-radius:16px !important; padding:10px 6px 12px !important; box-sizing:border-box !important;
	}

	/* i figli restano dentro la colonna invece di aprirsi di lato */
	.elementor-10606 .elementor-element.elementor-element-d20957a .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li > ul.sub-menu{
		display:block !important; position:static !important; transform:none !important;
		/* ⚠️ NIENTE visibility/opacity forzate: l'header è stampato DUE volte
		   (la copia in sticky è nascosta con visibility:hidden). Forzandole,
		   i sottolivelli della copia nascosta riemergevano e ogni voce
		   appariva doppia e sfalsata di ~46px. Misurato il 19/08/2026. */
		background:transparent !important; box-shadow:none !important; border:0 !important;
		min-width:0 !important; width:auto !important;
		padding:0 !important; margin:4px 0 0 !important;
		border-radius:0 !important; animation:none !important;
	}

	/* lo sfondo lo dà la colonna, non la singola voce */
	.elementor-10606 .elementor-element.elementor-element-d20957a .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu a.elementor-sub-item{
		background:transparent !important;
	}
	.elementor-10606 .elementor-element.elementor-element-d20957a .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li > ul.sub-menu a.elementor-sub-item:hover{
		background:rgba(255,255,255,.08) !important; color:#ffcf0e !important;
	}

	/* intestazione di colonna */
	.elementor-10606 .elementor-element.elementor-element-d20957a .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li.da-mega-col > a{
		text-transform:uppercase !important; letter-spacing:.09em !important;
		font-size:11px !important; font-weight:700 !important;
		padding:6px 10px 4px !important;
	}
	.elementor-10606 .elementor-element.elementor-element-d20957a .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li.da-mega-col > a .sub-arrow{ display:none !important; }

	/* tinte per famiglia */
	.elementor-10606 .elementor-element.elementor-element-d20957a .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li.da-c1{ background:rgba(242,90,234,.10) !important; }
	.elementor-10606 .elementor-element.elementor-element-d20957a .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li.da-c2{ background:rgba(132,204,22,.09) !important; }
	.elementor-10606 .elementor-element.elementor-element-d20957a .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li.da-c3{ background:rgba(77,148,255,.11) !important; }
	.elementor-10606 .elementor-element.elementor-element-d20957a .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li.da-c1 > a{ color:#f25aea !important; }
	.elementor-10606 .elementor-element.elementor-element-d20957a .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li.da-c2 > a{ color:#84cc16 !important; }
	.elementor-10606 .elementor-element.elementor-element-d20957a .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li.da-c3 > a{ color:#4d94ff !important; }

	/* il rimando all'hub: stesso colore della famiglia, altrimenti sparisce sulla tinta */
	/* la pagina in cui ci si trova deve vedersi anche dentro il pannello:
	   la regola che rende trasparenti gli sfondi delle voci copriva
	   l'evidenziazione della voce corrente, che così spariva */
	/* ⚠️ solo le voci di SERVIZIO, non le intestazioni di colonna né il
	   rimando all'hub: puntando a /servizi/#ai vengono marcate «pagina
	   corrente» quando si è su /servizi/, e si accendevano tutte e quattro */
	.elementor-10606 .elementor-element.elementor-element-d20957a .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li > ul.sub-menu > li.current-menu-item:not(.da-mega-tutti) > a.elementor-sub-item,
	.elementor-10606 .elementor-element.elementor-element-d20957a .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li > ul.sub-menu > li.current_page_item:not(.da-mega-tutti) > a.elementor-sub-item{
		background:rgba(255,255,255,.13) !important;
		color:#ffcf0e !important; font-weight:700 !important;
	}

	.elementor-10606 .elementor-element.elementor-element-d20957a .elementor-nav-menu--main li.menu-item-10564 li.da-mega-tutti > a{
		font-weight:700 !important; color:#f25aea !important; opacity:1 !important;
		margin-top:2px !important;
	}
}

/* ══ PANNELLO A TENDINA: stessa distinzione, blocchi a fisarmonica ══
   Sul sito principale è il menu del telefono. Sulle pagine prodotto e
   sull'area riservata è il menu di SEMPRE, computer compreso: per quei due
   prefissi il blocco esce senza media query. ══ */
@media (max-width:1024px){


	/* la colonna occupa tutta la riga: il tema mette le sottovoci al 48% */
	.elementor-10606 .elementor-element.elementor-element-d20957a nav.elementor-nav-menu--dropdown .sub-menu li.da-mega-col{
		display:block !important; width:100% !important; box-sizing:border-box !important;
		padding:2px 6px 12px !important; margin:8px 0 !important; border-radius:14px !important;
		text-align:center !important;
	}

	/* l'intestazione è un'etichetta, non una pastiglia come le sottovoci */
	.elementor-10606 .elementor-element.elementor-element-d20957a nav.elementor-nav-menu--dropdown .sub-menu li.da-mega-col > a{
		border:0 !important; background:transparent !important;
		font-size:12px !important; text-transform:uppercase !important; letter-spacing:.1em !important;
		font-weight:700 !important; padding:12px 8px 6px !important;
	}

	/* 🔴 VIDEO 39 — LA SEZIONE DEVE VEDERSI, NON SOLO INTUIRSI.
	   Le tinte stavano al 6-7%: sopra il #1a1a1a del pannello sparivano, e a
	   schermo restava un rettangolo grigio scuro con dentro dei bottoni.
	   Ora la tinta è quella del pannello desktop, così le tre famiglie si
	   riconoscono a colpo d'occhio anche da telefono. */
	.elementor-10606 .elementor-element.elementor-element-d20957a nav.elementor-nav-menu--dropdown .sub-menu li.da-c1{ background:rgba(242,90,234,.16) !important; }
	.elementor-10606 .elementor-element.elementor-element-d20957a nav.elementor-nav-menu--dropdown .sub-menu li.da-c2{ background:rgba(132,204,22,.14) !important; }
	.elementor-10606 .elementor-element.elementor-element-d20957a nav.elementor-nav-menu--dropdown .sub-menu li.da-c3{ background:rgba(77,148,255,.16) !important; }
	.elementor-10606 .elementor-element.elementor-element-d20957a nav.elementor-nav-menu--dropdown .sub-menu li.da-c1 > a{ color:#f25aea !important; }
	.elementor-10606 .elementor-element.elementor-element-d20957a nav.elementor-nav-menu--dropdown .sub-menu li.da-c2 > a{ color:#84cc16 !important; }
	.elementor-10606 .elementor-element.elementor-element-d20957a nav.elementor-nav-menu--dropdown .sub-menu li.da-c3 > a{ color:#4d94ff !important; }
	.elementor-10606 .elementor-element.elementor-element-d20957a nav.elementor-nav-menu--dropdown .sub-menu li.da-mega-tutti > a{ color:#f25aea !important; font-weight:700 !important; }

	/* le tre sezioni sono SEMPRE aperte: chi apre «Servizi» vede tutto subito.
	   ⚠️ Solo il terzo livello. Il pannello «Servizi» (secondo livello) NON si
	   tocca, altrimenti si ripete il bug del menu bloccato aperto. */
	.elementor-10606 .elementor-element.elementor-element-d20957a nav.elementor-nav-menu--dropdown li.da-mega-col > ul.sub-menu{
		display:block !important; height:auto !important; max-height:none !important;
		/* 🔴 VIDEO 40 — LA TINTA NON ARRIVAVA SOTTO AI BOTTONI.
		   Misurato: questa <ul> di terzo livello si porta dietro il fondo del
		   widget, `background:#141414` con `border-radius:18px`. È un riquadro
		   scuro appoggiato sopra la tinta della famiglia, e copre proprio la
		   parte che contiene le pastiglie: da qui l'impressione che il colore
		   ci fosse solo attorno al titolo della sezione. Su desktop era già
		   azzerato, su mobile no. */
		background:transparent !important; border:0 !important;
		border-radius:0 !important; box-shadow:none !important;
		/* 🔴 il rientro di default della <ul> (padding-inline-start: 40px)
		   spingeva le pastiglie a destra: sbordavano dal blocco e la tinta
		   restava scoperta solo sul lato sinistro. */
		padding:0 8px 8px !important; margin:0 !important;
		padding-inline-start:0 !important; -webkit-padding-start:0 !important;
		list-style:none !important; text-align:center !important;
	}
	/* essendo sempre aperte, la freccia della sezione non serve più */
	.elementor-10606 .elementor-element.elementor-element-d20957a nav.elementor-nav-menu--dropdown li.da-mega-col > a .sub-arrow{ display:none !important; }

	/* pastiglie uniformi: stessa altezza, testo su una riga sola */
	.elementor-10606 .elementor-element.elementor-element-d20957a nav.elementor-nav-menu--dropdown li.da-mega-col > ul.sub-menu > li{
		width:48% !important; padding:0 3px 6px !important;
	}
	.elementor-10606 .elementor-element.elementor-element-d20957a nav.elementor-nav-menu--dropdown li.da-mega-col > ul.sub-menu > li > a{
		display:flex !important; align-items:center !important; justify-content:center !important;
		min-height:44px !important; padding:8px 6px !important;
		white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important;
		/* 🔴 VIDEO 39 — I RUOLI SI INVERTONO rispetto alla versione precedente.
		   Prima: pastiglie trasparenti su tinta debolissima, e il risultato
		   era un blocco grigio. Ora la tinta della SEZIONE è quella vera e le
		   pastiglie tornano scure: è il contrasto fra le due a far leggere
		   dove finisce una famiglia e dove comincia l'altra. */
		background:rgba(10,10,10,.55) !important;
	}
	.elementor-10606 .elementor-element.elementor-element-d20957a nav.elementor-nav-menu--dropdown li.da-c1 > ul.sub-menu > li > a{ border-color:rgba(242,90,234,.40) !important; }
	.elementor-10606 .elementor-element.elementor-element-d20957a nav.elementor-nav-menu--dropdown li.da-c2 > ul.sub-menu > li > a{ border-color:rgba(132,204,22,.40) !important; }
	.elementor-10606 .elementor-element.elementor-element-d20957a nav.elementor-nav-menu--dropdown li.da-c3 > ul.sub-menu > li > a{ border-color:rgba(77,148,255,.40) !important; }

	/* la pagina corrente si vede anche qui */
	.elementor-10606 .elementor-element.elementor-element-d20957a nav.elementor-nav-menu--dropdown li.da-mega-col > ul.sub-menu > li.current-menu-item:not(.da-mega-tutti) > a{
		background:rgba(255,255,255,.14) !important; color:#ffcf0e !important; font-weight:700 !important;
	}

	/* la barra di scorrimento del pannello rubava spazio a destra e faceva
	   sembrare tutto spostato: così lo spazio è riservato da entrambi i lati */
	.elementor-10606 .elementor-element.elementor-element-d20957a nav.elementor-nav-menu--dropdown.elementor-nav-menu__container{
		scrollbar-gutter:stable both-edges !important;
	}
	.elementor-10606 .elementor-element.elementor-element-d20957a nav.elementor-nav-menu--dropdown > ul.elementor-nav-menu{
		margin-left:auto !important; margin-right:auto !important; width:100% !important;
		padding-inline-start:0 !important; -webkit-padding-start:0 !important;
	}
	/* 🔴 misurato: la lista di secondo livello aveva `margin-left:15px`.
	   Con 28px di padding sul contenitore, a sinistra restavano 43px e a
	   destra 28: da qui l'impressione che i box fossero spostati a destra. */
	.elementor-10606 .elementor-element.elementor-element-d20957a nav.elementor-nav-menu--dropdown .sub-menu{
		margin-left:0 !important; margin-right:0 !important;
		padding-inline-start:0 !important; -webkit-padding-start:0 !important;
	}
}
/* ── freccetta della voce attiva ── */
.elementor-11052 .elementor-element.elementor-element-c878de2 .elementor-nav-menu--main .current-menu-item > a .sub-arrow,
.elementor-11052 .elementor-element.elementor-element-c878de2 .elementor-nav-menu--main .current-menu-item > a .sub-arrow i,
.elementor-11052 .elementor-element.elementor-element-c878de2 .elementor-nav-menu--main .current-menu-item > a .sub-arrow svg,
.elementor-11052 .elementor-element.elementor-element-c878de2 .elementor-nav-menu--main .current-menu-item > a .sub-arrow path{
	color:#141414 !important; fill:#141414 !important; opacity:1 !important;
}

@media (min-width:1025px){

	/* 🔴 IL DISPLAY NON SI TOCCA NELLO STATO A RIPOSO.
	   Primo tentativo: `display:grid !important` sul pannello. Risultato: il
	   mega menu restava APERTO su ogni pagina del sito, perché lo stato chiuso
	   di SmartMenus è `display:none` via CSS (nessuno stile inline) e veniva
	   sovrascritto. Il layout si applica quindi SOLO da aperto.

	   🔴 VIDEO 39 — L'APERTURA NON È PIÙ SU :hover.
	   Con `:hover` il pannello compariva e spariva ISTANTANEAMENTE, mentre
	   «Corsi» è governato da SmartMenus, che ha `showTimeout:250` e
	   `hideTimeout:500` (letti dai default del plugin sulla pagina viva).
	   Da qui le due differenze che si vedevano: Servizi appariva più in fretta
	   e, soprattutto, spariva subito appena il puntatore usciva.

	   ✅ Lo stato aperto si aggancia all'attributo che SmartMenus scrive da sé
	   sull'anchor: `aria-expanded="true"`. Così apertura e chiusura le decide
	   lo stesso identico codice che governa «Corsi» — stessi ritardi, stesso
	   comportamento — e resta valida la regola d'oro: da chiuso l'attributo è
	   "false", quindi il pannello non può restare aperto per colpa del CSS.

	   🔴 VIDEO 40 — IL LAMPO A COLONNA SINGOLA IN CHIUSURA.
	   Agganciando TUTTO l'assetto ad `aria-expanded`, in chiusura si vedeva il
	   pannello diventare una colonna alta e stretta per una frazione di
	   secondo. Misurato: SmartMenus mette `aria-expanded="false"` PRIMA di
	   nascondere il pannello, e in quell'istante la regola smette di valere.
	   Restano però attivi gli stili inline che SmartMenus stesso ha scritto
	   all'apertura (`display:block; min-width:10em; max-width:1000px`), quindi
	   il pannello passa da 686×286 in tre colonne a 290×714 in una colonna —
	   e si vede, prima che arrivi il `display:none`.

	   ✅ La cura: solo `display:flex` resta legato allo stato aperto. Tutto il
	   resto dell'assetto — larghezza, margini interni, e colonne affiancate —
	   si applica SEMPRE. Da chiuso non fa danni (il pannello è `display:none`
	   e i figli non esistono a schermo), e nell'istante in cui il display
	   torna `block` le colonne restano affiancate perché diventano
	   `inline-block`: la disposizione non cambia, cambia solo chi la governa.

	   ⚠️ Il `display` a riposo continua a non essere toccato: è la regola che
	   nel video 36 aveva lasciato il menu aperto su tutto il sito. */

	/* ── assetto sempre attivo: è questo che toglie il lampo ── */
	.elementor-11052 .elementor-element.elementor-element-c878de2 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu{
		padding:14px !important;
		width:max-content !important; min-width:0 !important; max-width:min(92vw,940px) !important;
	}
	.elementor-11052 .elementor-element.elementor-element-c878de2 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li{
		/* con `display:flex` sul pannello questo viene ignorato (i figli
		   diventano elementi flessibili); serve solo nel fotogramma in cui il
		   display è tornato `block` e il flex non c'è ancora più */
		display:inline-block !important; vertical-align:top !important;
		/* il margine sostituisce il `gap`, che esiste solo in flex: così la
		   distanza fra le colonne è la stessa nei due modi */
		margin-right:10px !important;
	}
	.elementor-11052 .elementor-element.elementor-element-c878de2 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li:last-child{ margin-right:0 !important; }

	/* ── l'unica cosa legata allo stato aperto ── */
	.elementor-11052 .elementor-element.elementor-element-c878de2 .elementor-nav-menu--main li.menu-item-10564 > a[aria-expanded="true"] + ul.sub-menu{
		display:flex !important; align-items:stretch !important;
	}

	/* 🔴 IL PONTE TRASPARENTE NON SERVE PIÙ — e faceva danni.
	   Storia: finché il pannello si apriva in puro CSS su :hover, i 18px di
	   `margin-top` fra la voce e il pannello erano terra di nessuno; il
	   puntatore che li attraversava perdeva l'hover e il menu si chiudeva in
	   faccia a chi ci stava andando. Il margine era quindi diventato un BORDO
	   SUPERIORE TRASPARENTE da 18px con `background-clip:padding-box`, e il
	   border-radius andava gonfiato a 36px sopra per compensare
	   (raggio dello sfondo = border-radius − border-width).

	   🔴 Prezzo pagato, ed è esattamente ciò che si vede nel video 39:
	   · il pannello partiva 18px più in basso di quello di «Corsi»,
	   · gli angoli non erano stondati come quelli di «Corsi» — sopra per via
	     della compensazione approssimata, sotto perché la cornice era un'ombra
	     interna e non il bordo vero.

	   ✅ Ora che ad aprire e chiudere è SmartMenus, i 18px li copre il suo
	   `hideTimeout` di mezzo secondo — lo stesso identico margine di manovra
	   che ha «Corsi» oggi. Quindi il blocco intero è stato tolto: senza
	   override, il pannello di «Servizi» eredita margine, bordo, raggio e
	   ombra dal CSS del widget, cioè gli stessi di «Corsi», per costruzione. */

	/* ogni colonna: stessa larghezza e — grazie ad align-items:stretch — stessa altezza */
	.elementor-11052 .elementor-element.elementor-element-c878de2 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li{
		flex:1 1 0 !important; min-width:212px !important;
		border-radius:16px !important; padding:10px 6px 12px !important; box-sizing:border-box !important;
	}

	/* i figli restano dentro la colonna invece di aprirsi di lato */
	.elementor-11052 .elementor-element.elementor-element-c878de2 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li > ul.sub-menu{
		display:block !important; position:static !important; transform:none !important;
		/* ⚠️ NIENTE visibility/opacity forzate: l'header è stampato DUE volte
		   (la copia in sticky è nascosta con visibility:hidden). Forzandole,
		   i sottolivelli della copia nascosta riemergevano e ogni voce
		   appariva doppia e sfalsata di ~46px. Misurato il 19/08/2026. */
		background:transparent !important; box-shadow:none !important; border:0 !important;
		min-width:0 !important; width:auto !important;
		padding:0 !important; margin:4px 0 0 !important;
		border-radius:0 !important; animation:none !important;
	}

	/* lo sfondo lo dà la colonna, non la singola voce */
	.elementor-11052 .elementor-element.elementor-element-c878de2 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu a.elementor-sub-item{
		background:transparent !important;
	}
	.elementor-11052 .elementor-element.elementor-element-c878de2 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li > ul.sub-menu a.elementor-sub-item:hover{
		background:rgba(255,255,255,.08) !important; color:#ffcf0e !important;
	}

	/* intestazione di colonna */
	.elementor-11052 .elementor-element.elementor-element-c878de2 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li.da-mega-col > a{
		text-transform:uppercase !important; letter-spacing:.09em !important;
		font-size:11px !important; font-weight:700 !important;
		padding:6px 10px 4px !important;
	}
	.elementor-11052 .elementor-element.elementor-element-c878de2 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li.da-mega-col > a .sub-arrow{ display:none !important; }

	/* tinte per famiglia */
	.elementor-11052 .elementor-element.elementor-element-c878de2 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li.da-c1{ background:rgba(242,90,234,.10) !important; }
	.elementor-11052 .elementor-element.elementor-element-c878de2 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li.da-c2{ background:rgba(132,204,22,.09) !important; }
	.elementor-11052 .elementor-element.elementor-element-c878de2 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li.da-c3{ background:rgba(77,148,255,.11) !important; }
	.elementor-11052 .elementor-element.elementor-element-c878de2 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li.da-c1 > a{ color:#f25aea !important; }
	.elementor-11052 .elementor-element.elementor-element-c878de2 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li.da-c2 > a{ color:#84cc16 !important; }
	.elementor-11052 .elementor-element.elementor-element-c878de2 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li.da-c3 > a{ color:#4d94ff !important; }

	/* il rimando all'hub: stesso colore della famiglia, altrimenti sparisce sulla tinta */
	/* la pagina in cui ci si trova deve vedersi anche dentro il pannello:
	   la regola che rende trasparenti gli sfondi delle voci copriva
	   l'evidenziazione della voce corrente, che così spariva */
	/* ⚠️ solo le voci di SERVIZIO, non le intestazioni di colonna né il
	   rimando all'hub: puntando a /servizi/#ai vengono marcate «pagina
	   corrente» quando si è su /servizi/, e si accendevano tutte e quattro */
	.elementor-11052 .elementor-element.elementor-element-c878de2 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li > ul.sub-menu > li.current-menu-item:not(.da-mega-tutti) > a.elementor-sub-item,
	.elementor-11052 .elementor-element.elementor-element-c878de2 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li > ul.sub-menu > li.current_page_item:not(.da-mega-tutti) > a.elementor-sub-item{
		background:rgba(255,255,255,.13) !important;
		color:#ffcf0e !important; font-weight:700 !important;
	}

	.elementor-11052 .elementor-element.elementor-element-c878de2 .elementor-nav-menu--main li.menu-item-10564 li.da-mega-tutti > a{
		font-weight:700 !important; color:#f25aea !important; opacity:1 !important;
		margin-top:2px !important;
	}
}

/* ══ PANNELLO A TENDINA: stessa distinzione, blocchi a fisarmonica ══
   Sul sito principale è il menu del telefono. Sulle pagine prodotto e
   sull'area riservata è il menu di SEMPRE, computer compreso: per quei due
   prefissi il blocco esce senza media query. ══ */
/* .elementor-11052 .elementor-element.elementor-element-c878de2 — hamburger a ogni larghezza, nessuna media query */

	/* 🔴 DA COMPUTER IL PANNELLO È LARGO QUANTO LA FINESTRA.
	   Le pastiglie stanno al 48% della riga: su un telefono da 375px sono due
	   bottoni da ~180px, su una finestra da 1440px diventerebbero due barre da
	   ~690px l'una e il menu non somiglierebbe più a quello del telefono.
	   Si riporta la colonna alla stessa larghezza che ha lì, centrata. */
	@media (min-width:1025px){
		.elementor-11052 .elementor-element.elementor-element-c878de2 nav.elementor-nav-menu--dropdown > ul.elementor-nav-menu{
			max-width:520px !important;
		}
	}

	/* la colonna occupa tutta la riga: il tema mette le sottovoci al 48% */
	.elementor-11052 .elementor-element.elementor-element-c878de2 nav.elementor-nav-menu--dropdown .sub-menu li.da-mega-col{
		display:block !important; width:100% !important; box-sizing:border-box !important;
		padding:2px 6px 12px !important; margin:8px 0 !important; border-radius:14px !important;
		text-align:center !important;
	}

	/* l'intestazione è un'etichetta, non una pastiglia come le sottovoci */
	.elementor-11052 .elementor-element.elementor-element-c878de2 nav.elementor-nav-menu--dropdown .sub-menu li.da-mega-col > a{
		border:0 !important; background:transparent !important;
		font-size:12px !important; text-transform:uppercase !important; letter-spacing:.1em !important;
		font-weight:700 !important; padding:12px 8px 6px !important;
	}

	/* 🔴 VIDEO 39 — LA SEZIONE DEVE VEDERSI, NON SOLO INTUIRSI.
	   Le tinte stavano al 6-7%: sopra il #1a1a1a del pannello sparivano, e a
	   schermo restava un rettangolo grigio scuro con dentro dei bottoni.
	   Ora la tinta è quella del pannello desktop, così le tre famiglie si
	   riconoscono a colpo d'occhio anche da telefono. */
	.elementor-11052 .elementor-element.elementor-element-c878de2 nav.elementor-nav-menu--dropdown .sub-menu li.da-c1{ background:rgba(242,90,234,.16) !important; }
	.elementor-11052 .elementor-element.elementor-element-c878de2 nav.elementor-nav-menu--dropdown .sub-menu li.da-c2{ background:rgba(132,204,22,.14) !important; }
	.elementor-11052 .elementor-element.elementor-element-c878de2 nav.elementor-nav-menu--dropdown .sub-menu li.da-c3{ background:rgba(77,148,255,.16) !important; }
	.elementor-11052 .elementor-element.elementor-element-c878de2 nav.elementor-nav-menu--dropdown .sub-menu li.da-c1 > a{ color:#f25aea !important; }
	.elementor-11052 .elementor-element.elementor-element-c878de2 nav.elementor-nav-menu--dropdown .sub-menu li.da-c2 > a{ color:#84cc16 !important; }
	.elementor-11052 .elementor-element.elementor-element-c878de2 nav.elementor-nav-menu--dropdown .sub-menu li.da-c3 > a{ color:#4d94ff !important; }
	.elementor-11052 .elementor-element.elementor-element-c878de2 nav.elementor-nav-menu--dropdown .sub-menu li.da-mega-tutti > a{ color:#f25aea !important; font-weight:700 !important; }

	/* le tre sezioni sono SEMPRE aperte: chi apre «Servizi» vede tutto subito.
	   ⚠️ Solo il terzo livello. Il pannello «Servizi» (secondo livello) NON si
	   tocca, altrimenti si ripete il bug del menu bloccato aperto. */
	.elementor-11052 .elementor-element.elementor-element-c878de2 nav.elementor-nav-menu--dropdown li.da-mega-col > ul.sub-menu{
		display:block !important; height:auto !important; max-height:none !important;
		/* 🔴 VIDEO 40 — LA TINTA NON ARRIVAVA SOTTO AI BOTTONI.
		   Misurato: questa <ul> di terzo livello si porta dietro il fondo del
		   widget, `background:#141414` con `border-radius:18px`. È un riquadro
		   scuro appoggiato sopra la tinta della famiglia, e copre proprio la
		   parte che contiene le pastiglie: da qui l'impressione che il colore
		   ci fosse solo attorno al titolo della sezione. Su desktop era già
		   azzerato, su mobile no. */
		background:transparent !important; border:0 !important;
		border-radius:0 !important; box-shadow:none !important;
		/* 🔴 il rientro di default della <ul> (padding-inline-start: 40px)
		   spingeva le pastiglie a destra: sbordavano dal blocco e la tinta
		   restava scoperta solo sul lato sinistro. */
		padding:0 8px 8px !important; margin:0 !important;
		padding-inline-start:0 !important; -webkit-padding-start:0 !important;
		list-style:none !important; text-align:center !important;
	}
	/* essendo sempre aperte, la freccia della sezione non serve più */
	.elementor-11052 .elementor-element.elementor-element-c878de2 nav.elementor-nav-menu--dropdown li.da-mega-col > a .sub-arrow{ display:none !important; }

	/* pastiglie uniformi: stessa altezza, testo su una riga sola */
	.elementor-11052 .elementor-element.elementor-element-c878de2 nav.elementor-nav-menu--dropdown li.da-mega-col > ul.sub-menu > li{
		width:48% !important; padding:0 3px 6px !important;
	}
	.elementor-11052 .elementor-element.elementor-element-c878de2 nav.elementor-nav-menu--dropdown li.da-mega-col > ul.sub-menu > li > a{
		display:flex !important; align-items:center !important; justify-content:center !important;
		min-height:44px !important; padding:8px 6px !important;
		white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important;
		/* 🔴 VIDEO 39 — I RUOLI SI INVERTONO rispetto alla versione precedente.
		   Prima: pastiglie trasparenti su tinta debolissima, e il risultato
		   era un blocco grigio. Ora la tinta della SEZIONE è quella vera e le
		   pastiglie tornano scure: è il contrasto fra le due a far leggere
		   dove finisce una famiglia e dove comincia l'altra. */
		background:rgba(10,10,10,.55) !important;
	}
	.elementor-11052 .elementor-element.elementor-element-c878de2 nav.elementor-nav-menu--dropdown li.da-c1 > ul.sub-menu > li > a{ border-color:rgba(242,90,234,.40) !important; }
	.elementor-11052 .elementor-element.elementor-element-c878de2 nav.elementor-nav-menu--dropdown li.da-c2 > ul.sub-menu > li > a{ border-color:rgba(132,204,22,.40) !important; }
	.elementor-11052 .elementor-element.elementor-element-c878de2 nav.elementor-nav-menu--dropdown li.da-c3 > ul.sub-menu > li > a{ border-color:rgba(77,148,255,.40) !important; }

	/* la pagina corrente si vede anche qui */
	.elementor-11052 .elementor-element.elementor-element-c878de2 nav.elementor-nav-menu--dropdown li.da-mega-col > ul.sub-menu > li.current-menu-item:not(.da-mega-tutti) > a{
		background:rgba(255,255,255,.14) !important; color:#ffcf0e !important; font-weight:700 !important;
	}

	/* la barra di scorrimento del pannello rubava spazio a destra e faceva
	   sembrare tutto spostato: così lo spazio è riservato da entrambi i lati */
	.elementor-11052 .elementor-element.elementor-element-c878de2 nav.elementor-nav-menu--dropdown.elementor-nav-menu__container{
		scrollbar-gutter:stable both-edges !important;
	}
	.elementor-11052 .elementor-element.elementor-element-c878de2 nav.elementor-nav-menu--dropdown > ul.elementor-nav-menu{
		margin-left:auto !important; margin-right:auto !important; width:100% !important;
		padding-inline-start:0 !important; -webkit-padding-start:0 !important;
	}
	/* 🔴 misurato: la lista di secondo livello aveva `margin-left:15px`.
	   Con 28px di padding sul contenitore, a sinistra restavano 43px e a
	   destra 28: da qui l'impressione che i box fossero spostati a destra. */
	.elementor-11052 .elementor-element.elementor-element-c878de2 nav.elementor-nav-menu--dropdown .sub-menu{
		margin-left:0 !important; margin-right:0 !important;
		padding-inline-start:0 !important; -webkit-padding-start:0 !important;
	}
/* ── freccetta della voce attiva ── */
.elementor-11025 .elementor-element.elementor-element-bae5f33 .elementor-nav-menu--main .current-menu-item > a .sub-arrow,
.elementor-11025 .elementor-element.elementor-element-bae5f33 .elementor-nav-menu--main .current-menu-item > a .sub-arrow i,
.elementor-11025 .elementor-element.elementor-element-bae5f33 .elementor-nav-menu--main .current-menu-item > a .sub-arrow svg,
.elementor-11025 .elementor-element.elementor-element-bae5f33 .elementor-nav-menu--main .current-menu-item > a .sub-arrow path{
	color:#141414 !important; fill:#141414 !important; opacity:1 !important;
}

@media (min-width:1025px){

	/* 🔴 IL DISPLAY NON SI TOCCA NELLO STATO A RIPOSO.
	   Primo tentativo: `display:grid !important` sul pannello. Risultato: il
	   mega menu restava APERTO su ogni pagina del sito, perché lo stato chiuso
	   di SmartMenus è `display:none` via CSS (nessuno stile inline) e veniva
	   sovrascritto. Il layout si applica quindi SOLO da aperto.

	   🔴 VIDEO 39 — L'APERTURA NON È PIÙ SU :hover.
	   Con `:hover` il pannello compariva e spariva ISTANTANEAMENTE, mentre
	   «Corsi» è governato da SmartMenus, che ha `showTimeout:250` e
	   `hideTimeout:500` (letti dai default del plugin sulla pagina viva).
	   Da qui le due differenze che si vedevano: Servizi appariva più in fretta
	   e, soprattutto, spariva subito appena il puntatore usciva.

	   ✅ Lo stato aperto si aggancia all'attributo che SmartMenus scrive da sé
	   sull'anchor: `aria-expanded="true"`. Così apertura e chiusura le decide
	   lo stesso identico codice che governa «Corsi» — stessi ritardi, stesso
	   comportamento — e resta valida la regola d'oro: da chiuso l'attributo è
	   "false", quindi il pannello non può restare aperto per colpa del CSS.

	   🔴 VIDEO 40 — IL LAMPO A COLONNA SINGOLA IN CHIUSURA.
	   Agganciando TUTTO l'assetto ad `aria-expanded`, in chiusura si vedeva il
	   pannello diventare una colonna alta e stretta per una frazione di
	   secondo. Misurato: SmartMenus mette `aria-expanded="false"` PRIMA di
	   nascondere il pannello, e in quell'istante la regola smette di valere.
	   Restano però attivi gli stili inline che SmartMenus stesso ha scritto
	   all'apertura (`display:block; min-width:10em; max-width:1000px`), quindi
	   il pannello passa da 686×286 in tre colonne a 290×714 in una colonna —
	   e si vede, prima che arrivi il `display:none`.

	   ✅ La cura: solo `display:flex` resta legato allo stato aperto. Tutto il
	   resto dell'assetto — larghezza, margini interni, e colonne affiancate —
	   si applica SEMPRE. Da chiuso non fa danni (il pannello è `display:none`
	   e i figli non esistono a schermo), e nell'istante in cui il display
	   torna `block` le colonne restano affiancate perché diventano
	   `inline-block`: la disposizione non cambia, cambia solo chi la governa.

	   ⚠️ Il `display` a riposo continua a non essere toccato: è la regola che
	   nel video 36 aveva lasciato il menu aperto su tutto il sito. */

	/* ── assetto sempre attivo: è questo che toglie il lampo ── */
	.elementor-11025 .elementor-element.elementor-element-bae5f33 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu{
		padding:14px !important;
		width:max-content !important; min-width:0 !important; max-width:min(92vw,940px) !important;
	}
	.elementor-11025 .elementor-element.elementor-element-bae5f33 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li{
		/* con `display:flex` sul pannello questo viene ignorato (i figli
		   diventano elementi flessibili); serve solo nel fotogramma in cui il
		   display è tornato `block` e il flex non c'è ancora più */
		display:inline-block !important; vertical-align:top !important;
		/* il margine sostituisce il `gap`, che esiste solo in flex: così la
		   distanza fra le colonne è la stessa nei due modi */
		margin-right:10px !important;
	}
	.elementor-11025 .elementor-element.elementor-element-bae5f33 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li:last-child{ margin-right:0 !important; }

	/* ── l'unica cosa legata allo stato aperto ── */
	.elementor-11025 .elementor-element.elementor-element-bae5f33 .elementor-nav-menu--main li.menu-item-10564 > a[aria-expanded="true"] + ul.sub-menu{
		display:flex !important; align-items:stretch !important;
	}

	/* 🔴 IL PONTE TRASPARENTE NON SERVE PIÙ — e faceva danni.
	   Storia: finché il pannello si apriva in puro CSS su :hover, i 18px di
	   `margin-top` fra la voce e il pannello erano terra di nessuno; il
	   puntatore che li attraversava perdeva l'hover e il menu si chiudeva in
	   faccia a chi ci stava andando. Il margine era quindi diventato un BORDO
	   SUPERIORE TRASPARENTE da 18px con `background-clip:padding-box`, e il
	   border-radius andava gonfiato a 36px sopra per compensare
	   (raggio dello sfondo = border-radius − border-width).

	   🔴 Prezzo pagato, ed è esattamente ciò che si vede nel video 39:
	   · il pannello partiva 18px più in basso di quello di «Corsi»,
	   · gli angoli non erano stondati come quelli di «Corsi» — sopra per via
	     della compensazione approssimata, sotto perché la cornice era un'ombra
	     interna e non il bordo vero.

	   ✅ Ora che ad aprire e chiudere è SmartMenus, i 18px li copre il suo
	   `hideTimeout` di mezzo secondo — lo stesso identico margine di manovra
	   che ha «Corsi» oggi. Quindi il blocco intero è stato tolto: senza
	   override, il pannello di «Servizi» eredita margine, bordo, raggio e
	   ombra dal CSS del widget, cioè gli stessi di «Corsi», per costruzione. */

	/* ogni colonna: stessa larghezza e — grazie ad align-items:stretch — stessa altezza */
	.elementor-11025 .elementor-element.elementor-element-bae5f33 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li{
		flex:1 1 0 !important; min-width:212px !important;
		border-radius:16px !important; padding:10px 6px 12px !important; box-sizing:border-box !important;
	}

	/* i figli restano dentro la colonna invece di aprirsi di lato */
	.elementor-11025 .elementor-element.elementor-element-bae5f33 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li > ul.sub-menu{
		display:block !important; position:static !important; transform:none !important;
		/* ⚠️ NIENTE visibility/opacity forzate: l'header è stampato DUE volte
		   (la copia in sticky è nascosta con visibility:hidden). Forzandole,
		   i sottolivelli della copia nascosta riemergevano e ogni voce
		   appariva doppia e sfalsata di ~46px. Misurato il 19/08/2026. */
		background:transparent !important; box-shadow:none !important; border:0 !important;
		min-width:0 !important; width:auto !important;
		padding:0 !important; margin:4px 0 0 !important;
		border-radius:0 !important; animation:none !important;
	}

	/* lo sfondo lo dà la colonna, non la singola voce */
	.elementor-11025 .elementor-element.elementor-element-bae5f33 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu a.elementor-sub-item{
		background:transparent !important;
	}
	.elementor-11025 .elementor-element.elementor-element-bae5f33 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li > ul.sub-menu a.elementor-sub-item:hover{
		background:rgba(255,255,255,.08) !important; color:#ffcf0e !important;
	}

	/* intestazione di colonna */
	.elementor-11025 .elementor-element.elementor-element-bae5f33 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li.da-mega-col > a{
		text-transform:uppercase !important; letter-spacing:.09em !important;
		font-size:11px !important; font-weight:700 !important;
		padding:6px 10px 4px !important;
	}
	.elementor-11025 .elementor-element.elementor-element-bae5f33 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li.da-mega-col > a .sub-arrow{ display:none !important; }

	/* tinte per famiglia */
	.elementor-11025 .elementor-element.elementor-element-bae5f33 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li.da-c1{ background:rgba(242,90,234,.10) !important; }
	.elementor-11025 .elementor-element.elementor-element-bae5f33 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li.da-c2{ background:rgba(132,204,22,.09) !important; }
	.elementor-11025 .elementor-element.elementor-element-bae5f33 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li.da-c3{ background:rgba(77,148,255,.11) !important; }
	.elementor-11025 .elementor-element.elementor-element-bae5f33 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li.da-c1 > a{ color:#f25aea !important; }
	.elementor-11025 .elementor-element.elementor-element-bae5f33 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li.da-c2 > a{ color:#84cc16 !important; }
	.elementor-11025 .elementor-element.elementor-element-bae5f33 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li.da-c3 > a{ color:#4d94ff !important; }

	/* il rimando all'hub: stesso colore della famiglia, altrimenti sparisce sulla tinta */
	/* la pagina in cui ci si trova deve vedersi anche dentro il pannello:
	   la regola che rende trasparenti gli sfondi delle voci copriva
	   l'evidenziazione della voce corrente, che così spariva */
	/* ⚠️ solo le voci di SERVIZIO, non le intestazioni di colonna né il
	   rimando all'hub: puntando a /servizi/#ai vengono marcate «pagina
	   corrente» quando si è su /servizi/, e si accendevano tutte e quattro */
	.elementor-11025 .elementor-element.elementor-element-bae5f33 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li > ul.sub-menu > li.current-menu-item:not(.da-mega-tutti) > a.elementor-sub-item,
	.elementor-11025 .elementor-element.elementor-element-bae5f33 .elementor-nav-menu--main li.menu-item-10564 > ul.sub-menu > li > ul.sub-menu > li.current_page_item:not(.da-mega-tutti) > a.elementor-sub-item{
		background:rgba(255,255,255,.13) !important;
		color:#ffcf0e !important; font-weight:700 !important;
	}

	.elementor-11025 .elementor-element.elementor-element-bae5f33 .elementor-nav-menu--main li.menu-item-10564 li.da-mega-tutti > a{
		font-weight:700 !important; color:#f25aea !important; opacity:1 !important;
		margin-top:2px !important;
	}
}

/* ══ PANNELLO A TENDINA: stessa distinzione, blocchi a fisarmonica ══
   Sul sito principale è il menu del telefono. Sulle pagine prodotto e
   sull'area riservata è il menu di SEMPRE, computer compreso: per quei due
   prefissi il blocco esce senza media query. ══ */
/* .elementor-11025 .elementor-element.elementor-element-bae5f33 — hamburger a ogni larghezza, nessuna media query */

	/* 🔴 DA COMPUTER IL PANNELLO È LARGO QUANTO LA FINESTRA.
	   Le pastiglie stanno al 48% della riga: su un telefono da 375px sono due
	   bottoni da ~180px, su una finestra da 1440px diventerebbero due barre da
	   ~690px l'una e il menu non somiglierebbe più a quello del telefono.
	   Si riporta la colonna alla stessa larghezza che ha lì, centrata. */
	@media (min-width:1025px){
		.elementor-11025 .elementor-element.elementor-element-bae5f33 nav.elementor-nav-menu--dropdown > ul.elementor-nav-menu{
			max-width:520px !important;
		}
	}

	/* la colonna occupa tutta la riga: il tema mette le sottovoci al 48% */
	.elementor-11025 .elementor-element.elementor-element-bae5f33 nav.elementor-nav-menu--dropdown .sub-menu li.da-mega-col{
		display:block !important; width:100% !important; box-sizing:border-box !important;
		padding:2px 6px 12px !important; margin:8px 0 !important; border-radius:14px !important;
		text-align:center !important;
	}

	/* l'intestazione è un'etichetta, non una pastiglia come le sottovoci */
	.elementor-11025 .elementor-element.elementor-element-bae5f33 nav.elementor-nav-menu--dropdown .sub-menu li.da-mega-col > a{
		border:0 !important; background:transparent !important;
		font-size:12px !important; text-transform:uppercase !important; letter-spacing:.1em !important;
		font-weight:700 !important; padding:12px 8px 6px !important;
	}

	/* 🔴 VIDEO 39 — LA SEZIONE DEVE VEDERSI, NON SOLO INTUIRSI.
	   Le tinte stavano al 6-7%: sopra il #1a1a1a del pannello sparivano, e a
	   schermo restava un rettangolo grigio scuro con dentro dei bottoni.
	   Ora la tinta è quella del pannello desktop, così le tre famiglie si
	   riconoscono a colpo d'occhio anche da telefono. */
	.elementor-11025 .elementor-element.elementor-element-bae5f33 nav.elementor-nav-menu--dropdown .sub-menu li.da-c1{ background:rgba(242,90,234,.16) !important; }
	.elementor-11025 .elementor-element.elementor-element-bae5f33 nav.elementor-nav-menu--dropdown .sub-menu li.da-c2{ background:rgba(132,204,22,.14) !important; }
	.elementor-11025 .elementor-element.elementor-element-bae5f33 nav.elementor-nav-menu--dropdown .sub-menu li.da-c3{ background:rgba(77,148,255,.16) !important; }
	.elementor-11025 .elementor-element.elementor-element-bae5f33 nav.elementor-nav-menu--dropdown .sub-menu li.da-c1 > a{ color:#f25aea !important; }
	.elementor-11025 .elementor-element.elementor-element-bae5f33 nav.elementor-nav-menu--dropdown .sub-menu li.da-c2 > a{ color:#84cc16 !important; }
	.elementor-11025 .elementor-element.elementor-element-bae5f33 nav.elementor-nav-menu--dropdown .sub-menu li.da-c3 > a{ color:#4d94ff !important; }
	.elementor-11025 .elementor-element.elementor-element-bae5f33 nav.elementor-nav-menu--dropdown .sub-menu li.da-mega-tutti > a{ color:#f25aea !important; font-weight:700 !important; }

	/* le tre sezioni sono SEMPRE aperte: chi apre «Servizi» vede tutto subito.
	   ⚠️ Solo il terzo livello. Il pannello «Servizi» (secondo livello) NON si
	   tocca, altrimenti si ripete il bug del menu bloccato aperto. */
	.elementor-11025 .elementor-element.elementor-element-bae5f33 nav.elementor-nav-menu--dropdown li.da-mega-col > ul.sub-menu{
		display:block !important; height:auto !important; max-height:none !important;
		/* 🔴 VIDEO 40 — LA TINTA NON ARRIVAVA SOTTO AI BOTTONI.
		   Misurato: questa <ul> di terzo livello si porta dietro il fondo del
		   widget, `background:#141414` con `border-radius:18px`. È un riquadro
		   scuro appoggiato sopra la tinta della famiglia, e copre proprio la
		   parte che contiene le pastiglie: da qui l'impressione che il colore
		   ci fosse solo attorno al titolo della sezione. Su desktop era già
		   azzerato, su mobile no. */
		background:transparent !important; border:0 !important;
		border-radius:0 !important; box-shadow:none !important;
		/* 🔴 il rientro di default della <ul> (padding-inline-start: 40px)
		   spingeva le pastiglie a destra: sbordavano dal blocco e la tinta
		   restava scoperta solo sul lato sinistro. */
		padding:0 8px 8px !important; margin:0 !important;
		padding-inline-start:0 !important; -webkit-padding-start:0 !important;
		list-style:none !important; text-align:center !important;
	}
	/* essendo sempre aperte, la freccia della sezione non serve più */
	.elementor-11025 .elementor-element.elementor-element-bae5f33 nav.elementor-nav-menu--dropdown li.da-mega-col > a .sub-arrow{ display:none !important; }

	/* pastiglie uniformi: stessa altezza, testo su una riga sola */
	.elementor-11025 .elementor-element.elementor-element-bae5f33 nav.elementor-nav-menu--dropdown li.da-mega-col > ul.sub-menu > li{
		width:48% !important; padding:0 3px 6px !important;
	}
	.elementor-11025 .elementor-element.elementor-element-bae5f33 nav.elementor-nav-menu--dropdown li.da-mega-col > ul.sub-menu > li > a{
		display:flex !important; align-items:center !important; justify-content:center !important;
		min-height:44px !important; padding:8px 6px !important;
		white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important;
		/* 🔴 VIDEO 39 — I RUOLI SI INVERTONO rispetto alla versione precedente.
		   Prima: pastiglie trasparenti su tinta debolissima, e il risultato
		   era un blocco grigio. Ora la tinta della SEZIONE è quella vera e le
		   pastiglie tornano scure: è il contrasto fra le due a far leggere
		   dove finisce una famiglia e dove comincia l'altra. */
		background:rgba(10,10,10,.55) !important;
	}
	.elementor-11025 .elementor-element.elementor-element-bae5f33 nav.elementor-nav-menu--dropdown li.da-c1 > ul.sub-menu > li > a{ border-color:rgba(242,90,234,.40) !important; }
	.elementor-11025 .elementor-element.elementor-element-bae5f33 nav.elementor-nav-menu--dropdown li.da-c2 > ul.sub-menu > li > a{ border-color:rgba(132,204,22,.40) !important; }
	.elementor-11025 .elementor-element.elementor-element-bae5f33 nav.elementor-nav-menu--dropdown li.da-c3 > ul.sub-menu > li > a{ border-color:rgba(77,148,255,.40) !important; }

	/* la pagina corrente si vede anche qui */
	.elementor-11025 .elementor-element.elementor-element-bae5f33 nav.elementor-nav-menu--dropdown li.da-mega-col > ul.sub-menu > li.current-menu-item:not(.da-mega-tutti) > a{
		background:rgba(255,255,255,.14) !important; color:#ffcf0e !important; font-weight:700 !important;
	}

	/* la barra di scorrimento del pannello rubava spazio a destra e faceva
	   sembrare tutto spostato: così lo spazio è riservato da entrambi i lati */
	.elementor-11025 .elementor-element.elementor-element-bae5f33 nav.elementor-nav-menu--dropdown.elementor-nav-menu__container{
		scrollbar-gutter:stable both-edges !important;
	}
	.elementor-11025 .elementor-element.elementor-element-bae5f33 nav.elementor-nav-menu--dropdown > ul.elementor-nav-menu{
		margin-left:auto !important; margin-right:auto !important; width:100% !important;
		padding-inline-start:0 !important; -webkit-padding-start:0 !important;
	}
	/* 🔴 misurato: la lista di secondo livello aveva `margin-left:15px`.
	   Con 28px di padding sul contenitore, a sinistra restavano 43px e a
	   destra 28: da qui l'impressione che i box fossero spostati a destra. */
	.elementor-11025 .elementor-element.elementor-element-bae5f33 nav.elementor-nav-menu--dropdown .sub-menu{
		margin-left:0 !important; margin-right:0 !important;
		padding-inline-start:0 !important; -webkit-padding-start:0 !important;
	}

/* da-schede-servizi */

.da-card-servizio > .elementor-widget-wrap{
	display:flex !important;
	flex-direction:column !important;
	flex-wrap:nowrap !important;
	align-content:stretch !important;
	height:100% !important;
}
/* l'immagine non deve allungarsi per riempire lo spazio */
.da-card-servizio > .elementor-widget-wrap > .elementor-widget{ flex:0 0 auto !important; }

/* 🔴 le foto arrivavano con proporzioni diverse e le schede risultavano
   disallineate. Qui il riquadro è sempre lo stesso e la foto lo riempie
   ritagliandosi, invece di dettare l'altezza della scheda. */
.da-card-servizio .elementor-widget-image img{
	width:100% !important; height:auto !important;
	aspect-ratio:16 / 10 !important; object-fit:cover !important; object-position:center !important;
	display:block !important; border-radius:25px 25px 0 0 !important;
}

/* le righe incomplete (3 schede su 4 colonne, o 1 su 4) restano allineate a
   SINISTRA, non centrate: così il bordo sinistro delle schede cade sulla
   stessa linea del titolo di sezione. Centrarle le staccava dal titolo. */
.da-riga-card-3 > .elementor-container{ justify-content:flex-start !important; }

/* le ancore del mega menu (#ai #siti #advertising) finivano sotto l'header
   fisso: lo scostamento le fa atterrare appena sotto la barra */
#ai, #siti, #advertising, .da-ancora{ scroll-margin-top:130px !important; }

/* ══ VIDEO 39 — DA TABLET LE SCHEDE ANDAVANO A CAPO UNA ALLA VOLTA ══
   🔴 Misurato a 820px: riga larga 730, scheda 352, e su OGNI colonna tranne
   la prima del DOM c'è un margine sinistro di 26px. Le prime due entrano
   giuste giuste (352 + 26 + 352 = 730); la terza si porta dietro il suo
   margine anche a capo, quindi nella riga nuova occupa 378 su 730 e accanto
   non ci sta più nessuno. Da qui le schede singole con mezzo schermo vuoto
   a destra: non è una scelta di layout, è un margine contato per la riga
   sbagliata.

   ✅ Il margine passa a DESTRA e si azzera sulla seconda di ogni coppia:
   così è la riga a portarsi lo spazio, non l'elemento, e a capo si riparte
   sempre da bordo pieno. */
@media (min-width:768px) and (max-width:1024px){
	.da-card-servizio{
		margin-left:0 !important;
		margin-right:26px !important;
		width:calc(50% - 13px) !important;
		max-width:calc(50% - 13px) !important;
	}
	.da-card-servizio:nth-child(2n){ margin-right:0 !important; }
}

/* ══ VIDEO 39 — LA SECONDA RIGA DI SCHEDE AVEVA UNO SPAZIO IN PIÙ SOPRA ══
   Le 8 schede sono due sezioni da 4. La seconda porta `margin-top:26px`, che
   su desktop è lo stacco fra le due righe. Quando le schede si impilano però
   quel margine si somma ai 26px di margine sotto della scheda precedente: il
   passo diventa 52px solo lì, e da telefono si vede benissimo.
   Misurato a 375px: 26px fra tutte le schede, 52px fra la quarta e la quinta.

   ⚠️ Selettore per ID Elementor: quella sezione non ha una classe propria.
   Se un giorno la riga 2 viene ricostruita da zero, l'ID cambia e questa
   regola smette di agire (non rompe nulla, semplicemente torna il doppio
   spazio). */
@media (max-width:1024px){
	.elementor-element-e5c8cfe{ margin-top:0 !important; }
}


/* ══════════════════════════════════════════════════════════════════
   /servizi/ — TRE BLOCCHI COLORATI, UNO PER FAMIGLIA
   ══════════════════════════════════════════════════════════════════
   L'etichetta e le schede sono due elementi FRATELLI dentro la stessa
   colonna, non un unico contenitore: non esiste un box da colorare.
   Invece di rifare la struttura, la tinta si stende su tutti e due e il
   raccordo lo fanno i raggi — sopra sull'etichetta, sotto sulle schede —
   con i margini interni azzerati. A schermo si legge come un blocco solo.

   Le percentuali sono basse di proposito: il fondo della sezione è già
   #252525 e le schede dentro sono scure, quindi basta pochissimo perché la
   famiglia si distingua senza che la pagina diventi un arcobaleno. */

/* 🔴 VIDEO 40 — LE TRE FAMIGLIE ESCONO DAL BOX GRIGIO.
   Prima le tinte stavano DENTRO il riquadro grigio `#252525`, rientrate di
   111px dal bordo pagina: si leggevano come tre fascette dentro un contenitore,
   non come tre sezioni. Richiesta: «non dentro questo box qui grigio ma a
   tutta larghezza […] tre box separati».

   Il grigio smette quindi di essere un box — resta solo a tenere lo spazio
   verticale sopra e sotto il gruppo — e i suoi margini interni laterali
   passano alle fasce, che così ne prendono l'impronta esatta: stessa
   larghezza, stesso raggio da 25px, stesso rientro dal bordo pagina.

   ⚠️ I margini interni laterali del box grigio sono responsive e sono stati
   misurati sulla pagina viva: 79,2px da desktop · 45,1px da tablet · 20,8px da
   telefono. Sono ricopiati qui sotto arrotondati, breakpoint per breakpoint. */
.elementor-element-d5e93fc{
	background:transparent !important;
	border-radius:0 !important;
	padding-left:0 !important; padding-right:0 !important;
}

.elementor-element-9a58702,
.elementor-element-c249841,
.elementor-element-046d1d4{
	border-radius:25px 25px 0 0 !important;
	padding:44px 79px 0 !important;
	margin:0 !important;
}

.elementor-element-be69ee8,
.elementor-element-eeb6bd6,
.elementor-element-39048bc{
	border-radius:0 0 25px 25px !important;
	/* i 26px che l'etichetta aveva sotto diventano padding del blocco:
	   se restassero margine, spezzerebbero la tinta in due */
	margin:0 0 44px !important;
	padding:26px 79px 44px !important;
}

.elementor-element-9a58702, .elementor-element-be69ee8{ background:rgba(242,90,234,.16) !important; }
.elementor-element-c249841, .elementor-element-eeb6bd6{ background:rgba(132,204,22,.14) !important; }
.elementor-element-046d1d4, .elementor-element-39048bc{ background:rgba(77,148,255,.16) !important; }

@media (min-width:768px) and (max-width:1024px){
	.elementor-element-9a58702,
	.elementor-element-c249841,
	.elementor-element-046d1d4{ padding:36px 45px 0 !important; }
	.elementor-element-be69ee8,
	.elementor-element-eeb6bd6,
	.elementor-element-39048bc{ padding:24px 45px 36px !important; margin-bottom:36px !important; }
}

@media (max-width:767px){
	.elementor-element-9a58702,
	.elementor-element-c249841,
	.elementor-element-046d1d4{ padding:28px 21px 0 !important; }
	.elementor-element-be69ee8,
	.elementor-element-eeb6bd6,
	.elementor-element-39048bc{ padding:20px 21px 28px !important; margin-bottom:30px !important; }
}

/* ══════════════════════════════════════════════════════════════════
   FOOTER DA TABLET — GRIGLIA REGOLARE
   ══════════════════════════════════════════════════════════════════
   🔴 Misurato a 820px: le colonne restavano al 22-34% del desktop e
   andavano a capo a due a due, ma con in mezzo la colonna VUOTA che su
   desktop serve solo ad allineare la seconda riga sotto la prima. Da
   tablet quella colonna vuota si prende metà riga e sposta tutto: da qui
   l'impressione che il footer fosse «non ottimizzato».

   ✅ Da tablet: la marca prende tutta la riga, la colonna vuota sparisce e
   i sei gruppi di link diventano due file da tre, con lo stesso stacco
   verticale fra loro. */
@media (min-width:768px) and (max-width:1024px){

	/* blocco marca (logo, descrizione, contatti, social) a tutta larghezza */
	.elementor-element-45f4f18{ width:100% !important; margin-bottom:34px !important; }

	/* la colonna segnaposto non ha contenuto: da tablet è solo un buco */
	.elementor-element-39f9837{ display:none !important; }

	/* i sei gruppi di link: tre per riga, spaziatura identica */
	.elementor-element-fb63def,
	.elementor-element-396a17c,
	.elementor-element-a49bf30,
	.elementor-element-9a17f68,
	.elementor-element-f1e5e91,
	.elementor-element-85dd052{
		width:33.333% !important;
		margin-bottom:30px !important;
	}

	/* la riga 2 si appoggia ai margini dei gruppi: senza questo si sommavano */
	.da-footer-riga2{ margin-top:0 !important; }
}

/* wp-custom-css */















/* ==========================================================================
   CookieYes — banner e pannello preferenze, in linea col restyling
   Davide Armari · 12/08/2026

   DOVE METTERLO: Aspetto → Personalizza → CSS aggiuntivo, in fondo.
   ⚠️ NON nel riquadro «Custom CSS» di CookieYes: sul piano Free le
   personalizzazioni sono bloccate («further edits are no longer available»).
   Messo qui funziona lo stesso ed è anche il posto giusto — sta con il resto
   del CSS del sito, e resta anche se un domani cambi piano o plugin.

   Palette presa dal sito, non inventata:
     oro          #ffcf0e   (hover #ffb70e)
     testo scuro  #141414
     fondo card   #1a1a1a / #2c2c2c
     testo chiaro #ffffff · secondario #b9b9b9
     font         Sora (titoli e bottoni) · Manrope (testo)
     raggi        18px le card · 999px i bottoni

   Le classi sono quelle vere lette dal sito il 12/08, refuso compreso:
   CookieYes scrive «cky-prefrence-btn-wrapper», senza la e.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. LA BARRA DEL BANNER
   -------------------------------------------------------------------------- */

.cky-consent-container .cky-consent-bar {
  background: #1a1a1a !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  border-radius: 18px !important;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.45) !important;
  font-family: 'Manrope', sans-serif !important;
  padding: 26px 28px !important;
}

/* su schermo largo la barra non deve attraversare tutto il video */
@media (min-width: 1025px) {
  .cky-consent-container {
    max-width: 1180px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    bottom: 24px !important;
  }
}
@media (max-width: 1024px) {
  .cky-consent-container .cky-consent-bar {
    border-radius: 16px !important;
    padding: 20px 18px !important;
    margin: 12px !important;
  }
}

/* il titolo «Valore alla tua privacy» */
.cky-consent-bar .cky-title {
  color: #ffffff !important;
  font-family: 'Sora', sans-serif !important;
  font-size: 19px !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 8px !important;
}

/* il testo */
.cky-consent-bar .cky-notice-des,
.cky-consent-bar .cky-notice-des * {
  color: #b9b9b9 !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

/* il link alla cookie policy: oro, e sottolineato — non solo colore,
   se no chi non distingue i colori non lo riconosce come link */
.cky-consent-bar .cky-notice-des a,
.cky-preference-center .cky-policy {
  color: #ffcf0e !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* --------------------------------------------------------------------------
   2. I BOTTONI
   Gerarchia voluta: «Accetta» pieno oro, «Rifiuta» in evidenza ma neutro,
   «Personalizza» defilato. Rifiutare deve restare facile quanto accettare:
   è un requisito del GDPR, oltre che una scelta onesta.
   -------------------------------------------------------------------------- */

.cky-consent-bar .cky-btn,
.cky-preference-center .cky-btn {
  border-radius: 999px !important;
  font-family: 'Sora', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  padding: 13px 26px !important;
  min-height: 46px !important;          /* bersaglio comodo da telefono */
  transition: background-color .25s, color .25s, border-color .25s !important;
}

/* Accetta — pieno oro */
.cky-btn-accept {
  background: #ffcf0e !important;
  border: 1px solid #ffcf0e !important;
  color: #141414 !important;
}
.cky-btn-accept:hover,
.cky-btn-accept:focus-visible {
  background: #ffb70e !important;
  border-color: #ffb70e !important;
  color: #141414 !important;
}

/* Rifiuta — contorno chiaro, stessa importanza visiva */
.cky-btn-reject {
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.55) !important;
  color: #ffffff !important;
}
.cky-btn-reject:hover,
.cky-btn-reject:focus-visible {
  background: rgba(255, 255, 255, 0.10) !important;
  border-color: #ffffff !important;
  color: #ffffff !important;
}

/* Personalizza — il terzo per importanza */
.cky-btn-customize {
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  color: #b9b9b9 !important;
}
.cky-btn-customize:hover,
.cky-btn-customize:focus-visible {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.45) !important;
  color: #ffffff !important;
}

/* Salva le preferenze, dentro il pannello */
.cky-btn-preferences {
  background: #ffcf0e !important;
  border: 1px solid #ffcf0e !important;
  color: #141414 !important;
}
.cky-btn-preferences:hover {
  background: #ffb70e !important;
  border-color: #ffb70e !important;
}

/* da telefono i bottoni vanno a tutta larghezza, in colonna */
@media (max-width: 600px) {
  .cky-notice-btn-wrapper {
    flex-direction: column !important;
    gap: 8px !important;
  }
  .cky-notice-btn-wrapper .cky-btn {
    width: 100% !important;
    margin: 0 !important;
  }
}

/* la X di chiusura */
.cky-btn-close {
  background: rgba(255, 255, 255, 0.08) !important;
  border-radius: 999px !important;
  width: 34px !important;
  height: 34px !important;
}
.cky-btn-close img,
.cky-btn-close svg { filter: invert(1) !important; opacity: .8 !important; }

/* --------------------------------------------------------------------------
   3. IL PANNELLO DELLE PREFERENZE
   -------------------------------------------------------------------------- */

.cky-preference-center {
  background: #1a1a1a !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  border-radius: 18px !important;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55) !important;
  font-family: 'Manrope', sans-serif !important;
  overflow: hidden !important;
}

.cky-preference-header .cky-preference-title {
  color: #ffffff !important;
  font-family: 'Sora', sans-serif !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
}

.cky-preference-content-wrapper,
.cky-preference-content-wrapper *,
.cky-accordion-header-des,
.cky-accordion-header-des * {
  color: #b9b9b9 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

/* ogni categoria di cookie è una card, come le card del sito */
.cky-accordion {
  background: #2c2c2c !important;
  border: 1px solid rgba(255, 255, 255, 0.07) !important;
  border-radius: 14px !important;
  margin-bottom: 12px !important;
  padding: 4px 14px !important;
}
.cky-accordion:last-child { margin-bottom: 0 !important; }

.cky-accordion .cky-accordion-btn {
  color: #ffffff !important;
  font-family: 'Sora', sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
}

.cky-accordion-chevron i,
.cky-accordion-chevron .cky-chevron-right {
  border-color: #ffcf0e !important;
}

.cky-always-active { color: #ffcf0e !important; font-weight: 600 !important; }

.cky-horizontal-separator { background: rgba(255, 255, 255, 0.09) !important; }

/* --------------------------------------------------------------------------
   4. GLI INTERRUTTORI
   -------------------------------------------------------------------------- */

.cky-switch input[type="checkbox"] {
  background-color: rgba(255, 255, 255, 0.22) !important;
  border: none !important;
}
.cky-switch input[type="checkbox"]:checked {
  background-color: #ffcf0e !important;
}
.cky-switch input[type="checkbox"]::before {
  background-color: #ffffff !important;
}
.cky-switch input[type="checkbox"]:checked::before {
  background-color: #141414 !important;
}
/* si deve vedere dove sta il fuoco quando si naviga da tastiera */
.cky-switch input[type="checkbox"]:focus-visible,
.cky-btn:focus-visible {
  outline: 2px solid #ffcf0e !important;
  outline-offset: 2px !important;
}

/* --------------------------------------------------------------------------
   5. PIÈ DEL PANNELLO E TABELLA DEI COOKIE
   -------------------------------------------------------------------------- */

.cky-footer-wrapper,
.cky-prefrence-btn-wrapper {           /* ⚠️ refuso di CookieYes: «prefrence» */
  background: #1a1a1a !important;
  border-top: 1px solid rgba(255, 255, 255, 0.09) !important;
}
.cky-footer-shadow { display: none !important; }

.cky-audit-table,
.cky-cookie-des-table {
  background: #141414 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 10px !important;
  color: #b9b9b9 !important;
  font-size: 12.5px !important;
}
.cky-audit-table td,
.cky-audit-table th { border-color: rgba(255, 255, 255, 0.08) !important; }

.cky-show-desc-btn {
  color: #ffcf0e !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.cky-empty-cookies-text { color: #8d8d8d !important; }

/* --------------------------------------------------------------------------
   6. IL BADGE CHE RIAPRE LE PREFERENZE
   Sta in basso a sinistra e si sovrappone al pulsante WhatsApp del sito:
   qui viene rimpicciolito e reso discreto.
   -------------------------------------------------------------------------- */

.cky-revisit-bottom-left,
.cky-revisit-bottom-right {
  background: #1a1a1a !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4) !important;
  transform: scale(.8) !important;
  transform-origin: bottom left !important;
  opacity: .75 !important;
  transition: opacity .25s !important;
}
.cky-revisit-bottom-left:hover,
.cky-revisit-bottom-right:hover { opacity: 1 !important; }

/* --------------------------------------------------------------------------
   7. RISPETTO DI CHI HA CHIESTO MENO ANIMAZIONI
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .cky-consent-container,
  .cky-preference-center,
  .cky-btn { transition: none !important; animation: none !important; }
}



/* === Claude Code — uniformazione restyling (26/07/2026) ===
   Livello globale: tipografia brand + bottoni oro + dettagli.
   Le 13 pagine nuove sono già autonome: queste regole le confermano soltanto. */

h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.neuros-heading {
    font-family: 'Sora', sans-serif !important;
    letter-spacing: -0.02em;
}
body, p, li, blockquote, figcaption, label,
input, textarea, select, button,
.elementor-widget-text-editor {
    font-family: 'Manrope', sans-serif;
}

.elementor-button {
    background-color: #ffcf0e !important;
    background-image: none !important;
    color: #141414 !important;
    border-radius: 999px !important;
    border-color: #ffcf0e !important;
    font-family: 'Sora', sans-serif !important;
    font-weight: 600 !important;
}
.elementor-button:hover {
    background-color: #ffb70e !important;
    color: #141414 !important;
    border-color: #ffb70e !important;
}

::selection { background: #ffcf0e; color: #141414; }

.grecaptcha-badge { visibility: hidden !important; }

.dialog-widget .dialog-close-button {
    color: #ffffff !important;
    background: rgba(20,20,20,0.55);
    border-radius: 999px;
    top: 14px !important;
    right: 14px !important;
    padding: 6px;
}
.dialog-widget .dialog-close-button svg { fill: #ffffff !important; }

/* ancore: il target non deve finire sotto l'header sticky (video 14) */
[id] { scroll-margin-top: 130px; }

/* === video 21 — margini contenuto del tema (30/07/2026) ===
   Il tema Neuros mette 150px di margine sopra e sotto .content-wrapper e li
   toglie solo con le classi content-wrapper-remove-*-margin, che vengono
   emesse leggendo il meta di pagina TRAMITE Meta Box (disattivato).
   I theme mod content_top_margin/content_bottom_margin = "on" coprono le
   pagine singole; questa regola copre anche archivi, articoli, 404 e ricerca. */
.content-wrapper {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* === Claude Code — scala dei testi su tablet e telefono (06/08/2026) ===
   Video del 06/08: «queste scritte qui sono molto grandi… mi piacerebbe che
   fossero piccole tipo queste qui», indicando i titoli di sezione e i loro
   sottotitoli contro il testo delle card.
   MISURATO su iPhone 375px sul portfolio, prima:
     H1 38px/43.7 · H2 34px/39.1 · sottotitolo 17px/29.75 (interlinea 1.75)
     card: titolo 16px/20.8 · testo 12px/17.4  ← è questo il metro di paragone
   ⚠️ Si tocca SOLO il contenuto di pagina (`data-elementor-type="wp-page"`).
   Restano fuori: i POPUP, perché «dentro la scheda va bene così, si vedono un
   po' più grandini»; le CARD, che sono il riferimento; header e footer.
   ⚠️ Serve `!important`: le regole per-elemento di Elementor hanno specificità
   più alta di qualunque selettore scritto qui. */

@media (max-width: 1024px) {
  [data-elementor-type="wp-page"] h1.elementor-heading-title,
  [data-elementor-type="wp-page"] h1.neuros-heading {
    font-size: 34px !important;
    line-height: 1.15 !important;
  }
  [data-elementor-type="wp-page"] h2.elementor-heading-title,
  [data-elementor-type="wp-page"] h2.neuros-heading {
    font-size: 30px !important;
    line-height: 1.2 !important;
  }
  [data-elementor-type="wp-page"] .elementor-widget-text-editor {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }
}

@media (max-width: 767px) {
  [data-elementor-type="wp-page"] h1.elementor-heading-title,
  [data-elementor-type="wp-page"] h1.neuros-heading {
    font-size: 30px !important;
    line-height: 1.15 !important;
  }
  [data-elementor-type="wp-page"] h2.elementor-heading-title,
  [data-elementor-type="wp-page"] h2.neuros-heading {
    font-size: 26px !important;
    line-height: 1.2 !important;
  }
  [data-elementor-type="wp-page"] .elementor-widget-text-editor {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }
}

/* Le card non si toccano: sono il metro di paragone, e stanno dentro la
   pagina, quindi le regole qui sopra le prenderebbero. */
[data-elementor-type="loop-item"] .elementor-widget-text-editor {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

/* === Claude Code — ritocchi mobile (10/08/2026) === */
/* 1. La nota reCAPTCHA è una nota legale, non testo di lettura.
      Selettore strutturale: è sempre il fratello che segue il modulo. */
@media (max-width: 1024px) {
  .elementor-widget-form + .elementor-widget-text-editor .elementor-widget-container {
    font-size: 12px !important;
    line-height: 1.45 !important;
    opacity: .75;
  }
}
@media (max-width: 767px) {
  .elementor-widget-form + .elementor-widget-text-editor .elementor-widget-container {
    font-size: 11px !important;
    line-height: 1.4 !important;
  }
}

/* 4. Respiro fra i lavori e la riga che porta al portfolio (PC e telefono).
      Anche qui il selettore è strutturale: il fratello dopo il carosello. */
.elementor-widget-loop-carousel + .elementor-widget-text-editor {
  margin-top: clamp(20px, 3.2vw, 34px) !important;
}

@media (max-width: 767px) {
  /* 2. Piè di pagina: stessa distanza sotto ogni blocco.
        La colonna «Servizi» aveva già 30px di padding in basso, le altre no:
        da qui il salto prima di «Link utili». L'ultima colonna resta fuori,
        se no si allunga la riga del copyright. */
  [data-elementor-type="footer"] .elementor-top-column:not(:last-child) > .elementor-widget-wrap {
    padding-bottom: 30px !important;
  }

  /* 3. Tabella di confronto WooCommerce / Shopify.
        Le colonne hanno «_inline_size_mobile: 100» nei dati, ma Elementor non
        lo applica a queste sezioni interne: restano tre colonne da 101px.
        Qui l'etichetta va a tutta riga e i due valori si affiancano. */
  .da-confronto .elementor-inner-section .elementor-row { flex-wrap: wrap !important; }
  .da-confronto .elementor-inner-section .elementor-column:nth-child(1) { width: 100% !important; }
  .da-confronto .elementor-inner-section .elementor-column:nth-child(2),
  .da-confronto .elementor-inner-section .elementor-column:nth-child(3) { width: 50% !important; }
  .da-confronto .elementor-inner-section .elementor-widget-text-editor .elementor-widget-container {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }
  /* la cella vuota in alto a sinistra non serve, una volta impilato */
  .da-confronto .elementor-inner-section:first-of-type .elementor-column:nth-child(1) {
    display: none !important;
  }
}

/* === Claude Code — accessibilità (13/08/2026) === */
/* 2b · 2c — le etichette dei moduli erano sotto la soglia di contrasto:
   3,03 e 4,48 su fondo #2c2c2c, dove serve 4,5. */
.elementor-field-type-acceptance label.elementor-field-label,
.elementor-field-type-acceptance .elementor-field-option label,
.elementor-field-group > label.elementor-field-label,
.elementor-form .elementor-field-label,
.elementor-form .elementor-field-option label,
form[id^="modulo"] label {
  color: #c9c9c9 !important;
}

/* 4 — due link dentro il testo si distinguevano SOLO per il colore
   (1,24:1 e 1,32:1 contro il testo attorno, serve 3:1).
   La sottolineatura soddisfa il requisito senza toccare la palette. */
[data-elementor-type="wp-page"] .elementor-widget-text-editor p a,
[data-elementor-type="wp-page"] .elementor-widget-text-editor li a,
[data-elementor-type="footer"] .elementor-widget-text-editor p a,
/* alcuni link stanno DIRETTAMENTE nel contenitore, non dentro un <p> */
[data-elementor-type="wp-page"] .elementor-widget-container > a[style*="color"],
[data-elementor-type="wp-page"] .elementor-widget-text-editor > .elementor-widget-container > a {
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  text-decoration-thickness: 1px !important;
}
/* i bottoni e le voci di menu NON sono link dentro un testo: restano puliti */
[data-elementor-type] .elementor-button,
[data-elementor-type] .elementor-button:hover,
[data-elementor-type] nav a,
[data-elementor-type] .elementor-icon-list-item a {
  text-decoration: none !important;
}

/* il fuoco da tastiera deve vedersi: prima era invisibile su fondo scuro */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid #ffcf0e !important;
  outline-offset: 2px !important;
}

/* === Claude Code — menu telefono, banner cookie, ancore (13/08/2026) === */

/* 1. BANNER COOKIE DA TELEFONO — il testo era attaccato ai pulsanti:
      misurata 0px di distanza fra la descrizione e il gruppo di bottoni. */
@media (max-width: 767px) {
  .cky-consent-bar .cky-notice-des { margin-bottom: 20px !important; }
  .cky-consent-bar .cky-notice-btn-wrapper { row-gap: 10px !important; }
}

/* 2. CONDIZIONI DI VENDITA — le 17 ancore dell'indice ora esistono, ma il
      punto di arrivo finiva sotto l'intestazione fissa: si lascia spazio. */
.page-id-6227 [id^="art"],
.page-id-6227 #corsiaula { scroll-margin-top: 110px; }

/* 3. ETICHETTA PRIVACY DEI MODULI — misurato da Lighthouse: #7d7d7d su
      #2c2c2c fa 3,39:1, sotto il 4,5 richiesto. Le altre etichette erano gia'
      state portate a #c9c9c9 il 13/08: questa era rimasta indietro perche' sta
      su un selettore suo, quello della casella di accettazione. */
.elementor-field-type-acceptance .elementor-field-label,
.elementor-field-type-acceptance .elementor-field-option label {
  color: #c9c9c9 !important;
}

/* 4. ANIMAZIONI D'INGRESSO — `visibility: hidden` nascondeva il contenuto a
      chi legge, non solo a chi guarda.
      Misurato sulla home a 390px: 21 elementi in attesa, e fra questi TUTTI
      gli h2 della pagina. Sparendo gli h2, la sequenza dei titoli diventava
      h1 -> h3 «Anno di inizio», e Lighthouse la bocciava. Stesso motivo per
      cui le card servizi sembravano fermarsi alle prime tre: quello che non
      viene animato resta invisibile.
      ⚠️ `visibility: hidden` toglie il contenuto anche a screen reader e
      crawler. `opacity: 0` no: il testo resta nell'albero di accessibilita' e
      leggibile dai motori, ma non si vede. L'effetto visivo e' identico,
      perche' le animazioni di Elementor partono comunque da opacita' zero.
      Quando l'animazione scatta, Elementor toglie la classe
      `elementor-invisible` e queste regole smettono di valere da sole. */
.elementor-invisible {
  visibility: visible !important;
  opacity: 0;
}
/* La rete di sicurezza NON sta più qui: stava nel CSS come animazione a 2
   secondi, mostrava l'elemento ma gli lasciava la classe, e Elementor poi lo
   faceva entrare una seconda volta (video 35). Ora è nello snippet «un solo
   ingresso in animazione», che la classe la toglie. */
@media (prefers-reduced-motion: reduce) {
  .elementor-invisible { opacity: 1 !important; }
}

/* === fine blocco menu telefono === */

/* === PAGINE A TUTTA LARGHEZZA — inizio === */
/* Vedi lo snippet «pagine a tutta larghezza». Sostituisce le sezioni stirate
   di Elementor, che si allargavano via JavaScript dopo il caricamento.
   Niente `vw`: la barra di scorrimento non entra nel conto. */
body.da-fullbleed .content-wrapper { max-width: none; padding-left: 0; padding-right: 0; }
/* ⚠️ `!important` necessario: nel CSS in linea del tema c'e' una regola che
   vince anche su un selettore piu' specifico. */
body.da-fullbleed .content-wrapper > .content,
body.da-fullbleed .content > .content-inner {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
body.da-fullbleed .elementor > .elementor-section { width: 100%; }
/* === PAGINE A TUTTA LARGHEZZA — fine === */

/* === Claude Code — voce toccata e radio del pagamento === */
/* 1. LA VOCE CHE SI TOCCA SI ACCENDE.
      Nel menu del telefono ogni voce occupa tutta la riga e le sottovoci
      stanno in due colonne: senza un ritorno visivo non si capisce se si è
      toccata la sottovoce o la riga «Servizi» che le contiene.
      `:active` copre il tocco; `.da-toccata` la tiene accesa mentre la pagina
      nuova carica — la mette lo snippet «voce di menu toccata». */
@media (max-width: 1024px) {
  .elementor-nav-menu--dropdown a.elementor-item:active,
  .elementor-nav-menu--dropdown a.elementor-sub-item:active,
  .elementor-nav-menu--dropdown a.da-toccata {
    background: #ffcf0e !important;
    color: #141414 !important;
  }
}

/* 2. IL PALLINO DEI RADIO, CENTRATO.
      Era messo a 5px dal bordo dentro un quadrato da 16px con un pallino da
      10: 5px da una parte, 1px dall'altra. Con 50% + translate il conto torna
      da solo, qualunque siano bordo e dimensione. */
input[type="radio"]::before {
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
}
/* === fine voce toccata e radio === */

/* === Claude Code — checkout: campi, riepilogo, fiducia === */
/* Qui resta solo quello che sta FUORI dal widget del checkout: il piè di
   pagina e il bottone dell'area riservata. Tutto il resto è nel CSS di
   elemento del widget — vedi sotto il perché. */

/* 1. MENO VIE D'USCITA. Su carrello e pagamento il piè di pagina completo
      (898px di link, misurati) lascia il posto alla sola riga finale.
      ⚠️ Il piè di pagina è UNA sezione sola con dentro un'altra sezione: non
      si può usare `:not(:last-child)`, va nominata quella interna.
      ⚠️ Solo qui: nel resto del sito il piè di pagina non si tocca. */
/* ⚠️ IL PIÈ DI PAGINA NON SI TOCCA PIÙ. Il giro precedente ne nascondeva una
      sezione su carrello e pagamento per togliere vie d'uscita: ma quello è il
      piè di pagina DEDICATO alle pagine di acquisto e all'area riservata, e a
      Davide serve intero. Regola tolta. */

/* 2. A ORDINE FATTO l'intestazione «Completa l'ordine» non ha più senso: chi
      ha pagato legge un invito a pagare. Sparisce solo lì, e al suo posto
      c'è la conferma stampata dallo snippet. */
body.woocommerce-order-received [data-elementor-type="wp-page"] > .elementor-section:first-child {
  display: none !important;
}

/* 3. IL BOTTONE «APRI» dell'area riservata: al passaggio del mouse il testo
      diventava giallo su giallo e spariva. */
.woocommerce-MyAccount-content a.button:hover,
.woocommerce-MyAccount-content .button:hover,
.wc-memberships-members-area a.button:hover,
.wc-memberships-members-area .button:hover {
  color: #141414 !important;
  background: #ffcf0e !important;
}
/* === fine checkout === */

/* === Claude Code — Safari non ingrandisce il testo da solo === */
/* Safari su iPhone ingrandisce da solo il testo dei blocchi che gli sembrano
   poco leggibili («text autosizing»). Il risultato: le descrizioni del
   portfolio, scritte 12px, sul telefono si vedevano molto più grandi — e su
   Chrome no, quindi le misure non lo mostravano.
   Questa è la stessa riga che mettono Normalize.css e Bootstrap. */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
/* === fine text-size-adjust === */