@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap');
:root{--blue:#0876c9;--deep:#103d71;--yellow:#ffcf43;--ink:#183b5d;--muted:#526d84;--line:#dce8f3;--paper:#fffbf3}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 Nunito,system-ui,sans-serif}button,input,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #fcac26;outline-offset:4px}a{color:var(--blue)}.top{max-width:1440px;margin:auto;padding:16px 48px;display:flex;gap:20px;align-items:center}.brand{display:block;width:245px;flex-shrink:0}.brand img{display:block;width:100%;height:auto}.preview{font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:6px 9px;border:1px dashed #afcbe1;border-radius:30px;color:var(--muted);white-space:nowrap}.top nav{margin-left:auto;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.top nav button{background:transparent;border:0;color:var(--deep);font-weight:800;padding:11px 18px;border-radius:16px}.top nav button[aria-pressed=true]{background:var(--blue);color:white;box-shadow:0 4px 0 #07589a}.top nav span{font-size:11px;margin-left:5px}main{max-width:1344px;margin:auto;padding:0 48px}.intro{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;padding:38px 45px;margin:12px 0 32px;border-radius:34px;background:#e9f6ff;overflow:hidden;border:1px solid #d4eaf9;box-shadow:0 6px 0 #d3e8f4}.intro:after{content:'';position:absolute;width:340px;height:340px;border-radius:50%;background:#ffdc65;right:-160px;bottom:-280px;pointer-events:none}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:900;color:var(--muted);margin:0 0 8px}h1{font-size:58px;font-weight:900;line-height:1.05;letter-spacing:-2px;margin:0 0 15px;color:var(--deep)}h1 span{color:var(--blue);position:relative}h1 span:after{content:'';position:absolute;bottom:3px;left:0;right:0;height:11px;background:#ffce4590;z-index:0;border-radius:8px;transform:rotate(-2deg)}.lead{font-size:16px;margin:0;color:var(--muted)}.intro-tools{position:relative;z-index:1}.search{display:flex;align-items:center;gap:12px;background:white;border:2px solid #b9dcf4;border-radius:20px;padding:12px 17px;box-shadow:0 4px 0 #c8e0ef}.search>span{font-size:27px;line-height:1;color:var(--blue)}.search input{border:0;outline-offset:8px;min-width:0;width:100%;font-size:16px;background:transparent;color:var(--ink)}.tool-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.button{padding:11px 20px;border:0;border-radius:16px;font-weight:900;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;transition:transform .15s,box-shadow .15s}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(2px)}.yellow{background:var(--yellow);color:#57420d;box-shadow:0 4px 0 #d7a826}.outline{background:#fff;color:var(--blue);box-shadow:0 4px 0 #bed9ed;border:1px solid #b7d5ec}.blue{background:var(--blue);color:white;box-shadow:0 4px 0 #07589a}.source-note,#position-status{font-size:11px;color:var(--muted);margin:13px 0 0}.hero-spark{position:absolute;color:#efad17;pointer-events:none}.spark-one{font-size:35px;top:23px;left:48%}.spark-two{font-size:22px;bottom:33px;left:43%;color:#63b6e8}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:25px;align-items:start}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 16px}h2{font-weight:900;font-size:21px;letter-spacing:-.5px;margin:0}.count{display:grid;place-items:center;background:#e8f3fc;color:var(--blue);border-radius:14px;min-width:37px;min-height:37px;font-weight:900;font-size:15px}.list-options{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap}select{max-width:180px;border:1px solid #c3daec;background:white;color:var(--ink);padding:8px 12px;border-radius:13px;font-size:12px}.available{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted)}input[type=checkbox]{accent-color:var(--blue);width:16px;height:16px}.updated{font-size:10px;color:var(--muted);margin:12px 0 15px;min-height:15px}#results{display:grid;gap:12px;max-height:660px;overflow:auto;padding:0 7px 8px 0;scrollbar-width:thin;scrollbar-color:#b8d5e9 transparent}.parking-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px 17px;box-shadow:0 4px 0 #e2e9ef;position:relative;transition:border-color .15s,transform .15s}.parking-card.selected{border-color:var(--blue);box-shadow:0 4px 0 #9acbf0}.card-main{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;background:transparent;color:inherit;padding:0 30px 5px 0;border-radius:12px}.parking-letter{display:grid;place-items:center;width:39px;height:43px;border-radius:13px;background:#e9f5ff;color:var(--blue);font-size:25px;font-weight:900;flex-shrink:0}.card-title{flex:1;min-width:0}.card-title strong{display:block;font-size:15px;line-height:1.25}.card-title small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.free-number{text-align:right;font-size:27px;font-weight:900;line-height:1;color:var(--deep)}.free-number small{font-weight:600;font-size:10px;color:var(--muted);display:block;margin-top:6px;white-space:nowrap}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid #ecf1f5}.availability{font-size:10px;display:flex;align-items:center;gap:6px;font-weight:800}.availability:before{content:'';width:7px;height:7px;border-radius:50%;background:#8497a4}.availability.good{color:#23774f}.availability.good:before{background:#2a9d63}.availability.full{color:#b94335}.availability.full:before{background:#d45d49}.availability.low{color:#986015}.availability.low:before{background:#db9c25}.mini-action{border:0;background:#eaf5fe;color:#0867ad;font-weight:900;font-size:11px;padding:7px 12px;border-radius:11px;min-height:33px}.favorite{position:absolute;right:10px;top:9px;width:32px;height:32px;border:0;background:transparent;color:#8da4b4;font-size:21px}.favorite[aria-pressed=true]{color:#9c6d00;background:#fff1bd;border-radius:10px}.map-panel{position:sticky;top:18px;border-radius:28px;border:1px solid #cddfec;background:white;box-shadow:0 5px 0 #e1e9ef;overflow:hidden}.map-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:19px 22px}.map-heading h2{font-size:18px}.map-heading>span{font-size:10px;color:var(--muted)}#map{height:468px;background:#e3eaf0}.selection{padding:20px 22px;display:flex;align-items:center;gap:13px;background:#eef8ff;border-top:1px solid #d8e8f3}.selection-icon{display:grid;place-items:center;width:40px;height:44px;background:#ffda67;color:#665014;border-radius:13px;font-size:25px;font-weight:900;flex-shrink:0}.selection p{font-size:12px;line-height:1.6;margin:0;flex:1}.selection strong{font-size:14px}.selection .button{font-size:11px;padding:9px 12px;min-height:38px;border-radius:12px}.map-disclaimer{font-size:10px;color:var(--muted);margin:0;padding:11px 22px}.map-pin{border:2px solid white;background:var(--blue);color:white;border-radius:11px;box-shadow:0 3px 9px #17375430;text-align:center;font-size:12px;font-weight:900;line-height:28px;min-width:38px;height:32px;white-space:nowrap}.map-pin.full{background:#c65344}.map-pin.unknown{background:#6d8497}.map-pin.low{background:#af731c}.map-pin.traffic{background:#42649e}.map-pin.selected{outline:3px solid #ffcf43}.next{margin:35px 0;background:#fff0bd;border:1px solid #f1dba3;border-radius:26px;padding:25px 28px;display:grid;grid-template-columns:1.3fr 1fr;gap:30px}.next>div:first-child{display:flex;align-items:center;gap:15px}.next-icon{display:grid;place-items:center;min-width:47px;height:47px;background:white;color:var(--blue);border-radius:15px;font-size:31px;box-shadow:0 4px 0 #ead69f}.next h2{font-size:19px}.next p{font-size:12px;margin:5px 0;color:#6a5b38}.next strong{font-size:13px;color:#645125}.next a{font-size:11px;font-weight:900}footer{max-width:1344px;padding:0 48px 32px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:10px;color:var(--muted)}footer>strong{font-size:19px;color:var(--deep);font-weight:900}footer p{margin:0}.empty{padding:22px;background:white;border:1px dashed var(--line);border-radius:19px;font-size:13px;color:var(--muted)}#notice{font-size:12px;background:#fff0ce;color:#73501a;border-radius:14px;padding:12px;margin-bottom:15px}.mobile-views{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}dialog{border:1px solid #c5dbeb;border-radius:28px;padding:30px;max-width:440px;width:calc(100% - 28px);color:var(--ink);background:var(--paper);box-shadow:0 20px 90px #163b6850}dialog::backdrop{background:#15344b70;backdrop-filter:blur(3px)}.close-dialog{position:absolute;right:13px;top:9px;border:0;background:transparent;color:var(--muted);font-size:30px}.detail-number{font-size:55px;font-weight:900;line-height:1.2;color:var(--blue);margin:20px 0}.detail-number small{font-size:14px;display:block;font-weight:600;color:var(--muted)}dialog p{font-size:13px}dialog h2{padding-right:20px}dialog .button{margin-top:10px}button:disabled{opacity:.6;cursor:wait}@media(max-width:1050px){.top{padding:15px 26px}.preview{display:none}main{padding:0 26px}.intro{padding:30px;gap:35px}h1{font-size:52px}.workspace{grid-template-columns:1fr 1.15fr;gap:18px}.selection{flex-wrap:wrap}.selection .button{margin-left:53px}.map-heading{padding:16px}.map-heading>span{display:none}footer{padding:0 26px 25px}}@media(max-width:760px){.top{flex-wrap:wrap;justify-content:center;padding:15px 16px 8px;gap:6px}.brand{width:235px}.top nav{margin:7px auto 0;justify-content:center;width:100%}.top nav button{padding:9px 13px;font-size:13px;border-radius:14px}main{padding:0 16px}.intro{margin-top:16px;border-radius:26px;padding:26px;grid-template-columns:1fr;gap:23px}.intro .eyebrow{font-size:9px}h1{font-size:48px}.lead{font-size:14px}.spark-one{left:auto;right:35px;top:38px}.spark-two{left:auto;right:70px;top:130px}.tool-row{gap:10px}.tool-row .button{font-size:12px;flex:1;padding:10px}.search{padding:10px 12px;border-radius:16px}.workspace{display:flex;flex-direction:column}.list-panel,.map-panel{width:100%}.map-panel{position:relative;top:auto;display:none}.workspace.show-map .map-panel{display:block}.workspace.show-map #results{display:none}.workspace.show-map .list-options,.workspace.show-map #updated{display:none}.mobile-views{display:flex;gap:5px;background:#e9f1f7;padding:4px;border-radius:15px;margin:14px 0}.mobile-views button{flex:1;padding:9px;border:0;background:transparent;border-radius:11px;color:var(--muted);font-weight:900;font-size:12px}.mobile-views button[aria-pressed=true]{background:white;color:var(--blue);box-shadow:0 2px 5px #143b5b12}#results{max-height:none;overflow:visible;padding-right:0}.section-heading h2{font-size:21px}#map{height:390px}.next{grid-template-columns:1fr;padding:22px;gap:20px;margin-top:28px}.next>div+div{border-top:1px solid #dec994;padding-top:15px}footer{padding:0 17px 24px;gap:12px}.map-panel .selection .button{margin-left:0}.selection{padding:17px}.preview{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Indicatori leggibili a colpo d’occhio. */
[hidden]{display:none!important}
.availability{font-size:12px;font-weight:900;padding:6px 10px;border-radius:11px;background:#edf1f5;color:#566c7b;min-height:31px;line-height:1.35}
.availability:before{width:13px;height:13px;flex-shrink:0;box-shadow:0 0 0 3px #ffffffb0}
.availability.good{background:#e3f4e9;color:#176b3e}.availability.good:before{background:#209c54}
.availability.low{background:#fff0c8;color:#83530a}.availability.low:before{background:#edb51c}
.availability.full{background:#fce6e2;color:#a53025}.availability.full:before{background:#dc4437}
.speed-value.good,.traffic-detail.good .detail-number{color:#178347}
.speed-value.low,.traffic-detail.low .detail-number{color:#a66b00}
.speed-value.full,.traffic-detail.full .detail-number{color:#c83c30}
.speed-value.unknown,.traffic-detail.unknown .detail-number{color:#708491}
.free-number .speed-unit,.detail-number .speed-unit{display:inline;font-size:11px;letter-spacing:0;font-weight:800;margin-left:4px;color:inherit}
.detail-number .speed-unit{font-size:17px;margin-left:7px}
.traffic-legend{display:flex;flex-wrap:wrap;gap:7px 12px;font-size:10px;margin:0 0 15px;color:var(--muted)}
.traffic-legend>span{display:inline-flex;align-items:center;gap:5px;font-weight:800}
.traffic-legend>span:before{content:'';width:9px;height:9px;border-radius:50%;background:#708491}
.traffic-legend>.good:before{background:#209c54}.traffic-legend>.low:before{background:#edb51c}.traffic-legend>.full:before{background:#dc4437}
.traffic-legend>small{flex-basis:100%;font-size:10px;line-height:1.5}
.map-pin.traffic.good{background:#218749}.map-pin.traffic.low{background:#f0bf3b;color:#573e00}.map-pin.traffic.full{background:#cc4437}.map-pin.traffic.unknown{background:#708491}
@media(max-width:760px){.availability{font-size:11px;padding:6px 8px}.card-footer{gap:6px}.free-number.speed-value{white-space:nowrap;font-size:24px}.traffic-legend{font-size:10px}}
