/*
 * Stili della tema che Elementor V4 non salva negli stili degli elementi
 * (transizioni, gradienti, animazioni, variabili CSS, object-position in %).
 * I selettori usano le classi globali di Elementor (tz-*), che nel frontend
 * vengono stampate con il loro nome.
 */
/* Colori: la fonte è Elementor (variabili globali tz-*, stampate in :root dal kit). Qui solo valori di riserva
   con specificità zero (:where), quindi vince sempre il valore impostato in Elementor. */
:where(:root){--tz-ink:#0E2A3B;--tz-text:#4F4F4F;--tz-heading:#4A323E;--tz-blue:#0065BF;--tz-brand:#0065BF;--tz-logo-ink:#4A323E;--tz-azure:#3CABD1;--tz-sky:#8FD3F0;--tz-bg:#F5F8FA;--tz-line:#E3EEF4;--tz-card-dark:#13374C}
/* Colori: primario #0065BF (tz-blue / tz-brand), testo del logotipo #4A323E (tz-logo-ink); azzurro chiaro #3CABD1 (tz-azure)
   per le sezioni scure. Token propri della tema: */
:root{--tz-brand-on-dark:var(--tz-azure);--tz-r-card:24px;--tz-r-pill:999px;--tz-ease:cubic-bezier(.2,.7,.2,1)}
/* Su sfondo scuro la primaria ha poco contrasto: nelle sezioni scure
   --tz-brand diventa l'azzurro chiaro (--tz-brand-on-dark) (bordi, hover, link del footer). */
.tz-hero,.tz-id-tecnologia,.tz-id-contatti,.tz-place,.tz-cta,.tz-site-footer,.tz-lb,.tz-drag-cursor{--tz-brand:var(--tz-brand-on-dark)}
html{scroll-behavior:smooth}
body{font-family:'Manrope',system-ui,sans-serif;color:var(--tz-text);font-size:18px;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Outfit',sans-serif;color:var(--tz-heading);letter-spacing:-.022em}
::selection{background:#D3E9F4}
:focus-visible{outline:3px solid var(--tz-brand);outline-offset:3px}
[id]{scroll-margin-top:110px}

/* Valutazione Google: logo "G" originale e stelle gialle */
.elementor .tz-google-g{display:flex!important;font-size:0!important;color:transparent!important;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%234285F4' d='M22.5 12.2c0-.8-.1-1.5-.2-2.2H12v4.2h5.9a5 5 0 01-2.2 3.3v2.7h3.5c2-1.9 3.3-4.7 3.3-8z'/%3E%3Cpath fill='%2334A853' d='M12 23c3 0 5.5-1 7.3-2.7l-3.5-2.7c-1 .7-2.3 1.1-3.8 1.1-2.9 0-5.4-2-6.3-4.7H2.1v2.8A11 11 0 0012 23z'/%3E%3Cpath fill='%23FBBC05' d='M5.7 14c-.2-.7-.4-1.4-.4-2.1s.1-1.4.4-2.1V7H2.1a11 11 0 000 9.9L5.7 14z'/%3E%3Cpath fill='%23EA4335' d='M12 5.4c1.6 0 3.1.6 4.2 1.7l3.2-3.2A11 11 0 002.1 7l3.6 2.8C6.6 7.3 9.1 5.4 12 5.4z'/%3E%3C/svg%3E") center/26px no-repeat!important}
.elementor .tz-rating span{margin-left:8px;font-size:18px;letter-spacing:2px;vertical-align:.2em;color:#FBBC04}
.elementor .tz-id-recensioni .tz-rating{color:#FBBC04!important}

/* Parole in corsivo nei titoli (Playfair Display) */
.elementor h1 em,.elementor h2 em,.elementor h3 em,.tz-accent{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.01em;color:var(--tz-blue)}
/* Su sfondo scuro (hero, sezioni scure) le parole in corsivo usano tz-sky: si cambia in Elementor → Variabili */
.tz-hero h1 em,.tz-hero h2 em,.tz-id-tecnologia h2 em,.tz-place h2 em,.tz-h2-light em{color:var(--tz-sky)}

/* Header a pillola + smart sticky */
.tz-header{position:sticky;top:16px;z-index:80;padding:0 16px;transition:transform .45s var(--tz-ease)}
.tz-header.is-hidden{transform:translateY(calc(-100% - 24px))}
.tz-header > .elementor{max-width:1360px;margin:0 auto;background:#fff;border-radius:var(--tz-r-pill);box-shadow:0 10px 30px rgba(8,29,41,.14)}
/* Logo: un'onda leggera attorno al cerchio "3.0" (una volta dopo il caricamento e a ogni passaggio del mouse).
   Il cerchio occupa tutta l'altezza dell'immagine, a sinistra: l'onda è un quadrato alto quanto il logo. */
@keyframes tz-logo-ping{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--tz-brand-on-dark) 55%,transparent)}100%{box-shadow:0 0 0 14px color-mix(in srgb,var(--tz-brand-on-dark) 0%,transparent)}}
@keyframes tz-logo-ping-hover{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--tz-brand-on-dark) 55%,transparent)}100%{box-shadow:0 0 0 14px color-mix(in srgb,var(--tz-brand-on-dark) 0%,transparent)}}
.tz-header a:has(> .tz-logo){position:relative;display:inline-flex;border-radius:999px}
.tz-header a:has(> .tz-logo)::after{content:"";position:absolute;left:0;top:0;height:100%;aspect-ratio:1;border-radius:50%;pointer-events:none;animation:tz-logo-ping 1.8s var(--tz-ease) 1.2s 2 both}
.tz-header a:has(> .tz-logo):hover::after,.tz-header a:has(> .tz-logo):focus-visible::after{animation:tz-logo-ping-hover 1.4s var(--tz-ease) 1}
.tz-logo{transition:filter .3s ease}
.tz-header a:has(> .tz-logo):hover .tz-logo{filter:saturate(1.15) brightness(1.03)}
/* Logo dell'header alla stessa altezza del pulsante "Prenota": nel file originale il cerchio blu è circondato da un
   anello bianco con filo grigio (91 % dell'altezza: 905 su 994 unità del viewBox). L'immagine viene ingrandita e
   l'anello bianco, invisibile sul fondo bianco, si estende nel padding con margini negativi, senza modificare il file.
   --tz-logo-h: altezza del cerchio blu (come in Elementor: 56 px, 44 px su mobile).
   --tz-logo-ring: quota del cerchio blu sull'altezza dell'immagine (1 = logo senza anello esterno).
   --tz-logo-left: margine bianco a sinistra, in quota dell'altezza dell'immagine (42,25 su 994). */
.tz-header{--tz-logo-h:56px;--tz-logo-ring:.9105;--tz-logo-left:.0425}
@media (max-width:767px){.tz-header{--tz-logo-h:44px}}
.tz-header .elementor .tz-logo{height:calc(var(--tz-logo-h) / var(--tz-logo-ring));margin-block:calc(var(--tz-logo-h) * (1 - 1 / var(--tz-logo-ring)) / 2);margin-inline-start:calc(var(--tz-logo-h) / var(--tz-logo-ring) * var(--tz-logo-left) * -1)}
/* Il dropdown Servizi, il menu mobile e le FAQ sono Elementor Accordion (<details>): senza marcatore predefinito */
.elementor summary{list-style:none}
.elementor summary::-webkit-details-marker{display:none}

/* Menu principale di WordPress nell'header (inserito da functions.php nel blocco .tz-menu-slot) */
.tz-menu-slot{justify-content:center}
.tz-menu{display:flex;align-items:center;gap:30px;margin:0;padding:0;list-style:none}
.tz-menu li{position:relative;margin:0}
.tz-menu-nav:not(.tz-menu-nav--mobile) .tz-menu > li > a{white-space:nowrap}
@media (max-width:1400px){.tz-menu-nav:not(.tz-menu-nav--mobile) .tz-menu{gap:20px}}
/* Fino a 1300 px il menu completo non entra accanto a logo e pulsante: si passa al menu "hamburger"
   (in Elementor il cambio avviene solo a 1024 px). Selettori strutturali, non gli ID degli stili di Elementor. */
@media (max-width:1300px){
  .tz-header .e-con:has(> .tz-menu-slot),.tz-header .elementor > nav > .tz-btn-book{display:none!important}
  .tz-header .e-accordion-base:has(.tz-burger){display:flex!important}
  .tz-header .elementor > nav{gap:16px}
}
.tz-menu > li{display:flex;align-items:center;gap:4px}
.tz-menu a{text-decoration:none;transition:color .2s ease,background-color .2s ease}
.tz-menu > li > a{display:inline-flex;align-items:center;gap:8px;padding:10px 0;font:500 16.5px/1.2 'Manrope',sans-serif;color:var(--tz-ink)}
.tz-menu > li > a:hover,.tz-menu > li.current-menu-item > a,.tz-menu > li.current-menu-ancestor > a{color:var(--tz-blue)}
.tz-sub-toggle{display:inline-grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:50%;background:none;color:var(--tz-ink);cursor:pointer}
.tz-sub-toggle::before{content:"";width:8px;height:8px;margin-top:-4px;border-right:2.4px solid currentColor;border-bottom:2.4px solid currentColor;transform:rotate(45deg);transition:transform .25s ease}
.is-open > .tz-sub-toggle::before{transform:rotate(225deg);margin-top:4px}
.tz-menu .sub-menu{margin:0;padding:0;list-style:none}
/* Pannello del sottomenu (desktop) */
.tz-menu-nav:not(.tz-menu-nav--mobile) .sub-menu{position:absolute;left:50%;top:calc(100% + 14px);z-index:5;width:min(640px,90vw);padding:16px;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 8px;background:#fff;border:1px solid var(--tz-line);border-radius:24px;box-shadow:0 24px 60px rgba(8,29,41,.18);opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .2s ease,transform .2s ease,visibility .2s}
.tz-menu-nav:not(.tz-menu-nav--mobile) .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
@media (hover:hover){.tz-menu-nav:not(.tz-menu-nav--mobile) li:hover > .sub-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}}
.tz-menu-nav:not(.tz-menu-nav--mobile) li.is-open > .sub-menu,.tz-menu-nav:not(.tz-menu-nav--mobile) li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.tz-menu-nav:not(.tz-menu-nav--mobile) .sub-menu a{display:flex;align-items:center;gap:12px;min-height:48px;height:100%;box-sizing:border-box;padding:12px;border-radius:12px;font:500 15.5px/1.35 'Manrope',sans-serif;color:var(--tz-heading)}
.tz-menu-nav:not(.tz-menu-nav--mobile) .sub-menu a:hover,.tz-menu-nav:not(.tz-menu-nav--mobile) .sub-menu a:focus-visible{color:var(--tz-blue);background:#F0F8FC}
.tz-menu-icon{display:block;flex:0 0 auto;width:20px;height:20px}
.tz-menu-label{display:block;min-width:0;overflow-wrap:break-word}
.tz-menu .sub-menu .tz-menu-icon{width:22px;height:22px;color:var(--tz-blue)}
.tz-menu .sub-menu li.current-menu-item > a{color:var(--tz-blue);background:#F0F8FC}
/* Menu mobile (pannello "Menu" dell'header) */
.tz-menu-nav--mobile .tz-menu{display:grid;gap:0;align-items:stretch}
.tz-menu-nav--mobile .tz-menu > li{flex-wrap:wrap;justify-content:space-between}
.tz-menu-nav--mobile .tz-menu > li > a{padding:12px 0;font-size:18px}
.tz-menu-nav--mobile .sub-menu{display:none;flex-basis:100%;padding:4px 0 10px 14px!important;border-left:2px solid var(--tz-brand)}
.tz-menu-nav--mobile li.is-open > .sub-menu{display:grid;gap:2px}
.tz-menu-nav--mobile .sub-menu a{display:flex;align-items:center;gap:12px;padding:10px 0;font:400 16.5px/1.35 'Manrope',sans-serif;color:var(--tz-heading)}
/* Link riepilogativo: attivabile da Aspetto → Menu → Stile Trepuntozero. */
.tz-menu-nav .sub-menu > .tz-menu-cta{grid-column:1/-1;margin-top:8px;padding-top:12px;border-top:1px solid var(--tz-line)}
.tz-menu-nav .tz-menu li.tz-menu-cta > a{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;min-height:48px;height:auto;padding:13px 16px;border:1px solid #D3E7F7;border-radius:12px;background:#EDF6FD;color:var(--tz-blue);font-weight:600}
.tz-menu-nav .tz-menu li.tz-menu-cta > a:hover,.tz-menu-nav .tz-menu li.tz-menu-cta > a:focus-visible{background:var(--tz-blue);border-color:var(--tz-blue);color:#fff}
.tz-menu-nav .tz-menu .tz-menu-cta > a > .tz-menu-icon{color:inherit}
.tz-menu-arrow{display:block;flex:0 0 auto;width:20px;height:20px;margin-left:auto}
.tz-menu-nav--mobile .sub-menu > .tz-menu-cta{margin-top:6px;padding-top:10px}
/* Pannello mobile più alto dello schermo: scorre al suo interno, la pagina sotto resta ferma (classe da tz-enhancements.js) */
.elementor .tz-burger ~ .e-accordion-item-content-base{max-height:calc(100vh - 130px);max-height:calc(100dvh - 130px);overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
/* Menu aperto: pagina bloccata solo su <html>. Con overflow:hidden anche su <body>, il body diventa il contenitore
   di scorrimento dell'header sticky e, a pagina scorsa, l'header torna in cima al documento (fuori schermo) */
html.tz-menu-open{overflow:hidden}

/* Transizioni comuni */
.tz-footer-link,.tz-link-arrow,.tz-btn-light,.tz-btn-dark,.tz-btn-outline,.tz-svc-nav{transition:color .2s ease,background-color .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease}

/* Pulsante "Prenota": colori, bordo e stato hover sono nella classe globale tz-btn-book di Elementor.
   Qui solo ciò che Elementor V4 non salva: la transizione e l'icona calendario */
.elementor .tz-btn-book{position:relative;transition:background-color .25s ease,border-color .25s ease,color .25s ease}
.elementor .tz-btn-book::before{content:"";position:absolute;left:12px;top:50%;width:34px;height:34px;margin-top:-17px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230065BF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='3'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3Cpath d='M9 15l2 2 4-4' stroke='%230065BF' stroke-width='2.4'/%3E%3C/svg%3E") center/18px no-repeat}
.elementor .tz-btn-book:hover::before,.elementor .tz-btn-book:focus-visible::before{background-color:color-mix(in srgb,var(--tz-blue) 10%,#fff)}

/* Direzione clinica: card del medico e pulsante "Scarica CV" con icona download ed etichetta PDF */
.elementor .tz-btn-cv{position:relative;transition:border-color .2s ease,background-color .2s ease}
.elementor .tz-btn-cv::before{content:"";position:absolute;left:8px;top:50%;width:32px;height:32px;margin-top:-16px;box-sizing:border-box;border:2.5px solid var(--tz-brand);border-radius:50%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230065BF' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E") center/14px no-repeat}
.elementor .tz-btn-cv span{margin-left:4px;font-weight:500;font-size:13.5px;color:#5F6B73}
/* Pulsante CV nelle card del team (Chi siamo): più compatto su mobile, dove le card sono su due colonne */
.elementor .tz-team-card .tz-btn-cv{margin-top:auto!important}
.elementor .tz-team-card .tz-team-role{margin-bottom:12px}
@media (max-width:767px){.elementor .tz-team-card .tz-btn-cv{min-height:40px;padding:0 12px 0 40px;font-size:14px;gap:6px}.elementor .tz-team-card .tz-btn-cv::before{left:6px;width:28px;height:28px;margin-top:-14px;background-size:12px}.elementor .tz-team-card .tz-btn-cv span{display:none}}

/* Prezzi: card scura dei finanziamenti */
.tz-id-prezzi strong{display:inline-block;margin-bottom:4px;font:600 19px/1.3 'Outfit',sans-serif;color:#fff}

/* Tecnologia: "Per te:" in azzurro, card con sollevamento, icona AI */
.tz-id-tecnologia strong{font-weight:600;color:var(--tz-sky)}
.tz-rail > *{transition:transform .45s var(--tz-ease),box-shadow .45s var(--tz-ease),border-color .45s var(--tz-ease)}
.tz-rail > *:hover{transform:translateY(-3px);border-color:rgba(143,211,240,.42)!important;box-shadow:0 16px 36px rgba(0,0,0,.22)}
.elementor .tz-ai-icon{display:block!important;font-size:0!important;color:transparent!important;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%238FD3F0%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M10%203.5c.6%204.6%202.4%206.4%207%207-4.6.6-6.4%202.4-7%207-.6-4.6-2.4-6.4-7-7%204.6-.6%206.4-2.4%207-7ZM18.5%2015c.3%202.1%201.1%202.9%203.2%203.2-2.1.3-2.9%201.1-3.2%203.2-.3-2.1-1.1-2.9-3.2-3.2%202.1-.3%202.9-1.1%203.2-3.2ZM19%202.5v4M17%204.5h4%22%2F%3E%3C%2Fsvg%3E") center/26px no-repeat!important}

/* Contatti: stato "sempre raggiungibile" con punto verde */
.tz-status::before{content:"";width:8px;height:8px;flex-shrink:0;border-radius:50%;background:#5FD39A;box-shadow:0 0 0 3px rgba(95,211,154,.25)}

/* Header mobile: pulsante "hamburger" (tre linee, quella centrale più corta) che diventa una X */
.elementor .tz-burger::before,.elementor .tz-burger::after{content:""!important;display:block!important;position:absolute!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;width:22px!important;height:2.4px!important;margin:0 0 0 -11px!important;border-radius:2px;background:#fff!important;transition:transform .3s ease}
.elementor .tz-burger::before{transform:translateY(-7px)}
.elementor .tz-burger::after{transform:translateY(7px)}
.elementor .tz-burger{background-image:linear-gradient(#fff,#fff)!important;background-position:calc(50% - 4px) 50%!important;background-size:14px 2.4px!important;background-repeat:no-repeat!important;transition:background-size .2s ease}
.elementor details[open] > .tz-burger::before{transform:rotate(45deg)!important}
.elementor details[open] > .tz-burger::after{transform:rotate(-45deg)!important}
.elementor details[open] > .tz-burger{background-size:0 2.4px!important}

/* Footer: credito */
.tz-credit a{font-weight:600;color:rgba(255,255,255,.75);text-decoration:none;transition:color .2s ease}
.tz-credit a:hover,.tz-credit a:focus-visible{color:var(--tz-brand)}

/* Card – stesso hover su tutto il sito */
.tz-card,.tz-svc-card,.tz-svc-grid-card,.tz-quote{transition:transform .45s var(--tz-ease),box-shadow .45s var(--tz-ease),border-color .45s var(--tz-ease)}
.tz-card:hover,.tz-svc-card:hover,.tz-svc-grid-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(14,42,59,.1)}

/* Foto con zoom leggero al passaggio del mouse */
.tz-zoom img,.tz-svc-grid-card img{transition:transform .6s var(--tz-ease)}
.tz-svc-grid-card:hover img{transform:scale(1.04)}
.tz-zoom:hover img{transform:scale(1.05)}
.tz-zoom:hover{box-shadow:0 18px 40px rgba(14,42,59,.16)}

/* Pulsanti creati dalla tema: annulla i colori di hover/focus del reset.css di Hello (#c36) */
.tz-sub-toggle:hover,.tz-sub-toggle:focus,.tz-hero-ind-bars button:hover,.tz-hero-ind-bars button:focus{background:none;color:inherit}
.tz-sub-toggle:hover,.tz-sub-toggle:focus{color:var(--tz-ink)}
.tz-lb .tz-lb-close:hover,.tz-lb .tz-lb-close:focus{background:#fff;color:var(--tz-ink)}
.tz-lb .tz-lb-prev:focus,.tz-lb .tz-lb-next:focus{background:transparent;color:#fff}
.tz-lb .tz-lb-prev:hover,.tz-lb .tz-lb-next:hover{background:color-mix(in srgb,var(--tz-brand-on-dark) 20%,transparent);color:#fff}

/* Lightbox (classe globale tz-lightbox): icona zoom in basso a destra e finestra della galleria */
.tz-lightbox{position:relative;cursor:zoom-in}
.tz-zoom-badge{position:absolute;right:12px;bottom:12px;z-index:1;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.94) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none'%3E%3Ccircle cx='16' cy='16' r='14.75' stroke='%230065BF' stroke-width='2.5'/%3E%3Cg transform='translate(9 9) scale(.583)' stroke='%230065BF' stroke-width='2.6' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6'/%3E%3Cpath d='M15 15l5 5M10.5 8v5M8 10.5h5'/%3E%3C/g%3E%3C/svg%3E") center/32px no-repeat;box-shadow:0 6px 16px rgba(14,42,59,.18);pointer-events:none;transition:transform .3s ease}
.tz-lightbox:hover .tz-zoom-badge,.tz-lightbox:focus-visible .tz-zoom-badge{transform:scale(1.08)}
@media (max-width:767px){.tz-zoom-badge{right:8px;bottom:8px;width:32px;height:32px;background-size:24px}}
.tz-lb-open{overflow:hidden}
.tz-lb{position:fixed;inset:0;z-index:200;display:flex;width:auto;height:auto;max-width:none;max-height:none;margin:0;border:0;color:#fff;flex-direction:column;align-items:center;justify-content:center;padding:72px 16px 32px;background:rgba(8,29,41,.92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.tz-lb:not([open]){display:none}
.tz-lb::backdrop{background:transparent}
/* Stessa dimensione per tutte le foto: la più grande che entra nello schermo, con le proporzioni della foto (--tz-ar da tz-enhancements.js) */
.tz-lb{--tz-lb-h:calc(100vh - 190px)}
.tz-lb.has-desc{--tz-lb-h:calc(100vh - 190px - 8.5em)}
.tz-lb-img{width:min(1200px,100%,calc(var(--tz-lb-h) * var(--tz-ar,1.5)));height:auto;max-height:var(--tz-lb-h);aspect-ratio:var(--tz-ar,auto);object-fit:contain;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.tz-lb-count{position:absolute;top:30px;left:24px;font:600 16px/1 'Outfit',sans-serif;letter-spacing:.06em;color:#fff}
.tz-lb button{display:grid;place-items:center;width:52px;height:52px;padding:0;border-radius:50%;cursor:pointer}
.tz-lb-close{position:absolute;top:18px;right:18px;border:0;background:#fff}
.tz-lb-close::before,.tz-lb-close::after{content:"";grid-area:1/1;width:18px;height:2.4px;border-radius:2px;background:var(--tz-ink);transform:rotate(45deg)}
.tz-lb-close::after{transform:rotate(-45deg)}
.tz-lb-bar{margin-top:18px;display:flex;align-items:center;gap:16px}
.tz-lb-prev,.tz-lb-next{border:2px solid var(--tz-brand);background:transparent;color:#fff;transition:background .2s ease}
.tz-lb-prev:hover,.tz-lb-next:hover{background:color-mix(in srgb,var(--tz-brand-on-dark) 20%,transparent)}
.tz-lb-prev::before,.tz-lb-next::before{content:"";width:10px;height:10px;border-left:2.2px solid currentColor;border-bottom:2.2px solid currentColor;transform:translateX(2px) rotate(45deg)}
.tz-lb-next::before{transform:translateX(-2px) rotate(-135deg)}
.tz-lb-caption{max-width:60vw;font-size:16.5px;text-align:center;color:#fff}
.tz-lb-desc{max-width:min(720px,100%);max-height:7.5em;margin:12px 0 0;overflow-y:auto;font-size:15px;line-height:1.5;text-align:center;color:color-mix(in srgb,#fff 80%,transparent)}
.tz-lb-desc:empty{display:none}

/* Hero: slideshow in dissolvenza gestito da tz-enhancements.js (senza JS resta visibile la prima foto) */
.tz-hero .tz-hero-slide{transition:opacity 1.6s ease}
.tz-hero .tz-hero-slide:nth-child(1){object-position:62% center}
.tz-hero .tz-hero-slide:nth-child(2){object-position:center 35%}
.tz-hero .tz-hero-slide:nth-child(3){object-position:center center}
.tz-hero .tz-hero-slide:nth-child(4){object-position:70% center}
.tz-hero.tz-hero--js .tz-hero-slide{opacity:0!important}
.tz-hero.tz-hero--js .tz-hero-slide.is-active{opacity:1!important}
/* Indicatore delle foto (in basso a destra): numero, didascalia (testo alternativo della foto) e barre */
.tz-hero-ind{position:absolute;right:32px;bottom:36px;z-index:2;display:flex;align-items:center;gap:18px;color:#fff}
.tz-hero-ind-txt{text-align:right}
.tz-hero-ind-num{font:500 15px/1.2 'Outfit',sans-serif;letter-spacing:.08em}
.tz-hero-ind-num span{font-size:22px;font-weight:600}
.tz-hero-ind-label{font-size:15px;margin-top:2px}
.tz-hero-ind-bars{display:flex;align-items:center;gap:6px}
.tz-hero-ind-bars button{width:20px;height:32px;padding:0;border:0;background:none;cursor:pointer;display:flex;align-items:center;transition:width .5s ease}
.tz-hero-ind-bars button span{display:block;width:100%;height:3px;border-radius:3px;background:rgba(255,255,255,.45);transition:background .5s ease}
.tz-hero-ind-bars button.is-active{width:48px}
.tz-hero-ind-bars button.is-active span{background:#fff}
@media (max-width:767px){.tz-hero-ind{right:20px;bottom:24px;gap:12px}.tz-hero-ind-label{display:none}}
/* Pausa dello slideshow (WCAG 2.2.2): icona pausa / play */
.tz-hero-ind .tz-hero-pause{position:relative;flex:0 0 auto;width:36px;height:36px;padding:0;border:2px solid rgba(255,255,255,.6);border-radius:50%;background:none;color:#fff;cursor:pointer}
.tz-hero-ind .tz-hero-pause:hover,.tz-hero-ind .tz-hero-pause:focus{background:rgba(255,255,255,.14);color:#fff}
.tz-hero-pause::before,.tz-hero-pause::after{content:"";position:absolute;top:50%;left:50%;width:3px;height:12px;margin-top:-6px;border-radius:1px;background:currentColor}
.tz-hero-pause::before{margin-left:-5px}.tz-hero-pause::after{margin-left:2px}
.tz-hero-pause[aria-pressed="true"]::before{width:0;height:0;margin:-7px 0 0 -4px;border-radius:0;border-style:solid;border-width:7px 0 7px 12px;border-color:transparent transparent transparent currentColor;background:none}
.tz-hero-pause[aria-pressed="true"]::after{display:none}
.tz-hero .tz-hero-shade{background:linear-gradient(90deg,rgba(10,32,46,.86) 0%,rgba(10,32,46,.62) 40%,rgba(10,32,46,.08) 72%),linear-gradient(to top,rgba(10,32,46,.55) 0%,rgba(10,32,46,0) 30%)}
@media (max-width:767px){.tz-hero .tz-hero-shade{background:linear-gradient(180deg,rgba(10,32,46,.55) 0%,rgba(10,32,46,.82) 100%)}}

/* Dove siamo: foto dell'edificio con sfumatura */
.tz-place .tz-hero-slide{object-position:center 55%}
.tz-place .tz-hero-shade{background:linear-gradient(180deg,rgba(14,42,59,0) 30%,rgba(14,42,59,.78) 100%),linear-gradient(90deg,rgba(14,42,59,.45) 0%,rgba(14,42,59,0) 60%)}

/* Carosello servizi (drag + swipe) */
/* Specificità alta: Elementor imposta overflow:visible sui contenitori con il selettore .elementor .e-… */
.elementor .tz-svc-track{display:flex!important;flex-wrap:nowrap!important;gap:20px;overflow-x:auto!important;overflow-y:hidden!important;max-width:100%;scroll-snap-type:x proximity;scrollbar-width:none;scroll-behavior:smooth;padding-inline:max(24px,calc((100vw - 1232px) / 2))!important;scroll-padding-inline:max(24px,calc((100vw - 1232px) / 2))}
.tz-svc-track::-webkit-scrollbar{display:none}
.elementor .tz-svc-track > *{flex:0 0 min(82vw,312px)!important;width:min(82vw,312px)!important;scroll-snap-align:start}
.tz-svc-track.is-dragging{scroll-snap-type:none;scroll-behavior:auto;cursor:none;user-select:none}
.tz-svc-nav[disabled]{opacity:.35;cursor:default}
.tz-drag-cursor{position:fixed;left:0;top:0;z-index:150;pointer-events:none;width:92px;height:92px;border-radius:50%;background:rgba(14,42,59,.9);box-shadow:0 0 0 4px color-mix(in srgb,var(--tz-brand-on-dark) 55%,transparent);color:#fff;display:grid;place-items:center;text-align:center;font:700 11.5px/1.3 'Manrope',sans-serif;letter-spacing:.1em;text-transform:uppercase;opacity:0;transition:opacity .2s,transform .12s ease-out}
.tz-drag-cursor.is-on{opacity:1}
/* Avanzamento del carosello (creato da tz-enhancements.js) */
.tz-svc-progress{flex:1 1 260px;display:flex;align-items:center;gap:18px;margin-right:40px}
.tz-svc-progress-bar{flex:1;height:3px;border-radius:3px;background:#D6E4EC;overflow:hidden}
.tz-svc-progress-bar span{display:block;height:100%;width:0;border-radius:3px;background:var(--tz-blue);transition:width .25s linear}
.tz-svc-count{font:600 15px/1 'Outfit',sans-serif;color:var(--tz-heading);white-space:nowrap;font-variant-numeric:tabular-nums}
.tz-svc-count--nav{display:none;align-self:center;margin-right:4px}
@media (max-width:767px){.tz-svc-progress{display:none}.tz-svc-count--nav{display:inline-block}}

/* Vantaggi sotto l'hero: griglia su desktop, ticker che scorre da solo su mobile (tz-enhancements.js duplica gli elementi) */
.tz-ticker-clone{display:none!important}
@keyframes tz-ticker{to{transform:translateX(-50%)}}
/* Ticker: si ferma al passaggio del mouse, al focus e al tocco (WCAG 2.2.2) */
.tz-ticker-viewport:hover .tz-ticker,.tz-ticker-viewport:focus-within .tz-ticker,.tz-ticker-viewport.is-paused .tz-ticker{animation-play-state:paused}
@media (max-width:767px){
  .tz-ticker-viewport{overflow:hidden!important;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%)}
  .elementor .tz-ticker{display:flex!important;flex-wrap:nowrap!important;gap:0!important;column-gap:0!important;flex:0 0 auto!important;width:max-content!important;max-width:none!important;margin:0!important;padding:14px 0!important;animation:tz-ticker 30s linear infinite}
  .elementor .tz-ticker > *{flex:0 0 auto!important;width:auto!important;padding-right:34px!important}
  .elementor .tz-ticker .tz-ticker-clone{display:flex!important}
  .tz-ticker span{white-space:nowrap}
  .elementor .tz-ticker .tz-check{width:28px;height:28px;font-size:13px;border-width:2px}
}
@media (max-width:767px) and (prefers-reduced-motion:reduce){.tz-ticker-viewport{overflow-x:auto!important;-webkit-mask-image:none;mask-image:none}.elementor .tz-ticker .tz-ticker-clone{display:none!important}.elementor .tz-ticker{padding:14px 20px!important}}

/* Recensioni: griglia su desktop, swipe su tablet e mobile (classe globale tz-swipe) */
@media (max-width:1024px){
  .elementor .tz-swipe{display:flex!important;flex-wrap:nowrap!important;gap:14px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:-24px!important;padding:4px 24px 12px!important;scroll-padding-inline:24px;width:calc(100% + 48px)!important;max-width:none!important}
  .elementor .tz-swipe > *{flex:0 0 min(84%,440px)!important;scroll-snap-align:start}
  .tz-swipe::-webkit-scrollbar{display:none}
}

/* Home, «Chi siamo» su mobile: le tre foto in una fila da scorrere e «Scoprite chi siamo» sotto le foto.
   La colonna del testo (primo figlio della griglia) diventa "contents", così il link si può ordinare dopo le foto
   (ultimo figlio); la spaziatura resta quella dei margini del testo. */
@media (max-width:767px){
  .elementor .tz-id-chi-siamo .tz-container{gap:0!important}
  .elementor .tz-id-chi-siamo .tz-container > :first-child{display:contents!important}
  .elementor .tz-id-chi-siamo .tz-container > :first-child > *{justify-self:start}
  .elementor .tz-id-chi-siamo .tz-container > :last-child{order:1;display:flex!important;gap:12px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;scrollbar-width:none;margin:36px -24px 0!important;padding:0 24px!important;scroll-padding-inline:24px;width:calc(100% + 48px)!important;max-width:none!important}
  .elementor .tz-id-chi-siamo .tz-container > :last-child > *{flex:0 0 80%!important;height:220px!important;scroll-snap-align:start}
  .tz-id-chi-siamo .tz-container > :last-child::-webkit-scrollbar{display:none}
  .elementor .tz-id-chi-siamo .tz-link-arrow{order:2;margin-block-start:20px!important}
}

/* Foto con didascalia (nome e ruolo) in sovrimpressione */
.tz-photo-cap strong{display:block;font:600 16px/1.25 'Outfit',sans-serif;color:var(--tz-heading)}
@media (max-width:767px){.tz-photo-cap strong{font-size:14.5px}}

/* Tecnologie: swipe su mobile */
@media (max-width:720px){.elementor .tz-rail{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;max-width:100%;scroll-snap-type:x mandatory;scrollbar-width:none}.elementor .tz-rail > *{flex:0 0 82%!important;scroll-snap-align:start}.tz-rail::-webkit-scrollbar{display:none}}

/* Famiglia: tab attiva */
.tz-fam-tabs [role="tab"]{text-align:left;white-space:normal!important;overflow-wrap:break-word;background:#fff!important;border-color:#D3E3EC!important;color:#4F5B63!important;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease,color .3s ease}
.tz-fam-tabs [role="tab"] strong{color:var(--tz-heading);transition:color .3s ease}
.tz-fam-tabs [role="tab"]:hover{border-color:var(--tz-brand)!important}
.tz-fam-tabs [role="tab"][aria-selected="true"]{background:var(--tz-ink)!important;border-color:var(--tz-ink)!important;box-shadow:0 14px 30px rgba(14,42,59,.18);color:#D2E1EA!important}
.tz-fam-tabs [role="tab"][aria-selected="true"] strong{color:var(--tz-sky)}
@media (max-width:767px){.elementor .tz-fam-tabs [role="tab"]{padding:12px 14px!important;border-radius:16px!important}}
.tz-fam-tabs ul{margin:4px 0 0;padding-left:1.2em}
.tz-fam-tabs li::marker{color:var(--tz-brand)}

/* FAQ: voci separate da linee, icona "+" in un cerchio che diventa "−" quando la risposta è aperta */
.tz-faq .e-accordion-item-icon-base{position:relative;width:36px!important;height:36px!important;flex-shrink:0;box-sizing:border-box;border:2.5px solid var(--tz-brand);border-radius:50%;color:var(--tz-blue)}
.tz-faq .e-accordion-item-icon-base > *{display:none!important}
.tz-faq .e-accordion-item-icon-base::before,.tz-faq .e-accordion-item-icon-base::after{content:"";position:absolute;left:50%;top:50%;width:13px;height:2.4px;margin:-1.2px 0 0 -6.5px;border-radius:2px;background:currentColor;transition:transform .3s ease}
.tz-faq .e-accordion-item-icon-base::after{transform:rotate(90deg)}
.tz-faq details[open] .e-accordion-item-icon-base::after{transform:rotate(0)}
.tz-faq summary:hover .e-accordion-item-icon-base{background:#F0F8FC}
.tz-faq details a{display:flex;width:fit-content;margin-top:12px;padding-bottom:2px;border-bottom:2px solid var(--tz-brand);font-weight:700;font-size:16px;color:var(--tz-blue);text-decoration:none}
.tz-faq details a:hover{color:var(--tz-ink)}

/* Contatti: cerchio decorativo e modulo */
.tz-id-contatti::after{content:"";position:absolute;top:auto;left:auto;right:-160px;bottom:-200px;width:480px;height:480px;border-radius:50%;border:24px solid color-mix(in srgb,var(--tz-brand-on-dark) 35%,transparent);background:none;pointer-events:none;z-index:0}
.tz-id-contatti > *{position:relative;z-index:1}
@media (max-width:1024px){.tz-id-contatti::after{display:none}}
.elementor .tz-id-contatti > *{position:relative;z-index:1}
.tz-form:empty{display:none}
.tz-form p{margin:0}
.tz-form form{display:grid;gap:14px}
.tz-form form > p,.tz-form .tz-form-row > p{display:grid;gap:14px}
.tz-form .tz-form-row > p{grid-template-columns:1fr 1fr}
@media (max-width:560px){.tz-form .tz-form-row > p{grid-template-columns:1fr}}
.tz-form br{display:none}
.tz-form .wpcf7-form-control-wrap{display:block}
.tz-form label{display:grid;gap:9px;font-size:15.5px;font-weight:700;color:var(--tz-text)}
.tz-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),.tz-form select,.tz-form textarea{display:block;width:100%;min-height:58px;padding:16px 18px;border-radius:16px;border:1px solid #D3E3EC;background-color:#FAFCFD;font:400 17px/1.3 'Manrope',sans-serif;color:var(--tz-heading);transition:border-color .2s ease,box-shadow .2s ease}
.tz-form ::placeholder{color:#7C8A93;opacity:1}
.tz-form input:focus,.tz-form select:focus,.tz-form textarea:focus{border-color:var(--tz-blue);box-shadow:0 0 0 4px color-mix(in srgb,var(--tz-blue) 12%,transparent);outline:none}
.tz-form select{appearance:none;background:#FAFCFD url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230065BF' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 18px center/16px no-repeat;padding-right:48px}
/* Pulsante di invio: come il pulsante "Prenota" (piatto, senza ombre; al passaggio bianco con bordo blu e testo
   nel colore del logotipo). Il bordo è sempre presente ma trasparente, così il pulsante non cambia dimensione */
.tz-form [type=submit]{width:100%;min-height:60px;margin-top:4px;border:2px solid transparent;border-radius:999px;cursor:pointer;font:600 17px/1 'Manrope',sans-serif;color:#fff;background:var(--tz-blue);box-shadow:none;transition:background-color .25s ease,border-color .25s ease,color .25s ease}
.tz-form [type=submit]:hover,.tz-form [type=submit]:focus-visible{color:var(--tz-logo-ink);background:#fff;border-color:var(--tz-blue)}
.tz-form [type=submit]:focus-visible{outline:3px solid var(--tz-brand);outline-offset:3px}
.tz-form [type=submit]:disabled{opacity:.6;cursor:not-allowed}
.tz-form .wpcf7-spinner{position:absolute;margin:0}
.tz-form .wpcf7-not-valid-tip{font-size:14px;font-weight:600;margin-top:4px}
.tz-form .wpcf7-response-output{margin:4px 0 0!important;padding:14px 16px!important;border-radius:14px;font-size:15px}
.tz-form .wpcf7-turnstile{width:100%;min-width:0;margin-top:4px}
.tz-form .tz-turnstile-status{font-size:14px;line-height:1.45;color:var(--tz-text)}
.tz-form .tz-turnstile-status:empty{display:none}

/* Icone nei pulsanti: tz-icon-map (indicazioni su Google Maps, apre un sito esterno) e tz-icon-phone (chiamata).
   L'icona è una maschera colorata con il colore del testo del pulsante. */
.tz-icon-map{--tz-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 12-8 12S4 15 4 10a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E")}
.tz-icon-phone{--tz-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E")}
.elementor .tz-icon-map::before,.elementor .tz-icon-phone::before{content:"";flex:0 0 auto;width:19px;height:19px;background-color:currentColor;-webkit-mask:var(--tz-ico) center/contain no-repeat;mask:var(--tz-ico) center/contain no-repeat}
.elementor .tz-icon-map::after{content:"";flex:0 0 auto;width:13px;height:13px;margin-left:-2px;opacity:.75;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M8 7h9v9'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M8 7h9v9'/%3E%3C/svg%3E") center/contain no-repeat}
.elementor .tz-btn-outline.tz-icon-phone::before{background-color:var(--tz-blue)}

/* Menu del footer (inseriti da functions.php nei blocchi tz-footer-menu-slot e tz-footer-legal-slot).
   I vecchi link fissi del template (tz-footer-legacy) restano nascosti. */
.elementor .tz-footer-legacy{display:none!important}
.tz-footer-menu,.tz-footer-legal{list-style:none;margin:0;padding:0}
.tz-footer-menu{display:flex;flex-direction:column;gap:12px}
.tz-footer-legal{display:flex;flex-wrap:wrap;gap:8px 24px}
.tz-footer-menu a,.tz-footer-legal a{font-family:'Manrope',sans-serif;font-size:16px;line-height:1.6;color:rgba(255,255,255,.7);text-decoration:none;transition:color .2s ease}
.tz-footer-legal a{font-size:15px;color:rgba(255,255,255,.55)}
.tz-footer-menu a:hover,.tz-footer-menu a:focus-visible,.tz-footer-legal a:hover,.tz-footer-legal a:focus-visible,.tz-footer-menu .current-menu-item > a,.tz-footer-legal .current-menu-item > a{color:var(--tz-brand)}

/* Icone social del footer (functions.php, link da Aspetto → Personalizza → "Trepuntozero – Social") */
.tz-social{display:flex;gap:10px;list-style:none;margin:0;padding:0}
.tz-social a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.8);transition:color .2s ease,border-color .2s ease,background-color .2s ease,transform .25s var(--tz-ease)}
.tz-social a:hover,.tz-social a:focus-visible{color:#fff;border-color:var(--tz-brand);background:color-mix(in srgb,var(--tz-brand-on-dark) 16%,transparent);transform:translateY(-2px)}

/* Mappa (iframe inserito da tz-enhancements.js) */
.tz-map iframe{display:block;width:100%;height:100%;min-height:340px;border:0}

/* Pagine interne (servizi, pagine semplici): hero con foto, percorso, testo e colonna laterale */
.tz-phero .tz-hero-slide:nth-child(n){object-position:center 40%}
.tz-phero .tz-hero-shade{background:linear-gradient(90deg,rgba(10,32,46,.88) 0%,rgba(10,32,46,.64) 45%,rgba(10,32,46,.2) 80%),linear-gradient(to top,rgba(10,32,46,.6) 0%,rgba(10,32,46,0) 45%)}
@media (max-width:767px){.tz-phero .tz-hero-shade{background:linear-gradient(180deg,rgba(10,32,46,.5) 0%,rgba(10,32,46,.88) 100%)}}
.tz-crumbs a{color:#fff;text-decoration:none;transition:color .2s ease}
.tz-crumbs a:hover,.tz-crumbs a:focus-visible{color:var(--tz-sky)}
.tz-prose-p a,.tz-li a{color:var(--tz-blue);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.tz-prose-p strong,.tz-li strong{color:var(--tz-heading);font-weight:700}
.tz-li::before,.tz-li-light::before{content:"";position:absolute;left:0;top:.2em;width:24px;height:24px;border-radius:50%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230065BF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 12.5l3.2 3.2L17 9'/%3E%3C/svg%3E") center/16px no-repeat;box-shadow:inset 0 0 0 2.5px var(--tz-brand)}
.tz-li-light::before{top:.05em;width:20px;height:20px;background-size:13px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238FD3F0' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 12.5l3.2 3.2L17 9'/%3E%3C/svg%3E")}
.tz-chip,.tz-cta-item{transition:border-color .25s ease,color .25s ease,background-color .25s ease,transform .25s var(--tz-ease)}
.tz-chip:hover,.tz-cta-item:hover{transform:translateY(-2px)}
.tz-aside-link{transition:color .2s ease}

/* CTA comune in fondo alle pagine (template Elementor inserito da functions.php) */
.tz-cta::after{content:"";position:absolute;right:-180px;top:-220px;width:520px;height:520px;border-radius:50%;border:24px solid color-mix(in srgb,var(--tz-brand-on-dark) 28%,transparent);pointer-events:none;z-index:0}
.tz-cta > *{position:relative;z-index:1}
@media (max-width:1024px){.tz-cta::after{display:none}}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
