/* Assistenza Legale, aspetto 2026. Un solo foglio, niente Foundation.
   Sezioni: 1 caratteri e colori, 2 base, 3 testata e menu, 4 pulsanti, 5 fasce, 6 home, 7 pagine con colonna,
   8 contenuti dal database e vecchie classi, 9 moduli, 10 comuni, 11 piede e cookie, 12 gestione, 13 telefono */

/* 1 ---------------------------------------------------------------- */
@font-face{font-family:"Source Sans 3";src:url(../fonts/source-sans-3.woff2) format("woff2");font-weight:200 900;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(../fonts/source-serif-4.woff2) format("woff2");font-weight:500;font-display:swap}
:root{
	--notte:#0a1a33;--notte-2:#11284d;--blu:#1f56d8;--blu-2:#1642b0;--cielo:#eaf1fe;
	--ambra:#fdbc31;--ambra-2:#f2ad12;--ambra-chiaro:#fff6d6;
	--carta:#f5f7fb;--bianco:#fff;--filo:#dde4ef;--testo:#16202f;--tenue:#56657a;--ok:#1f8a55;--errore:#c0392b;
	--f-titoli:"Source Serif 4",Georgia,"Times New Roman",serif;
	--f-testo:"Source Sans 3","Segoe UI",system-ui,-apple-system,sans-serif;
	--raggio:14px;--ombra:0 14px 34px rgba(10,26,51,.1);
	color-scheme:light;
}

/* 2 ---------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{margin:0;background:var(--carta);color:var(--testo);font:17px/1.65 var(--f-testo);overflow-wrap:break-word}
img{max-width:100%;height:auto}
a{color:var(--blu);text-underline-offset:.18em}
a:hover{color:var(--blu-2)}
:focus-visible{outline:2px solid var(--blu);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--f-titoli);font-weight:500;color:var(--notte);line-height:1.18;text-wrap:balance;margin:0 0 .5em}
p,ul,ol,dl,table,form{margin:0 0 1em}
hr{border:0;border-top:1px solid var(--filo);margin:1.6em 0}
.w{max-width:1160px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}
.nascosto{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.salta{position:absolute;left:12px;top:-60px;z-index:100;background:var(--notte);color:#fff;padding:10px 14px;border-radius:8px}
.salta:focus{top:12px}
.ico{width:1.15em;height:1.15em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
[hidden]{display:none!important}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* 3 ---------------------------------------------------------------- */
.testata{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--filo)}
.testata-in{display:flex;align-items:center;gap:20px;min-height:78px}
.logo{display:block;flex:none;line-height:0}
.logo img{width:198px;height:auto}
.menu{margin-left:auto;display:flex;align-items:center;gap:18px}
.menu>ul{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.menu li{position:relative}
.menu>ul>li>a{display:block;font-weight:600;font-size:15.5px;color:var(--testo);text-decoration:none;padding:9px 11px;border-radius:8px;white-space:nowrap}
.menu>ul>li>a:hover,.menu>ul>li:focus-within>a{background:var(--cielo);color:var(--blu-2)}
.menu .ha-sotto>a{padding-right:6px}
.apri-sotto{display:inline-grid;place-items:center;width:22px;height:30px;border:0;background:none;color:var(--tenue);cursor:pointer;vertical-align:middle;margin-left:-4px;padding:0}
.menu .ha-sotto{display:flex;align-items:center}
.sotto{position:absolute;top:100%;left:0;min-width:250px;list-style:none;margin:0;padding:8px;background:#fff;border:1px solid var(--filo);border-radius:12px;box-shadow:var(--ombra);
	opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s,transform .15s,visibility .15s}
.ha-sotto:hover>.sotto,.ha-sotto:focus-within>.sotto,.ha-sotto.aperto>.sotto{opacity:1;visibility:visible;transform:none}
.sotto a{display:block;padding:8px 12px;border-radius:8px;color:var(--testo);text-decoration:none;font-size:15px;line-height:1.35}
.sotto a:hover{background:var(--cielo);color:var(--blu-2)}
.menu .menu-cta{display:none}
.tasto{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--filo);border-radius:10px;background:#fff;color:var(--notte);cursor:pointer;flex:none}
.tasto:hover{border-color:var(--blu);color:var(--blu)}
.tasto-menu{display:none}
.cerca{border-top:1px solid var(--filo);background:#fff}
.cerca-in{display:flex;gap:10px;padding-block:12px}
.cerca input{flex:1;min-width:0}

/* 4 ---------------------------------------------------------------- */
.btn,.button,input[type=submit],button[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 15.5px/1.2 var(--f-testo);text-decoration:none;white-space:nowrap;
	padding:12px 19px;border-radius:10px;border:0;cursor:pointer;transition:filter .15s,transform .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.btn:hover,.button:hover,input[type=submit]:hover,button[type=submit]:hover{filter:brightness(1.06);transform:translateY(-1px)}
.btn-ambra{color:#2a1a00!important;background:linear-gradient(180deg,#ffd45e,var(--ambra-2));box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 4px 14px rgba(242,173,18,.3)}
.btn-blu,.button,input[type=submit],button[type=submit]{color:#fff!important;background:linear-gradient(180deg,#2d66ea,var(--blu-2));box-shadow:0 4px 14px rgba(31,86,216,.22)}
.btn-vetro{color:#fff!important;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6)}
.btn-grande{font-size:16.5px;padding:14px 24px}
.link-freccia{font-weight:600;text-decoration:none;white-space:nowrap}
.link-freccia::after{content:" →"}

/* 5 ---------------------------------------------------------------- */
.fascia{position:relative;isolation:isolate;color:#fff;background:var(--notte) var(--foto-l) center/cover no-repeat}
.fascia::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,26,51,.95),rgba(10,26,51,.84) 55%,rgba(22,66,176,.5))}
.fascia .w{padding-block:20px 34px}
.fascia h1{color:#fff;font-size:clamp(28px,3.6vw,40px);max-width:22em;margin:0}
.fascia-sotto{color:#d3def0;font-size:18px;max-width:42em;margin:14px 0 0}
.fascia-sottile{background:var(--notte)}
.fascia-sottile::before{background:linear-gradient(90deg,var(--notte),var(--notte-2))}
.fascia-sottile .w{padding-block:13px}
.fascia-sottile .percorso{margin:0}
.percorso{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;font-size:14.5px;color:#b8c7dc;margin-bottom:18px}
.percorso a{color:#fff;text-decoration:none}
.percorso a:hover{color:var(--ambra)}
.fascia .etichetta{background:rgba(253,188,49,.16);color:var(--ambra);margin-bottom:10px}
.etichetta{display:inline-block;font:600 12.5px/1.3 var(--f-testo);color:var(--blu-2);background:var(--cielo);padding:4px 11px;border-radius:99px}

/* 6 ---------------------------------------------------------------- */
.eroe{position:relative;isolation:isolate;color:#fff;background:var(--notte) var(--foto-l) right center/cover no-repeat}
.eroe::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(95deg,rgba(10,26,51,.96),rgba(10,26,51,.88) 38%,rgba(17,40,77,.45) 68%,rgba(31,86,216,.18))}
.eroe .w{padding-block:52px 56px}
.eroe-testo{max-width:640px}
.occhiello{font:600 13px var(--f-testo);letter-spacing:.14em;text-transform:uppercase;color:var(--ambra);margin:0 0 16px}
.eroe h1{color:#fff;font-size:clamp(32px,4.4vw,50px);line-height:1.06;letter-spacing:-.01em;margin:0}
.eroe .lead{font-size:20px;color:#d6e2f3;margin:16px 0 24px;max-width:33em}
.azioni{display:flex;flex-wrap:wrap;gap:12px}
.servizi-rapidi{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:26px 0 0;padding:0}
.servizi-rapidi a{display:inline-block;font:600 14.5px var(--f-testo);color:#e9f0fb;text-decoration:none;padding:6px 14px;border-radius:99px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.24)}
.servizi-rapidi a:hover{background:rgba(255,255,255,.18);color:#fff}
.luoghi{font-size:14.5px;color:#a9bbd4;margin:18px 0 0}
.luoghi a{color:#d6e2f3;text-decoration:none;border-bottom:1px dotted rgba(214,226,243,.5)}
.luoghi a:hover{color:#fff}
.sez{padding-block:76px}
.sez-bianca{background:#fff;border-block:1px solid var(--filo)}
.sez-stretta{padding-top:0}
.sez-testa{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:10px 24px;margin-bottom:30px}
.sez-testa h2{font-size:clamp(28px,3.2vw,38px);margin:0}
.sez-testa p{margin:6px 0 0;color:var(--tenue)}
.obiettivi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;margin:0;padding:0}
.obiettivi li{display:grid;grid-template-columns:46px minmax(0,1fr);gap:0 15px;background:#fff;border:1px solid var(--filo);border-radius:var(--raggio);padding:22px}
.lettera{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;font:500 22px var(--f-titoli);color:var(--blu);background:var(--cielo)}
.obiettivi li:first-child .lettera{color:#7a4c00;background:var(--ambra-chiaro)}
.obiettivi h3,.passi h3{font:700 16.5px/1.35 var(--f-testo);color:var(--notte);margin:2px 0 6px}
.obiettivi p,.passi p{font-size:15.5px;color:#3b4a5d;margin:0}
.ambiti{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ambito{display:flex;flex-direction:column;background:#fff;border:1px solid var(--filo);border-radius:var(--raggio);overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
.ambito:hover{transform:translateY(-3px);box-shadow:var(--ombra);color:inherit}
.ambito-foto{position:relative;aspect-ratio:640/250;overflow:hidden;background:var(--notte)}
.ambito-foto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.ambito:hover img{transform:scale(1.04)}

.ambito-corpo{display:flex;flex-direction:column;gap:8px;padding:18px 20px 20px;flex:1}
.ambito-corpo strong{font:500 20px/1.25 var(--f-titoli);color:var(--notte)}
.ambito-corpo span{font-size:15px;color:var(--tenue);line-height:1.5}
.ambito-corpo em{margin-top:auto;padding-top:6px;font:600 14.5px var(--f-testo);font-style:normal;color:var(--blu)}
.ambito-corpo em::after{content:" →"}
.passi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0;counter-reset:p;border-top:2px solid var(--filo)}
.passi li{padding:22px 26px 4px 0}
.passi li::before{counter-increment:p;content:counter(p);display:grid;place-items:center;width:36px;height:36px;border-radius:50%;margin:-41px 0 14px;
	background:linear-gradient(180deg,#2d66ea,var(--blu-2));color:#fff;font:700 15px var(--f-testo);box-shadow:0 0 0 5px var(--carta)}
.schema{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px!important}
.schema span{font:700 11.5px var(--f-testo);letter-spacing:.08em;text-transform:uppercase;color:var(--blu-2);background:var(--cielo);padding:3px 8px;border-radius:5px}
.invito{position:relative;isolation:isolate;border-radius:20px;overflow:hidden;color:#fff;background:var(--notte) var(--foto-l) center/cover no-repeat}
.invito::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,26,51,.94),rgba(22,66,176,.8) 60%,rgba(22,66,176,.55))}
.invito-in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:34px 44px}
.invito h2{color:#fff;font-size:clamp(26px,3vw,34px)}
.invito p{color:#d3def0;max-width:36em;margin:0}
.fatti{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:16px 0 0}
.fatti li{padding:5px 13px;border-radius:99px;font-size:14.5px;color:#eef3fb;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.fatti b{color:var(--ambra)}
.notizie{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.notizia{display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:#fff;border:1px solid var(--filo);border-radius:var(--raggio);padding:22px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}
.notizia:hover{border-color:var(--blu);box-shadow:var(--ombra);color:inherit}
.notizia strong{font:500 20px/1.3 var(--f-titoli);color:var(--notte)}
.notizia:hover strong{color:var(--blu)}
.notizia>span:last-child{font-size:15px;color:var(--tenue);line-height:1.5}
.documenti{margin:26px 0 0}
.documenti a{display:inline-flex;align-items:center;gap:8px;font-weight:600;text-decoration:none}
.pillole{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 1em;padding:0}
.pillole a{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border-radius:99px;background:#fff;border:1px solid var(--filo);color:var(--notte);text-decoration:none;font-size:15px;font-weight:600}
.pillole a:hover{border-color:var(--blu);color:var(--blu)}
.pillole a .ico{color:var(--blu);width:15px;height:15px}
.pillole-grandi a{padding:9px 16px}

/* 7 ---------------------------------------------------------------- */
.corpo-pagina{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;padding-block:46px 80px;align-items:start}
.corpo-largo{padding-block:40px 80px}
.contenuto{min-width:0}
.lato{display:grid;gap:20px;position:sticky;top:100px}
.box{background:#fff;border:1px solid var(--filo);border-radius:var(--raggio);padding:22px}
.box h2{font-size:20px;margin-bottom:10px}
.box p{font-size:15.5px;color:var(--tenue)}
.box-scuro{background:linear-gradient(160deg,var(--notte-2),var(--blu-2));border-color:transparent}
.box-scuro h2{color:#fff}.box-scuro p{color:#c9d7ea}
.box-scuro .btn{width:100%}
.elenco-lato{list-style:none;margin:0;padding:0}
.elenco-lato li+li{border-top:1px solid var(--filo)}
.elenco-lato a{display:block;padding:10px 0;color:var(--notte);text-decoration:none;font-size:15.5px;line-height:1.4}
.elenco-lato a:hover{color:var(--blu)}
.lato .pillole a{font-size:14px;padding:5px 11px}
.avviso{padding:14px 18px;border-radius:12px;background:var(--cielo);border:1px solid #c9d8f6;margin:0 0 20px;font-weight:500}
.avviso-ok,.okmessage{padding:14px 18px;border-radius:12px;background:#e8f6ee;border:1px solid #b9e2c9;color:#145c38;margin:20px 0;font-weight:600}

/* 8 ---------------------------------------------------------------- */
.contenuto{font-size:18px;line-height:1.72;color:#22303f}
.contenuto h1,.titlepage{font-family:var(--f-titoli);font-weight:500;color:var(--notte);font-size:clamp(28px,3.4vw,38px);line-height:1.15;margin:0 0 .6em;border:0;padding:0;background:none}
.contenuto h2,.contenuto h2.titlepage{font-size:clamp(23px,2.4vw,28px);margin:1.6em 0 .5em}
.contenuto h3,.contenuto h3.titlepage{font-size:22px;margin:1.4em 0 .4em}
.titlepage a,.titlepagelink{color:inherit;text-decoration:none}
.contenuto ul,.contenuto ol{padding-left:1.3em}
.contenuto .pillole{padding-left:0}
.contenuto li{margin:.3em 0}
.contenuto li::marker{color:var(--blu)}
.contenuto table{border-collapse:collapse;max-width:100%}
.contenuto td,.contenuto th{padding:8px 10px;vertical-align:top}
.contenuto blockquote{margin:1.4em 0;padding:16px 22px;background:#fff;border-left:4px solid var(--ambra);border-radius:10px}
.contenuto img{border-radius:10px}
.descad{overflow-wrap:break-word}
/* i testi scritti con l'editor portano stili in linea (caratteri piccoli, interlinee): si riportano al foglio */
.descad :not(h1,h2,h3,h4)[style]{font-size:inherit!important;line-height:inherit!important;font-family:inherit!important}
.descad h1[style],.descad h2[style],.descad h3[style],.descad h4[style]{font-family:var(--f-titoli)!important;line-height:1.2!important}
.descad font{font-size:inherit;font-family:inherit}
.descad>p:first-child,.descad>div:first-child{font-size:19.5px;color:var(--notte)}
.descad strong,.descad b{color:var(--notte)}
.descad iframe,.descad video{max-width:100%}
.retro{display:block}
.manage{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:14.5px;margin:0 0 20px;padding:10px 14px;background:var(--ambra-chiaro);border:1px solid #f3dca8;border-radius:10px}
.manage a{font-weight:600}
#Gallery{margin:0 0 20px;padding:0}
.imageadbig{max-width:100%;border-radius:12px}
.pdfdownload{width:28px;height:auto;vertical-align:middle;margin-right:8px}
.linkdocdown,.website{display:inline-flex;align-items:center;gap:8px;font-weight:600}
.row{display:flex;flex-wrap:wrap;margin:0 -10px}
.row .row{margin:0 -10px}
.columns,.column{padding:0 10px;width:100%;min-width:0}
.collapse>.columns{padding:0}
.collapse{margin:0}
@media (min-width:1025px){.large-1{width:8.333%}.large-2{width:16.666%}.large-3{width:25%}.large-4{width:33.333%}.large-5{width:41.666%}.large-6{width:50%}.large-7{width:58.333%}.large-8{width:66.666%}.large-9{width:75%}.large-10{width:83.333%}.large-11{width:91.666%}.large-12{width:100%}}
@media (min-width:641px){.medium-6{width:50%}.medium-12{width:100%}}
.small-2{width:16.666%}.small-10{width:83.333%}.small-12,.twelve{width:100%}
/* elenchi delle rubriche (Temi scelti, Giurisprudenza) */
.paragr{background:#fff;border:1px solid var(--filo);border-radius:var(--raggio);padding:20px 22px;font-size:16px;line-height:1.6;color:var(--tenue);transition:border-color .15s,box-shadow .15s}
.paragr:hover{border-color:var(--blu);box-shadow:var(--ombra)}
.paragr br:first-of-type{display:block;content:"";margin-top:6px}
.linktitle{display:block;font:500 21px/1.3 var(--f-titoli);color:var(--notte);text-decoration:none;margin-bottom:4px}
.linktitle:hover{color:var(--blu)}
.contenuto>br,.contenuto .row+br{display:block;content:"";margin-top:14px}
.sepcontents{height:8px}
form.form{margin:0 0 26px;padding:14px;background:#fff;border:1px solid var(--filo);border-radius:var(--raggio)}
form.form .row{align-items:center}
form.form .large-6{width:100%;max-width:560px}
.resetsearch{font-size:14.5px;font-weight:600;padding:0 10px}
.postfix{width:100%;border-radius:0 10px 10px 0!important;height:100%;min-height:46px}
.searchboxmot{border-radius:10px 0 0 10px!important}
.pagerow{display:flex;flex-wrap:wrap;gap:6px;margin:26px 0;list-style:none;padding:0}
.pagerow a,.pageclassselect{display:inline-grid;place-items:center;min-width:40px;height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--filo);background:#fff;text-decoration:none;font-weight:600}
.pageclassselect{background:var(--blu);border-color:var(--blu);color:#fff}
/* ricerca */
.titlepage2{font:500 21px/1.3 var(--f-titoli)}
.listag,.descrilist{font-size:16px;color:var(--tenue)}
.subcatlist,.linkcatliste{font-size:15px}

/* mappa e categorie */
.catbox{background:#fff;border:1px solid var(--filo);border-radius:var(--raggio);padding:18px 22px;margin:0 0 16px}
.maincatlink{font:500 21px var(--f-titoli);text-decoration:none}
.subcatlinkul{padding-left:1.1em;margin:8px 0 0}
.listlinkads{line-height:1.9}
.makesmy{font-size:17px}
.titolo-doppio{display:none}

/* 9 ---------------------------------------------------------------- */
input[type=text],input[type=email],input[type=password],input[type=search],input[type=tel],input[type=number],input[type=url],select,textarea{
	width:100%;font:16.5px/1.4 var(--f-testo);color:var(--testo);background:#f9fbfe;border:1px solid #c9d4e3;border-radius:10px;padding:12px 13px;margin:0;box-shadow:none;height:auto}
textarea{min-height:170px;resize:vertical;line-height:1.55}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blu);box-shadow:0 0 0 3px rgba(31,86,216,.16);background:#fff}
input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--blu);vertical-align:-3px;margin-right:8px}
label{font-weight:600}
.red{color:var(--errore)}
form.newuser{background:#fff;border:1px solid var(--filo);border-radius:18px;padding:30px;box-shadow:0 10px 30px rgba(10,26,51,.05);font-size:16.5px}
form.newuser>ul{background:var(--carta);border:1px solid var(--filo);border-radius:12px;padding:16px 20px 16px 38px}
form.newuser .row{align-items:flex-start;margin-bottom:14px}
form.newuser .row>.large-4{padding-top:11px}
form.newuser .large-4{font-weight:600;color:var(--testo)}
form.newuser hr{margin:24px 0}
form.newuser h2.titlepage{font-size:24px;margin:28px 0 16px}
form.newuser input[type=submit]{font-size:16.5px;padding:14px 26px}
.g-recaptcha{margin:6px 0}
.loginfields{max-width:420px}
.contenuto form table{width:100%;max-width:640px}
.contenuto form td{padding:8px 10px 8px 0;font-size:16.5px}
.pag-login .contenuto h2,.pag-lost-password .contenuto h2{font-size:22px}

/* 10 --------------------------------------------------------------- */
.lead-testo{font-size:20px;color:var(--notte);line-height:1.6}
.dati-luogo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:26px 0 34px}
.dati-luogo div{background:#fff;border:1px solid var(--filo);border-radius:var(--raggio);padding:16px 18px}
.dati-luogo dt{font-size:13.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--tenue)}
.dati-luogo dd{margin:4px 0 0;font:500 19px/1.35 var(--f-titoli);color:var(--notte)}
.servizi-luogo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:10px}
.servizio{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--filo);border-radius:var(--raggio);padding:18px 20px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}
.servizio:hover{border-color:var(--blu);box-shadow:var(--ombra);color:inherit}
.servizio strong{font:500 19px var(--f-titoli);color:var(--notte)}
.servizio span{font-size:15.5px;color:var(--tenue);line-height:1.5}
.localita{columns:3;gap:20px;list-style:none;padding:0!important;font-size:16px}
.localita li{break-inside:avoid;margin:0 0 4px}
.localita span{font-variant-numeric:tabular-nums;color:var(--tenue);margin-right:4px}
.indice-comuni{display:grid;gap:22px}
.indice-comuni section{background:#fff;border:1px solid var(--filo);border-radius:var(--raggio);padding:20px 24px}
.indice-comuni h2{font-size:22px;margin:0 0 10px}
.indice-comuni ul{columns:3;gap:18px;list-style:none;padding:0!important;margin:0;font-size:16px}
.indice-comuni li{margin:0 0 5px;break-inside:avoid}
.indice-comuni a{text-decoration:none}

/* 11 --------------------------------------------------------------- */
.piede{background:var(--notte);color:#aebdd2;font-size:15px}
.piede a{color:#d3def0;text-decoration:none}
.piede a:hover{color:var(--ambra)}
.piede h2{font:700 12.5px var(--f-testo);letter-spacing:.12em;text-transform:uppercase;color:#fff;margin:0 0 14px}
.piede ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.piede-in{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:34px;padding-block:56px 30px}
.piede-marchio .logo img{width:190px}
.piede address{font-style:normal;line-height:1.75;margin-top:18px}
.piede-comuni{padding-block:4px 30px}
.piede-comuni p{margin:0;line-height:1.9;color:#7f93b0}
.fondo{border-top:1px solid #1d3256}
.fondo-in{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;padding-block:18px;font-size:14px;color:#8396b2}
.barra-cookie{position:fixed;left:16px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:60;max-width:760px;margin:0 auto;display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap;
	padding:14px 16px 14px 20px;background:#fff;border:1px solid var(--filo);border-radius:14px;box-shadow:0 18px 40px rgba(10,26,51,.18);font-size:14.5px;color:var(--testo)}
.barra-cookie p{margin:0;flex:1 1 300px}
.barra-cookie .btn{padding:9px 18px}

/* 12 --------------------------------------------------------------- */
.layout-gestione .piede-in,.layout-gestione .piede-comuni{display:none}
.layout-gestione .testata .w,.layout-gestione .fondo .w{max-width:none}
.g{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 78px);background:linear-gradient(90deg,var(--notte) 250px,#f1f4f9 250px)}
.g-lato{background:var(--notte);color:#aebdd2;padding:22px 14px;display:flex;flex-direction:column;gap:18px;position:sticky;top:78px;align-self:start;max-height:calc(100vh - 78px);overflow-y:auto}
.g-titolo{margin:0;padding:0 10px;font:500 22px var(--f-titoli);color:#fff}
.g-gruppo h2{margin:0 0 6px;padding:0 10px;font:700 11.5px var(--f-testo);letter-spacing:.12em;text-transform:uppercase;color:#6a83a6}
.g-gruppo a,.g-esci{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:#c4d1e3;text-decoration:none;font-size:15px}
.g-gruppo a:hover,.g-esci:hover{background:#13294d;color:#fff}
.g-gruppo a.su{background:linear-gradient(90deg,rgba(31,86,216,.6),rgba(31,86,216,.18));color:#fff;box-shadow:inset 3px 0 0 var(--ambra)}
.g-gruppo .ico{opacity:.85}
.g-esci{margin-top:auto;border-top:1px solid #1d3256;border-radius:0;padding-top:14px}
.g-main{padding:28px 32px 60px;min-width:0;font-size:16px}
.g-main .titlepage,.g-main h1{font-size:30px;margin:0 0 20px}
.g-main h2.titlepage{font-size:22px}
.g-num{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:0 0 24px}
.g-num>*{display:block;background:#fff;border:1px solid var(--filo);border-radius:12px;padding:16px 18px;text-decoration:none;color:inherit}
.g-num>a:hover{border-color:var(--blu);box-shadow:var(--ombra);color:inherit}
.g-num b{display:block;font:500 30px/1.15 var(--f-titoli);color:var(--notte);font-variant-numeric:tabular-nums}
.g-num span{font-size:14px;color:var(--tenue)}
.g-num .g-num-att{border-color:#f1cf86;background:var(--ambra-chiaro)}
.pann{background:#fff;border:1px solid var(--filo);border-radius:var(--raggio);overflow:hidden;margin:0 0 22px}
.pann-t{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-bottom:1px solid var(--filo)}
.pann-t h2{font:700 16.5px var(--f-testo);color:var(--notte);margin:0}
.pann-t .btn{padding:8px 14px;font-size:14.5px}
.tab-scorre{overflow-x:auto}
.g-main table,.corpo-largo table{width:100%;border-collapse:collapse;background:#fff;font-size:15px;border-radius:12px}
.g-main td,.g-main th,.corpo-largo td,.corpo-largo th{padding:10px 14px;border-bottom:1px solid #edf1f7;vertical-align:top;text-align:left}
.g-main th,.corpo-largo th{font:700 12px var(--f-testo);letter-spacing:.06em;text-transform:uppercase;color:var(--tenue);background:#f7f9fc}
.g-main tr:hover td{background:#fafcff}
.tab td b{display:block;font-weight:600}
.tab td b a{color:var(--notte);text-decoration:none}
.tab td b a:hover{color:var(--blu)}
.tab td small{color:var(--tenue)}
.stato{display:inline-flex;align-items:center;gap:6px;font:700 12.5px var(--f-testo);padding:2px 9px;border-radius:99px;white-space:nowrap}
.stato::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.stato-ok{color:var(--ok);background:#e5f5ec}
.stato-attesa{color:#a35f00;background:#fff1d9}
.mini{display:inline-block;font:600 13.5px var(--f-testo);color:var(--blu-2);background:#fff;border:1px solid var(--filo);border-radius:8px;padding:5px 11px;text-decoration:none;white-space:nowrap}
.mini:hover{border-color:var(--blu)}
.g-main form:not(.cerca){background:#fff;border:1px solid var(--filo);border-radius:var(--raggio);padding:22px}
.errormessage{padding:14px 18px;border-radius:12px;background:#fdecea;border:1px solid #f5c2bd;color:#8e2219;margin:0 0 20px;font-weight:600}
.menumessvoice{font-weight:600}

/* 13 --------------------------------------------------------------- */
@media (max-width:1180px){
	.testata-cta{display:none}
	.menu .menu-cta{display:inline-flex}
	.tasto-menu{display:grid}
	.tasto-cerca{margin-left:auto}
	.menu{position:fixed;inset:78px 0 0 auto;width:min(380px,100%);flex-direction:column;align-items:stretch;gap:14px;padding:16px 18px 28px;background:#fff;border-left:1px solid var(--filo);
		overflow-y:auto;transform:translateX(100%);transition:transform .25s;visibility:hidden;box-shadow:-20px 0 40px rgba(10,26,51,.12)}
	.menu-aperto .menu{transform:none;visibility:visible}
	.menu>ul{flex-direction:column;align-items:stretch}
	.menu>ul>li>a{padding:12px 10px;font-size:17px}
	.menu .ha-sotto{flex-wrap:wrap}
	.menu .ha-sotto>a{flex:1}
	.apri-sotto{width:44px;height:44px;margin:0}
	.ha-sotto.aperto .apri-sotto{transform:rotate(180deg)}
	.sotto{position:static;flex-basis:100%;min-width:0;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-radius:0;padding:0 0 8px 10px;display:none}
	.ha-sotto:hover>.sotto,.ha-sotto:focus-within>.sotto{display:none}
	.ha-sotto.aperto>.sotto{display:block}
	.menu-cta{justify-content:center}
	.corpo-pagina{grid-template-columns:minmax(0,1fr) 290px;gap:36px}
}
@media (max-width:960px){
	.g{grid-template-columns:minmax(0,1fr);background:#f1f4f9}
	.g-lato{position:static;max-height:none;flex-direction:row;overflow-x:auto;gap:4px;padding:10px 12px;align-items:center}
	.g-titolo,.g-gruppo h2{display:none}
	.g-gruppo{display:flex;gap:2px}
	.g-gruppo a,.g-esci{white-space:nowrap}
	.g-esci{margin:0;border:0;padding-top:8px}
	.g-main{padding:22px 16px 50px}
	.corpo-pagina{grid-template-columns:minmax(0,1fr)}
	.lato{position:static}
	.obiettivi,.notizie{grid-template-columns:repeat(2,minmax(0,1fr))}
	.ambiti,.passi{grid-template-columns:repeat(2,minmax(0,1fr))}
	.passi li:nth-child(n+3){margin-top:26px}
	.piede-in{grid-template-columns:1fr 1fr}
	.invito-in{grid-template-columns:minmax(0,1fr);padding:36px 32px}
	.invito .btn{justify-self:start}
	.eroe .w{padding-block:44px 50px}
	.eroe::before{background:linear-gradient(180deg,rgba(10,26,51,.9),rgba(10,26,51,.82))}
	.dati-luogo{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
	body{font-size:16.5px}
	.w{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
	.testata-in{min-height:66px;gap:10px}
	.menu{inset:66px 0 0 0;width:100%;border-left:0}
	.logo img{width:160px}
	.fascia,.eroe,.invito{background-image:var(--foto-s)}
	.fascia .w{padding-block:14px 24px}
	.percorso{margin-bottom:16px;font-size:14px}
	.sez{padding-block:50px}
	.obiettivi,.notizie,.ambiti,.passi,.servizi-luogo{grid-template-columns:minmax(0,1fr)}
	.passi li:nth-child(n+2){margin-top:26px}
	.eroe .lead{font-size:17.5px}
	.azioni .btn{flex:1 1 100%}
	.invito-in{padding:28px 20px}
	.piede-in{grid-template-columns:minmax(0,1fr)}
	.corpo-pagina{padding-block:30px 56px}
	.contenuto{font-size:17px}
	form.newuser{padding:20px 16px}
	form.newuser .large-4,form.newuser .large-8{width:100%}
	form.newuser .large-4{margin-bottom:6px}
	.localita,.indice-comuni ul{columns:2}
	.cerca-in .btn{padding-inline:14px}
}

/* 14 Ultime notizie e comuni nella colonna, testata delle schede notizie --------------------- */
.box h2{display:flex;align-items:center;gap:10px}
.box h2 .ico{width:22px;height:22px;color:var(--blu);flex:none}
.box-scuro h2 .ico{color:var(--ambra)}
.box-notizie{padding-bottom:10px}
.notizie-lato{list-style:none;margin:0;padding:0}
.notizie-lato li+li{border-top:1px solid var(--filo)}
.notizie-lato a{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:start;padding:12px 0;text-decoration:none;color:inherit}
.nl-ico{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:linear-gradient(160deg,var(--cielo),#dbe6fd);color:var(--blu);flex:none;transition:background .15s,color .15s}
.nl-ico .ico{width:19px;height:19px}
.notizie-lato a:hover .nl-ico,.notizia:hover .nl-ico{background:linear-gradient(160deg,#2d66ea,var(--blu-2));color:#fff}
.nl-testo{display:flex;flex-direction:column;gap:2px;min-width:0}
.nl-testo em{font:600 12px/1.3 var(--f-testo);font-style:normal;letter-spacing:.02em;color:var(--tenue)}
.nl-testo strong{font:600 15.5px/1.35 var(--f-testo);color:var(--notte)}
.notizie-lato a:hover strong{color:var(--blu)}
.comuni-lato{list-style:none;margin:0 0 12px;padding:0}
.comuni-lato li+li{border-top:1px dashed var(--filo)}
.comuni-lato a{display:block;padding:8px 0 8px 18px;position:relative;color:var(--notte);text-decoration:none;font-size:15px;line-height:1.35}
.comuni-lato a::before{content:"";position:absolute;left:2px;top:15px;width:7px;height:7px;border-radius:50%;background:var(--ambra)}
.comuni-lato a:hover{color:var(--blu)}
.notizia-testa{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;width:100%}
.notizia-testa time{margin-left:auto;font-size:13px;color:var(--tenue);font-variant-numeric:tabular-nums}
.notizia .nl-ico{width:40px;height:40px}

/* 15 Testi della home in gestione ----------------------------------------------------------- */
.btn-filo{color:var(--blu-2)!important;background:#fff;box-shadow:inset 0 0 0 1.5px var(--blu)}
.g-sotto{color:var(--tenue);margin:-8px 0 20px}
.g-main form.modulo-g{display:grid;gap:18px;background:none;border:0;padding:0}
.modulo-g fieldset{margin:0;padding:20px 22px;background:#fff;border:1px solid var(--filo);border-radius:var(--raggio);display:grid;gap:14px}
.modulo-g legend{font:500 20px var(--f-titoli);color:var(--notte);padding:0 6px;margin-left:-6px}
.campo-g{display:grid;gap:6px}
.campo-g label{font-size:14px}
.coppia-g{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;padding-top:14px;border-top:1px solid #edf1f7}
.coppia-g>div{display:grid;gap:10px}
.aiuto-g{font-size:14px;color:var(--tenue);margin:0}
.azioni-g{display:flex;flex-wrap:wrap;gap:12px;position:sticky;bottom:0;padding:14px 0;background:linear-gradient(180deg,rgba(241,244,249,0),#f1f4f9 35%)}
.campo-g textarea{min-height:0;height:auto}

/* 16 Seconda passata (22/10): titoli e movimenti presi da onyxfamily.li ------------------------------------
   Titoli di sezione in maiuscolo spaziato con la riga piccola e il trattino sopra, titoli dei contenuti con la
   barretta ambra, schede con il filo ambra in cima. Le foto delle fasce stanno in un livello proprio (.sfondo)
   per lo zoom lento all'arrivo e la parallasse (vedi js/al.js). */
.eroe,.fascia,.invito{background-image:none!important;overflow:hidden}
.sfondo{position:absolute;inset:0;z-index:-2;background:var(--foto-l) center/cover no-repeat}
.eroe .sfondo{background-position:right center;top:-8%;height:116%}
.fascia .sfondo{top:-10%;height:120%}
@media (max-width:640px){.sfondo{background-image:var(--foto-s)}}
.eroe::before,.fascia::before,.invito::before{z-index:-1}

.occhio,.eroe .occhiello{display:inline-flex;align-items:center;gap:12px;font:600 13px/1.2 var(--f-testo);letter-spacing:.16em;text-transform:uppercase;color:var(--blu);margin:0 0 14px}
.occhio::before,.eroe .occhiello::before{content:"";width:30px;height:2px;background:currentColor;flex:none}
.eroe .occhiello{color:var(--ambra);margin-bottom:18px}
.eroe h1,.fascia h1,.sez-testa h2,.invito h2{font-family:var(--f-testo);font-weight:600;text-transform:uppercase;letter-spacing:.015em;line-height:1.08}
.eroe h1{font-size:clamp(34px,5.2vw,60px);letter-spacing:.01em}
.fascia h1{font-size:clamp(26px,3.4vw,42px)}
.sez-testa h2{font-size:clamp(26px,3.2vw,40px);color:var(--notte)}
.invito h2{font-size:clamp(24px,2.8vw,34px)}
.box h2{font:700 14px/1.3 var(--f-testo);letter-spacing:.1em;text-transform:uppercase}
.box h2 .ico{width:19px;height:19px}

/* titoli dentro i testi del database: barretta ambra sopra, maiuscolo spaziato */
.contenuto .descad h2,.contenuto .descad h3,.contenuto>h2.titlepage,.luogo h2{font-family:var(--f-testo)!important;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(18px,1.8vw,21px)!important;line-height:1.3!important;color:var(--notte);margin:2em 0 .7em}
.contenuto .descad h2::before,.contenuto .descad h3::before,.contenuto>h2.titlepage::before,.luogo h2::before{content:"";display:block;width:34px;height:3px;border-radius:2px;background:var(--ambra);margin-bottom:12px}
.contenuto .descad h3{font-size:17px!important}

/* schede: filo ambra in cima, titoli in maiuscolo */
.obiettivi li,.notizia,.servizio,.dati-luogo div,.paragr,.catbox{border-top:3px solid var(--ambra)}
.ambito{border-top:0}
.ambito-corpo strong,.notizia strong,.servizio strong,.obiettivi h3,.passi h3,.linktitle{font-family:var(--f-testo);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:16px;line-height:1.35}
.linktitle{font-size:17px}
.btn,.button,input[type=submit],button[type=submit]{text-transform:uppercase;letter-spacing:.08em;font-size:14px}
.btn-grande{font-size:14.5px;padding:15px 26px}
.menu-cta,.testata-cta{letter-spacing:.06em}

/* tabelle dentro i testi (es. CV della Direzione, schema della Procedura): niente bordi del vecchio editor, larghezze libere */
.descad table{width:100%!important;max-width:100%;height:auto!important;border:1px solid var(--filo)!important;border-collapse:separate!important;border-spacing:0;border-radius:12px;background:#fff;margin:1.4em 0;overflow:hidden;font-size:16.5px}
.descad table td,.descad table th{width:auto!important;height:auto!important;border:0!important;border-bottom:1px solid var(--filo)!important;padding:14px 18px!important;vertical-align:top;text-align:left}
.descad table tr:last-child>td{border-bottom:0!important}
.descad table td>p:first-child{margin-top:0}.descad table td>p:last-child{margin-bottom:0}
.descad table td:first-child:not(:only-child){white-space:nowrap;font-weight:700;color:var(--blu-2);width:1%!important}
.descad table td u{text-decoration:none}
.descad table p br:only-child{display:none}
@media (max-width:640px){
	.descad table,.descad table tbody,.descad table tr,.descad table td{display:block;width:100%!important}
	.descad table td:first-child:not(:only-child){white-space:normal;width:100%!important;border-bottom:0!important;padding-bottom:2px!important}
}

/* ---- Movimenti (html.movimento, messo da js/al.js se attivi in gestione e se il dispositivo non chiede meno movimento) ----
   La transizione e' dichiarata solo sullo stato visibile: dichiarata anche su quello nascosto, il blocco non sparirebbe mai. */
:root{--ease-out:cubic-bezier(.22,1,.36,1)}
.movimento .rv{opacity:0;transform:translateY(28px)}
.movimento .rv-sx{transform:translateX(-40px)}
.movimento .rv.in{opacity:1;transform:none;transition:opacity .9s var(--ease-out),transform .9s var(--ease-out);transition-delay:var(--d,0ms)}
.movimento .tw{display:inline-block;overflow:hidden;vertical-align:bottom;padding:.06em .02em .14em;margin:-.06em -.02em -.14em}
.movimento .tw>span{display:inline-block;transform:translateY(112%)}
.movimento .in .tw>span,.movimento .in.tw-tit .tw>span{transform:none;transition:transform .9s var(--ease-out);transition-delay:var(--d,0ms)}
.movimento .iw{clip-path:inset(0 0 100% 0)}
.movimento .iw:not(.in) img{transform:scale(1.12)}
.movimento .iw.in{clip-path:inset(0);transition:clip-path 1.1s var(--ease-out)}
.movimento .iw.in img{transition:transform 1.1s var(--ease-out)}
.movimento .eroe .sfondo,.movimento .fascia .sfondo{animation:al-zoom 7s var(--ease-out) both;will-change:transform}
@keyframes al-zoom{from{scale:1.1}to{scale:1}}
@media (prefers-reduced-motion:reduce){
	.movimento-dolce .rv,.movimento-dolce .rv-sx{transform:none}
	.movimento-dolce .rv.in{transition:opacity .7s ease}
	.movimento-dolce .sfondo{animation:none}
}
.invito .sfondo{top:-15%;height:130%}
.spunta-g{display:flex;gap:10px;align-items:center;font-weight:600}
.corto-g{max-width:120px}

/* 17 Immagini e documenti nell'editor (js/al-media.js) ------------------------------------------------------- */
.al-media{display:grid;gap:18px;margin:26px 0;padding:22px;background:#fff;border:1px solid var(--filo);border-top:3px solid var(--ambra);border-radius:var(--raggio);scroll-margin-top:100px}
.am-sez h3{font:700 15px var(--f-testo);letter-spacing:.08em;text-transform:uppercase;color:var(--notte);margin:0 0 4px}
.am-aiuto{font-size:14px;color:var(--tenue);margin:0 0 10px}
.am-zona{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:150px;padding:20px;border:2px dashed #b9c8e4;border-radius:12px;background:var(--cielo);color:var(--blu-2);text-align:center;cursor:pointer;transition:background .15s,border-color .15s}
.am-zona:hover,.am-zona:focus-visible,.am-zona.am-sopra{background:#dde8fd;border-color:var(--blu)}
.am-zona strong{font-size:16px}.am-zona span{font-size:14px;color:var(--tenue)}
.am-zona-piccola{min-height:90px}
.am-griglia{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.am-griglia li{background:var(--carta);border:1px solid var(--filo);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.am-griglia img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.am-griglia li>div{display:flex;flex-wrap:wrap;gap:6px;padding:8px}
.am-griglia .am-vuoto{grid-column:1/-1;padding:14px;color:var(--tenue);background:none;border-style:dashed}
.am-btn{display:inline-flex;align-items:center;gap:6px;font:600 13px var(--f-testo);color:var(--blu-2);background:#fff;border:1px solid var(--filo);border-radius:8px;padding:6px 10px;cursor:pointer}
.am-btn:hover{border-color:var(--blu)}
.am-rosso{color:#b42318}.am-rosso:hover{border-color:#b42318}
.am-conferma{background:#b42318;color:#fff;border-color:#b42318}
.am-foto{margin:0;display:grid;grid-template-columns:minmax(0,320px) auto;gap:14px;align-items:end}
.am-foto img{width:100%;border-radius:10px;border:1px solid var(--filo)}
.am-foto figcaption{display:flex;flex-wrap:wrap;gap:8px}
.am-doc{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 14px;background:var(--carta);border:1px solid var(--filo);border-radius:10px}
.am-doc-ico{font:700 12px var(--f-testo);color:#fff;background:#c0392b;border-radius:6px;padding:6px 7px}
.am-doc small{color:var(--tenue)}
.am-coda{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.am-coda li{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:14px}
.am-coda progress{flex:1;min-width:120px;height:8px;accent-color:var(--blu)}
.am-coda .am-errore,.am-avviso.am-errore{color:#b42318}
.am-avviso{padding:10px 14px;border-radius:10px;background:#e8f6ee;border:1px solid #b9e2c9;color:#145c38;font-weight:600}
.am-avviso.am-errore{background:#fdecea;border-color:#f5c2bd}
.am-rimando{font-size:14.5px;color:var(--tenue)}
@media (max-width:640px){.am-foto{grid-template-columns:minmax(0,1fr)}}

/* editor dei contenuti e moduli della gestione: campi del vecchio script */
.g-main .adsfieldse,.g-main .newcustomw{font:700 13px var(--f-testo)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--notte);margin:18px 0 6px}
.g-main input.custom,.g-main input.newad,.g-main textarea.newad{max-width:100%}
.g-main .cke{border-radius:10px;overflow:hidden;border-color:#c9d4e3!important}

/* 18 Stili dell'editor (js/al-editor.js): come si vedono sul sito e dentro l'editor ----------------------------- */
.descad .al-intro{font-size:1.15em;line-height:1.6;color:var(--notte)}
.descad .al-riquadro{margin:1.6em 0;padding:20px 24px;background:var(--cielo);border-left:4px solid var(--blu);border-radius:12px}
.descad .al-riquadro>:last-child{margin-bottom:0}
.descad .al-nota{font-size:.9em;color:var(--tenue);padding-left:14px;border-left:2px solid var(--filo)}
.descad blockquote,.descad .al-legge{margin:1.6em 0;padding:18px 22px;background:#fff;border:1px solid var(--filo);border-left:4px solid var(--ambra);border-radius:10px;font-family:var(--f-titoli);font-size:1.05em;color:var(--notte)}
.descad blockquote>:last-child{margin-bottom:0}
.descad ul.al-spunte{list-style:none;padding-left:0}
.descad ul.al-spunte li{position:relative;padding-left:30px}
.descad ul.al-spunte li::before{content:"";position:absolute;left:4px;top:.45em;width:14px;height:8px;border:solid var(--ok);border-width:0 0 2.5px 2.5px;transform:rotate(-45deg)}
.descad hr{border:0;height:2px;width:60px;background:var(--ambra);margin:2em 0}
.descad img{max-width:100%;height:auto;border-radius:10px}
.descad figure.image{margin:1.6em 0;display:table}
.descad figure.image img{display:block}
.descad figure.image figcaption{display:table-caption;caption-side:bottom;font-size:14px;color:var(--tenue);padding-top:8px}
.descad .al-img-sx{float:left;max-width:45%;margin:.3em 22px 12px 0}
.descad .al-img-dx{float:right;max-width:45%;margin:.3em 0 12px 22px}
.descad::after{content:"";display:block;clear:both}
.descad table.al-tabella-righe tr:nth-child(even) td{background:var(--carta)}
.descad iframe[src*="youtube"],.descad iframe[src*="vimeo"]{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:12px}
.descad details{margin:1em 0;border:1px solid var(--filo);border-radius:10px;background:#fff;padding:0 18px}
.descad details>summary{cursor:pointer;padding:14px 0;font-weight:700;color:var(--notte)}
.descad details[open]>summary{border-bottom:1px solid var(--filo);margin-bottom:12px}
.descad .btn{text-decoration:none}
@media (max-width:640px){.descad .al-img-sx,.descad .al-img-dx{float:none;max-width:100%;margin:1em 0}}
/* dentro l'editor: niente movimenti, niente fasce */
.al-editor-corpo{background:#fff}
.g-main .tox-tinymce{border-radius:12px;border-color:#c9d4e3}
/* editor dei contenuti: una colonna sola, cosi' l'editor ha tutta la larghezza e la barra degli strumenti intera */
.pag-managead .g-main form table,.pag-managead .g-main form tbody,.pag-managead .g-main form tr,.pag-managead .g-main form td,
.pag-newad .g-main form table,.pag-newad .g-main form tbody,.pag-newad .g-main form tr,.pag-newad .g-main form td{display:block;width:100%!important;max-width:100%}
.pag-managead .g-main input[type=text],.pag-managead .g-main select,.pag-newad .g-main input[type=text],.pag-newad .g-main select{max-width:720px}
/* immagine della home disegnata (non foto): velo piu' leggero, il disegno e' gia' scuro */
.eroe-disegno::before{background:linear-gradient(95deg,rgba(10,26,51,.82),rgba(10,26,51,.45) 45%,rgba(10,26,51,0) 70%)}

/* 19 Pagina di ricerca (search.php): modulo, rubriche a pillole, risultati a schede ------------------------------ */
.pag-search form.formsearch{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 26px;padding:18px;background:#fff;border:1px solid var(--filo);border-radius:var(--raggio)}
.pag-search form.formsearch>.row{flex-basis:100%;margin:0 0 8px}
.pag-search form.formsearch .row,.pag-search form.formsearch .columns{display:contents}
.pag-search form.formsearch .large-12>.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;width:100%}
.pag-search .searchboxmot{flex:1 1 260px;width:auto!important;border-radius:10px!important}
.pag-search .postfix{width:auto;min-height:0;border-radius:10px!important}
.pag-search .resetsearch{font-size:14.5px;white-space:nowrap}
.pag-search table.subcatlist{display:inline-block;border:0;margin:0;background:none;width:auto}
.pag-search table.subcatlist td{padding:0;width:auto!important}
.pag-search table.subcatlist a{display:inline-block;padding:5px 12px;border-radius:99px;background:var(--carta);border:1px solid var(--filo);color:var(--notte);text-decoration:none;font-size:14px;font-weight:600}
.pag-search table.subcatlist a:hover{border-color:var(--blu);color:var(--blu)}
.pag-search form.formsearch>br,.pag-search form.formsearch>div[style]{display:none}
.titlepage2{font:700 14px var(--f-testo)!important;letter-spacing:.1em;text-transform:uppercase;color:var(--tenue);margin:0 0 14px}
.pag-search .contenuto>div>br,.pag-search [itemscope]>br{display:none}
.listag{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:6px 20px;margin:0 0 14px!important;padding:18px 20px;background:#fff;border:1px solid var(--filo);border-top:3px solid var(--ambra);border-radius:var(--raggio)}
.listag>.columns{width:auto!important;padding:0!important}
.listag>.columns:first-child{display:none}
.listag:has(.columns:first-child img:not([src*="noimage"])){grid-template-columns:96px minmax(0,1fr) auto}
.listag:has(.columns:first-child img:not([src*="noimage"]))>.columns:first-child{display:block;grid-row:span 2}
.listag>.columns:first-child img{width:96px;height:72px;object-fit:cover;border-radius:8px}
.listag .breakdivser{grid-column:1}
.listag .linktitle{font-size:17px;margin-bottom:6px}
.listag .descrilist{font-size:15.5px;color:var(--tenue);line-height:1.5}
.listag>.columns:nth-child(3){grid-column:1;display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13.5px}
.listag>.columns:nth-child(3) br,.listag .adssitename{display:none}
.listag .linkcatliste{display:inline-block;padding:2px 10px;border-radius:99px;background:var(--cielo);color:var(--blu-2);text-decoration:none;font-weight:600}
.listag>.columns:nth-child(4){grid-column:2;grid-row:1;font-size:13.5px;color:var(--tenue);white-space:nowrap;font-variant-numeric:tabular-nums}
.listag:has(.columns:first-child img:not([src*="noimage"]))>.columns:nth-child(3){grid-column:2}
.listag:has(.columns:first-child img:not([src*="noimage"]))>.columns:nth-child(4){grid-column:3}
@media (max-width:640px){.listag{grid-template-columns:minmax(0,1fr)}.listag>.columns:nth-child(4){grid-column:1;grid-row:auto}}
.listag .breakdivser>br{display:none}.listag .linkcatliste:empty{display:none}

/* 20 Riquadro del consenso cookie (come Lugano Annunci) e avviso reCAPTCHA nei moduli --------------------------- */
.barra-cookie{display:none}
.consenso{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));z-index:70;width:min(480px,calc(100% - 32px));padding:20px 20px 18px;background:#fff;border:1px solid var(--filo);border-radius:16px;box-shadow:0 22px 50px rgba(10,26,51,.22);font-size:15px;color:var(--testo)}
.consenso-testa{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.consenso-icona{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--cielo);color:var(--blu)}
.consenso-icona .ico{width:18px;height:18px}
.consenso-titolo{font:700 17px var(--f-testo);color:var(--notte)}
.consenso-testo{margin:0 0 14px;line-height:1.55;color:#3b4a5d}
.consenso-testo a{display:inline-block;margin-top:4px}
.consenso-opzioni{display:grid;gap:8px;margin:0 0 14px}
.consenso-riga{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;background:var(--carta);border:1px solid var(--filo);border-radius:10px;font-weight:400}
.consenso-riga span{display:flex;flex-direction:column;gap:2px}
.consenso-riga b{font-size:14.5px;color:var(--notte)}
.consenso-riga small{font-size:13px;color:var(--tenue);line-height:1.4}
.consenso-riga em{font-style:normal;font-size:12.5px;font-weight:700;color:var(--ok);white-space:nowrap}
.interruttore{appearance:none;-webkit-appearance:none;flex:none;width:44px;height:26px;border-radius:99px;background:#c9d4e3;position:relative;cursor:pointer;transition:background .2s;margin:0}
.interruttore::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.interruttore:checked{background:var(--blu)}
.interruttore:checked::after{transform:translateX(18px)}
.consenso-azioni{display:grid;grid-template-columns:repeat(3,auto);gap:8px}
.consenso-azioni .btn{padding:11px 12px;font-size:13px;letter-spacing:.04em;white-space:normal}
.consenso-azioni [data-consenso="salva"]:not([hidden]){grid-column:span 1}
@media (max-width:480px){.consenso-azioni{grid-template-columns:1fr 1fr}.consenso-azioni .btn-blu{grid-column:1/-1;order:-1}}
.link-piede{background:none;border:0;padding:0;font:inherit;color:#d3def0;cursor:pointer}
.link-piede:hover{color:var(--ambra)}
.recaptcha-avviso{margin:6px 0 12px;padding:14px 16px;background:var(--ambra-chiaro);border:1px solid #f1d58c;border-radius:12px;font-size:15px}
.recaptcha-avviso p{margin:0 0 10px}
.testo-privacy{font-size:16.5px}
.tabella-scorre{overflow-x:auto;margin:10px 0 16px}
.tabella-scorre table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--filo);border-radius:12px;font-size:15px}
.tabella-scorre th,.tabella-scorre td{padding:10px 12px;border-bottom:1px solid #edf1f7;text-align:left;vertical-align:top}
.tabella-scorre th{font:700 12px var(--f-testo);letter-spacing:.06em;text-transform:uppercase;color:var(--tenue);background:#f7f9fc}

/* 21 Comuni nella home: numero e distretti a sinistra, griglia di link "servizio + luogo" a destra ---------------- */
.sez-comuni{background:linear-gradient(180deg,var(--carta),#eef3fb)}
.comuni-blocco{display:grid;grid-template-columns:340px minmax(0,1fr);gap:40px;align-items:start}
.comuni-intro h2{font-family:var(--f-testo);font-weight:600;text-transform:uppercase;letter-spacing:.015em;font-size:clamp(26px,3vw,36px);line-height:1.1;color:var(--notte);margin:0 0 10px}
.comuni-intro>p{color:var(--tenue);margin:0 0 18px}
.comuni-numero{display:flex;align-items:baseline;gap:12px;margin:0 0 18px!important;padding:16px 18px;background:var(--notte);border-radius:14px;color:#c9d7ea!important}
.comuni-numero strong{font:600 42px/1 var(--f-testo);color:var(--ambra)}
.comuni-numero span{font-size:15px;line-height:1.35}
.comuni-distretti{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.comuni-distretti a{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:99px;background:#fff;border:1px solid var(--filo);color:var(--notte);text-decoration:none;font-size:14px;font-weight:600}
.comuni-distretti a span{font-size:12px;font-weight:700;color:var(--blu-2);background:var(--cielo);border-radius:99px;padding:0 7px}
.comuni-distretti a:hover{border-color:var(--blu)}
.comuni-griglia{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.comuni-griglia a{position:relative;display:flex;flex-direction:column;gap:4px;height:100%;padding:16px 40px 16px 18px;background:#fff;border:1px solid var(--filo);border-left:3px solid var(--ambra);border-radius:12px;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s,border-color .15s}
.comuni-griglia a::after{content:"→";position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--blu);font-weight:700;transition:transform .15s}
.comuni-griglia a:hover{transform:translateY(-2px);box-shadow:var(--ombra);border-color:var(--blu)}
.comuni-griglia a:hover::after{transform:translate(3px,-50%)}
.cg-servizio{font:700 11.5px var(--f-testo);letter-spacing:.08em;text-transform:uppercase;color:var(--tenue)}
.cg-luogo{display:flex;align-items:center;gap:6px;font:700 18px/1.25 var(--f-testo);color:var(--notte)}
.cg-luogo .ico{width:16px;height:16px;color:var(--blu);flex:none}
.cg-comune{font-size:13px;color:var(--tenue)}
@media (max-width:1100px){.comuni-blocco{grid-template-columns:minmax(0,1fr)}.comuni-griglia{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.comuni-griglia{grid-template-columns:minmax(0,1fr)}}
.indice-comuni section{scroll-margin-top:100px}
