
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/bodoni-moda-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/bodoni-moda-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/instrument-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/instrument-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/instrument-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/instrument-sans-latin-700-normal.woff2) format("woff2")}
/* Marchio "Cremona": Italiana, ridotto alle sole lettere del nome */
@font-face{font-family:"Marchio CTD";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/marchio-ctd-400.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}

/* Layout: agenda mobile-first. Palette dallo stemma civico: rosso e argento (fasciato), azzurro, oro. */
:root{
  --bg:#EEF0F4; --surface:#FFFFFF; --fg:#151A26; --muted:#5A6172; --line:#D6DAE3;
  --rosso:#B01E2D; --rosso-soft:#F6E0E2; --argento:#E4E7ED;
  --azzurro:#1E4A96; --azzurro-soft:#DFE7F5; --oro:#B8901C; --oro-soft:#F5ECD2;
  --on-rosso:#FFFFFF; --campo:#8A92A3;
  --f-display:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;
  --f-body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#10131B; --surface:#191D28; --fg:#ECEEF3; --muted:#A2A9B8; --line:#2B3140;
  --rosso:#E2565F; --rosso-soft:#3B1E22; --argento:#2A2F3B;
  --azzurro:#7EA3E6; --azzurro-soft:#1B2740; --oro:#E2BE55; --oro-soft:#3A3017; --on-rosso:#FFFFFF; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#10131B; --surface:#191D28; --fg:#ECEEF3; --muted:#A2A9B8; --line:#2B3140;
  --rosso:#E2565F; --rosso-soft:#3B1E22; --argento:#2A2F3B;
  --azzurro:#7EA3E6; --azzurro-soft:#1B2740; --oro:#E2BE55; --oro-soft:#3A3017; --on-rosso:#FFFFFF; color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:15px;line-height:1.5}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--surface)}
a{color:var(--azzurro)}
.wrap{max-width:760px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.fascia{height:8px;background:repeating-linear-gradient(90deg,var(--rosso) 0 24px,var(--argento) 24px 48px)}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--surface);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:14px;padding-block:14px}
.scudo{flex:0 0 30px;height:36px;border-radius:2px 2px 15px 15px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 0 0 1.5px var(--oro)}
.scudo .f{background:repeating-linear-gradient(180deg,var(--rosso) 0 6px,#fff 6px 12px)}
.scudo .a{background:var(--azzurro);display:grid;place-items:center}
.scudo .a i{width:7px;height:7px;border-radius:50%;background:var(--oro);display:block}
.brand h1{font-family:var(--f-display);font-weight:700;font-size:clamp(32px,9vw,50px);margin:0;letter-spacing:-.01em;line-height:1}
.brand h1 span{color:var(--rosso);font-family:var(--f-body);font-weight:700;font-size:.82em;letter-spacing:-.02em;margin-left:2px}
.brand{color:inherit;text-decoration:none}
.logo{flex:0 0 52px;width:52px;height:104px}
.brand small{display:block;color:var(--muted);font-size:clamp(12px,3.4vw,15px);margin-top:8px}
.row{display:flex;flex-wrap:wrap;gap:8px;padding-block:4px 10px}
.chip{flex:0 0 auto;border:1px solid var(--line);background:transparent;color:var(--fg);font:500 13.5px var(--f-body);padding:7px 13px;border-radius:999px;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--azzurro);color:#fff;border-color:var(--azzurro)}
.chip:focus-visible,.seg button:focus-visible,.chev:focus-visible{outline:2px solid var(--oro);outline-offset:2px}
.seg{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-block:4px 8px}
.seg button{flex:1;border:0;background:transparent;color:var(--muted);font:600 13px var(--f-body);padding:8px 4px;cursor:pointer}
.seg button+button{border-left:1px solid var(--line)}
.seg button[aria-pressed="true"]{background:var(--rosso);color:var(--on-rosso)}
main{padding-block:18px 40px;display:grid;gap:22px}
.feature{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.feature{overflow:hidden}
.feature .band{background:var(--rosso);color:var(--on-rosso);padding:16px 18px;position:relative}
.feature .band::after{content:"";position:absolute;inset:auto 0 0 0;height:6px;background:repeating-linear-gradient(90deg,#fff 0 14px,transparent 14px 28px);opacity:.5}
.eyebrow{font:500 11.5px var(--f-mono);letter-spacing:.08em;text-transform:uppercase}
.feature h2{font-family:var(--f-display);font-size:29px;line-height:1.08;margin:6px 0 4px;text-wrap:balance}
.feature .body{padding:14px 18px 16px;display:grid;gap:8px;font-size:14.5px}
.feature .body p{margin:0;color:var(--muted)}
.feature .body strong{color:var(--fg)}
.links{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13.5px}
.links a{font-weight:600}
.links a.map{display:inline-flex;align-items:center;gap:4px;color:var(--rosso)}
h3.grp{font:500 12px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;padding-bottom:6px;border-bottom:2px solid var(--argento);display:flex;justify-content:space-between}
.list{display:grid;gap:10px}
#out .list>.ev{content-visibility:auto;contain-intrinsic-size:auto 128px}  /* le schede fuori schermo non vengono disegnate finche' non servono */
.ev{background:var(--surface);border:1px solid var(--line);border-radius:12px}
.ev .evh{display:grid;gap:14px;padding:12px 14px;cursor:pointer;align-items:start}
.chev{color:var(--muted);transition:transform .15s;margin-top:4px}
.ev.open .chev{transform:rotate(90deg)}
.chev{border:0;background:none;font:inherit;font-size:20px;line-height:1;min-width:24px;min-height:24px;padding:0;cursor:pointer;display:grid;place-items:center}
.date{text-align:center;border-right:1px solid var(--line);padding-right:12px}
.date .w{font-size:11px;color:var(--muted)}
.date .d{font-family:var(--f-display);font-size:28px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.date .m{font:500 11px var(--f-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--rosso)}
.date .to{margin-top:5px;padding-top:4px;border-top:1px dashed var(--line);font:500 10.5px var(--f-mono);color:var(--azzurro);text-transform:uppercase;line-height:1.25}
.date .rd{font-family:var(--f-display);font-size:20px;font-weight:700;line-height:1.05;text-transform:capitalize}
.ev.multi{border-left:4px solid var(--azzurro)}
.ev.rec{border-left:4px dotted var(--muted)}
.tag.dur{font-weight:600}
.tag.d-one{background:var(--oro-soft);color:var(--oro)}
.tag.d-multi{background:var(--azzurro);color:#fff}
.tag.d-rec{background:var(--argento);color:var(--fg)}
.legend{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-size:12.5px;color:var(--muted);margin:0 0 6px}
.legend span{display:inline-flex;align-items:center;gap:6px}
.info{min-width:0;display:grid;gap:4px}
.info .ttl{display:block;margin:0;font-size:18px;font-weight:650;line-height:1.3;text-wrap:balance}
.ico{width:16px;height:16px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tag.cat{display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 6px}
.tag.cat .ico{width:15px;height:15px}
.chip{display:inline-flex;align-items:center;gap:6px}
.chip .ico{width:16px;height:16px}
.chip .n{font:500 11px var(--f-mono);color:var(--muted);font-variant-numeric:tabular-nums}
.chip[aria-pressed="true"] .n{color:#fff}
#zone .chip[aria-pressed="true"]{background:var(--rosso);border-color:var(--rosso)}
#zone .chip.zero{border-style:dashed;color:var(--muted)}
.sel{display:flex;align-items:center;gap:10px;padding-block:2px 12px;font-size:13px;color:var(--muted)}
.sel select{flex:1;min-width:0;font:500 14px var(--f-body);color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.sel select:focus-visible{outline:2px solid var(--oro);outline-offset:2px}
.lv{font:500 10.5px var(--f-mono);padding:1px 6px;border-radius:5px;white-space:nowrap}
.lv-u{background:var(--azzurro-soft);color:var(--azzurro)}
.lv-t{background:var(--argento);color:var(--fg)}
.lv-a{background:var(--rosso-soft);color:var(--rosso)}
.warn{font-size:13px;background:var(--rosso-soft);color:var(--fg);border-radius:8px;padding:8px 10px}
.warn b{color:var(--rosso)}
.pk{display:grid;grid-template-columns:22px 1fr;gap:8px;font-size:13.5px;background:var(--azzurro-soft);border-radius:8px;padding:9px 10px}
.pk .pi{width:22px;height:22px;border-radius:5px;background:var(--azzurro);color:#fff;font:700 13px var(--f-body);display:grid;place-items:center}
.pk.none{background:var(--argento)}.pk.none .pi{background:var(--muted)}
.pk b{display:block;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--azzurro);margin-bottom:2px}
.pk.none b{color:var(--muted)}
.pk em{display:block;font-style:normal;color:var(--rosso);margin-top:4px;font-size:12.5px}
.pk .src{margin-top:4px}
.tag.ptag{background:transparent;border:1px solid var(--azzurro);color:var(--azzurro)}
.trf{display:flex;align-items:center;gap:10px;margin-top:10px;padding:11px 14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;color:var(--fg);text-decoration:none}
.trf:hover{border-color:var(--azzurro)}.trf:focus-visible{outline:2px solid var(--oro);outline-offset:2px}
.trf .ico{width:22px;height:22px;flex:0 0 auto;color:var(--rosso)}
.trf span{display:grid;line-height:1.3}.trf b{font-size:14.5px}.trf small{font-size:12.5px;color:var(--muted)}
.trf .trf-go{margin-left:auto;font-size:20px;color:var(--muted)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sidebar{display:grid;gap:12px;min-width:0}
.search{position:relative;display:flex;align-items:center;margin:0}
.sidebar .search input{background:var(--surface)}
.search .ico{position:absolute;left:12px;color:var(--muted);width:18px;height:18px}
.search input{width:100%;min-width:0;font:400 16px var(--f-body);color:var(--fg);background:var(--bg);border:1px solid var(--campo);border-radius:12px;padding:11px 40px 11px 38px}
.search input:focus-visible{outline:2px solid var(--oro);outline-offset:1px}
.search input::-webkit-search-cancel-button{display:none}
.qx{position:absolute;right:6px;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:22px;line-height:1;cursor:pointer}
.filters{display:grid;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 12px 4px}
.frow{display:grid;grid-template-columns:52px 1fr;align-items:start;gap:6px;min-width:0}
.frow .flab{padding-top:15px}
.frow .row{padding-block:5px}
.flab{font:500 11px var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.chip input[type=date]{border:0;background:transparent;color:inherit;font:inherit;padding:0;width:8.5em}
.chip.datechip{padding-block:4px;cursor:pointer}
.chip.datechip.on{background:var(--azzurro);color:#fff;border-color:var(--azzurro)}
.chip.datechip:focus-within{outline:2px solid var(--oro);outline-offset:2px}
.resbar{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;font-size:14px}
.resbar b{font-size:15px}
.resbar .lnk{font-size:13.5px}
.picks{display:grid;gap:6px}
.picks-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.picks h2{font-family:var(--f-display);font-size:24px;margin:0}
.picks-row{display:flex;gap:10px;overflow-x:auto;padding-block:4px 8px;scroll-snap-type:x mandatory}
.pick{flex:0 0 min(78%,260px);scroll-snap-align:start;text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:12px;padding:12px 14px;display:grid;gap:4px;cursor:pointer;border-top:4px solid var(--rosso);font:inherit}
.pick:focus-visible,.fav:focus-visible,.cal a:focus-visible{outline:2px solid var(--oro);outline-offset:2px}
.pick .when{font:500 11.5px var(--f-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--rosso)}
.pick b{font-size:15.5px;line-height:1.25}
.pick span.wh{font-size:13px;color:var(--muted)}
.pick .why{font-size:13px}
.ev .evh{grid-template-columns:56px 1fr 24px}
.side{display:grid;justify-items:center;gap:6px}
.fav{width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;padding:0}
.fav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.fav[aria-pressed="true"]{color:var(--oro)}
.fav[aria-pressed="true"] svg{fill:currentColor}
.tag.io{background:transparent;border:1px solid var(--line);color:var(--fg)}
.tag.pren{background:transparent;border:1px solid var(--rosso);color:var(--rosso)}
.cal{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:13.5px}
.cal span{color:var(--muted)}
.ev.flash{box-shadow:0 0 0 3px var(--oro)}
[hidden]{display:none!important}
.hl{display:grid;gap:10px}
.fcover{height:150px;position:relative;overflow:hidden}
.fcover svg,.fcover img,.cover svg,.cover img,.hcard .cv svg,.hcard .cv img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.hl-row{display:flex;gap:10px;overflow-x:auto;padding-block:2px 6px;scroll-snap-type:x mandatory}
.hcard{flex:0 0 min(62%,220px);scroll-snap-align:start;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:12px;overflow:hidden;padding:0;text-align:left;cursor:pointer;display:grid;font:inherit}
.hcard .cv{height:86px;position:relative;overflow:hidden}
.hcard .tx{padding:9px 11px 11px;display:grid;gap:3px}
.hcard .when{font:500 11px var(--f-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--rosso)}
.hcard b{font-size:14.5px;line-height:1.25}
.hcard:focus-visible{outline:2px solid var(--oro);outline-offset:2px}
.cover{grid-column:1/-1;height:34px;margin:-12px -14px 2px;position:relative;overflow:hidden;border-radius:11px 11px 0 0}
.cv-a{--c1:var(--azzurro);--c2:var(--azzurro-soft)}.cv-r{--c1:var(--rosso);--c2:var(--rosso-soft)}.cv-o{--c1:var(--oro);--c2:var(--oro-soft)}.cv-g{--c1:var(--muted);--c2:var(--argento)}
.photo-tools{display:grid;gap:6px;font-size:13px;border-top:1px dashed var(--line);padding-top:10px}
.photo-tools .pt-c{font:400 14px var(--f-body);color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;width:100%;min-width:0}
.photo-tools .opt{font-weight:400;color:var(--muted)}
.credit{position:absolute;right:6px;bottom:5px;font:500 10px var(--f-body);color:#fff;background:rgba(0,0,0,.55);padding:2px 6px;border-radius:4px;max-width:calc(100% - 12px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.resline{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}
.vt{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.vt button{border:0;background:var(--surface);color:var(--muted);font:600 13.5px var(--f-body);padding:8px 14px;cursor:pointer}
.vt button+button{border-left:1px solid var(--line)}
.vt button[aria-pressed="true"]{background:var(--azzurro);color:#fff}
.vt button:focus-visible,.zb:focus-visible{outline:2px solid var(--oro);outline-offset:-2px}
.mapview{display:grid;gap:8px}
.mapbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.mapbar .sp{flex:1}
.zb{width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--fg);font:600 20px var(--f-body);cursor:pointer}
.mapbox{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;touch-action:none}
#map{display:block;width:100%;height:auto;aspect-ratio:1000/729;max-height:72vh;cursor:grab}
#map .com{fill:var(--bg);stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}
#map .com.on{fill:var(--azzurro-soft)}
#map .lbl{fill:var(--muted);font-family:var(--f-body);font-weight:600;paint-order:stroke;stroke:var(--surface);stroke-linejoin:round}
#map .pin circle{fill:var(--rosso);stroke:var(--surface);vector-effect:non-scaling-stroke;stroke-width:2;cursor:pointer}
#map .pin.sel circle{fill:var(--azzurro)}
#map .pin text{fill:#fff;font-family:var(--f-body);font-weight:700;text-anchor:middle;dominant-baseline:central;pointer-events:none}
.mappanel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:grid;gap:8px}
.mappanel h3{margin:0;font-size:16px}
.mrow{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:baseline;border-top:1px solid var(--line);padding-top:8px;font-size:14px}
.mrow .dt{font:500 12px var(--f-mono);color:var(--rosso);text-transform:uppercase;white-space:nowrap}
.mrow button{border:0;background:none;padding:0;text-align:left;font:600 14.5px var(--f-body);color:var(--azzurro);cursor:pointer;text-decoration:underline}
@media (hover:hover) and (pointer:fine),(min-width:640px){
 .hl-row,.picks-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));overflow:visible;scroll-snap-type:none}
 .hcard,.pick{flex:none}}
.fonti{display:grid;gap:8px}
.fonti h2{font-family:var(--f-display);font-size:20px;margin:0}
.fonti ul{margin:0;padding-left:18px;display:grid;gap:4px;font-size:13.5px;color:var(--muted)}
.fonti li span{font-size:12px}
.meta{color:var(--muted);font-size:13px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.tag{font:500 11px var(--f-mono);padding:2px 8px;border-radius:6px;background:var(--azzurro-soft);color:var(--azzurro)}
.tag.free{background:var(--oro-soft);color:var(--oro)}
.tag.chk{background:var(--rosso-soft);color:var(--rosso)}
.desc{padding:0 14px 14px 84px;display:grid;gap:8px;font-size:14px}
.desc p{margin:0}
.src{font-size:12.5px;color:var(--muted)}
.src a{color:var(--muted)}
@media (max-width:420px){.desc{padding-left:14px}}
.empty{color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:12px;padding:18px;text-align:center}
.submit{background:var(--azzurro-soft);border-radius:14px;padding:16px 18px;display:grid;gap:6px}
.submit h2{font-family:var(--f-display);font-size:22px;margin:0;color:var(--azzurro)}
.submit p{margin:0;color:var(--fg);font-size:14px}
#f-contatto{display:grid;gap:22px;margin-top:14px}
.contatto .fld{gap:7px}.contatto .fld input,.contatto .fld textarea{padding:12px 14px}
.contatto .chk{margin-top:2px;font-size:13.5px;line-height:1.5}
.contatto .btn{justify-self:start;min-width:220px;min-height:50px;margin-top:6px;font-size:16px}
@media (max-width:480px){.contatto .btn{justify-self:stretch}}
.contatto .robot .lbl{font-weight:600;font-size:13.5px}
.robot-box{display:grid;gap:6px}
.robot-box .rb{display:flex;align-items:center;gap:12px;max-width:340px;min-height:56px;padding:10px 14px;background:var(--surface);border:1px solid var(--campo);border-radius:10px;cursor:pointer;font-size:15px}
.robot-box .rb-c{width:22px;height:22px;margin:0;accent-color:var(--azzurro);cursor:pointer;flex:none}
.robot-box .rb-i{display:none;width:18px;height:18px;border:2.5px solid var(--campo);border-top-color:var(--azzurro);border-radius:50%;animation:rbgira .8s linear infinite;flex:none}
.robot-box[data-stato="calcolo"] .rb-c{display:none}.robot-box[data-stato="calcolo"] .rb-i{display:block}
.robot-box[data-stato="ok"] .rb{border-color:#2E7D32}.robot-box .rb-s{font-size:13px;color:var(--muted)}
.robot-box[data-stato="ok"] .rb-s{color:#2E7D32;font-weight:600}.robot-box[data-stato="errore"] .rb-s{color:var(--rosso);font-weight:600}
@keyframes rbgira{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.robot-box .rb-i{animation-duration:2.4s}}
.fld{display:grid;gap:4px;min-width:0}
.fld label{font-weight:600;font-size:13.5px}
.fld .opt{font-weight:400;color:var(--muted);font-size:12px}
.fld input,.fld textarea{font:400 15px var(--f-body);color:var(--fg);background:var(--surface);border:1px solid var(--campo);border-radius:10px;padding:10px 12px;width:100%;min-width:0}
.fld textarea{resize:vertical;line-height:1.45}
.fld input:focus-visible,.fld textarea:focus-visible,.chk input:focus-visible,.btn:focus-visible,.lnk:focus-visible{outline:2px solid var(--oro);outline-offset:2px}
.fld [aria-invalid="true"]{border-color:var(--rosso)}
.hint{font-size:12px;color:var(--muted);justify-self:end;font-variant-numeric:tabular-nums}
.chk{display:grid;grid-template-columns:20px 1fr;gap:8px;font-size:13px;color:var(--fg);align-items:start}
.chk input{width:18px;height:18px;margin-top:2px;accent-color:var(--azzurro)}
.err{background:var(--rosso-soft);color:var(--fg);border-radius:8px;padding:9px 11px;font-size:13.5px}
.btn{justify-self:start;border:0;border-radius:10px;background:var(--azzurro);color:#fff;font:600 15px var(--f-body);padding:11px 18px;cursor:pointer}
.btn[disabled]{opacity:.6;cursor:progress}
.btn.sec{background:transparent;color:var(--azzurro);border:1px solid var(--azzurro);padding:7px 12px;font-size:13.5px}
.lnk{border:0;background:none;color:var(--azzurro);font:600 14px var(--f-body);padding:0;cursor:pointer;text-decoration:underline}
.ok{background:var(--surface);border-radius:10px;padding:12px 14px;font-size:14px;display:grid;gap:8px;justify-items:start}
.ok b{color:var(--po,var(--azzurro))}
.admin{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px;display:grid;gap:8px}
.admin-h{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.admin h2{font-family:var(--f-display);font-size:20px;margin:0}
.seg-item{border-top:1px solid var(--line);padding-top:10px;display:grid;gap:4px;font-size:14px;min-width:0}
.seg-item .who{font-weight:600}
.seg-item .meta{overflow-wrap:anywhere}
.seg-item pre{white-space:pre-wrap;overflow-wrap:anywhere;font:400 14px var(--f-body);margin:4px 0 0;background:var(--bg);border-radius:8px;padding:8px 10px}
footer{color:var(--muted);font-size:12.5px;padding-block:0 30px;display:grid;gap:4px}
@media (prefers-reduced-motion:reduce){.chev{transition:none}}

.col{display:grid;gap:22px;min-width:0}
/* Desktop: colonna principale bianca e filtri fissi a destra */
@media (min-width:1100px){
  .wrap{max-width:1140px}
  main.wrap{display:grid;grid-template-columns:minmax(0,1fr) 360px;column-gap:28px;row-gap:0;align-items:start}
  main.wrap>.col{grid-column:1;background:var(--surface);padding:24px 24px}
  main.wrap>.col-a{grid-row:1;border-radius:16px 16px 0 0;padding-bottom:22px}
  main.wrap>.col-b{grid-row:2;border-radius:0 0 16px 16px;padding-top:0}
  main.wrap>.sidebar{grid-column:2;grid-row:1 / span 2;position:sticky;top:var(--ft,calc(var(--hh,132px) + 16px));margin:0}
  main.wrap .filters{padding:14px 16px 8px}
  /* dentro la colonna bianca: colori del tema chiaro e schede con bordo */
  html[data-tema] .col .grp{color:var(--muted);border-bottom-color:var(--argento)}
  html[data-tema] .col .picks-h h2,html[data-tema] .col .resbar{color:var(--fg)}
  html[data-tema] .col .picks>.src,html[data-tema] .col .picks-h .src,html[data-tema] .col .legend,html[data-tema] .col .resbar *,html[data-tema] .col .legend>span{color:var(--muted)}
  html[data-tema] .col .resbar b,html[data-tema] .col .resbar strong{color:var(--fg)}
  html[data-tema] .col .ev{border:1px solid var(--line);box-shadow:0 2px 10px rgba(21,26,38,.07)}
  html[data-tema] .col .ev:hover{box-shadow:0 6px 18px rgba(21,26,38,.13)}
  html[data-tema] .col .feature{border:1px solid var(--line)}
  html[data-tema] .col .submit,html[data-tema] .col .fonti{border:1px solid var(--line)}
  .filters .frow{grid-template-columns:1fr;gap:0}
  .filters .frow .flab{padding-top:8px}
  .filters .row{gap:6px;padding-block:4px 6px}
  .filters .chip{padding:6px 11px;font-size:13px}
  .filters::before{content:"Cerca e filtra gli eventi";display:block;font:700 15px var(--f-body);margin-bottom:2px}
}

/* ===== Stile "Fondo bianco" (le regole data-tema="c" restano per il fondo notte) ===== */


html[data-tema="bianco"]{--bg:#EEF0F4}
html[data-tema="bianco"] .ev{box-shadow:0 2px 10px rgba(21,26,38,.07)}
html[data-tema="bianco"] .ev:hover{box-shadow:0 6px 18px rgba(21,26,38,.13)}
html[data-tema="c"] .ev{border:0;box-shadow:0 8px 24px rgba(0,0,0,.35)}
html[data-tema="c"] .grp{color:#C9D6F2;border-bottom-color:rgba(255,255,255,.18)}
html[data-tema="c"] .picks-h h2,html[data-tema="c"] .picks>.src,html[data-tema="c"] .picks-h .src,html[data-tema="c"] .resbar,html[data-tema="c"] .legend,html[data-tema="c"] .fonti h2{color:#F1F3F8}
html[data-tema="c"] .resbar *,html[data-tema="c"] .legend>span{color:#DDE4F2}
html[data-tema="c"] .fonti,html[data-tema="c"] .submit{background:var(--surface);border-radius:14px;padding:16px}
html[data-tema="c"] .fonti h2{color:var(--fg)}
html[data-tema="c"] .fascia{opacity:1}


.tag.d-one,.tag.free{color:#6E5200}
.filters .fmore{min-height:40px;padding:8px 6px;display:inline-flex;align-items:center}
.ev .evh>.date,.ev .evh>.cover{display:block}
.date>span{display:block}
.info{display:grid}
.info>.meta{display:block}
.info>.tags{display:flex}
.brand h1 small{font-family:var(--f-body);font-weight:400;letter-spacing:0;line-height:1.3}
.desc .more{font-weight:700;font-size:14px;color:var(--azzurro);justify-self:start}
.explore{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px 20px;display:grid;gap:10px;margin-bottom:16px}
.explore h2{font-family:var(--f-display);font-size:21px;margin:0}
.explore p{margin:0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:14.5px}.explore b{width:100%;font-size:13px;color:var(--muted);font-weight:600}
.explore a{color:var(--azzurro);font-weight:600;display:inline-block;padding:3px 0}
.ttl-a{color:inherit;text-decoration:none;display:inline-block;min-height:24px}.ttl-a:hover,.ttl-a:focus-visible{color:var(--azzurro);text-decoration:underline;text-underline-offset:3px}

.quando{background:var(--azzurro-soft);border-radius:10px;padding:10px 12px;margin:2px 0 10px;display:grid;gap:3px}
.quando .qh{display:flex;align-items:center;gap:6px;font:500 11px var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--azzurro)}
.quando .qh .ico{width:15px;height:15px}
.quando .q1{font-weight:600;font-size:15.5px;color:var(--fg)}
.quando .q2{font-size:13.5px;color:var(--muted)}
.quando .q3{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:var(--muted);margin-top:4px}
.qday{border:1px solid var(--azzurro);background:var(--surface);color:var(--azzurro);font:600 12.5px var(--f-body);padding:4px 10px;border-radius:999px;cursor:pointer}
.qday:hover{background:var(--azzurro);color:#fff}
.ev .date{cursor:pointer}

.meta .mapin{display:inline-flex;align-items:center;gap:3px;margin-left:4px;color:var(--rosso);font-weight:600;font-size:12.5px;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.meta .mapin .ico{width:13px;height:13px}

/* Mobile/tablet: filtri compatti */
.fmini{display:none}
@media (max-width:1099.98px){
  .fmini{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 0}
  .fmini .flab{margin-right:2px}
  .fmini-row{display:flex;flex-wrap:wrap;gap:6px}
  .fmore{border:0;background:none;color:var(--azzurro);font:700 14px var(--f-body);padding:7px 4px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;margin-left:auto}
  .filters:not(.open) .fall{display:none}
  .filters.open .fall{border-top:1px solid var(--line);margin-top:6px;padding-top:4px}
  .filters.open .fmini .flab,.filters.open .fmini-row{display:none}
  .fmini .flab{padding:0}
}
.socl{font-size:13px;color:var(--muted)}
.socl a{font-weight:600;color:var(--azzurro)}
.nw{white-space:nowrap}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}  /* iPhone in orizzontale: niente ingrandimento automatico del testo */
html{scroll-padding-top:calc(var(--hh,132px) + 8px)}
.fnav{display:grid;gap:4px;margin-top:6px;padding-top:10px;border-top:1px solid var(--line)}
.fupd{text-align:right;margin-top:2px}
.flegal{text-align:right;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.flegal a{color:var(--muted)}.flegal .lnk{font:inherit;color:var(--muted)}
.ckb{position:fixed;left:12px;right:12px;bottom:12px;z-index:60;max-width:640px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgba(20,30,50,.18);padding:12px 40px 12px 14px;font-size:13px;line-height:1.45}
.ckb p{margin:0 0 10px}.ckb .ckb-b{display:flex;gap:10px;flex-wrap:wrap}.ckb .btn{flex:1 1 120px;min-height:44px}.ckb .ckb-x{position:absolute;top:6px;right:6px;width:36px;height:36px;border:0;background:none;font-size:22px;line-height:1;cursor:pointer;color:var(--muted)}
.ckb .btn.alt{background:var(--surface);color:var(--azzurro);border:1.5px solid var(--azzurro)}
.picks-more{margin:10px 0 0;font-weight:600}
footer>.fnav:first-child{margin:0 0 6px;padding:0 0 10px;border-top:0;border-bottom:1px solid var(--line)}
.fnav p{margin:0;line-height:1.9}.fnav a{color:var(--muted);display:inline-block;min-height:24px;line-height:24px}
.skip{position:absolute;left:12px;top:-80px;z-index:100;background:var(--azzurro);color:#fff;padding:10px 14px;border-radius:10px;font-weight:700}
.skip:focus{top:12px}
#risultati:focus{outline:none}
.meta .mapin,.desc .more,.hl-more,.links a,.feature .links a{display:inline-flex;align-items:center;min-height:24px}
.desc .src a,.socl a,.pk .src a{display:inline-block;padding-block:4px}
/* H1 = nome + motto; la data di aggiornamento resta fuori dal titolo, sulla stessa riga */
.brand .bt h1{display:inline;font-size:clamp(12px,3.4vw,15px);line-height:1.3}
.brand h1 .bn{display:block;white-space:nowrap;color:inherit;font:inherit;font-size:clamp(24px,8.2vw,50px);line-height:1;letter-spacing:inherit;margin:0 0 8px}
.brand .bt small{display:block;margin-top:0}
/* "Cremona": Italiana, lettering elegante da manifesto */
.brand .bn .wm{display:inline-block;font-family:"Marchio CTD","Didot",Georgia,serif;font-style:normal;font-weight:400;font-size:1.12em;letter-spacing:.015em;margin:0;color:var(--fg)}
/* Marchio: "To Do" stampato su un biglietto d'ingresso: angoli scavati, tacche e perforazione, matrice con codice a barre */
.brand .bn .tk{display:inline-block;font:500 .38em/1 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:#FFF6EA;background:url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 400 140%22 preserveAspectRatio=%22none%22><path d=%22M14 0H288A12 12 0 0 0 312 0H386A14 14 0 0 0 400 14V126A14 14 0 0 0 386 140H312A12 12 0 0 0 288 140H14A14 14 0 0 0 0 126V14A14 14 0 0 0 14 0Z%22 fill=%22%23B01E2D%22/><rect x=%2211%22 y=%2211%22 width=%22275%22 height=%22118%22 rx=%225%22 fill=%22none%22 stroke=%22%23FFF1DE%22 stroke-opacity=%22.7%22 stroke-width=%222.5%22/><line x1=%22300%22 y1=%2218%22 x2=%22300%22 y2=%22122%22 stroke=%22%23FFF1DE%22 stroke-opacity=%22.8%22 stroke-width=%223%22 stroke-dasharray=%226 6%22/><g fill=%22%23FFF1DE%22 fill-opacity=%22.85%22><rect x=%22322%22 y=%2230%22 width=%223%22 height=%2280%22/><rect x=%22327%22 y=%2230%22 width=%224%22 height=%2280%22/><rect x=%22335%22 y=%2230%22 width=%222%22 height=%2280%22/><rect x=%22339%22 y=%2230%22 width=%226%22 height=%2280%22/><rect x=%22347%22 y=%2230%22 width=%223%22 height=%2280%22/><rect x=%22354%22 y=%2230%22 width=%222%22 height=%2280%22/><rect x=%22360%22 y=%2230%22 width=%222%22 height=%2280%22/><rect x=%22364%22 y=%2230%22 width=%222%22 height=%2280%22/><rect x=%22369%22 y=%2230%22 width=%224%22 height=%2280%22/><rect x=%22375%22 y=%2230%22 width=%222%22 height=%2280%22/><rect x=%22379%22 y=%2230%22 width=%226%22 height=%2280%22/></g></svg>") 0 0/100% 100% no-repeat;padding:.78em 2.75em .74em 1.15em;margin-left:.35em;vertical-align:.32em;transform:rotate(-4deg);filter:drop-shadow(0 .12em .14em rgba(21,26,38,.22));border-radius:0;-webkit-mask:none;mask:none}
.brand .bt .tag-line{display:block;letter-spacing:.01em;max-width:34em}
/* Riquadro "In evidenza" compatto su smartphone: testo ridotto e "Leggi tutto" */
.hl-more{display:none;justify-self:start;font-size:14px}
@media (max-width:699.98px){
  .feature .fcover{height:72px}
  .feature .band{padding:12px 16px}
  .feature h2{font-size:25px}
  .feature .body{padding:12px 16px 14px}
  .feature:not(.open) .body .p1{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .feature:not(.open) .body .xp{display:none}
  .hl-more{display:inline-block}
}
/* Intestazione che si riduce scorrendo (smartphone e tablet) */
@media (max-width:1099.98px){
  header.sm .brand{padding-block:6px;gap:10px}
  header.sm .logo{flex-basis:24px;width:24px;height:48px}
  header.sm .brand h1 .bn{font-size:24px;margin:0}
  header.sm .brand small,header.sm .brand .bt .tag-line{display:none}
  header.sm .brand .bn .wm{font-size:1.12em!important}  /* intestazione compatta: misura fissa, senza l'allargamento della versione completa */
  header.sm .brand .bn .tk{vertical-align:.3em}
}
.mapbar .chip{background:var(--surface)}
.mapbar .chip[aria-pressed="true"]{background:var(--azzurro)}
html[data-tema="c"] #mapview>.src{color:#DDE4F2}
/* ===== Viabilita': avviso in home (chiusure, cantieri, eventi senza ordinanza) ===== */
:root{--giallo:#E3A600;--giallo-bordo:#7A5A00}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--giallo:#F2C230;--giallo-bordo:#F2C230}}
:root[data-theme="dark"]{--giallo:#F2C230;--giallo-bordo:#F2C230}
.vb{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:14px}
.vb-band{padding:14px 18px;display:grid;gap:6px;cursor:pointer;background:linear-gradient(90deg,var(--rosso) 0 6px,transparent 6px)}
.vb.open .vb-band{border-bottom:1px solid var(--line)}
.vb-hdr{display:grid;grid-template-columns:auto 1fr 24px;gap:14px;align-items:start}
.vb-ico{width:52px;height:52px;border-radius:12px;background:var(--rosso-soft);display:grid;place-items:center;margin-top:2px}
.vb-ico svg{width:38px;height:38px}.vb-ico .cone{fill:#E8731A}.vb-ico .band{fill:#FFFFFF}.vb-ico .base{fill:var(--fg)}
.vb-head{display:grid;gap:6px;min-width:0}
.vb .eyebrow{color:var(--rosso)}
.vb h2{font-family:var(--f-display);font-size:24px;line-height:1.12;margin:0;text-wrap:balance}
.vb-sum{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 0}
.vb-n{display:inline-flex;align-items:center;gap:7px;font:600 13px var(--f-body);padding:4px 11px 4px 8px;border-radius:999px;border:1px solid var(--line)}
.vb-n i{width:22px;height:5px;border-radius:3px;display:block}
.vb-n-c i{background:var(--rosso)}.vb-n-r i{background:var(--giallo);box-shadow:0 0 0 1px var(--giallo-bordo)}.vb-n-e i{background:var(--muted)}
.vb .vb-chev{margin-top:4px}.vb.open .vb-chev{transform:rotate(90deg)}
.vb-body{display:grid;gap:12px;padding:14px 18px 16px}
.vb-sec{display:grid;gap:8px}.vb-sec+.vb-sec{border-top:1px solid var(--line);padding-top:12px}
.vb-gg span.oggi{font-weight:700;color:var(--fg)}.vb-m b{color:var(--fg);font-weight:600}.vb-nd a{font-weight:600}
.vb-sec h3{margin:0;font:600 11.5px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.vb-cant,.vb-evl{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.vb-cant>li{border:1px solid var(--line);border-left:4px solid var(--rosso);border-radius:10px;padding:10px 12px;display:grid;gap:5px}
.vb-cant>li.r{border-left-color:var(--giallo)}
.vb-ct{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:16px}
.vb-now{margin:0;font-weight:600}
.vb-fasi{margin:0;padding-left:18px;display:grid;gap:2px;font-size:14px;color:var(--muted)}
.vb-fasi li.on{color:var(--fg);font-weight:600}
.vb-fasi span{font:500 12px var(--f-mono);text-transform:uppercase;letter-spacing:.03em}
.vb-m{margin:0;font-size:14px;color:var(--muted)}
.vb-lk{margin:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px}.vb-lk a{font-weight:600}.vb-lk span{color:var(--muted)}
.vb-evl li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;font-size:14.5px}.vb-evl span{color:var(--muted)}
.vb-evl em{font-style:normal;font:500 11.5px var(--f-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border:1px dashed var(--line);border-radius:999px;padding:1px 8px}
.vb-st{font:600 11.5px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px}
.vb-st.c{background:var(--rosso);color:var(--on-rosso)}.vb-st.r{background:var(--giallo);color:#2A2000}
.vb-nd{border:1px dashed var(--line);border-radius:10px;padding:10px 12px;font-size:14px;color:var(--muted)}.vb-nd b{color:var(--fg)}
.vb-ev{display:grid;gap:8px;margin:10px 0 6px;padding-top:10px;border-top:1px solid var(--line)}
.vb-ev h5{margin:0;font:600 14px var(--f-body)}
@media (max-width:520px){.vb h2{font-size:21px}.vb-band,.vb-body{padding-left:14px;padding-right:14px}.vb-ico{width:42px;height:42px}.vb-ico svg{width:30px;height:30px}.vb-hdr{gap:10px}}
/* ricerca dentro il riquadro dei filtri */
.filters .search{margin:2px 0 8px}

.brand .bname{font-family:var(--f-display);font-weight:700;font-size:clamp(32px,9vw,50px);margin:0;letter-spacing:-.01em;line-height:1;color:var(--fg)}
.brand .bname span{color:var(--rosso);font-family:var(--f-body);font-weight:700;font-size:.82em;letter-spacing:-.02em;margin-left:2px}
.brand .bname small{display:block;color:var(--muted);font-size:clamp(12px,3.4vw,15px);margin-top:0;font-family:var(--f-body);font-weight:400;letter-spacing:0;line-height:1.3}
.brand .bname{display:inline;font-size:clamp(12px,3.4vw,15px);line-height:1.3}
.brand .bname .bn{display:block;white-space:nowrap;color:inherit;font:inherit;font-size:clamp(24px,8.2vw,50px);line-height:1;letter-spacing:inherit;margin:0 0 8px}
header.sm .brand .bname .bn{font-size:24px;margin:0}
.evmain{max-width:760px;padding-block:18px 40px;display:grid;gap:18px}
.crumb{font-size:13px;color:var(--muted)}.crumb a{color:var(--muted)}
.legal h2{font-family:var(--f-display);font-size:19px;margin:14px 0 0}.legal p,.legal li{line-height:1.6}.legal ul{margin:0;padding-left:20px;display:grid;gap:6px}.legal .lead{color:var(--muted)}
.lp .sub{font-weight:600;color:var(--azzurro);margin:-4px 0 0}
.evp{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;padding:0 20px 20px;display:grid;gap:12px}
.evp-cover{height:44px;margin:0 -20px;position:relative;overflow:hidden}
.evp-cover svg{position:absolute;inset:0;width:100%;height:100%}
.evp h1{font-family:var(--f-display);font-size:clamp(26px,5vw,36px);line-height:1.1;margin:6px 0 0;text-wrap:balance}
.evp-when,.evp-where{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:16px}
.evp-when .ico,.evp-where .ico{margin-top:4px}
.evp-where .mapin{white-space:nowrap}
@media (min-width:1100px){main.wrap.evmain{grid-template-columns:minmax(0,1fr);max-width:760px;row-gap:18px}main.wrap.evmain>*{grid-column:1;grid-row:auto;margin-bottom:0}}
.evp-when{font-weight:600}.evp-where{color:var(--muted)}
.evp-where .mapin{color:var(--rosso);font-weight:600;font-size:14px}
.evp-desc{display:grid;gap:10px;font-size:15.5px;line-height:1.6}.evp-desc p{margin:0}
.evp-dates ul{margin:6px 0 0;padding-left:18px}.evp-dates b{font-size:14px}
.evp-share{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border-top:1px solid var(--line);padding-top:12px}
.evp-share b{font-size:14px;margin-right:4px}
.sh{border:1px solid var(--line);border-radius:999px;padding:7px 14px;font:600 13.5px var(--f-body);color:var(--fg);background:var(--surface);text-decoration:none;cursor:pointer}
.sh.wa{border-color:#1F9E55;color:#14713C}.sh.fb{border-color:var(--azzurro);color:var(--azzurro)}
.evp-rel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px 20px}
.evp-rel h2{font-family:var(--f-display);font-size:21px;margin:0 0 8px}
.evp-rel ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.evp-rel li{display:grid;gap:1px}.evp-rel li a{font-weight:600;color:var(--azzurro)}.evp-rel li span{font-size:13px;color:var(--muted)}
.evp-rel .tl{display:inline-block;margin-top:12px;font-weight:700;color:var(--azzurro)}
.evp-back a{font-weight:700;color:var(--azzurro)}
.tr-box{position:relative;border:1px solid var(--line);border-radius:12px;overflow:hidden;min-height:320px;display:grid;place-items:center;background:var(--bg)}
.tr-ask{max-width:460px;margin:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:grid;gap:8px;text-align:center;font-size:14.5px}
.tr-ask p{margin:0}.tr-ask .btn{justify-self:center}.tr-ask a{font-weight:600}
.tr-map{display:block;width:100%;height:460px;border:0}
@media (max-width:520px){.tr-map{height:380px}}
.cal-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.cal-list li{border-top:1px solid var(--line);padding-top:10px;display:grid;gap:2px}.cal-list li>span{color:var(--muted);font-size:13.5px}.cal-act a{font-weight:600;display:inline-block;min-height:24px}.cal-how{padding-left:20px;display:grid;gap:6px}
.evp-ric{margin:4px 0 0}.evp-ric a{font-weight:600}
.ric .intro+.intro{margin-top:-4px}
.evp-when .cd:not(:empty){display:inline-block;white-space:nowrap;vertical-align:2px;font:600 12.5px var(--f-mono);text-transform:uppercase;letter-spacing:.05em;background:var(--rosso-soft);color:var(--rosso);border-radius:999px;padding:3px 10px;margin-left:2px}
.evp-act{display:flex;flex-wrap:wrap;gap:8px}.evp-act .btn{text-decoration:none;display:inline-flex;align-items:center;min-height:40px}
.evp-facts{background:var(--bg);border-radius:12px;padding:12px 16px}.evp-facts h2{font:700 13px var(--f-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 6px}
.evp-facts dl{margin:0;display:grid;gap:0}.evp-facts dl>div{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:7px 0;border-top:1px solid var(--line)}.evp-facts dl>div:first-child{border-top:0}
.evp-facts dt{color:var(--muted);font-size:14px}.evp-facts dd{margin:0;font-size:14.5px}
.evp-map{margin:0;display:grid;gap:6px}.evp-map .mm{position:relative;border-radius:12px;overflow:hidden;background:var(--surface);border:1px solid var(--line);max-width:520px}
.evp-map img{display:block;width:100%;height:auto}.evp-map .mpin{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:var(--rosso);border:3px solid #fff;box-shadow:0 0 0 1px var(--rosso)}
.evp-map figcaption{font-size:13.5px;color:var(--muted)}.evp-upd{font-size:13px;color:var(--muted);margin:0}
.evp-rel .tl{display:inline-block;margin-top:12px;font-weight:700;color:var(--azzurro)}
@media (max-width:480px){.evp-facts dl>div{grid-template-columns:96px 1fr}}
.evp-past{background:var(--rosso-soft);color:var(--rosso);border-radius:12px;padding:12px 16px;font-size:15px}
.lp{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;display:grid;gap:14px}
.lp h1{font-family:var(--f-display);font-size:clamp(28px,5vw,38px);line-height:1.1;margin:0;text-wrap:balance}
.lp .intro{margin:0;font-size:16px;line-height:1.6}.lp .upd{margin:0;font-size:13px;color:var(--muted)}
.lp h2{font-family:var(--f-display);font-size:22px;margin:10px 0 0;padding-top:12px;border-top:1px solid var(--line)}
.lp ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.lp li{display:grid;gap:2px}.lp li a{font-weight:600;color:var(--azzurro);font-size:16px}.lp li span{font-size:13.5px;color:var(--muted)}
.fp li b{font-size:16px}.fp li b a{font-size:16px}.fp li span a{font-size:13.5px;font-weight:600}
.fp-v{display:inline-block;font:600 11.5px var(--f-mono);text-transform:uppercase;letter-spacing:.04em;background:var(--oro-soft,#FFF3D6);color:#7A5600;border-radius:999px;padding:1px 8px;margin-left:4px}
.fp-note{margin:0;font-size:14px;line-height:1.55;background:var(--bg);border-radius:12px;padding:10px 14px;color:var(--fg)}
.cin-list{gap:14px!important}.cin{border-top:1px solid var(--line);padding-top:12px}.cin>b{font-size:17px}
.cin .cin-act a{font-size:14.5px}.cin .cin-ev{margin-top:6px;font-weight:600;color:var(--fg)!important}
.cin-l{gap:4px!important;padding-left:2px!important}.cin-l li{display:block}.cin-l li a{font-size:14.5px}
