:root{--ink:#0b0d10;--muted:#68707a;--line:#e3e7eb;--paper:#fff;--soft:#f3f5f7;--blue:#1769ff;--green:#0a8f58;--amber:#e7a000;--red:#d9372b;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#dfe5e8}*{box-sizing:border-box}html,body,.app{width:100%;height:100%;margin:0;overflow:hidden}button,input,select,textarea{font:inherit}.app{position:relative;background:#dde4e8}.map{position:absolute;inset:0;background:#e6ebee}.surface{background:rgba(255,255,255,.96);box-shadow:0 16px 50px rgba(11,13,16,.18);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.map-loading,.map-error{position:absolute;z-index:500;inset:0;display:grid;place-content:center;justify-items:center;gap:12px;background:#e8edef;color:var(--ink)}.map-loading span{width:34px;height:34px;border:4px solid #c6cdd2;border-top-color:var(--ink);border-radius:50%;animation:spin .8s linear infinite}.map-loading[hidden],.map-error[hidden]{display:none}.map-error{text-align:center;padding:24px}.map-error p{color:var(--muted);margin:0}.topbar{position:absolute;z-index:800;left:12px;right:12px;top:calc(12px + var(--safe-top));height:62px;border-radius:18px;padding:7px 8px;display:flex;align-items:center;justify-content:space-between;gap:10px}.brand{display:flex;align-items:center;gap:9px;color:inherit;text-decoration:none;min-width:0}.brand-mark{width:43px;height:43px;border-radius:13px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:950;font-size:13px;flex:0 0 auto}.brand>span:last-child{min-width:0}.brand b{display:block;font-size:11px;letter-spacing:.025em;white-space:nowrap}.brand small{display:block;font-size:7px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weather-pill{height:48px;border:0;border-radius:14px;background:var(--soft);display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;align-items:center;column-gap:5px;padding:5px 10px;color:var(--ink);cursor:pointer;flex:0 0 auto}.weather-pill>span{grid-row:1/3;font-size:20px}.weather-pill b{font-size:17px;line-height:1;text-align:left}.weather-pill small{font-size:7px;color:var(--muted);text-align:left}.hero-card{position:absolute;z-index:700;left:12px;bottom:calc(90px + var(--safe-bottom));width:min(390px,calc(100vw - 24px));border-radius:24px;padding:20px}.eyebrow{display:block;font-size:8px;font-weight:950;letter-spacing:.13em;color:var(--muted)}.hero-copy h1{font-size:30px;line-height:.98;letter-spacing:-.055em;margin:8px 0 9px}.hero-copy p{font-size:11px;line-height:1.45;color:var(--muted);margin:0 0 15px}.primary-action{width:100%;border:0;border-radius:16px;background:var(--blue);color:#fff;min-height:64px;padding:10px 14px;display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto;text-align:left;align-items:center;cursor:pointer}.primary-action>span{grid-row:1/3;font-size:24px}.primary-action b{font-size:11px;letter-spacing:.035em}.primary-action small{font-size:8px;opacity:.78;margin-top:2px}.primary-action.compact{min-height:52px;display:block;text-align:center;margin-top:4px}.secondary-action{width:100%;height:42px;margin-top:8px;border:1px solid var(--line);border-radius:13px;background:#fff;font-size:9px;font-weight:950;letter-spacing:.06em;cursor:pointer}.bottom-nav{position:absolute;z-index:1000;left:12px;right:12px;bottom:calc(10px + var(--safe-bottom));height:70px;border-radius:22px;padding:7px;display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.nav-item{border:0;border-radius:15px;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#59616b;cursor:pointer;min-width:0}.nav-item span{font-size:20px;line-height:1}.nav-item b{font-size:8px}.nav-item.active{background:var(--ink);color:#fff}.quick-result{position:absolute;z-index:950;left:12px;bottom:calc(90px + var(--safe-bottom));width:min(420px,calc(100vw - 24px));border-radius:24px;padding:19px}.xbtn{width:40px;height:40px;border:0;border-radius:12px;background:var(--soft);font-size:24px;display:grid;place-items:center;cursor:pointer}.quick-result>.xbtn,.place-sheet>.xbtn,.modal>.xbtn{position:absolute;right:10px;top:10px}.quick-grid{display:grid;grid-template-columns:1fr 72px;gap:12px;align-items:center;margin-top:8px;padding-right:30px}.quick-grid h2{font-size:23px;line-height:1;letter-spacing:-.045em;margin:0 0 6px}.quick-grid p{font-size:9px;color:var(--muted);line-height:1.4;margin:0}.score-orb{width:68px;height:68px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-content:center;text-align:center}.score-orb b{font-size:25px;line-height:1}.score-orb small{font-size:8px}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:14px 0}.mini-stats div{padding:9px;background:var(--soft);border-radius:12px;min-width:0}.mini-stats span{font-size:7px;color:var(--muted);display:block}.mini-stats b{font-size:11px;display:block;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}.action-row button{height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:9px;font-weight:950;cursor:pointer}.action-row .dark{background:var(--ink);color:#fff;border-color:var(--ink)}.scrim{position:absolute;z-index:1090;inset:0;background:rgba(8,12,16,.28);opacity:0;pointer-events:none;transition:.2s}.scrim.open{opacity:1;pointer-events:auto}.drawer{position:absolute;z-index:1100;left:12px;top:90px;bottom:92px;width:min(470px,calc(100vw - 24px));border-radius:25px;padding:10px 14px 14px;transform:translateX(calc(-100% - 30px));transition:transform .25s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column}.drawer.open{transform:translateX(0)}.drawer-handle{display:none}.drawer-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:7px 0 10px}.drawer-head h2{font-size:27px;letter-spacing:-.05em;margin:5px 0 0}.drawer-body{overflow:auto;min-height:0;padding-bottom:12px}.search-box{position:relative;margin-bottom:10px}.search-box input{width:100%;height:49px;border:1px solid var(--line);background:var(--soft);border-radius:14px;padding:0 14px;font-size:13px;outline:none}.filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:11px}.filter-grid button{min-height:48px;border:1px solid var(--line);background:#fff;border-radius:13px;font-size:8px;font-weight:900;padding:5px;cursor:pointer}.filter-grid button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.result-summary{display:flex;align-items:center;justify-content:space-between;margin:10px 1px 8px}.result-summary b{font-size:10px}.result-summary span{font-size:8px;color:var(--muted)}.place-list{display:grid;gap:7px}.place-row{border:1px solid var(--line);background:#fff;border-radius:16px;padding:10px;display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;text-align:left;cursor:pointer}.place-row:hover{border-color:#b9c2ca}.place-type-icon{width:44px;height:44px;border-radius:14px;background:var(--soft);display:grid;place-items:center;font-size:18px}.place-row h3{font-size:12px;margin:0 0 4px;line-height:1.15}.place-row p{font-size:8px;color:var(--muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-score{text-align:right}.row-score b{font-size:18px}.row-score small{display:block;font-size:7px;color:var(--muted)}.ranking-tabs,.dashboard-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}.ranking-tabs button,.dashboard-tabs button{height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:8px;font-weight:900;cursor:pointer}.ranking-tabs button.active,.dashboard-tabs button.active{background:var(--ink);color:#fff}.rank-row{display:grid;grid-template-columns:30px 1fr 60px;gap:9px;align-items:center;padding:11px 5px;border-bottom:1px solid var(--line);cursor:pointer}.rank-no{font-size:21px;font-weight:950;color:#a2a8ae}.rank-row:nth-child(-n+3) .rank-no{color:var(--blue)}.rank-row h3{font-size:12px;margin:0 0 3px}.rank-row p{font-size:8px;color:var(--muted);margin:0}.rank-score{text-align:right}.rank-score b{font-size:20px}.rank-score small{display:block;font-size:7px;color:var(--muted)}.compare-selects{display:grid;grid-template-columns:1fr 34px 1fr;gap:7px;align-items:center}.compare-selects select{width:100%;height:48px;border:1px solid var(--line);border-radius:13px;background:#fff;padding:0 8px;font-size:10px}.compare-selects>span{text-align:center;font-weight:950}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.compare-card{border:1px solid var(--line);border-radius:17px;padding:12px;background:#fff}.compare-card h3{font-size:13px;margin:0 0 8px}.compare-score{font-size:34px;font-weight:950;letter-spacing:-.06em}.compare-metric{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding:8px 0;font-size:9px}.compare-metric span{color:var(--muted)}.dashboard-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-bottom:12px}.kpi{background:var(--soft);border-radius:16px;padding:12px}.kpi span{display:block;font-size:8px;color:var(--muted)}.kpi b{display:block;font-size:25px;letter-spacing:-.04em;margin-top:4px}.critical-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 2px;border-bottom:1px solid var(--line)}.critical-row h3{font-size:12px;margin:0 0 3px}.critical-row p{font-size:8px;color:var(--muted);margin:0}.risk-badge{align-self:center;border-radius:999px;padding:6px 8px;font-size:8px;font-weight:950}.risk-high{background:#ffe4e0;color:#a42319}.risk-medium{background:#fff1cf;color:#8a5900}.risk-low{background:#dff6ea;color:#08663f}.source-card{border:1px solid var(--line);border-radius:16px;padding:12px;margin-bottom:8px}.source-head{display:flex;justify-content:space-between;gap:8px}.source-card h3{font-size:12px;margin:0}.source-card p{font-size:9px;line-height:1.45;color:var(--muted)}.source-card a{font-size:8px;color:var(--blue);font-weight:900;text-decoration:none}.status{font-size:7px;font-weight:950;border-radius:999px;padding:5px 7px;background:var(--soft)}.status.live{background:#dff6ea;color:#08663f}.place-sheet{position:absolute;z-index:1300;right:12px;top:90px;bottom:92px;width:min(450px,calc(100vw - 24px));border-radius:25px;padding:20px;overflow:auto}.place-hero{padding-right:35px}.place-hero h2{font-size:29px;line-height:.98;letter-spacing:-.055em;margin:8px 0}.place-hero p{font-size:10px;color:var(--muted);line-height:1.45;margin:0}.place-score-line{display:grid;grid-template-columns:88px 1fr;gap:12px;align-items:center;margin:17px 0}.place-score{width:88px;height:88px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-content:center;text-align:center}.place-score b{font-size:32px;line-height:1}.place-score small{font-size:8px}.place-score-copy h3{font-size:14px;margin:0 0 5px}.place-score-copy p{font-size:9px;color:var(--muted);margin:0;line-height:1.45}.weather-zone{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;background:var(--ink);color:#fff;border-radius:17px;padding:13px}.weather-zone div{min-width:0}.weather-zone span{font-size:7px;opacity:.65;display:block}.weather-zone b{font-size:17px;display:block;margin-top:4px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:12px 0}.service{border:1px solid var(--line);border-radius:14px;padding:10px;display:grid;grid-template-columns:25px 1fr;gap:6px;align-items:center}.service i{font-style:normal;font-size:18px}.service span{font-size:8px;color:var(--muted);display:block}.service b{font-size:10px;display:block;margin-top:2px}.detail-block{border-top:1px solid var(--line);padding:12px 1px}.detail-block h3{font-size:10px;margin:0 0 5px}.detail-block p{font-size:9px;line-height:1.5;color:var(--muted);margin:0}.place-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;position:sticky;bottom:-20px;background:linear-gradient(transparent 0,#fff 24%);padding:25px 0 3px}.place-actions button,.place-actions a{height:48px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);font-size:9px;font-weight:950;display:grid;place-items:center;text-decoration:none;cursor:pointer}.place-actions .dark{background:var(--ink);color:#fff;border-color:var(--ink)}.modal{position:absolute;z-index:1500;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,calc(100vw - 24px));border-radius:25px;padding:20px}.modal h2{font-size:24px;letter-spacing:-.04em;margin:7px 35px 14px 0}.modal form{display:grid;gap:10px}.modal label{font-size:8px;font-weight:900}.modal select,.modal input,.modal textarea{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:11px;font-size:11px}.modal textarea{min-height:100px;resize:vertical}.trap{position:absolute!important;left:-9999px!important}.toast{position:absolute;z-index:2000;left:50%;top:calc(84px + var(--safe-top));transform:translate(-50%,-10px);background:var(--ink);color:#fff;border-radius:13px;padding:11px 14px;font-size:10px;font-weight:850;opacity:0;pointer-events:none;transition:.2s;max-width:calc(100vw - 24px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.map-legend{position:absolute;z-index:790;right:12px;top:calc(86px + var(--safe-top));width:280px;border-radius:18px;padding:7px}.legend-toggle{width:100%;height:44px;border:0;background:transparent;display:grid;grid-template-columns:30px 1fr;grid-template-rows:1fr 1fr;text-align:left;align-items:center;column-gap:8px;padding:4px;cursor:pointer}.legend-toggle>span{grid-row:1/3;width:30px;height:30px;border-radius:10px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:950}.legend-toggle b{align-self:end;font-size:10px}.legend-toggle small{align-self:start;font-size:7px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legend-panel{border-top:1px solid var(--line);padding:10px 4px 4px}.legend-panel[hidden]{display:none}.legend-title{display:grid;gap:3px;margin-bottom:9px}.legend-title b{font-size:10px}.legend-title small{font-size:8px;color:var(--muted)}.legend-row{display:grid;grid-template-columns:38px 1fr;gap:9px;align-items:center;padding:7px 0;border-top:1px solid var(--line)}.legend-row b{display:block;font-size:9px}.legend-row small{display:block;font-size:7px;line-height:1.35;color:var(--muted);margin-top:2px}.legend-pin{width:32px;height:32px;border:3px solid #fff;border-radius:11px 11px 11px 4px;box-shadow:0 3px 10px #0002;display:grid;place-items:center;font-size:13px}.legend-green{background:var(--green)}.legend-blue{background:var(--blue)}.legend-yellow{background:var(--amber)}.sensor-sample{width:38px;height:29px;border:2px solid var(--ink);border-radius:10px;background:#fff;display:grid;place-items:center;font-size:10px;font-weight:950}.legend-scale{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:8px 0}.legend-scale span{font-size:7px;color:var(--muted);display:flex;align-items:center;gap:5px}.legend-scale i{width:8px;height:8px;border-radius:50%;display:inline-block}.legend-scale .green{background:var(--green)}.legend-scale .blue{background:var(--blue)}.legend-scale .yellow{background:var(--amber)}.legend-scale .red{background:var(--red)}.sensor-toggle{width:100%;height:36px;border:1px solid var(--line);border-radius:11px;background:var(--soft);font-size:7px;font-weight:950;cursor:pointer}.sensor-toggle:disabled{opacity:.5;cursor:default}.sensor-marker{min-width:58px;height:38px;border:3px solid #fff;border-radius:13px;background:var(--ink);color:#fff;box-shadow:0 5px 16px #0004;display:grid;place-content:center;padding:2px 7px;cursor:pointer}.sensor-marker b{font-size:12px;line-height:1}.sensor-marker small{font-size:6px;letter-spacing:.08em;text-transform:uppercase;opacity:.72;margin-top:2px}.sensor-popup{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding:3px}.sensor-popup>span{font-size:7px;font-weight:950;letter-spacing:.12em;color:var(--muted)}.sensor-popup h3{font-size:24px;letter-spacing:-.04em;margin:4px 0}.sensor-popup p{font-size:10px;line-height:1.45;color:var(--muted);margin:0}.sensor-nearby{background:#eef4ff;border:0!important;border-radius:15px;padding:12px!important;margin:10px 0}.sensor-nearby p b{color:var(--blue);font-size:15px}.climate-marker span{font-size:18px!important;line-height:1}.maplibregl-popup-content{border-radius:16px!important;padding:13px!important;box-shadow:0 12px 35px #0003!important}.maplibregl-popup-close-button{font-size:20px!important;padding:4px 8px!important}.climate-marker{width:50px;height:50px;border:4px solid #fff;border-radius:18px 18px 18px 4px;transform:rotate(-45deg);box-shadow:0 6px 18px rgba(5,10,15,.3);display:grid;place-items:center;cursor:pointer}.climate-marker span{transform:rotate(45deg);font-size:12px;font-weight:950;color:#fff}.climate-marker.selected{outline:4px solid var(--ink);outline-offset:2px}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right{display:none!important}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:850px){.map-legend{right:7px;top:calc(70px + var(--safe-top));width:min(270px,calc(100vw - 14px));border-radius:17px}.legend-panel{max-height:55dvh;overflow:auto}.topbar{left:7px;right:7px;top:calc(7px + var(--safe-top));height:56px;border-radius:17px}.brand-mark{width:38px;height:38px}.brand b{font-size:9px}.brand small{font-size:6px}.weather-pill{height:42px;padding:4px 8px}.weather-pill>span{font-size:17px}.weather-pill b{font-size:14px}.hero-card{left:7px;bottom:calc(84px + var(--safe-bottom));width:calc(100vw - 14px);padding:17px;border-radius:22px}.hero-copy h1{font-size:27px}.bottom-nav{left:7px;right:7px;bottom:calc(7px + var(--safe-bottom));height:68px;border-radius:20px;padding:6px}.quick-result{left:7px;bottom:calc(84px + var(--safe-bottom));width:calc(100vw - 14px)}.drawer{left:7px;right:7px;top:auto;bottom:calc(82px + var(--safe-bottom));width:auto;height:min(76dvh,680px);border-radius:25px;transform:translateY(calc(100% + 100px))}.drawer.open{transform:translateY(0)}.drawer-handle{display:block;width:100%;height:25px;border:0;background:transparent}.drawer-handle span{display:block;width:44px;height:5px;border-radius:999px;background:#c6ccd1;margin:6px auto}.drawer-head{padding-top:1px}.drawer-head h2{font-size:25px}.filter-grid{grid-template-columns:repeat(4,1fr)}.place-sheet{left:7px;right:7px;top:auto;bottom:calc(82px + var(--safe-bottom));width:auto;height:min(80dvh,720px);border-radius:25px}.modal{max-height:calc(100dvh - 30px);overflow:auto}.compare-grid{grid-template-columns:1fr 1fr}.hero-card.hidden-mobile{display:none}}@media(max-width:390px){.brand small{display:none}.weather-pill small{font-size:6px}.hero-copy h1{font-size:25px}.filter-grid button{font-size:7px;padding:3px}.compare-grid{grid-template-columns:1fr}.compare-selects{grid-template-columns:1fr}.compare-selects>span{display:none}}@media(min-width:851px){.bottom-nav{left:auto;width:420px}.hero-card{bottom:94px}.drawer{top:88px}.place-sheet{top:88px}}

.topbar-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}.credits-button{width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-size:14px;font-weight:950;cursor:pointer}.credits-modal{max-height:min(82dvh,760px);overflow:auto}.credits-content{display:grid;gap:10px}.credit-lead,.credit-note,.credit-source{border:1px solid var(--line);border-radius:16px;padding:13px}.credit-lead{background:var(--ink);color:#fff}.credit-lead>b,.credit-note>b{font-size:12px}.credit-lead p,.credit-note p,.credit-source p{font-size:9px;line-height:1.5;margin:6px 0 0}.credit-lead p{color:#dce1e5}.credit-note p,.credit-source p{color:var(--muted)}.credit-note a,.credit-source a{display:inline-block;margin-top:8px;color:var(--blue);font-size:8px;font-weight:950;text-decoration:none}.credits-sources h3{font-size:11px;margin:5px 0 8px}.credit-source{margin-bottom:7px}.credit-source>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.credit-source b{font-size:10px}.credit-source small{font-size:7px;border-radius:999px;background:var(--soft);padding:4px 6px;color:var(--muted)}.analytics-card{background:#f4f7ff;border-color:#dbe5ff}.analytics-card a{display:inline-block;margin-top:5px}@media(max-width:850px){.credits-button{width:34px;height:34px;border-radius:10px}.topbar-actions{gap:5px}.credits-modal{top:calc(74px + var(--safe-top));transform:translateX(-50%);max-height:calc(100dvh - 165px - var(--safe-top) - var(--safe-bottom))}}

.stats-shortcut{position:absolute;z-index:780;right:18px;bottom:calc(84px + var(--safe-bottom));font-size:7px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);opacity:.34;text-decoration:none}.stats-shortcut:hover{opacity:.8}.place-status{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:9px}.place-status span{color:#fff;border-radius:999px;padding:6px 9px;font-size:8px;font-weight:950}.place-status b{font-size:8px;color:var(--muted)}.section-title{font-size:11px;margin:14px 0 7px}.service-grid.expanded{grid-template-columns:repeat(2,1fr)}.score-details{border:1px solid var(--line);border-radius:15px;margin:10px 0;overflow:hidden}.score-details summary{cursor:pointer;padding:13px;font-size:8px;font-weight:950;list-style:none}.score-details summary::-webkit-details-marker{display:none}.score-details>div{border-top:1px solid var(--line);padding:5px 12px 12px}.score-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.score-row span{display:grid}.score-row b{font-size:9px}.score-row small{font-size:7px;color:var(--muted);margin-top:2px}.score-row strong{font-size:13px}.score-details p{font-size:7px;color:var(--muted);line-height:1.45}.community-block{background:#fff8e8;border:0!important;border-radius:15px;padding:13px!important;margin:10px 0}.rating-summary{margin:10px 0}.rating-total{display:flex;align-items:baseline;gap:5px}.rating-total b{font-size:24px}.rating-total span{font-size:8px;color:var(--muted)}.rating-bars{display:grid;gap:6px;margin-top:8px}.rating-bars>div{display:grid;grid-template-columns:95px 1fr 22px;align-items:center;gap:7px}.rating-bars span{font-size:7px}.rating-bars i{height:7px;background:#fff;border-radius:999px;overflow:hidden}.rating-bars em{display:block;height:100%;background:var(--amber);border-radius:999px}.rating-bars b{font-size:8px;text-align:right}.rate-button{width:100%;height:40px;border:0;border-radius:12px;background:var(--ink);color:#fff;font-size:8px;font-weight:950}.rating-intro{font-size:9px;color:var(--muted);line-height:1.5}.rating-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rating-choices button{border:1px solid var(--line);border-radius:15px;background:#fff;padding:14px 8px;display:grid;gap:7px;place-items:center;cursor:pointer}.rating-choices span{font-size:27px}.rating-choices b{font-size:9px}.rating-choices button:active{transform:scale(.98)}
.place-rating{text-align:center}.place-rating h3{font-size:14px;margin:0 0 12px}.place-rating-faces{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.place-rating-faces button{min-width:0;height:48px;border:1px solid #eadfca;border-radius:13px;background:#fff;font-size:24px;line-height:1;cursor:pointer;transition:transform .12s ease,background .12s ease}.place-rating-faces button:hover{background:#fffdf8;transform:translateY(-2px)}.place-rating-faces button:active{transform:scale(.94)}.place-rating-faces button:disabled{opacity:.48;cursor:wait}.place-rating-thanks{display:grid;gap:4px;place-items:center;min-height:62px}.place-rating-thanks b{font-size:18px}.place-rating-thanks span{font-size:11px;color:var(--muted);line-height:1.4}
@media(max-width:850px){.stats-shortcut{right:14px;bottom:calc(80px + var(--safe-bottom));opacity:.28}.service-grid.expanded{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.place-rating h3{font-size:16px}.place-rating-faces{gap:4px}.place-rating-faces button{height:54px;border-radius:14px;font-size:27px}.place-rating-thanks b{font-size:19px}.place-rating-thanks span{font-size:13px}}

/* Informativa sintetica nel pannello Info progetto. */
.privacy-public-box{background:#f3f7ff;border-color:#d8e5ff}
.privacy-public-box p{margin:7px 0}
.privacy-full-link{display:flex!important;align-items:center;justify-content:center;min-height:46px;margin-top:12px;border-radius:12px;background:#101214;color:#fff!important;text-decoration:none;font-size:11px!important;font-weight:900;letter-spacing:.03em;padding:10px 14px}
.privacy-full-link:focus-visible{outline:3px solid #1769ff;outline-offset:3px}
.test-environment-banner{position:fixed;z-index:5000;top:0;left:50%;transform:translateX(-50%);padding:5px 14px;border-radius:0 0 12px 12px;background:#0b0d0f;color:#fff;font:800 11px/1.2 Inter,Arial,sans-serif;letter-spacing:.08em;text-align:center;max-width:min(92vw,760px)}
[data-map-theme="dark"] .maplibregl-ctrl-group,[data-map-theme="dark"] .maplibregl-ctrl-attrib{background:#15191dcc;color:#fff}
[data-map-theme="dark"] .marker-pin{box-shadow:0 0 0 3px rgba(255,255,255,.92),0 4px 14px rgba(0,0,0,.65)}
.territory-directory{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:28px;align-items:start;margin-top:22px;padding:24px;border:1px solid var(--sf-line,#dce4e7);border-radius:18px;background:#fff}.territory-directory h2,.test-publish-panel h2{margin:5px 0 7px;font-size:23px;letter-spacing:-.035em}.territory-directory p,.test-publish-panel p{margin:0;color:var(--sf-muted,#63747d);font-size:12px;line-height:1.5}.territory-directory-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.territory-directory-list>button{min-height:62px;padding:11px 13px;border:1px solid var(--sf-line,#dce4e7);border-radius:13px;background:#f8fafb;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer}.territory-directory-list>button:hover{border-color:#8bb7fa;background:#f1f6ff}.territory-directory-list span{display:grid;gap:3px}.territory-directory-list b{font-size:13px}.territory-directory-list small{font-size:9px;color:var(--sf-muted,#63747d)}.territory-directory-list strong{font-size:9px;color:#075bcf;text-align:right}.test-publish-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;margin-top:14px;padding:22px 24px;border:2px solid #15181b;border-radius:18px;background:#f6f8f9}.test-publish-panel>button,.test-publish-panel #publishProduction{min-height:50px;border:0;border-radius:12px;padding:0 18px;background:#111;color:#fff;font-size:11px;font-weight:900;cursor:pointer}.test-publish-panel #publishControls{grid-column:1/-1;padding-top:17px;border-top:1px solid #dce4e7}.test-publish-panel #publishControls[hidden]{display:none}.test-publish-panel label{display:grid;gap:7px;margin-bottom:12px;font-size:11px}.test-publish-panel input{height:46px;border:1px solid #bcc7cc;border-radius:11px;padding:0 12px}.test-publish-panel #publishProduction{background:#c9342b}.test-publish-panel #publishStatus{margin-top:11px;font-weight:750}
@media(max-width:759px){.territory-directory,.test-publish-panel{grid-template-columns:1fr;margin:12px;border-radius:16px;padding:17px;gap:15px}.territory-directory h2,.test-publish-panel h2{font-size:20px}.territory-directory-list{grid-template-columns:1fr}.territory-directory-list>button{min-height:58px}.test-publish-panel>button{width:100%}}
@media(max-width:600px){.privacy-public-box{padding:14px}.privacy-public-box p{font-size:13px;line-height:1.45}.privacy-full-link{width:100%;min-height:48px}}
/* Drawer, schede e modali devono ricevere i click sopra l'allerta meteo. */
body .weather-alert{z-index:45!important}

/* FrescoVicino Mobile UI 3.9 */
@media (max-width:850px){
  html,body,.app{font-size:16px}
  .surface{box-shadow:0 10px 32px rgba(11,13,16,.18)}
  .topbar{left:10px;right:10px;top:calc(10px + var(--safe-top));height:68px;border-radius:20px;padding:8px 9px}
  .brand{gap:10px}
  .brand-mark{width:48px;height:48px;border-radius:15px;font-size:15px}
  .brand b{font-size:15px;letter-spacing:.01em}
  .brand small{font-size:10px;margin-top:2px}
  .topbar-actions{gap:7px}
  .credits-button{width:44px;height:44px;border-radius:13px;font-size:17px}
  .weather-pill{height:50px;border-radius:14px;padding:6px 10px;column-gap:7px}
  .weather-pill>span{font-size:22px}
  .weather-pill b{font-size:18px}
  .weather-pill small{font-size:10px}

  .map-legend{right:10px;top:calc(88px + var(--safe-top));width:210px;border-radius:17px;padding:6px}
  .legend-toggle{height:48px;grid-template-columns:36px 1fr;column-gap:9px}
  .legend-toggle>span{width:36px;height:36px;border-radius:11px;font-size:15px}
  .legend-toggle b{font-size:13px}
  .legend-toggle small{font-size:10px}
  .legend-title b{font-size:15px}.legend-title small{font-size:12px}
  .legend-row b{font-size:13px}.legend-row small{font-size:11px}
  .legend-scale span{font-size:10px}.sensor-toggle{height:44px;font-size:11px}

  .hero-card{left:10px;right:10px;bottom:calc(92px + var(--safe-bottom));width:auto;padding:20px;border-radius:24px}
  .eyebrow{font-size:11px;letter-spacing:.1em}
  .hero-copy h1{font-size:36px;line-height:1.02;margin:9px 0 10px}
  .hero-copy p{font-size:15px;line-height:1.42;margin-bottom:16px}
  .primary-action{min-height:72px;border-radius:18px;padding:12px 15px;grid-template-columns:38px 1fr}
  .primary-action>span{font-size:28px}
  .primary-action b{font-size:15px;letter-spacing:.01em}
  .primary-action small{font-size:12px;line-height:1.2}
  .secondary-action{height:50px;border-radius:15px;font-size:13px}

  .bottom-nav{left:10px;right:10px;bottom:calc(10px + var(--safe-bottom));height:74px;border-radius:22px;padding:7px}
  .nav-item{border-radius:16px;gap:4px;min-height:58px}
  .nav-item span{font-size:24px}.nav-item b{font-size:11px}

  .quick-result{left:10px;right:10px;bottom:calc(94px + var(--safe-bottom));width:auto;padding:20px;border-radius:24px}
  .quick-grid h2{font-size:27px}.quick-grid p{font-size:13px}
  .score-orb{width:76px;height:76px}.score-orb b{font-size:29px}.score-orb small{font-size:10px}
  .mini-stats span{font-size:10px}.mini-stats b{font-size:14px}
  .action-row button{height:50px;font-size:12px}

  .drawer{left:0;right:0;bottom:0;width:auto;height:min(88dvh,820px);border-radius:28px 28px 0 0;padding:8px 16px calc(18px + var(--safe-bottom));z-index:1200}
  .drawer-handle{height:30px}.drawer-handle span{width:50px;height:5px}
  .drawer-head{padding:2px 0 14px}.drawer-head h2{font-size:30px}.drawer-head .xbtn{width:46px;height:46px}
  .drawer-body{padding-bottom:24px}
  .search-box input{height:54px;border-radius:16px;padding:0 16px;font-size:16px}
  .filter-grid{gap:8px;margin-bottom:14px}
  .filter-grid button{min-height:54px;border-radius:15px;font-size:12px;padding:7px 4px}
  .result-summary b{font-size:14px}.result-summary span{font-size:12px}
  .place-list{gap:9px}
  .place-row{border-radius:18px;padding:12px;grid-template-columns:52px 1fr auto;gap:12px;min-height:76px}
  .place-type-icon{width:52px;height:52px;border-radius:16px;font-size:23px}
  .place-row h3{font-size:16px;margin-bottom:5px}.place-row p{font-size:12px}
  .row-score b{font-size:22px}.row-score small{font-size:10px}
  .ranking-tabs button,.dashboard-tabs button{height:50px;font-size:12px}
  .rank-row{grid-template-columns:38px 1fr 66px;padding:14px 5px}.rank-no{font-size:25px}.rank-row h3{font-size:16px}.rank-row p{font-size:12px}.rank-score b{font-size:24px}.rank-score small{font-size:10px}
  .compare-selects select{height:54px;font-size:14px}.compare-card h3{font-size:16px}.compare-metric{font-size:13px}.kpi span{font-size:12px}.kpi b{font-size:30px}.critical-row h3{font-size:16px}.critical-row p{font-size:12px}.risk-badge{font-size:11px}

  .place-sheet{left:0;right:0;bottom:0;width:auto;height:min(92dvh,880px);border-radius:28px 28px 0 0;padding:22px 18px calc(28px + var(--safe-bottom));z-index:1250;overflow:auto}
  .place-sheet>.xbtn{position:sticky;float:right;right:0;top:0;width:48px;height:48px;z-index:2}
  .place-hero h2{font-size:32px!important;line-height:1.05!important;padding-right:52px}
  .place-hero p{font-size:15px!important;line-height:1.4!important}
  .place-status span,.place-status b{font-size:12px}
  .weather-zone{gap:8px!important}.weather-zone span{font-size:11px!important}.weather-zone b{font-size:17px!important}
  .section-title{font-size:17px;margin:18px 0 10px}
  .service-grid.expanded{grid-template-columns:1fr 1fr;gap:9px}
  .service{min-height:66px!important;padding:11px!important;border-radius:16px!important}.service i{font-size:23px!important}.service span{font-size:12px!important}.service span b{font-size:13px!important;margin-top:3px!important}
  .place-score-line{gap:12px!important}.place-score{min-width:84px!important;height:84px!important}.place-score b{font-size:29px!important}.place-score small{font-size:10px!important}.place-score-copy h3{font-size:17px!important}.place-score-copy p{font-size:13px!important}
  .score-details summary{padding:16px;font-size:13px}.score-row b{font-size:13px}.score-row small{font-size:11px}.score-row strong{font-size:17px}.score-details p{font-size:11px}
  .detail-block h3{font-size:16px!important}.detail-block p{font-size:13px!important;line-height:1.5!important}
  .rating-total b{font-size:28px}.rating-total span{font-size:12px}.rating-bars span{font-size:11px}.rating-bars b{font-size:11px}.rate-button{height:50px;font-size:13px}
  .place-actions{position:sticky;bottom:0;background:linear-gradient(transparent,#fff 22%);padding-top:22px!important;padding-bottom:4px!important;z-index:3}
  .place-actions button{height:54px!important;font-size:13px!important;border-radius:15px!important}

  .modal{left:10px!important;right:10px!important;width:auto!important;top:calc(88px + var(--safe-top))!important;transform:none!important;max-height:calc(100dvh - 110px - var(--safe-top) - var(--safe-bottom))!important;padding:20px!important;border-radius:24px!important;overflow:auto}
  .modal h2{font-size:28px!important}.modal p,.modal label{font-size:14px!important}.modal input,.modal select,.modal textarea{font-size:16px!important;min-height:50px!important}.rating-choices button{min-height:92px}.rating-choices span{font-size:32px}.rating-choices b{font-size:13px}
  .credit-lead>b,.credit-note>b{font-size:16px}.credit-lead p,.credit-note p,.credit-source p{font-size:13px}.credit-source b{font-size:14px}.credit-source small{font-size:10px}

  .climate-marker{width:54px;height:54px;border-width:4px}.climate-marker span{font-size:21px!important}
  .sensor-marker{min-width:66px;height:44px}.sensor-marker b{font-size:15px}.sensor-marker small{font-size:8px}
  .stats-shortcut{font-size:9px;right:14px;bottom:calc(88px + var(--safe-bottom))}
}
@media (max-width:390px){
  .brand small{display:none}.brand b{font-size:14px}.weather-pill small{display:none}
  .hero-copy h1{font-size:32px}.filter-grid{grid-template-columns:1fr 1fr}.filter-grid button{font-size:13px}
  .service-grid.expanded{grid-template-columns:1fr 1fr}
}

/* FrescoVicino 5.0: interfaccia pubblica riscritta, mobile first */
:root{--fv-gap:12px;--fv-radius:22px;--fv-safe-bottom:max(12px,env(safe-area-inset-bottom));}
html,body,.fv-app{width:100%;height:100%;overflow:hidden;background:#eef1f3}
.fv-app .map{position:absolute;inset:0;height:100dvh}
.surface{background:rgba(255,255,255,.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 10px 32px rgba(21,30,38,.14)}
.fv-topbar{position:fixed;z-index:30;top:max(10px,env(safe-area-inset-top));left:12px;right:12px;height:64px;border-radius:20px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between}
.fv-topbar .brand{min-width:0;display:flex;align-items:center;gap:10px;color:#111;text-decoration:none}
.fv-topbar .brand-mark{width:46px;height:46px;border-radius:15px;background:#0c0e11;color:#fff;display:grid;place-items:center;font-size:15px;font-weight:900;letter-spacing:.04em;flex:0 0 auto}
.fv-topbar .brand-copy{display:grid;line-height:1.05}.fv-topbar .brand-copy b{font-size:18px;text-transform:none;letter-spacing:-.02em}.fv-topbar .brand-copy small{font-size:12px;color:#747b83;margin-top:5px;text-transform:uppercase;letter-spacing:.1em}
.fv-topbar .topbar-actions{display:flex;align-items:center;gap:7px}
.fv-topbar .credits-button{width:44px;height:44px;border-radius:14px;font-size:20px}
.fv-topbar .weather-pill{height:44px;min-width:106px;border-radius:14px;padding:5px 10px;display:grid;grid-template-columns:auto auto;grid-template-rows:1fr 1fr;column-gap:6px;align-items:center}
.fv-topbar .weather-pill>span{grid-row:1/3;font-size:18px}.fv-topbar .weather-pill b{font-size:18px;line-height:1}.fv-topbar .weather-pill small{font-size:10px;white-space:nowrap;color:#727982}
.fv-legend{position:fixed;z-index:25;top:86px;right:12px;border-radius:18px;width:auto;max-width:310px;box-shadow:0 8px 24px rgba(21,30,38,.12)}
.fv-legend .legend-toggle{min-width:48px;height:48px;padding:6px 12px;gap:8px}.fv-legend .legend-toggle>span{width:30px;height:30px;border-radius:10px}.fv-legend .legend-toggle b{font-size:14px}.fv-legend .legend-toggle small{display:none}
.fv-legend .legend-panel{width:min(310px,calc(100vw - 24px));max-height:58vh;overflow:auto;padding:14px}
.fv-quick-card{position:fixed;z-index:24;left:12px;right:12px;bottom:calc(82px + var(--fv-safe-bottom));border-radius:22px;padding:10px;display:grid;grid-template-columns:1fr auto;gap:8px;box-shadow:0 12px 32px rgba(21,30,38,.18)}
.fv-hidden-copy{display:none!important}
.fv-find{height:58px;border-radius:17px;margin:0;padding:8px 15px;display:grid;grid-template-columns:34px 1fr;grid-template-rows:1fr 1fr;text-align:left;column-gap:8px}
.fv-find>span{grid-row:1/3;font-size:25px}.fv-find b{font-size:15px;letter-spacing:.02em}.fv-find small{font-size:11px;opacity:.85}
.fv-browse{height:58px;width:58px;border-radius:17px;margin:0;padding:0;font-size:0}.fv-browse:after{content:'⌕';font-size:26px;color:#148eea}
.bottom-nav{position:fixed;z-index:30;left:12px;right:12px;bottom:var(--fv-safe-bottom);height:68px;border-radius:22px;padding:6px;display:grid;grid-template-columns:repeat(4,1fr);gap:3px}
.bottom-nav .nav-item{min-width:0;border-radius:17px;padding:5px 3px;display:grid;place-items:center;align-content:center;gap:3px;color:#5e6670}
.bottom-nav .nav-item span{font-size:21px;line-height:1}.bottom-nav .nav-item b{font-size:11px;white-space:nowrap}.bottom-nav .nav-item.active{background:#0c0e11;color:#fff}
.climate-marker{width:38px;height:38px;border:3px solid #fff;border-radius:14px;box-shadow:0 7px 18px rgba(0,0,0,.22)}.climate-marker span{font-size:18px}.sensor-marker{transform:scale(.9)}
.drawer{position:fixed;z-index:50;left:8px;right:8px;bottom:8px;top:auto;height:min(76dvh,720px);border-radius:28px 28px 22px 22px;transform:translateY(calc(100% + 24px));padding-bottom:env(safe-area-inset-bottom)}
.drawer.open{transform:translateY(0)}.drawer-head{padding:4px 18px 12px}.drawer-head h2{font-size:28px}.drawer-body{padding:0 16px 24px;font-size:16px}
.place-sheet{position:fixed;z-index:60;left:8px;right:8px;bottom:8px;top:auto;max-height:86dvh;border-radius:28px 28px 22px 22px;overflow:auto;padding:24px 18px calc(22px + env(safe-area-inset-bottom))}
.place-sheet h2{font-size:30px;line-height:1.05}.place-sheet p,.place-sheet label,.place-sheet button{font-size:15px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.service{min-height:70px;padding:10px}.place-actions{position:sticky;bottom:0;background:#fff;padding:10px 0 0}
.quick-result{position:fixed;z-index:55;left:10px;right:10px;bottom:calc(82px + var(--fv-safe-bottom));border-radius:25px;max-height:67dvh;overflow:auto;padding:20px}
.modal{position:fixed;z-index:80;left:12px;right:12px;top:50%;transform:translateY(-50%);max-height:84dvh;overflow:auto;border-radius:26px;padding:22px}
.stats-shortcut{display:none!important}
@media(min-width:760px){.fv-topbar{left:24px;right:auto;width:430px}.fv-legend{top:24px;right:24px}.fv-quick-card{left:24px;right:auto;width:440px;bottom:104px}.bottom-nav{left:24px;right:auto;width:440px}.drawer{left:auto;right:24px;width:480px;top:24px;bottom:24px;height:auto}.place-sheet{left:auto;right:24px;width:520px;top:24px;bottom:24px;max-height:none}.climate-marker{width:34px;height:34px;border-radius:12px}}

.climate-marker.fountain-pin{border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.6),0 8px 20px rgba(0,0,0,.24)}
.fountain-intro{background:#eef7ff;border:1px solid #cfe8ff;border-radius:16px;padding:12px 14px;margin-bottom:12px}.fountain-intro p{margin:0;font-size:13px;line-height:1.45;color:#41505c}
.fountain-row{grid-template-columns:52px 1fr auto}.fountain-dot{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:22px}.fountain-state{text-align:right;min-width:80px}.fountain-state b,.fountain-state small{display:block}.fountain-state small{font-size:10px;margin-top:4px}.empty-state{padding:24px;text-align:center;color:#727982}
.fountain-choices{display:grid;gap:10px;margin-top:16px}.fountain-choices button{min-height:68px;border:1px solid #d8dde1;border-radius:18px;background:#fff;display:flex;align-items:center;gap:14px;padding:12px 16px;text-align:left}.fountain-choices button span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:22px;font-weight:900}.fountain-choices button[data-fountain-vote="working"] span{background:#118b55}.fountain-choices button[data-fountain-vote="not_working"] span{background:#d93f35}.fountain-choices button[data-fountain-vote="unknown"] span{background:#65717c}
@media(max-width:759px){.maplibregl-popup{max-width:calc(100vw - 28px)!important}.maplibregl-popup-content{max-height:45dvh;overflow:auto}.modal,.place-sheet,.drawer{overscroll-behavior:contain}.xbtn{min-width:44px;min-height:44px;touch-action:manipulation}}

/* Livelli interattivi: lo sfondo oscura la mappa senza intercettare drawer e schede. */
.scrim{z-index:40}.drawer{z-index:50;pointer-events:auto}.drawer-body,.place-list,.place-row,.fountain-row{pointer-events:auto}.place-sheet{z-index:60}.modal{z-index:80}.climate-marker{pointer-events:auto}
.fountain-hero{padding-bottom:18px;border-bottom:1px solid var(--line)}.fountain-essential{margin:18px 0 8px;padding:16px;border:1px solid var(--line);border-left:5px solid var(--fountain-status);border-radius:18px;background:#fff}.fountain-status-head{display:flex;align-items:center;gap:12px}.fountain-status-head>div>span{display:block;font-size:9px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.fountain-status-head h3{font-size:20px;margin:3px 0 0}.fountain-big{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;font-size:22px}.fountain-vote-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:16px 0}.fountain-vote-counts span{padding:10px 6px;border-radius:12px;background:var(--soft);font-size:9px;color:var(--muted);text-align:center}.fountain-vote-counts b{display:block;font-size:19px;color:var(--ink);margin-bottom:2px}.fountain-source{margin-top:8px}.fountain-actions{margin-top:8px}
@media(max-width:759px){.fountain-essential{padding:14px;margin-top:15px}.fountain-vote-counts span{font-size:10px}.fountain-vote-counts b{font-size:21px}}
.user-location-marker{width:28px;height:28px;border:4px solid #fff;border-radius:50%;background:#1688ff;box-shadow:0 3px 14px rgba(0,75,170,.45);display:grid;place-items:center;pointer-events:none}.user-location-marker:before{content:'';position:absolute;width:48px;height:48px;border-radius:50%;background:rgba(22,136,255,.18);animation:user-location-pulse 2s ease-out infinite}.user-location-marker span{position:relative;width:8px;height:8px;border-radius:50%;background:#fff}.user-location-marker:after{content:'Tu sei qui';position:absolute;top:32px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:4px 7px;border-radius:8px;background:#fff;color:#1269bd;font-size:9px;font-weight:900;box-shadow:0 3px 10px rgba(0,0,0,.18)}@keyframes user-location-pulse{0%{transform:scale(.55);opacity:.8}100%{transform:scale(1.45);opacity:0}}
.weather-glass[hidden]{display:none}.weather-glass{position:fixed;z-index:35;top:86px;left:50%;transform:translateX(-50%);width:min(980px,calc(100vw - 24px));min-height:150px;padding:22px 48px 22px 24px;border:1px solid rgba(255,255,255,.48);border-radius:26px;color:#fff;background:linear-gradient(115deg,rgba(42,105,147,.9),rgba(14,78,130,.84));box-shadow:0 18px 50px rgba(7,48,82,.3);backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%);display:grid;grid-template-columns:180px 180px 1fr;gap:20px;align-items:center}.weather-glass:before{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 38%);pointer-events:none}.weather-glass-close{position:absolute;z-index:1;right:12px;top:12px;width:34px;height:34px;border:1px solid rgba(255,255,255,.32);border-radius:12px;color:#fff;background:rgba(255,255,255,.12);font-size:22px;cursor:pointer}.weather-glass-city,.weather-glass-temp,.weather-glass-grid,.weather-glass-source{position:relative;z-index:1}.weather-glass-city{display:flex;align-items:center;gap:13px}.weather-glass-city>span{font-size:43px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.16))}.weather-glass-city b{display:block;font-size:28px;letter-spacing:-.04em}.weather-glass-city small{display:block;margin-top:6px;font-size:10px;opacity:.75}.weather-glass-temp{padding:5px 20px;border-left:1px solid rgba(255,255,255,.28);border-right:1px solid rgba(255,255,255,.28)}.weather-glass-temp>b{font-size:64px;line-height:.85;letter-spacing:-.06em}.weather-glass-temp span{display:block;margin-top:10px;font-size:11px;opacity:.8}.weather-glass-temp strong{color:#fff}.weather-glass-grid{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:15px 20px}.weather-glass-grid div{min-width:0}.weather-glass-grid span{display:block;font-size:10px;opacity:.72}.weather-glass-grid b{display:block;margin-top:5px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weather-glass-source{position:absolute;right:20px;bottom:10px;font-size:8px;opacity:.55}
@media(max-width:759px){.weather-glass{top:78px;width:calc(100vw - 16px);min-height:0;padding:18px 16px 16px;grid-template-columns:1fr 1fr;gap:14px;border-radius:22px}.weather-glass-city>span{font-size:34px}.weather-glass-city b{font-size:23px}.weather-glass-temp{border-right:0;padding:4px 8px 4px 16px}.weather-glass-temp>b{font-size:48px}.weather-glass-grid{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.weather-glass-grid div{padding:9px;border-radius:12px;background:rgba(255,255,255,.09)}.weather-glass-source{position:relative;right:auto;bottom:auto;grid-column:1/-1}.weather-glass-close{right:9px;top:9px}}
.weather-alert{--alert-color:#d99a00;position:absolute;z-index:1080;left:50%;top:calc(86px + var(--safe-top));transform:translateX(-50%);width:min(720px,calc(100vw - 24px));border:3px solid #fff;border-left:9px solid var(--alert-color);border-radius:20px;background:rgba(255,255,255,.97);box-shadow:0 18px 55px rgba(7,12,18,.28);padding:15px 52px 14px 17px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.weather-alert[hidden]{display:none}.weather-alert.alert-yellow{--alert-color:#e7a000}.weather-alert.alert-orange{--alert-color:#e66b16}.weather-alert.alert-red{--alert-color:#d72f27}.weather-alert>button{position:absolute;right:9px;top:9px;width:36px;height:36px;border:0;border-radius:11px;background:#eef1f3;color:#101214;font-size:22px;cursor:pointer}.weather-alert>span{display:block;color:var(--alert-color);font-size:9px;font-weight:950;letter-spacing:.12em}.weather-alert>strong{display:block;font-size:18px;line-height:1.15;letter-spacing:-.025em;margin:5px 0}.weather-alert p{font-size:10px;font-weight:850;line-height:1.45;margin:4px 0}.weather-alert small{display:block;color:#687078;font-size:8px;line-height:1.4}.weather-alert>a{display:inline-block;margin-top:9px;color:#101214;font-size:8px;font-weight:950;text-decoration:underline;text-underline-offset:3px}@media(max-width:850px){.weather-alert{top:calc(86px + var(--safe-top));width:calc(100vw - 20px);padding:13px 47px 12px 14px;border-radius:17px;border-left-width:7px}.weather-alert>strong{font-size:15px}.weather-alert p{font-size:9px}.weather-alert small{font-size:7px}}
/* Attività partner essenziali nelle sole schede luogo. */
.partner-activities{margin:20px 0;padding:18px;border:1px solid #dde3e6;border-radius:22px;background:#f8fafb}.partner-label{display:inline-block;font-size:10px;font-weight:900;letter-spacing:.12em;color:#53616b}.partner-activities h3{margin:8px 0 4px}.partner-activities>p{margin:0 0 14px;color:#66727b;font-size:13px}.partner-activity-grid{display:grid;gap:10px}.partner-activity{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e0e5e8;border-radius:16px;background:#fff;color:inherit;text-decoration:none}.partner-activity img{width:52px;height:52px;object-fit:contain;border-radius:10px}.partner-activity span{display:grid;gap:2px}.partner-activity small{color:#6b7680}.partner-activity em{font-style:normal;font-size:12px;color:#4f5b64}@media(max-width:600px){.partner-activities{padding:14px;border-radius:18px}.partner-activity{align-items:flex-start}.partner-activity img{width:44px;height:44px}}

/* Staifresco 8.4: interfaccia mobile essenziale validata nell'ambiente test. */
.bottom-nav{grid-template-columns:repeat(3,1fr)}
.weather-glass{grid-template-rows:auto auto}
.weather-sensors-control{position:relative;z-index:1;grid-column:1/-1;display:flex;align-items:center;gap:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.22)}
.weather-sensors-control button{min-height:42px;padding:8px 14px;border:1px solid rgba(255,255,255,.4);border-radius:13px;background:rgba(255,255,255,.14);color:#fff;font-size:10px;font-weight:950;letter-spacing:.04em;cursor:pointer}
.weather-sensors-control button:disabled{opacity:.55;cursor:default}.weather-sensors-control small{font-size:9px;line-height:1.35;opacity:.72}
.recenter-map{position:fixed;z-index:26;top:108px;left:12px;min-height:42px;padding:8px 13px;border:0;border-radius:14px;color:#111;font-size:9px;font-weight:950;letter-spacing:.04em;cursor:pointer}
.recenter-map[hidden]{display:none}
.climate-marker.fountain-far{transform:rotate(-45deg) scale(.72);opacity:.88}.climate-marker.fountain-far.selected{transform:rotate(-45deg) scale(1.12);opacity:1}
.verified-wifi{border-color:#9fd8c0;background:#eefaf5}.verified-wifi b{color:#08734a}
.place-more{margin:14px 0;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.place-more>summary{padding:15px;list-style:none;font-size:11px;font-weight:950;cursor:pointer}.place-more>summary::-webkit-details-marker{display:none}.place-more>summary:after{content:'+';float:right;font-size:18px;line-height:.7}.place-more[open]>summary:after{content:'−'}
.place-more-content{padding:0 14px 12px}.place-more-content .detail-block:first-child{border-top:0}
@media(max-width:759px){
  .fv-topbar{left:8px;right:8px;height:58px;padding:6px 7px;border-radius:18px}
  .fv-topbar .brand{gap:8px}.fv-topbar .brand-mark{width:44px;height:44px;border-radius:14px}.fv-topbar .brand-copy b{font-size:16px}.fv-topbar .brand-copy small{font-size:9px;margin-top:3px}
  .fv-topbar .credits-button{width:40px;height:40px;border-radius:13px}.fv-topbar .weather-pill{min-width:90px;height:40px;padding:4px 8px}.fv-topbar .weather-pill b{font-size:16px}.fv-topbar .weather-pill small{font-size:8px}
  .fv-quick-card{left:8px;right:8px;bottom:calc(78px + var(--fv-safe-bottom));display:block;padding:7px;border-radius:20px}
  .fv-find{width:100%;height:54px;min-height:54px;border-radius:15px;grid-template-columns:32px 1fr;padding:7px 13px}.fv-find>span{font-size:23px}.fv-find b{font-size:14px}.fv-find small{font-size:10px}.fv-browse{display:none}
  .bottom-nav{left:8px;right:8px;height:64px;padding:5px;border-radius:20px}.bottom-nav .nav-item{min-height:54px}.bottom-nav .nav-item span{font-size:19px}.bottom-nav .nav-item b{font-size:10px}
  .climate-marker{width:34px;height:34px;border-width:3px;border-radius:12px}.climate-marker span{font-size:16px!important}.climate-marker.selected{transform:rotate(-45deg) scale(1.16);outline-width:3px}
  .quick-result{bottom:calc(78px + var(--fv-safe-bottom))}
  .weather-glass{top:78px;max-height:calc(100dvh - 90px - var(--safe-bottom));overflow:auto}.weather-sensors-control{display:grid;gap:7px;padding-top:10px}.weather-sensors-control button{width:100%;min-height:46px}.weather-sensors-control small{text-align:center}
  .recenter-map{top:104px;left:8px}.user-location-marker{z-index:2}
}
@media(max-width:370px){.fv-topbar .brand-copy{display:none}.fv-topbar .weather-pill{min-width:86px}}

/* Indice di Thom ARPAE: componente indipendente dal caricamento della mappa. */
.thom-card{--thom:#16865a;position:fixed;z-index:27;top:94px;right:18px;width:min(410px,calc(100vw - 36px));padding:14px 46px 14px 14px;border:1px solid rgba(255,255,255,.8);border-top:5px solid var(--thom);border-radius:20px;box-shadow:0 14px 36px rgba(15,25,32,.18)}.thom-card[hidden]{display:none}.thom-card[data-level="weak"]{--thom:#d69a00}.thom-card[data-level="discomfort"]{--thom:#e07319}.thom-card[data-level="strong"],.thom-card[data-level="persistent"]{--thom:#c9362d}.thom-close{position:absolute;right:10px;top:9px;width:32px;height:32px;border:0;border-radius:10px;background:#edf1f3;color:#111;font-size:22px;line-height:1;cursor:pointer}.thom-card-head{display:grid;grid-template-columns:38px 1fr auto;gap:9px;align-items:center}.thom-icon{width:36px;height:36px;border-radius:12px;background:var(--thom);color:#fff;display:grid;place-items:center;font-weight:950}.thom-card-head small{font-size:8px;font-weight:950;letter-spacing:.12em;color:#66717a}.thom-card-head h2{font-size:16px;line-height:1.1;margin:2px 0}.thom-card-head>a,.thom-card-foot>a{color:#126bd4;font-size:9px;font-weight:900}.thom-days{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.thom-days>div{min-width:0;padding:9px;border-radius:13px;background:#f2f5f6}.thom-days span,.thom-days small{display:block;font-size:8px;color:#647079}.thom-days b{display:block;font-size:19px;margin:2px 0}.thom-days small{line-height:1.25;min-height:20px}.thom-message{margin:9px 0 0;padding:8px;border-radius:10px;background:#fff4db;color:#6d4a00;font-size:9px}.thom-card-foot{display:flex;justify-content:space-between;gap:8px;margin-top:9px}.thom-card-foot small{font-size:8px;color:#6a747c}.thom-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.thom-actions button{min-height:36px;border:1px solid #d9e0e4;border-radius:11px;background:#fff;color:#111;font-size:9px;font-weight:950;cursor:pointer}.thom-toggle{position:fixed;z-index:27;top:94px;right:18px;min-height:42px;padding:9px 14px;border:1px solid rgba(255,255,255,.85);border-radius:14px;background:#fff;color:#111;font-size:10px;font-weight:950;box-shadow:0 9px 24px rgba(15,25,32,.18);cursor:pointer}.thom-toggle[hidden]{display:none}.thom-toggle span{margin-right:5px;color:#d87500}
@media(max-width:759px){.thom-card{top:78px;right:8px;width:calc(100vw - 16px);padding:11px 44px 11px 11px;border-radius:17px}.thom-close{right:8px;top:8px;min-width:34px;min-height:34px}.thom-card-head{grid-template-columns:32px 1fr auto}.thom-icon{width:31px;height:31px;border-radius:10px}.thom-card-head h2{font-size:14px}.thom-days{margin-top:8px}.thom-days>div{padding:7px}.thom-days b{font-size:17px}.thom-actions{display:none}.thom-toggle{top:78px;right:8px;min-height:40px}}
.municipality-logo{width:38px;height:38px;object-fit:contain;border-radius:8px;flex:0 0 auto}.brand-copy em{display:block;font-size:8px;line-height:1.1;font-style:normal;color:#6b7580;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}

/* Centraline ARPAE e boe meteo-marine: stesso livello, simbolo marino distinto. */
.sensor-marker.buoy-marker{background:#007f9f;border-radius:50% 50% 44% 44%;min-width:70px;border-color:#bdf3ff;box-shadow:0 5px 20px rgba(0,91,124,.5)}
.sensor-marker.buoy-marker b{color:#fff}.sensor-marker.buoy-marker small{color:#e1faff;opacity:1;font-weight:950}.sensor-data-status{display:inline-block;margin-top:4px}.sensor-status-updated{color:#08734a}.sensor-status-stale{color:#9a6500}.sensor-status-unavailable{color:#b52f27}

/* Staifresco: navigazione pubblica essenziale 2026-08-10. */
.menu-button{width:46px;height:46px;flex:0 0 46px;border:0;border-radius:15px;background:#0c0e11;display:grid;place-content:center;gap:4px;cursor:pointer}.menu-button span{display:block;width:20px;height:2px;border-radius:3px;background:#fff}.fv-topbar .brand{flex:1}.fv-topbar .brand-mark{display:none}.fv-topbar{gap:9px}.fv-topbar .weather-pill{border:0;cursor:pointer}.credits-button{display:none!important}
.main-sidebar{position:fixed;z-index:1300;inset:0 auto 0 0;width:min(380px,88vw);padding:max(18px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom));transform:translateX(calc(-100% - 20px));transition:transform .24s ease;border-radius:0 24px 24px 0;overflow:auto;overscroll-behavior:contain;box-shadow:0 22px 55px rgba(9,16,23,.28)}.main-sidebar.open{transform:translateX(0)}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 15px;border-bottom:1px solid var(--line)}.sidebar-head h2{font-size:30px;margin:3px 0 0}.sidebar-head .xbtn{width:46px;height:46px}.sidebar-body{display:grid;gap:15px;padding-top:15px}.sidebar-section h3{font-size:13px;margin:0 0 8px}.layer-toggle{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px;padding:9px 5px;border-bottom:1px solid var(--line);cursor:pointer}.layer-toggle span{display:grid;gap:3px}.layer-toggle b{font-size:14px}.layer-toggle small{font-size:10px;color:var(--muted);line-height:1.3}.layer-toggle input{position:absolute;opacity:0;pointer-events:none}.layer-toggle i{position:relative;width:48px;height:29px;flex:0 0 48px;border-radius:999px;background:#cbd2d7;transition:background .18s}.layer-toggle i:after{content:'';position:absolute;left:3px;top:3px;width:23px;height:23px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.2);transition:transform .18s}.layer-toggle input:checked+i{background:#1769ff}.layer-toggle input:checked+i:after{transform:translateX(19px)}
.sidebar-actions{display:grid;gap:8px}.sidebar-actions>button{min-height:58px;border:1px solid var(--line);border-radius:16px;background:#fff;display:grid;grid-template-columns:38px 1fr;grid-template-rows:1fr 1fr;gap:1px 8px;text-align:left;padding:10px 12px;cursor:pointer}.sidebar-actions>button>span{grid-row:1/3;width:36px;height:36px;border-radius:11px;background:var(--soft);display:grid;place-items:center;font-size:18px;font-weight:950}.sidebar-actions b{font-size:13px}.sidebar-actions small{font-size:10px;color:var(--muted)}.sidebar-actions .suggest-action{background:#f4f8ff;border-color:#cadcff}.sidebar-actions .suggest-action>span{background:#1769ff;color:#fff}
.municipality-search{padding:13px;border-radius:16px;background:var(--soft)}.municipality-search label{display:block;font-size:11px;font-weight:900;margin-bottom:7px}.municipality-search input{width:100%;height:46px;border:1px solid var(--line);border-radius:12px;padding:0 12px;background:#fff;font-size:16px}.municipality-search>div{display:grid;gap:5px;margin-top:8px;max-height:220px;overflow:auto}.municipality-search a{display:flex;justify-content:space-between;gap:8px;padding:10px;border-radius:11px;background:#fff;color:var(--ink);text-decoration:none}.municipality-search a b{font-size:12px}.municipality-search a small{font-size:9px;color:var(--muted)}.municipality-search>button{width:100%;min-height:42px;margin-top:8px;border:1px solid var(--line);border-radius:11px;background:#fff;font-weight:850}
.sidebar-details{border-top:1px solid var(--line);padding-top:7px}.sidebar-details summary{min-height:46px;display:flex;align-items:center;justify-content:space-between;list-style:none;font-size:12px;font-weight:900;cursor:pointer}.sidebar-details summary:after{content:'+';font-size:20px}.sidebar-details[open] summary:after{content:'−'}.sidebar-details>div{display:grid;gap:5px;padding-bottom:8px}.sidebar-details button{min-height:44px;border:0;border-radius:11px;background:var(--soft);text-align:left;padding:9px 11px;font-weight:750;cursor:pointer}
.fv-quick-card{display:block!important;padding:7px!important}.fv-find{width:100%}.fv-browse,#suggestBtn,.bottom-nav{display:none!important}.recenter-map{width:46px;height:46px;min-height:46px;padding:0!important;border-radius:15px!important;font-size:24px!important;overflow:hidden}.quick-result{display:none!important}
.place-expand{position:sticky;z-index:4;top:-20px;margin:-18px auto 5px;width:110px;min-height:42px;border:0;border-radius:0 0 14px 14px;background:#fff;display:grid;place-items:center;gap:1px;cursor:pointer}.place-expand span{width:42px;height:4px;border-radius:99px;background:#c9cfd3}.place-expand b{font-size:9px}.place-sheet.compact{height:auto;max-height:47dvh;overflow:hidden}.place-sheet.compact .weather-zone>div:not(:first-child),.place-sheet.compact .section-title,.place-sheet.compact .service-grid .service:nth-child(n+4),.place-sheet.compact .place-score-line,.place-sheet.compact .place-more,.place-sheet.compact .detail-block,.place-sheet.compact .community-block,.place-sheet.compact .partner-activities,.place-sheet.compact .fountain-vote-counts,.place-sheet.compact .fountain-source,.place-sheet.compact #reportPlace{display:none!important}.place-sheet.compact .service-grid{display:grid!important;grid-template-columns:repeat(3,1fr);margin:8px 0}.place-sheet.compact .service{min-height:50px!important;padding:7px!important}.place-sheet.compact .place-actions{padding-top:8px!important}.place-sheet.compact .place-actions button{width:100%}.place-sheet.compact .fountain-essential{margin:8px 0;padding:10px}.place-sheet.compact .fountain-vote-button{height:42px;margin-top:8px}.place-sheet.expanded{max-height:92dvh;overflow:auto}.place-proximity{color:#1769ff!important;font-size:12px!important;font-weight:900;margin:5px 0!important}
.thom-card{z-index:1300}.thom-toggle{z-index:28}.weather-alert{cursor:pointer;max-height:66px;overflow:hidden}.weather-alert>p,.weather-alert>small,.weather-alert>a{display:none}.weather-alert.expanded{max-height:none;cursor:default}.weather-alert.expanded>p,.weather-alert.expanded>small,.weather-alert.expanded>a{display:block}
:focus-visible{outline:3px solid #1769ff!important;outline-offset:3px}.main-sidebar button,.main-sidebar input,.place-expand,.fv-find,.recenter-map{touch-action:manipulation}
@media(max-width:759px){.fv-topbar{height:56px!important}.fv-topbar .brand-copy b{font-size:15px}.fv-topbar .brand-copy small{font-size:8px}.fv-topbar .weather-pill{min-width:72px!important;width:auto}.fv-topbar .weather-pill small{display:none}.fv-quick-card{bottom:max(10px,env(safe-area-inset-bottom))!important}.weather-alert{top:calc(74px + env(safe-area-inset-top))!important}.thom-toggle{top:calc(74px + env(safe-area-inset-top))!important}.thom-card{top:calc(70px + env(safe-area-inset-top))!important;bottom:max(8px,env(safe-area-inset-bottom));max-height:calc(100dvh - 84px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto}.recenter-map{top:calc(76px + env(safe-area-inset-top))!important}.drawer{height:min(82dvh,760px)!important}.place-sheet{bottom:0!important;left:0!important;right:0!important;border-radius:24px 24px 0 0!important}.place-sheet.compact{padding:18px 14px calc(14px + env(safe-area-inset-bottom))!important}.place-sheet.compact .place-hero h2{font-size:23px!important;padding-right:44px}.place-sheet.compact .place-hero p{font-size:12px!important}.place-sheet.compact .weather-zone{margin-top:8px}.intro-panel{max-height:58dvh!important}.intro-panel .intro-secondary,.intro-panel .intro-more{display:none}}
@media(min-width:760px){.fv-topbar{width:390px}.main-sidebar{width:380px}.fv-quick-card{width:390px;bottom:24px}.place-sheet{left:auto!important;right:24px!important;top:24px!important;bottom:24px!important;width:460px!important}.place-sheet.compact{top:auto!important;max-height:430px}.drawer{left:24px!important;right:auto!important;width:430px!important}.weather-alert{top:90px}.recenter-map{top:88px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.place-sheet.compact .place-actions{display:block!important}.place-sheet.compact .fountain-essential.unverified{border-left-width:2px;background:#f7f8f9}.place-sheet.compact .fountain-essential.unverified h3{font-size:16px}.place-status .comfort-label{background:#eef1f3!important;color:#4f5a65!important;border:1px solid #dce1e5;font-weight:850}
.fv-quick-card{display:block!important;padding:16px!important;border:1px solid rgba(218,226,230,.95);background:rgba(255,255,255,.97)!important}.discover-heading h1{font-size:25px;line-height:1.02;letter-spacing:-.045em;margin:5px 0}.discover-heading p{font-size:10px;color:var(--muted);margin:0 0 12px}.discover-search-row{display:grid;grid-template-columns:1fr 150px;gap:8px}.discover-search{height:52px;border:1px solid var(--line);border-radius:15px;background:#f7f9fa;display:grid;grid-template-columns:34px 1fr;align-items:center;padding:0 10px}.discover-search>span{font-size:19px;color:#60707a}.discover-search input{width:100%;border:0;outline:0;background:transparent;font-size:11px;color:var(--ink)}.discover-search input::placeholder{color:#77838b}.discover-search-row .fv-find{height:52px!important;min-height:52px!important;border-radius:15px!important}.discover-filters{display:flex;gap:6px;margin-top:9px;overflow-x:auto;scrollbar-width:none}.discover-filters::-webkit-scrollbar{display:none}.discover-filters button{flex:0 0 auto;min-height:37px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#34434c;font-size:9px;font-weight:850;cursor:pointer}.discover-filters button.active{background:#e8f6ee;border-color:#bfe4cf;color:#087343}.discover-filters #nearbyPlacesBtn{margin-left:auto;background:#111;color:#fff;border-color:#111}.municipal-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin:5px 0 2px;padding:4px 7px;border-radius:999px;background:#e7f6ed;color:#14804a;font-size:8px;font-weight:900;letter-spacing:0;line-height:1.2}.place-hero>.municipal-badge{font-size:9px;margin:2px 0 8px}.nearby-summary{padding:10px 2px;color:var(--muted);font-size:10px}.nearby-arrow{align-self:center;font-size:20px}.place-row .municipal-badge{white-space:normal;text-align:left}.place-sheet.compact .place-hero>.municipal-badge{display:inline-flex!important}
@media(max-width:759px){.fv-quick-card{padding:9px!important}.discover-heading{display:none}.discover-search-row{grid-template-columns:1fr 112px}.discover-search{height:48px;border-radius:14px}.discover-search input{font-size:10px}.discover-search-row .fv-find{height:48px!important;min-height:48px!important;padding:5px!important}.discover-search-row .fv-find small{display:none}.discover-filters{margin-top:7px}.discover-filters button{min-height:34px;padding:0 10px;font-size:8px}.discover-filters #nearbyPlacesBtn{margin-left:0}.place-sheet.compact{max-height:55dvh}}
@media(min-width:760px){.fv-quick-card{width:560px!important}.discover-heading h1{font-size:29px}.discover-search-row{grid-template-columns:1fr 165px}.discover-search-row .fv-find small{display:none}.discover-search-row .fv-find b{font-size:11px}.discover-filters #nearbyPlacesBtn{margin-left:0}}

/* Staifresco 8.6.19 — pagina pubblica lineare: comandi, mappa e risultati. */
:root{--sf-bg:#f4f7f8;--sf-surface:#fff;--sf-line:#dce4e7;--sf-ink:#10272f;--sf-muted:#637780;--sf-primary:#146ef5;--sf-water:#1677d2;--sf-park:#16875a;--sf-cool:#6551c7;--sf-radius:16px;--sf-gap:16px}
html,body{background:var(--sf-bg);overflow:auto}.app.fv-app{position:relative;width:100%;height:auto;min-height:100dvh;overflow:visible;background:var(--sf-bg);padding-top:60px}.surface{backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;background:#fff}.fv-topbar{position:fixed!important;z-index:1200!important;inset:0 0 auto!important;width:100%!important;height:60px!important;border:0!important;border-bottom:1px solid var(--sf-line)!important;border-radius:0!important;padding:0 max(20px,calc((100vw - 1180px)/2))!important;background:#fff!important;display:flex;gap:18px}.fv-topbar .brand-mark{display:grid!important;width:36px!important;height:36px!important;border-radius:11px!important;font-size:12px!important}.fv-topbar .brand-copy b{font-size:16px!important;letter-spacing:-.02em}.fv-topbar .brand-copy small{font-size:9px!important;margin-top:1px!important}.municipality-logo{width:34px;height:34px}.header-links{display:flex;align-items:center;gap:4px;margin-left:auto}.header-links button{height:44px;border:0;border-radius:10px;background:transparent;color:var(--sf-ink);font-size:13px;font-weight:800;padding:0 12px;cursor:pointer}.header-links button:hover{background:#f2f5f6}.topbar-actions{display:flex;align-items:center;gap:6px}.fv-topbar .weather-pill{height:42px!important;min-width:auto!important;padding:5px 9px!important;background:#f4f7f8!important;border-radius:11px!important}.fv-topbar .weather-pill>span{font-size:16px}.fv-topbar .weather-pill b{font-size:14px}.fv-topbar .weather-pill small{font-size:8px}.menu-button{width:42px;height:42px;flex-basis:42px;border-radius:11px;background:#fff;border:1px solid var(--sf-line)}.menu-button span{background:var(--sf-ink);width:18px}
.public-main{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:28px 0 36px}.hero-card.fv-quick-card{position:relative!important;z-index:20!important;inset:auto!important;width:100%!important;display:block!important;padding:0 0 18px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.discover-heading h1{font-size:36px;line-height:1.05;letter-spacing:-.045em;color:var(--sf-ink);margin:0 0 7px}.discover-heading p{font-size:16px;line-height:1.4;color:var(--sf-muted);margin:0}.discover-heading small{display:block;font-size:12px;color:#829198;margin-top:4px}.discover-search-row{display:grid;grid-template-columns:minmax(280px,1fr) 180px;gap:10px;margin-top:20px}.discover-search{height:52px;background:#fff;border:1px solid var(--sf-line);border-radius:13px;padding:0 13px;box-shadow:0 1px 2px rgba(16,39,47,.03)}.discover-search input{font-size:15px}.discover-search-row .fv-find{height:52px!important;min-height:52px!important;border-radius:13px!important;display:grid!important;grid-template-columns:28px 1fr!important;padding:7px 14px!important;background:var(--sf-primary)!important}.discover-search-row .fv-find>span{font-size:20px!important}.discover-search-row .fv-find b{font-size:13px!important;text-transform:none}.discover-search-row .fv-find small{font-size:9px!important;display:block!important}.discover-filters{display:flex;gap:8px;margin-top:12px;overflow-x:auto;padding:1px 0 2px;scrollbar-width:none}.discover-filters button{min-height:44px;padding:0 14px;border:1px solid var(--sf-line);border-radius:999px;background:#fff;color:#344a53;font-size:12px;font-weight:800}.discover-filters button.active{background:#eaf2ff;border-color:#8bb7fa;color:#075bcf;box-shadow:inset 0 0 0 1px #8bb7fa}.discover-filters button[data-discover-filter="water"]{color:#126bad}.discover-filters button[data-discover-filter="park"]{color:#127149}.discover-filters button[data-discover-filter="indoor"]{color:#5946b2}.discover-filters button[aria-pressed="true"]:after{content:' ✓';font-weight:950}.fv-browse,#suggestBtn{display:none!important}
.explore-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(340px,.85fr);gap:var(--sf-gap);align-items:stretch}.map-frame{position:relative;height:calc(100vh - 282px);min-height:500px;max-height:720px;border:1px solid var(--sf-line);border-radius:var(--sf-radius);overflow:hidden;background:#e8edef}.map-frame>.map{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}.map-loading,.map-error{position:absolute;inset:0;border-radius:inherit;background:#edf2f3}.map-loading small{font-size:11px;color:var(--sf-muted)}.recenter-map{position:absolute!important;z-index:30!important;top:auto!important;left:auto!important;right:14px!important;bottom:14px!important;width:auto!important;height:46px!important;min-height:46px!important;padding:0 14px!important;border:1px solid var(--sf-line)!important;border-radius:12px!important;background:#fff!important;color:var(--sf-ink)!important;display:flex;align-items:center;gap:8px;font-size:21px!important;box-shadow:0 4px 14px rgba(16,39,47,.12)!important}.recenter-map span{font-size:11px;font-weight:850}.results-panel{height:calc(100vh - 282px);min-height:500px;max-height:720px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--sf-line);border-radius:var(--sf-radius);background:#fff}.results-head{min-height:78px;padding:16px 17px 13px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;border-bottom:1px solid var(--sf-line)}.results-head h2{font-size:22px;letter-spacing:-.03em;margin:3px 0 0}.results-head>span{font-size:11px;color:var(--sf-muted);white-space:nowrap}.discover-results{min-height:0;overflow:auto;padding:5px 10px 12px;overscroll-behavior:contain}.discover-result{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center;padding:8px 0;border-bottom:1px solid #edf1f2}.discover-result-main{min-width:0;min-height:64px;border:0;border-radius:11px;background:transparent;display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;text-align:left;padding:5px;cursor:pointer}.discover-result-main:hover{background:#f5f8f9}.result-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#eef1f7;font-style:normal}.result-water{background:#e8f4ff}.result-park{background:#e7f6ee}.result-indoor{background:#efecff}.result-copy{min-width:0;display:grid;gap:2px}.result-copy b{overflow:hidden;text-overflow:ellipsis;font-size:13px;line-height:1.2}.result-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sf-muted);font-size:10px}.result-copy em{font-style:normal;color:#7d8c93;font-size:9px}.result-route{min-height:44px;border:0;background:transparent;color:#0a64d8;font-size:10px;font-weight:900;padding:0 8px;cursor:pointer}.discover-empty{padding:30px 15px;text-align:center}.discover-empty p{color:var(--sf-muted);font-size:12px}.results-skeleton{display:grid;gap:9px;padding:12px}.results-skeleton i{height:58px;border-radius:12px;background:linear-gradient(90deg,#f0f3f4,#fafbfb,#f0f3f4);background-size:200% 100%;animation:skeleton 1.3s linear infinite}@keyframes skeleton{to{background-position:-200% 0}}
.bottom-nav{display:none!important}.weather-alert{top:70px!important;left:50%!important;right:auto!important;transform:translateX(-50%);width:min(650px,calc(100vw - 24px));border-radius:14px}.thom-toggle{top:70px!important;right:max(16px,calc((100vw - 1180px)/2))!important}.thom-card{top:70px!important;right:max(16px,calc((100vw - 1180px)/2))!important}.main-sidebar{top:0}.drawer{top:76px!important;bottom:20px!important}.place-sheet{top:76px!important;bottom:20px!important;right:max(16px,calc((100vw - 1180px)/2))!important}.municipal-badge{background:#e8f6ed!important;color:#147b49!important;border:1px solid #ccebd8}.intro-panel{z-index:1400!important}
@media(max-width:759px){
 html,body{overflow:auto}.app.fv-app{padding-top:56px}.fv-topbar{height:56px!important;padding:0 10px!important}.fv-topbar .brand-mark{width:34px!important;height:34px!important}.fv-topbar .brand-copy b{font-size:15px!important}.fv-topbar .brand-copy small{font-size:8px!important}.header-links{display:none}.fv-topbar .weather-pill{height:38px!important}.fv-topbar .weather-pill small{display:none!important}.menu-button{width:40px;height:40px;flex-basis:40px}
 .public-main{width:100%;padding:18px 0 calc(22px + env(safe-area-inset-bottom))}.hero-card.fv-quick-card{padding:0 12px 14px!important}.discover-heading h1{font-size:27px;margin-bottom:5px}.discover-heading p{font-size:13px}.discover-heading small{font-size:10px}.discover-search-row{grid-template-columns:1fr;gap:8px;margin-top:14px}.discover-search{height:48px}.discover-search input{font-size:14px}.discover-search-row .fv-find{height:48px!important;min-height:48px!important;display:grid!important;grid-template-columns:26px 1fr!important}.discover-search-row .fv-find small{display:none!important}.discover-filters{margin-top:9px;margin-right:-12px;padding-right:12px}.discover-filters button{min-height:44px;font-size:11px;padding:0 13px}
 .explore-layout{display:flex;flex-direction:column;gap:12px}.map-frame{order:1;height:53vh;min-height:390px;max-height:560px;border-radius:0;border-left:0;border-right:0}.results-panel{order:2;height:auto;min-height:0;max-height:none;border-radius:16px;margin:0 12px}.results-head{min-height:68px;padding:13px 14px 10px}.results-head h2{font-size:20px}.discover-results{max-height:none;overflow:visible;padding:4px 9px 12px}.discover-result{padding:6px 0}.discover-result-main{min-height:62px}.recenter-map{right:10px!important;bottom:10px!important;width:46px!important;padding:0!important;justify-content:center}.recenter-map span{display:none}.maplibregl-ctrl-bottom-right{bottom:54px}
 .weather-alert{top:64px!important}.thom-toggle{top:64px!important;right:8px!important}.thom-card{top:64px!important;right:8px!important}.place-sheet{top:auto!important;right:0!important;bottom:0!important}.drawer{top:auto!important;bottom:0!important}.intro-panel{top:64px!important;max-height:calc(100dvh - 72px)!important}.hero-card.hidden-mobile{visibility:visible!important;opacity:1!important;pointer-events:auto!important}.results-panel[hidden]{display:none}
}
@media(max-width:430px){.result-route{font-size:9px;padding:0 5px}.discover-result-main{grid-template-columns:38px 1fr;gap:8px}.result-icon{width:37px;height:37px}.results-head>span{font-size:10px}}
@media(min-width:760px) and (max-width:1024px){.public-main{width:calc(100% - 24px);padding-top:22px}.discover-heading h1{font-size:32px}.explore-layout{grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr)}.map-frame,.results-panel{height:calc(100vh - 276px);min-height:510px}.fv-topbar{padding:0 12px!important}}
@media(prefers-reduced-motion:reduce){.results-skeleton i{animation:none}}
.result-official{width:max-content;margin-top:2px;padding:2px 6px;border-radius:999px;background:#e8f6ed;color:#147b49;font-size:8px;font-weight:900}
@media(max-width:759px){.discover-heading{display:block!important}}

/* Thom integrato nel pannello meteo: il riquadro separato resta disattivato. */
.thom-card,.thom-toggle{display:none!important}.weather-thom{--thom:#16865a;grid-column:1/-1;margin-top:12px;padding:13px;border:1px solid rgba(255,255,255,.28);border-left:5px solid var(--thom);border-radius:15px;background:rgba(255,255,255,.12)}.weather-thom[hidden]{display:none}.weather-thom[data-level="weak"]{--thom:#f1c04e}.weather-thom[data-level="discomfort"]{--thom:#f09b3d}.weather-thom[data-level="strong"],.weather-thom[data-level="persistent"]{--thom:#ff6b61}.weather-thom-head{display:grid;grid-template-columns:35px 1fr auto;gap:9px;align-items:center}.weather-thom-head>span{width:34px;height:34px;border-radius:10px;background:var(--thom);color:#fff;display:grid;place-items:center;font-weight:950}.weather-thom-head small,.weather-thom-head b{display:block}.weather-thom-head small{font-size:8px;letter-spacing:.1em;opacity:.75}.weather-thom-head b{font-size:14px;margin-top:2px}.weather-thom a{color:#fff;font-size:9px;font-weight:900}.weather-thom-days{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.weather-thom-days>div{padding:9px;border-radius:11px;background:rgba(0,0,0,.13)}.weather-thom-days span,.weather-thom-days small{display:block;font-size:8px}.weather-thom-days b{display:block;font-size:20px;margin:2px 0}.weather-thom>p{margin:8px 0 0;padding:7px;border-radius:9px;background:rgba(255,255,255,.13);font-size:9px}.weather-thom footer{display:flex;justify-content:space-between;gap:8px;margin-top:9px}.weather-thom footer small{font-size:8px;opacity:.75}@media(max-width:759px){.weather-thom{padding:11px}.weather-thom-head{grid-template-columns:31px 1fr auto}.weather-thom-head>span{width:30px;height:30px}.weather-thom-head b{font-size:13px}}

/* Correzioni 8.6.20: cinque filtri, mappa dominante e tre suggerimenti. */
.public-main{width:min(1500px,calc(100% - 24px));padding-top:18px}.hero-card.fv-quick-card{padding-bottom:12px!important}.discover-heading h1{font-size:31px}.discover-heading p{font-size:14px}.discover-search-row{margin-top:13px}.discover-filters{margin-top:8px}.explore-layout{grid-template-columns:minmax(0,1fr) 320px;gap:12px}.map-frame,.results-panel{height:calc(100vh - 235px);min-height:72vh;max-height:80vh}.results-panel{min-width:0}.discover-results{overflow:hidden}.discover-more{min-height:48px;margin:10px 12px 14px;border:0;border-radius:12px;background:var(--sf-primary);color:#fff;font-size:12px;font-weight:900;cursor:pointer}.discover-more[hidden]{display:none}.place-sheet.compact{width:min(320px,calc(100vw - 32px))!important;max-height:280px!important;padding:15px!important;overflow:hidden}.place-sheet.compact .place-hero h2{font-size:22px!important;line-height:1.05}.place-sheet.compact .weather-zone,.place-sheet.compact .service-grid,.place-sheet.compact .fountain-vote-counts,.place-sheet.compact .fountain-essential>.fountain-vote-button{display:none!important}.place-sheet.compact .place-actions{margin-top:8px!important}.place-sheet.compact #routePlace{min-height:46px!important}.sensor-popup{max-height:260px;overflow:auto}.maplibregl-popup{max-width:320px!important}
@media(max-width:759px){.public-main{width:100%;padding-top:14px}.discover-heading h1{font-size:25px}.explore-layout{gap:10px}.map-frame{height:53vh;min-height:410px;max-height:560px}.results-panel{height:auto;min-height:0;max-height:none}.discover-results{overflow:visible}.place-sheet.compact{left:8px!important;right:8px!important;bottom:8px!important;width:auto!important;max-height:40vh!important;border-radius:20px!important}.discover-more{margin-top:8px}}

/* Staifresco 8.6.22 — testata editoriale, fascia caldo e footer minimo. */
.discover-heading h1{font-size:clamp(34px,4vw,58px);line-height:.98;max-width:900px;letter-spacing:-.055em}.discover-heading h1 em{color:#087c95;font-style:normal}.discover-heading p{font-size:16px;margin-top:12px;max-width:820px}.heat-strip{--heat-bg:#147b68;display:grid;grid-template-columns:180px 1fr auto;gap:18px;align-items:center;margin-top:19px;padding:17px 20px;border-radius:18px;background:var(--heat-bg);color:#fff;box-shadow:0 8px 18px rgba(16,39,47,.1)}.heat-strip[data-level="weak"]{--heat-bg:#aa7910}.heat-strip[data-level="discomfort"]{--heat-bg:#d06a16}.heat-strip[data-level="strong"],.heat-strip[data-level="persistent"]{--heat-bg:#bd3f32}.heat-strip-value{display:flex;align-items:center;gap:13px;min-width:0}.heat-strip-value b{font-size:40px;line-height:1;letter-spacing:-.06em}.heat-strip-value small{font-size:10px;line-height:1.3;opacity:.88}.heat-strip-copy b,.heat-strip-copy span{display:block}.heat-strip-copy b{font-size:17px}.heat-strip-copy span{margin-top:3px;font-size:11px;opacity:.84}.heat-strip button{min-height:46px;padding:0 17px;border:1px solid rgba(255,255,255,.35);border-radius:12px;background:rgba(255,255,255,.16);color:#fff;font-weight:900;cursor:pointer}.discover-search-row{grid-template-columns:minmax(280px,560px) 180px}.public-footer{width:min(1500px,calc(100% - 32px));margin:0 auto;padding:34px 0 24px;color:var(--sf-muted)}.public-footer-main{display:flex;justify-content:space-between;gap:40px;padding-bottom:25px}.public-footer-main b{color:var(--sf-ink);font-size:18px}.public-footer-main p{font-size:13px;line-height:1.55;margin:8px 0 0}.public-footer-main nav{display:grid;gap:7px;align-content:start}.public-footer-main button{padding:0;border:0;background:transparent;color:var(--sf-muted);font-size:13px;text-align:left;cursor:pointer}.public-footer-main button:hover{text-decoration:underline}.public-footer-legal{display:flex;gap:16px;align-items:center;border-top:1px solid var(--sf-line);padding-top:19px;font-size:11px}.public-footer-legal span{margin-right:auto}.public-footer a{color:inherit}.public-main{padding-bottom:18px}.map-frame,.results-panel{height:calc(100vh - 330px);min-height:68vh;max-height:78vh}
@media(max-width:759px){.discover-heading h1{font-size:31px;max-width:340px}.discover-heading p{font-size:13px;margin-top:8px}.heat-strip{grid-template-columns:1fr auto;margin-top:13px;padding:12px;border-radius:14px;gap:10px}.heat-strip-value{gap:8px}.heat-strip-value b{font-size:31px}.heat-strip-value small{max-width:125px;font-size:8px}.heat-strip-copy{display:none}.heat-strip button{min-height:42px;max-width:125px;padding:0 10px;font-size:10px}.discover-search-row{grid-template-columns:1fr;margin-top:11px}.map-frame{height:54vh;min-height:390px}.public-footer{width:calc(100% - 24px);padding:25px 0 calc(20px + env(safe-area-inset-bottom))}.public-footer-main{display:grid;gap:20px;padding-bottom:20px}.public-footer-main nav{gap:11px}.public-footer-legal{display:grid;gap:9px}.public-footer-legal span{margin:0;line-height:1.55}}

/* Staifresco 8.6.23 — una sola azione GPS e barra ricerca più ampia. */
.heat-strip>a{min-height:46px;padding:0 17px;border:1px solid rgba(255,255,255,.35);border-radius:12px;background:rgba(255,255,255,.16);color:#fff;font-size:12px;font-weight:900;text-decoration:none;display:flex;align-items:center;gap:10px}.heat-strip>a:hover{background:rgba(255,255,255,.24)}.heat-strip>button{display:none}.discover-search-row{grid-template-columns:minmax(0,1fr) 260px;gap:14px}.discover-search,.discover-search-row .fv-find{height:62px!important;min-height:62px!important}.discover-search input{font-size:17px}.discover-search-row .fv-find b{font-size:15px!important}.discover-search-row .fv-find small{font-size:10px!important}
@media(max-width:759px){.heat-strip>a{min-height:42px;max-width:145px;padding:0 10px;font-size:9px;line-height:1.2}.discover-search-row{grid-template-columns:1fr;margin-top:11px}.discover-search,.discover-search-row .fv-find{height:50px!important;min-height:50px!important}.discover-search input{font-size:14px}}

/* Staifresco 8.6.24 — disagio caldo nella barra principale. */
.app.fv-app{padding-top:76px}.fv-topbar{--header-heat:#147b68;height:76px!important;background:var(--header-heat)!important;color:#fff!important;border:0!important;padding-left:max(20px,calc((100vw - 1500px)/2))!important;padding-right:max(20px,calc((100vw - 1500px)/2))!important}.fv-topbar[data-level="weak"]{--header-heat:#aa7910}.fv-topbar[data-level="discomfort"]{--header-heat:#d06a16}.fv-topbar[data-level="strong"],.fv-topbar[data-level="persistent"]{--header-heat:#bd3f32}.fv-topbar .brand{flex:0 1 250px;color:#fff}.fv-topbar .brand-copy b,.fv-topbar .brand-copy small,.fv-topbar .brand-copy em{color:#fff!important}.fv-topbar .brand-copy small,.fv-topbar .brand-copy em{opacity:.8}.topbar-heat{display:flex;align-items:center;gap:14px;min-width:0;margin-right:auto}.topbar-heat>b{font-size:35px;line-height:1;letter-spacing:-.06em}.topbar-heat>span{display:grid;gap:2px}.topbar-heat strong{font-size:13px}.topbar-heat small{font-size:9px;opacity:.8}.topbar-thom-link{min-height:40px;padding:0 12px;border-radius:10px;color:#fff;display:flex;align-items:center;font-size:11px;font-weight:850;text-decoration:none}.topbar-thom-link:hover{background:rgba(255,255,255,.14)}.header-links button{color:#fff}.header-links button:hover{background:rgba(255,255,255,.14)}.fv-topbar .weather-pill{background:rgba(255,255,255,.14)!important;color:#fff!important}.fv-topbar .weather-pill small{color:#fff!important;opacity:.8}.menu-button{background:rgba(0,0,0,.28)!important;border-color:rgba(255,255,255,.25)!important}.menu-button span{background:#fff!important}.heat-strip{display:none!important}.map-frame,.results-panel{height:calc(100vh - 276px);min-height:70vh}.weather-alert{top:86px!important}.drawer,.place-sheet{top:92px!important}
@media(max-width:759px){.app.fv-app{padding-top:68px}.fv-topbar{height:68px!important;padding:0 9px!important;gap:7px}.fv-topbar .brand{flex:1 1 auto;min-width:90px}.fv-topbar .brand-copy b{font-size:14px!important}.fv-topbar .brand-copy small{font-size:7px!important}.topbar-heat{margin:0;gap:6px}.topbar-heat>b{font-size:25px}.topbar-heat strong{font-size:9px;max-width:92px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-heat small{font-size:7px;max-width:105px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-links{display:flex}.header-links #headerSuggest{display:none}.topbar-thom-link{width:40px;min-height:40px;padding:0;font-size:0;justify-content:center}.topbar-thom-link:before{content:'TH';font-size:9px;font-weight:950}.fv-topbar .weather-pill{display:none}.menu-button{width:40px!important;height:40px!important;flex-basis:40px}.public-main{padding-top:12px}.weather-alert{top:76px!important}.drawer,.place-sheet{top:auto!important}}
@media(max-width:370px){.fv-topbar .brand-copy small{display:none}.topbar-heat small{display:none}.topbar-heat strong{max-width:75px}}

/* Staifresco 8.6.26 — scheda fontanelle compatta e senza badge istituzionale. */
.place-sheet.fountain-sheet.compact{max-height:360px!important;overflow:auto!important}.place-sheet.fountain-sheet.compact .fountain-essential{margin-bottom:8px}.place-sheet.fountain-sheet.compact .place-actions{position:sticky!important;bottom:-15px!important;background:linear-gradient(transparent 0,#fff 20%)!important;padding-top:18px!important}.place-sheet.fountain-sheet .municipal-badge{display:none!important}
@media(max-width:759px){.place-sheet.fountain-sheet.compact{max-height:46dvh!important;overflow:auto!important;padding-bottom:calc(12px + env(safe-area-inset-bottom))!important}.place-sheet.fountain-sheet.compact .place-actions{bottom:calc(-12px - env(safe-area-inset-bottom))!important;padding-bottom:calc(8px + env(safe-area-inset-bottom))!important}}

/* TEST 8.7 — applicazione cartografica full-screen, MapLibre nativo e patrocinio contestuale. */
:root{--sf-panel:rgba(255,255,255,.96);--sf-map-shadow:0 8px 28px rgba(17,38,43,.16);--sf-touch:44px}
html,body{height:100%;overflow:hidden}.app.fv-app{height:100dvh;padding-top:76px;background:#dbe6e3}.public-main{position:relative;width:100%;height:calc(100dvh - 76px);padding:0!important}.explore-layout{display:block!important;width:100%;height:100%;margin:0!important}.map-frame{position:absolute;inset:0;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;border:0!important;border-radius:0!important}.map{height:100%!important}.hero-card.fv-quick-card{position:absolute!important;z-index:24;top:18px;left:18px;right:auto;bottom:auto!important;width:min(610px,calc(100vw - 390px));padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}.discover-heading{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.discover-search-row{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:8px;margin:0!important}.discover-search,.open-now-toggle,.discover-search-row .fv-find{height:52px!important;min-height:52px!important;border:1px solid rgba(16,43,49,.1)!important;border-radius:16px!important;background:var(--sf-panel)!important;color:#102b31!important;box-shadow:var(--sf-map-shadow)!important}.discover-search{padding:0 15px}.discover-search-row .fv-find{width:auto!important;grid-template-columns:24px auto!important;padding:0 15px!important}.discover-search-row .fv-find small{display:none!important}.open-now-toggle{padding:0 15px;font-weight:900;cursor:pointer}.open-now-toggle.active{background:#0a8665!important;color:#fff!important}.discover-filters{display:flex;margin:9px 0 0!important;padding:0!important;gap:7px;overflow:auto;scrollbar-width:none}.discover-filters button{flex:0 0 auto;min-height:46px;border:1px solid rgba(16,43,49,.1)!important;border-radius:14px!important;background:var(--sf-panel)!important;box-shadow:0 5px 18px rgba(17,38,43,.12)!important;color:#102b31!important}.discover-filters button.active{background:#0a8665!important;color:#fff!important;border-color:#0a8665!important}.results-panel{position:absolute;z-index:23;top:18px;right:18px;width:320px;height:auto!important;min-height:0!important;max-height:calc(100% - 36px)!important;border:1px solid rgba(16,43,49,.1)!important;border-radius:20px!important;background:var(--sf-panel)!important;box-shadow:var(--sf-map-shadow)!important}.discover-results{max-height:360px;overflow:auto}.territory-directory,.public-footer{display:none!important}.recenter-map{top:auto!important;left:auto!important;right:18px!important;bottom:18px!important;width:auto!important;min-width:52px!important;padding:0 16px!important}.recenter-map span{display:inline!important}.map-legend-button{position:absolute;z-index:10;right:18px;bottom:82px;width:52px;height:52px;border:1px solid rgba(16,43,49,.1);border-radius:16px;font-size:19px;font-weight:950;box-shadow:var(--sf-map-shadow);cursor:pointer}.territory-endorsement{position:absolute;z-index:9;left:18px;bottom:18px;display:flex;align-items:center;gap:10px;max-width:360px;padding:9px 12px;border:1px solid rgba(16,43,49,.1);border-radius:14px;box-shadow:var(--sf-map-shadow)}.territory-endorsement[hidden]{display:none}.territory-endorsement span{max-width:145px;padding:6px;border:1px dashed #738087;border-radius:7px;font-size:7px;font-weight:900;line-height:1.2}.territory-endorsement b,.territory-endorsement small{display:block}.territory-endorsement b{font-size:11px}.territory-endorsement small{margin-top:2px;font-size:8px;color:#66737a}.topbar-temperature{display:flex;align-items:center;gap:10px;min-height:54px;padding:0 14px;border:0;border-right:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;cursor:pointer}.topbar-temperature>b{font-size:35px;line-height:1}.topbar-temperature small{font-size:10px;color:#fff}.topbar-heat strong{text-transform:uppercase;letter-spacing:.04em}.sidebar-link{display:flex;align-items:center;min-height:44px;padding:9px 11px;border-radius:11px;background:var(--soft);color:inherit;font-weight:750;text-decoration:none}.dev-only{border:1px dashed #d7991b;border-radius:12px;padding:7px 10px}.maplibregl-ctrl-attrib{font-size:9px!important}.maplibregl-popup{z-index:30}
@media(prefers-color-scheme:dark){:root{--sf-panel:rgba(24,31,34,.96)}.hero-card,.results-panel,.map-legend-button,.recenter-map,.territory-endorsement{color:#f4f7f7}.discover-search input{color:#f4f7f7}.discover-filters button,.discover-search,.open-now-toggle,.discover-search-row .fv-find{color:#f4f7f7!important}.result-copy small,.result-copy em,.territory-endorsement small{color:#b9c4c7!important}}
@media(max-width:759px){html,body{overflow:hidden!important}.app.fv-app{height:100dvh;padding-top:68px}.public-main{height:calc(100dvh - 68px);padding:0!important}.hero-card.fv-quick-card{top:10px;left:10px;right:10px;width:auto}.discover-search-row{grid-template-columns:minmax(0,1fr) 48px}.discover-search-row .fv-find{grid-column:2;width:48px!important;padding:0!important;display:grid!important;place-items:center}.discover-search-row .fv-find b,.discover-search-row .fv-find small{display:none!important}.open-now-toggle{grid-column:1/3;grid-row:2;width:max-content;height:44px!important;min-height:44px!important;padding:0 13px}.discover-filters{margin-top:-44px!important;margin-left:130px!important;padding-bottom:2px!important}.discover-filters button{min-height:44px!important;padding:0 12px!important}.results-panel{display:none!important}.recenter-map{right:10px!important;bottom:12px!important;width:50px!important;min-width:50px!important;padding:0!important}.recenter-map span{display:none!important}.map-legend-button{right:10px;bottom:72px;width:50px;height:50px}.territory-endorsement{left:10px;right:72px;bottom:12px;max-width:none;padding:7px 9px}.territory-endorsement span{display:none!important}.territory-endorsement b{font-size:9px}.territory-endorsement small{font-size:7px}.topbar-temperature{min-height:48px;padding:0 8px;gap:5px}.topbar-temperature>b{font-size:26px}.topbar-temperature small{font-size:7px}.topbar-heat strong{font-size:8px!important}.topbar-heat small{font-size:7px!important}.place-sheet.compact{max-height:40dvh!important}.maplibregl-ctrl-bottom-left{bottom:62px}.weather-alert{z-index:40}}

/* TEST 8.7.3 - rifinitura schermata principale prima del menu. */
.fv-topbar .brand-copy em{display:block;max-width:230px;margin-top:2px;font-size:7px;font-style:normal;font-weight:750;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fv-topbar .brand-copy em[hidden]{display:none}.location-arrow{display:grid!important;place-items:center}.location-arrow svg{width:21px;height:21px;fill:currentColor}.results-panel{width:clamp(290px,22vw,330px)!important}.hero-card.fv-quick-card{width:min(650px,calc(100vw - 380px))}.discover-search-row .fv-find{white-space:nowrap}
@media(max-width:900px){
 .app.fv-app{padding-top:68px}.public-main{height:calc(100dvh - 68px)}
 .fv-topbar{height:68px!important;padding:0 9px!important}.fv-topbar .brand-copy em{max-width:130px;font-size:6px}.results-panel{display:none!important}
 .hero-card.fv-quick-card{top:10px;left:10px;right:10px;width:auto!important}
 .discover-search-row{display:grid!important;grid-template-columns:minmax(0,1fr) 116px!important;gap:7px!important}
 .discover-search{grid-column:1;grid-row:1;height:50px!important;min-height:50px!important}
 .discover-search-row .fv-find{grid-column:2!important;grid-row:1!important;width:116px!important;height:50px!important;min-height:50px!important;padding:0 11px!important;display:grid!important;grid-template-columns:22px 1fr!important;gap:6px!important;place-items:center!important}
 .discover-search-row .fv-find b{display:block!important;font-size:11px!important}.discover-search-row .fv-find small{display:none!important}.location-arrow svg{width:19px;height:19px}
 .open-now-toggle{grid-column:1/3!important;grid-row:2!important;width:max-content!important;height:40px!important;min-height:40px!important;padding:0 12px!important;font-size:11px}
 .discover-filters{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px!important;margin:7px 0 0!important;padding:0!important;overflow:visible!important}
 .discover-filters button{width:100%;min-width:0;min-height:40px!important;padding:5px 7px!important;border-radius:12px!important;font-size:9px!important;line-height:1.12;white-space:normal;box-shadow:0 3px 12px rgba(17,38,43,.1)!important}
 .territory-endorsement{left:10px;right:72px;bottom:12px;max-width:none}
}
@media(max-width:370px){.discover-search-row{grid-template-columns:minmax(0,1fr) 104px!important}.discover-search-row .fv-find{width:104px!important}.discover-search-row .fv-find b{font-size:10px!important}.discover-filters button{font-size:8px!important}.fv-topbar .brand-copy em{max-width:100px}}
.user-location-marker:after{display:none!important}

/* TEST 8.7.4 — patrocinio contestuale e provenienza del singolo dataset. */
@media(min-width:901px){
 .results-panel{top:132px!important;right:18px!important;width:300px!important;max-height:min(620px,calc(100% - 150px))!important}
 .discover-results{max-height:330px!important}
 .discover-result{padding:11px 12px!important}
 .discover-result .result-icon{width:42px!important;height:42px!important}
 .territory-endorsement{left:18px!important;right:auto!important;bottom:18px!important;max-width:390px!important}
 .recenter-map{right:18px!important;bottom:92px!important}
 .map-legend-button{right:18px!important;bottom:154px!important}
}
.place-data-provenance dl{margin:10px 0;display:grid;gap:7px}.place-data-provenance dl>div{display:grid;grid-template-columns:88px 1fr;gap:9px}.place-data-provenance dt{font-size:11px;font-weight:850;color:var(--sf-muted)}.place-data-provenance dd{margin:0;font-size:12px;font-weight:750}.place-data-provenance a,.score-independence a{color:var(--sf-primary);font-weight:850}.score-independence{border-left:4px solid #087c95!important}.score-independence p{font-size:12px!important;line-height:1.45}
.territory-endorsement{text-decoration:none;color:inherit}.territory-endorsement em{display:block;margin-top:4px;color:#087c95;font-size:8px;font-style:normal;font-weight:900}.territory-endorsement:hover{box-shadow:0 10px 30px rgba(17,38,43,.22)!important}

/* TEST 8.7.6 — burger menu unico: layer, azioni, legenda, fonti e privacy. */
.main-sidebar{inset:0 0 0 auto!important;width:min(440px,100vw)!important;padding:max(16px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom))!important;border-radius:24px 0 0 24px!important;transform:translateX(calc(100% + 20px))!important;background:var(--sf-panel)!important}
.main-sidebar.open{transform:translateX(0)!important}.sidebar-head{padding:0 0 14px!important}.sidebar-head h2{margin:0!important;font-size:25px!important;letter-spacing:-.035em}.sidebar-head small{display:block;margin-top:2px;color:var(--muted);font-size:11px}.sidebar-body{gap:11px!important;padding-top:12px!important}.sidebar-patronage{display:flex;align-items:center;justify-content:space-between;gap:13px;padding:11px 12px;border:1px solid #cfe8d9;border-radius:14px;background:#eff9f3}.sidebar-patronage[hidden]{display:none!important}.sidebar-patronage div{min-width:0}.sidebar-patronage b,.sidebar-patronage small{display:block}.sidebar-patronage b{color:#147b49;font-size:12px;line-height:1.25}.sidebar-patronage small{margin-top:3px;color:#66737a;font-size:8px}.sidebar-patronage>span{flex:0 0 86px;padding:8px 6px;border:1px dashed #75838a;border-radius:8px;background:#fff;color:#28363b;font-size:7px;font-weight:900;line-height:1.25;text-align:center}.sidebar-section h3{margin:0 0 4px!important;color:var(--muted);font-size:9px!important;letter-spacing:.1em;text-transform:uppercase}.layer-toggle{display:grid!important;grid-template-columns:38px minmax(0,1fr) 48px;min-height:58px!important;gap:10px!important;padding:7px 2px!important}.layer-toggle>span:not(.menu-layer-icon){display:grid;gap:2px;min-width:0}.layer-toggle>span:not(.menu-layer-icon) b{font-size:13px}.layer-toggle>span:not(.menu-layer-icon) small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.menu-layer-icon{width:36px;height:36px;border-radius:10px;display:grid!important;place-items:center;font-size:16px}.menu-layer-icon.indoor{background:#efecff}.menu-layer-icon.water{background:#e8f4ff}.menu-layer-icon.park{background:#e7f6ee}.menu-layer-icon.sensors{background:#eef1f3}.layer-toggle>i{justify-self:end}.sidebar-actions{gap:5px!important}.sidebar-actions>button{min-height:52px!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;padding:7px 3px!important;grid-template-columns:36px 1fr!important}.sidebar-actions>button:hover,.sidebar-details button:hover,.sidebar-link:hover{background:var(--soft)!important}.sidebar-actions>button>span{width:34px!important;height:34px!important}.sidebar-actions .suggest-action>span{background:#1769ff!important;color:#fff}.sidebar-details{padding-top:2px!important}.sidebar-details summary{min-height:44px!important;color:#3b484e;font-size:10px!important;letter-spacing:.08em;text-transform:uppercase}.sidebar-details>div{gap:6px!important}.sidebar-details button,.sidebar-link{min-height:44px!important}.sidebar-link{display:grid!important;align-content:center;gap:2px}.sidebar-link small{display:block;color:var(--muted);font-size:8px}.menu-inline-info{padding:10px 11px;border-radius:11px;background:var(--soft)}.menu-inline-info b{display:block;font-size:11px}.menu-inline-info p{margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.45}.menu-inline-info a{display:inline-block;margin-top:6px;color:#087c95;font-size:9px;font-weight:850}.menu-data-sources{display:grid;gap:5px;padding:10px 11px;border-radius:11px;background:var(--soft)}.menu-data-sources>b{font-size:11px}.menu-data-sources>a{display:grid;gap:2px;padding:7px 0;border-top:1px solid var(--line);color:inherit;text-decoration:none}.menu-data-sources>a span{font-size:10px;font-weight:800}.menu-data-sources>a small,.menu-data-sources>small{color:var(--muted);font-size:8px}.map-legend-button{display:none!important}
@media(max-width:600px){.main-sidebar{width:100vw!important;border-radius:0!important;padding-left:16px!important;padding-right:16px!important}.sidebar-patronage>span{flex-basis:76px}.sidebar-body{padding-bottom:20px!important}}
@media(prefers-color-scheme:dark){.sidebar-patronage{border-color:#315c49;background:#173b2d}.sidebar-patronage b{color:#8be0b3}.sidebar-patronage>span{border-color:#7b898f;background:#20292c;color:#f4f7f7}.menu-layer-icon{filter:saturate(.8) brightness(.8)}.sidebar-details summary{color:#dbe3e5}}
.menu-data-sources>a,.menu-source-static{display:grid;gap:2px;padding:7px 0;border-top:1px solid var(--line);color:inherit;text-decoration:none}.menu-data-sources span{font-size:10px;font-weight:800}.menu-data-sources small{color:var(--muted);font-size:8px;line-height:1.35}.menu-data-sources em{color:#087c95;font-size:8px;font-style:normal;font-weight:850}.menu-municipality-logo{width:86px;max-height:52px;object-fit:contain}

/* TEST 8.7.7 — mobile compatto, ricerca/GPS unificati e patrocinio temporaneo. */
.test-environment-banner{padding:3px 10px;border-radius:0 0 9px 9px;font-size:8px;letter-spacing:.1em;pointer-events:none}.fv-topbar .brand-copy em{display:none!important}.discover-search-row{display:block!important;width:100%!important}.discover-search{position:relative;width:100%;grid-template-columns:32px minmax(0,1fr) 48px!important;padding:0 4px 0 12px!important}.discover-search input{min-width:0;height:100%;padding-right:4px}.search-gps{width:44px;height:44px;min-width:44px;border:0;border-radius:12px;background:#0a8665;color:#fff;display:grid;place-items:center;cursor:pointer}.search-gps:hover{background:#087557}.search-gps .location-arrow svg{width:19px;height:19px}.discover-filters{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}.discover-filters::-webkit-scrollbar{display:none}.discover-filters button{flex:0 0 auto!important;min-height:44px!important;scroll-snap-align:start;white-space:nowrap!important}.discover-filters button.active{background:#0a8665!important;border-color:#0a8665!important;color:#fff!important}.main-sidebar{background:#f7faf9!important;color:#102b31!important;opacity:1!important;backdrop-filter:none!important}.sidebar-head{border-bottom:0!important}.sidebar-body{gap:8px!important}.sidebar-actions>button{border:0!important;border-radius:12px!important;padding:8px!important}.sidebar-actions>button+button{margin-top:3px}.sidebar-details{border-top:0!important}.sidebar-details summary{border:0!important;border-radius:10px;padding:0 8px!important}.sidebar-details[open] summary{background:#e8f1ee}.sidebar-details>div{padding:6px 2px 2px!important}.sidebar-details button,.sidebar-link{border:0!important;border-radius:10px!important;background:transparent!important}.menu-inline-info,.menu-data-sources{border:0!important;background:#edf3f1!important}.sidebar-patronage{display:grid!important;grid-template-columns:78px minmax(0,1fr);justify-content:stretch!important;padding:10px!important;border:0!important;background:#e7f4ee!important}.sidebar-patronage[hidden]{display:none!important}.sidebar-patronage picture{width:72px;height:52px;display:grid;place-items:center}.sidebar-patronage picture[hidden]{display:none}.sidebar-patronage div{display:grid;gap:2px}.sidebar-patronage div>small:first-child{color:#147b49;font-weight:850}.sidebar-patronage a{margin-top:3px;color:#087c95;font-size:8px;font-weight:850}.menu-municipality-logo{width:72px;height:50px;max-height:50px;object-fit:contain}.territory-endorsement{appearance:none;text-align:left;cursor:pointer;transition:opacity .3s ease,transform .3s ease}.territory-endorsement.dismissing{opacity:0!important;transform:translateY(10px);pointer-events:none!important}.territory-endorsement picture{flex:0 0 92px;width:92px;height:48px;display:grid;place-items:center}.territory-endorsement picture[hidden]{display:none}.territory-endorsement img{width:92px;height:48px;object-fit:contain}.territory-endorsement em{pointer-events:none}.recenter-map{width:50px!important;min-width:50px!important;height:50px!important;padding:0!important;justify-content:center}.recenter-map span{display:none!important}
@media(prefers-color-scheme:dark){.main-sidebar{background:#0f302c!important;color:#f3f8f6!important}.sidebar-head small,.sidebar-details button small,.sidebar-link small,.menu-inline-info p,.menu-data-sources small{color:#b8cbc5!important}.sidebar-details summary{color:#e8f2ef!important}.sidebar-details[open] summary{background:#17423b}.sidebar-actions>button,.sidebar-details button,.sidebar-link{color:#f3f8f6!important}.sidebar-actions>button:hover,.sidebar-details button:hover,.sidebar-link:hover{background:#17423b!important}.menu-inline-info,.menu-data-sources{background:#153b35!important;color:#f3f8f6!important}.sidebar-patronage{background:#164238!important}.sidebar-patronage b{color:#eaf8f2!important}.sidebar-patronage small{color:#b9d1c9!important}.discover-search,.discover-filters button{background:#182124!important;color:#f4f7f7!important;border-color:#344348!important}.search-gps{background:#17a17c}.territory-endorsement{background:#182124!important;color:#f4f7f7!important}}
@media(prefers-reduced-motion:reduce){.main-sidebar,.territory-endorsement{transition-duration:.01ms!important}.discover-filters{scroll-behavior:auto!important}}
@media(max-width:900px){.app.fv-app{padding-top:72px!important}.public-main{height:calc(100dvh - 72px)!important}.fv-topbar{height:72px!important;min-height:72px!important;padding:5px 8px 0!important;gap:6px!important}.fv-topbar .brand{flex:1 1 auto!important;min-width:112px!important;gap:7px}.fv-topbar .brand-mark{width:38px!important;height:38px!important;flex:0 0 38px!important}.fv-topbar .brand-copy b{font-size:14px!important;line-height:1!important}.fv-topbar .brand-copy small{font-size:7px!important;margin-top:3px}.topbar-temperature{min-height:44px!important;height:44px!important;padding:0 7px!important;gap:4px!important}.topbar-temperature>b{font-size:24px!important}.topbar-temperature small{max-width:54px;font-size:7px!important;line-height:1.2}.topbar-heat{flex:0 1 96px!important;min-width:0!important;margin:0!important;padding:0 5px}.topbar-heat strong{font-size:8px!important;line-height:1.15}.topbar-heat small{font-size:6px!important;line-height:1.15}.topbar-thom-link,.header-links{display:none!important}.menu-button{width:42px!important;height:42px!important;flex:0 0 42px!important}.hero-card.fv-quick-card{top:9px!important;left:9px!important;right:9px!important;width:auto!important}.discover-search-row{display:block!important}.discover-search{height:50px!important;min-height:50px!important}.discover-filters{margin:7px -9px 0 0!important;padding:0 9px 2px 0!important;gap:6px!important}.discover-filters button{width:auto!important;min-width:max-content!important;padding:0 13px!important;font-size:10px!important;line-height:1!important}.territory-endorsement{left:10px!important;right:72px!important;bottom:max(10px,env(safe-area-inset-bottom))!important;max-width:390px!important;min-height:62px;padding:7px 9px!important}.territory-endorsement picture{flex-basis:72px;width:72px;height:42px}.territory-endorsement img{width:72px;height:42px}.territory-endorsement b{font-size:9px!important;line-height:1.2}.territory-endorsement small{font-size:7px!important}.territory-endorsement em{font-size:7px!important}.recenter-map{right:10px!important;bottom:max(10px,env(safe-area-inset-bottom))!important}.main-sidebar{width:100vw!important;max-width:none!important;border-radius:0!important;padding-top:max(18px,env(safe-area-inset-top))!important;padding-bottom:max(18px,env(safe-area-inset-bottom))!important}.sidebar-head h2{font-size:22px!important}.sidebar-head .xbtn{width:44px!important;height:44px!important}.sidebar-body{padding-bottom:16px!important}.weather-alert{top:80px!important}}
@media(max-width:430px){.fv-topbar .brand-copy b{font-size:13px!important}.topbar-temperature>b{font-size:22px!important}.topbar-heat{flex-basis:88px!important}.topbar-heat strong{max-width:84px!important}.discover-filters button{font-size:9px!important;padding:0 11px!important}}

/* TEST 8.7.8 — correzione finale UI mobile e menu senza duplicati. */
.discover-search-row{display:block!important;margin:0!important}.discover-search{display:grid!important;grid-template-columns:24px minmax(0,1fr) 44px!important;align-items:center;width:100%!important;height:50px!important;min-height:50px!important;padding:0 4px 0 13px!important}.discover-search>span{font-size:17px;color:var(--sf-muted)}.discover-search input{width:100%;height:100%;border:0;background:transparent;outline:0}.search-gps{width:44px;height:44px;min-width:44px;min-height:44px;border:0;border-radius:12px;background:#0a8665;color:#fff;display:grid;place-items:center;cursor:pointer}.search-gps:focus-visible{outline:3px solid #ffd257;outline-offset:2px}.search-gps .location-arrow,.search-gps svg{display:block;width:19px;height:19px}.search-gps svg{fill:currentColor}.discover-filters{display:flex!important;flex-wrap:nowrap!important;gap:8px!important;margin:8px 0 0!important;padding:0 2px 2px 0!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch}.discover-filters::-webkit-scrollbar{display:none}.discover-filters button{flex:0 0 auto!important;width:auto!important;min-width:max-content!important;min-height:42px!important;height:42px!important;padding:0 13px!important;border-radius:999px!important;font-size:14px!important;line-height:1!important;white-space:nowrap!important}.discover-filters button.active{background:#0a8665!important;border-color:#0a8665!important;color:#fff!important}.main-sidebar{background:#f7faf9!important;color:#102b31!important;opacity:1!important;backdrop-filter:none!important}.sidebar-body{gap:7px!important}.sidebar-patronage{display:grid!important;grid-template-columns:74px minmax(0,1fr);gap:9px;align-items:center;padding:9px!important;border:0!important;border-radius:13px;background:#e7f4ee!important}.sidebar-patronage[hidden]{display:none!important}.sidebar-patronage picture{width:70px;height:54px;display:grid;place-items:center;padding:4px;border-radius:8px;background:#fff}.sidebar-patronage picture[hidden]{display:none!important}.sidebar-patronage div{display:grid;gap:2px;min-width:0}.sidebar-patronage div>small:first-child{color:#147b49;font-size:9px;font-weight:850}.sidebar-patronage b{font-size:12px;line-height:1.2}.sidebar-patronage small{font-size:8px}.sidebar-patronage button{min-height:32px!important;padding:0!important;border:0!important;background:transparent!important;color:#087c95!important;text-align:left;font-size:9px!important;font-weight:850;cursor:pointer}.menu-municipality-logo{display:block;width:66px;height:48px;max-height:48px;object-fit:contain}.sidebar-actions>button{min-height:52px!important;padding:8px 9px!important}.sidebar-actions>button>span{width:30px!important;height:30px!important;font-size:14px!important}.sidebar-actions b{font-size:12px!important}.sidebar-actions small{font-size:9px!important}.sidebar-details{border:0!important}.sidebar-details summary{min-height:44px!important;padding:0 9px!important;border:0!important;border-radius:10px;font-size:11px!important;letter-spacing:.08em}.sidebar-details[open] summary{background:#e8f1ee}.sidebar-details>div{padding:5px 1px 2px!important}.sidebar-details button,.sidebar-link{min-height:44px!important;border:0!important;border-radius:10px!important;background:transparent!important}.explorer-link{display:grid!important;grid-template-columns:32px minmax(0,1fr)!important;gap:8px!important;background:#e7f4ee!important}.explorer-link>span:first-child{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#0a8665;color:#fff}.explorer-link span:last-child{display:grid}.dev-tools{margin-top:6px;padding:8px;border:1px dashed #c39128;border-radius:10px}.dev-tools>b{font-size:9px}.dev-tools>div{display:flex;flex-wrap:wrap;gap:4px;margin:5px 0}.dev-tools button{min-height:34px!important;padding:0 8px!important;background:#fff!important}.menu-inline-info,.menu-data-sources{border:0!important;border-radius:10px!important;background:#edf3f1!important}.territory-endorsement{appearance:none;text-align:left;cursor:pointer;transition:opacity .3s ease,transform .3s ease}.territory-endorsement.dismissing{opacity:0!important;transform:translateY(10px);pointer-events:none!important}.territory-endorsement picture{flex:0 0 82px;width:82px;height:50px;display:grid;place-items:center;padding:3px;border-radius:8px;background:#fff}.territory-endorsement picture[hidden]{display:none!important}.territory-endorsement img{display:block;width:76px;height:46px;object-fit:contain}.territory-endorsement em{pointer-events:none}.recenter-map{width:50px!important;min-width:50px!important;height:50px!important;padding:0!important;justify-content:center}.recenter-map span{display:none!important}
@media(prefers-color-scheme:dark){.main-sidebar{background:#0f302c!important;color:#f3f8f6!important}.sidebar-head small,.sidebar-details button small,.sidebar-link small,.menu-inline-info p,.menu-data-sources small{color:#b8cbc5!important}.sidebar-details summary{color:#e8f2ef!important}.sidebar-details[open] summary{background:#17423b}.sidebar-actions>button,.sidebar-details button,.sidebar-link{color:#f3f8f6!important}.sidebar-actions>button:hover,.sidebar-details button:hover,.sidebar-link:hover{background:#17423b!important}.menu-inline-info,.menu-data-sources{background:#153b35!important;color:#f3f8f6!important}.sidebar-patronage{background:#164238!important}.sidebar-patronage picture,.territory-endorsement picture{background:#fff}.sidebar-patronage b{color:#eaf8f2!important}.sidebar-patronage small{color:#b9d1c9!important}.discover-search,.discover-filters button{background:#182124!important;color:#f4f7f7!important;border-color:#344348!important}.search-gps{background:#17a17c}.territory-endorsement{background:#182124!important;color:#f4f7f7!important}}
@media(max-width:900px){.app.fv-app{padding-top:66px!important}.public-main{height:calc(100dvh - 66px)!important}.fv-topbar{height:66px!important;min-height:66px!important;padding:4px 7px 0!important;gap:5px!important}.fv-topbar .brand{min-width:106px!important;gap:6px}.fv-topbar .brand-mark{width:36px!important;height:36px!important;flex-basis:36px!important}.topbar-temperature{height:42px!important;min-height:42px!important;padding:0 6px!important}.topbar-heat{flex-basis:86px!important;padding:0 4px!important}.menu-button{width:40px!important;height:40px!important;flex-basis:40px!important}.hero-card.fv-quick-card{top:7px!important;left:8px!important;right:8px!important}.discover-search{height:50px!important;min-height:50px!important}.discover-filters{margin:7px -8px 0 0!important;padding-right:8px!important}.territory-endorsement{left:9px!important;right:70px!important;bottom:max(9px,env(safe-area-inset-bottom))!important;max-width:380px!important;min-height:60px;padding:6px 8px!important}.territory-endorsement picture{flex-basis:66px;width:66px;height:42px}.territory-endorsement img{width:62px;height:38px}.territory-endorsement b{font-size:9px!important}.territory-endorsement small,.territory-endorsement em{font-size:7px!important}.main-sidebar{width:100vw!important;max-width:none!important;border-radius:0!important;padding-top:max(12px,env(safe-area-inset-top))!important;padding-bottom:max(12px,env(safe-area-inset-bottom))!important}.sidebar-head{padding-bottom:5px!important}.sidebar-head h2{font-size:20px!important}.sidebar-head .xbtn{width:44px!important;height:44px!important}.sidebar-body{padding-bottom:12px!important}}
@media(max-width:430px){.discover-filters button{font-size:14px!important;padding:0 12px!important}.fv-topbar .brand-copy b{font-size:13px!important}.topbar-temperature>b{font-size:22px!important}.topbar-heat{flex-basis:82px!important}.topbar-heat strong{max-width:78px!important}}
@media(prefers-reduced-motion:reduce){.main-sidebar,.territory-endorsement{transition-duration:.01ms!important}.discover-filters{scroll-behavior:auto!important}}
@media(max-width:375px){.fv-topbar{gap:4px!important}.fv-topbar .brand{min-width:102px!important}.fv-topbar .brand-mark{width:35px!important;height:35px!important;flex-basis:35px!important}.topbar-temperature{padding:0 4px!important}.topbar-temperature>b{font-size:20px!important}.topbar-temperature small{max-width:45px}.topbar-heat{flex-basis:76px!important;padding:0 2px}.topbar-heat strong{max-width:72px!important;font-size:7px!important}.menu-button{width:40px!important;height:40px!important;flex-basis:40px!important}}

/* Il TEST mantiene esattamente tre fisarmoniche principali; gli strumenti di
   simulazione restano confinati dentro "Scopri". */
.sidebar-patronage picture[hidden] ~ div{grid-column:1 / -1}
.dev-gps-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.dev-gps-actions button{min-height:38px;padding:7px 10px;border:1px solid var(--line)!important;border-radius:10px!important;background:var(--surface)!important;color:var(--ink)!important;font:inherit;font-weight:800}

/* TEST 8.7.9 — Vicino a me distinto dal ricentramento GPS + segnalazioni unificate. */
.discover-search{grid-template-columns:24px minmax(0,1fr) 92px!important}.search-gps.search-nearby{width:92px!important;min-width:92px!important;padding:0 10px!important;border-radius:12px!important;font-weight:850!important;font-size:12px!important;letter-spacing:-.01em;white-space:nowrap}.nearby-label{display:block!important}.nearby-list .place-row{grid-template-columns:30px minmax(0,1fr) 22px!important;align-items:center!important}.nearby-rank{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#0a8665;color:#fff;font-weight:900;font-size:12px}.nearby-place-title{display:flex;align-items:center;gap:7px;min-width:0}.nearby-place-title h3{margin:0}.signal-hub{display:grid;gap:10px}.signal-choice{display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;gap:12px!important;align-items:center!important;width:100%!important;min-height:76px!important;padding:12px!important;border:1px solid var(--sf-line)!important;border-radius:16px!important;background:var(--sf-surface)!important;text-align:left!important}.signal-choice>span:first-child{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#0a8665;color:#fff;font-size:22px;font-weight:900}.signal-choice>span:last-child{display:grid;gap:3px}.signal-choice b{font-size:15px}.signal-choice small{color:var(--sf-muted);line-height:1.35}
@media(max-width:420px){.discover-search{grid-template-columns:22px minmax(0,1fr) 84px!important}.search-gps.search-nearby{width:84px!important;min-width:84px!important;padding:0 7px!important;font-size:11px!important}}
@media(prefers-color-scheme:dark){.signal-choice{background:#182124!important;border-color:#344348!important;color:#f4f7f7!important}.signal-choice small{color:#b8cbc5!important}.nearby-rank{background:#17a17c}}


/* === Staifresco HERO v2 / Thom palette refresh === */
.app.fv-app{padding-top:84px!important}
.public-main{height:calc(100dvh - 84px)!important}
.fv-topbar{
  --hero-surface:rgba(248,250,251,.96);
  --hero-border:rgba(16,43,49,.10);
  --hero-shadow:0 18px 38px rgba(14,31,36,.16);
  --thom-bg:#e9eff2;
  --thom-ink:#102b31;
  height:78px!important;
  min-height:78px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto minmax(160px,220px) auto;
  align-items:center!important;
  gap:10px!important;
  background:var(--hero-surface)!important;
  color:#102b31!important;
  border:1px solid var(--hero-border)!important;
  box-shadow:var(--hero-shadow)!important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  padding-left:max(16px,calc((100vw - 1500px)/2))!important;
  padding-right:max(16px,calc((100vw - 1500px)/2))!important;
}
.fv-topbar[data-level="none"]{--thom-bg:#e9eff2;--thom-ink:#233942}
.fv-topbar[data-level="weak"]{--thom-bg:#e5f6ee;--thom-ink:#146948}
.fv-topbar[data-level="discomfort"]{--thom-bg:#fff0d2;--thom-ink:#8a5a02}
.fv-topbar[data-level="strong"]{--thom-bg:#ffe2d1;--thom-ink:#a54d16}
.fv-topbar[data-level="persistent"]{--thom-bg:#ffd8da;--thom-ink:#a5262b}
.fv-topbar .brand{flex:none!important;min-width:0;color:#102b31!important}
.fv-topbar .brand-mark{background:#0f1720!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 10px 18px rgba(15,23,32,.16)}
.fv-topbar .brand-copy b{font-size:17px!important;line-height:1.02;color:#102b31!important;letter-spacing:-.02em}
.fv-topbar .brand-copy small,.fv-topbar .brand-copy em{color:#5a6972!important;opacity:1!important;letter-spacing:.16em;text-transform:uppercase}
.topbar-temperature{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:54px!important;
  height:54px!important;
  padding:0 16px!important;
  border:1px solid rgba(16,43,49,.08)!important;
  border-right:1px solid rgba(16,43,49,.08)!important;
  border-radius:18px!important;
  background:#fff!important;
  color:#102b31!important;
  box-shadow:0 8px 20px rgba(17,38,43,.08)!important;
}
.topbar-temperature>b{font-size:34px!important;line-height:1;letter-spacing:-.06em;color:#102b31!important}
.topbar-temperature small{font-size:10px!important;line-height:1.2;color:#5a6972!important;white-space:nowrap}
.topbar-heat{
  align-self:stretch;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  margin:0!important;
  padding:0 15px!important;
  border-radius:18px!important;
  background:var(--thom-bg)!important;
  color:var(--thom-ink)!important;
  box-shadow:inset 0 0 0 1px rgba(16,43,49,.06)!important;
}
.topbar-heat::before{
  content:'';
  width:10px;
  height:10px;
  border-radius:999px;
  background:currentColor;
  flex:0 0 auto;
  opacity:.92;
}
.topbar-heat>span{display:grid!important;gap:2px!important;min-width:0}
.topbar-heat strong{display:block;font-size:12px!important;line-height:1.12;color:inherit!important;text-transform:uppercase;letter-spacing:.06em}
.topbar-heat small{display:block;font-size:10px!important;line-height:1.2;color:inherit!important;opacity:.82;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-thom-link{min-height:42px!important;padding:0 13px!important;border:1px solid rgba(16,43,49,.08)!important;border-radius:14px!important;background:#fff!important;color:#102b31!important;display:flex!important;align-items:center!important;font-size:11px!important;font-weight:850!important;text-decoration:none!important;box-shadow:0 8px 18px rgba(17,38,43,.07)!important}
.topbar-thom-link:hover{background:#f4f8fa!important}
.header-links button{min-height:42px!important;padding:0 13px!important;border:1px solid rgba(16,43,49,.08)!important;border-radius:14px!important;background:#fff!important;color:#0a8665!important;font-weight:850!important;box-shadow:0 8px 18px rgba(17,38,43,.07)!important}
.header-links button:hover{background:#eff8f4!important}
.menu-button{background:#fff!important;border:1px solid rgba(16,43,49,.10)!important;box-shadow:0 8px 20px rgba(17,38,43,.08)!important}
.menu-button span{background:#102b31!important}
.weather-alert{top:94px!important}
.drawer,.place-sheet{top:100px!important}
.thom-card{--thom:#137c67!important}
.thom-card[data-level="weak"]{--thom:#1f8f63!important}
.thom-card[data-level="discomfort"]{--thom:#d2a028!important}
.thom-card[data-level="strong"]{--thom:#df6b1f!important}
.thom-card[data-level="persistent"]{--thom:#cb4335!important}
.weather-thom{--thom:#137c67!important}
.weather-thom[data-level="weak"]{--thom:#1f8f63!important}
.weather-thom[data-level="discomfort"]{--thom:#d2a028!important}
.weather-thom[data-level="strong"]{--thom:#df6b1f!important}
.weather-thom[data-level="persistent"]{--thom:#cb4335!important}
.heat-strip{--heat-bg:#137c67!important}
.heat-strip[data-level="weak"]{--heat-bg:#1f8f63!important}
.heat-strip[data-level="discomfort"]{--heat-bg:#d2a028!important}
.heat-strip[data-level="strong"]{--heat-bg:#df6b1f!important}
.heat-strip[data-level="persistent"]{--heat-bg:#cb4335!important}

@media(max-width:900px){
  .app.fv-app{padding-top:78px!important}
  .public-main{height:calc(100dvh - 78px)!important}
  .fv-topbar{grid-template-columns:minmax(0,1fr) auto minmax(96px,1fr) auto;height:74px!important;min-height:74px!important;padding:7px 8px!important;gap:6px!important}
  .fv-topbar .brand{min-width:0!important;gap:7px!important}
  .fv-topbar .brand-mark{width:38px!important;height:38px!important;flex:0 0 38px!important}
  .fv-topbar .brand-copy b{font-size:14px!important}
  .fv-topbar .brand-copy small,.fv-topbar .brand-copy em{font-size:7px!important;letter-spacing:.14em!important}
  .topbar-temperature{min-height:46px!important;height:46px!important;padding:0 10px!important;gap:7px!important;border-radius:15px!important}
  .topbar-temperature>b{font-size:24px!important}
  .topbar-temperature small{font-size:7px!important;line-height:1.15!important;max-width:none!important}
  .topbar-heat{padding:0 10px!important;gap:7px!important;border-radius:15px!important}
  .topbar-heat::before{width:8px;height:8px}
  .topbar-heat strong{font-size:9px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .topbar-heat small{font-size:7px!important;line-height:1.15!important}
  .topbar-thom-link,.header-links{display:none!important}
  .menu-button{width:44px!important;height:44px!important;flex:0 0 44px!important}
  .weather-alert{top:88px!important}
  .drawer,.place-sheet{top:92px!important}
}
@media(max-width:430px){
  .app.fv-app{padding-top:74px!important}
  .public-main{height:calc(100dvh - 74px)!important}
  .fv-topbar{grid-template-columns:minmax(0,1fr) auto minmax(88px,1fr) auto;height:70px!important;min-height:70px!important;padding:6px 7px!important;gap:5px!important}
  .fv-topbar .brand-mark{width:36px!important;height:36px!important;flex-basis:36px!important}
  .fv-topbar .brand-copy b{font-size:13px!important}
  .topbar-temperature{padding:0 8px!important;gap:0!important}
  .topbar-temperature>b{font-size:22px!important}
  .topbar-temperature span{display:none!important}
  .topbar-heat{padding:0 8px!important}
  .topbar-heat strong{font-size:8px!important}
  .topbar-heat small{font-size:6px!important}
  .menu-button{width:42px!important;height:42px!important;flex-basis:42px!important}
  .weather-alert{top:82px!important}
  .drawer,.place-sheet{top:88px!important}
}
@media(max-width:375px){
  .fv-topbar{grid-template-columns:minmax(0,1fr) auto minmax(78px,1fr) auto;gap:4px!important}
  .topbar-temperature{padding:0 7px!important}
  .topbar-heat{padding:0 6px!important}
}


/* === Staifresco HERO v3 / liquid glass Thom === */
.app.fv-app{padding-top:84px!important}
.public-main{height:calc(100dvh - 84px)!important}
.fv-topbar{
  --hero-bg:linear-gradient(135deg,rgba(21,122,108,.92),rgba(19,94,123,.78));
  --hero-border:rgba(255,255,255,.22);
  --hero-chip:rgba(255,255,255,.14);
  --hero-chip-strong:rgba(255,255,255,.18);
  --hero-shadow:0 20px 42px rgba(10,25,31,.22);
  height:78px!important;
  min-height:78px!important;
  display:grid!important;
  grid-template-columns:52px auto minmax(120px,180px) minmax(160px,1fr) auto auto!important;
  align-items:center!important;
  gap:10px!important;
  background:var(--hero-bg)!important;
  color:#fff!important;
  border:1px solid var(--hero-border)!important;
  box-shadow:var(--hero-shadow)!important;
  backdrop-filter:blur(18px) saturate(135%);
  -webkit-backdrop-filter:blur(18px) saturate(135%);
  padding-left:max(14px,calc((100vw - 1500px)/2))!important;
  padding-right:max(14px,calc((100vw - 1500px)/2))!important;
}
.fv-topbar[data-level="none"]{--hero-bg:linear-gradient(135deg,rgba(20,121,106,.92),rgba(22,95,124,.78))}
.fv-topbar[data-level="weak"]{--hero-bg:linear-gradient(135deg,rgba(21,132,95,.93),rgba(16,111,100,.80))}
.fv-topbar[data-level="discomfort"]{--hero-bg:linear-gradient(135deg,rgba(205,151,29,.93),rgba(173,114,12,.82))}
.fv-topbar[data-level="strong"]{--hero-bg:linear-gradient(135deg,rgba(224,114,31,.94),rgba(194,83,20,.82))}
.fv-topbar[data-level="persistent"]{--hero-bg:linear-gradient(135deg,rgba(207,69,63,.95),rgba(168,37,48,.84))}
.fv-topbar .brand{display:grid!important;place-items:center!important;min-width:52px!important;flex:none!important;color:#fff!important}
.fv-topbar .brand-copy,.fv-topbar .municipality-logo{display:none!important}
.fv-topbar .brand-mark{width:48px!important;height:48px!important;border-radius:16px!important;background:rgba(12,19,27,.40)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important;font-size:21px!important;font-weight:900!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 20px rgba(8,17,23,.18)!important}
.topbar-temperature,.topbar-heat,.topbar-mood-wrap,.topbar-thom-link,.header-links button,.menu-button{
  backdrop-filter:blur(16px) saturate(135%);
  -webkit-backdrop-filter:blur(16px) saturate(135%);
}
.topbar-temperature{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-height:52px!important;
  height:52px!important;
  padding:0 16px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:18px!important;
  background:var(--hero-chip)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.topbar-weather-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:rgba(255,255,255,.12);font-size:16px;line-height:1}
.topbar-temperature>b{font-size:34px!important;line-height:1;letter-spacing:-.06em;color:#fff!important}
.topbar-temperature span,.topbar-temperature small{display:none!important}
.topbar-heat{
  align-self:stretch!important;
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  margin:0!important;
  padding:0 14px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:18px!important;
  background:var(--hero-chip)!important;
  color:#fff!important;
}
.topbar-heat>span{display:grid!important;gap:2px!important;min-width:0!important}
.topbar-heat strong{font-size:12px!important;line-height:1.08!important;color:#fff!important;text-transform:uppercase!important;letter-spacing:.06em!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-heat small{font-size:10px!important;line-height:1.18!important;color:rgba(255,255,255,.86)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-mood-wrap{
  align-self:stretch!important;
  display:grid!important;
  align-content:center!important;
  gap:2px!important;
  min-width:0!important;
  padding:0 16px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:18px!important;
  background:var(--hero-chip)!important;
  color:#fff!important;
}
.topbar-mood-wrap small{display:block!important;font-size:9px!important;line-height:1;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.72)!important}
.topbar-mood-wrap strong{display:block!important;font-size:13px!important;line-height:1.18!important;font-weight:800!important;color:#fff!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-thom-link,.header-links button{
  min-height:42px!important;
  height:42px!important;
  padding:0 13px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:14px!important;
  background:var(--hero-chip)!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:850!important;
  text-decoration:none!important;
}
.topbar-thom-link:hover,.header-links button:hover{background:var(--hero-chip-strong)!important}
.header-links button{box-shadow:none!important}
.header-links button{color:#fff!important}
.topbar-actions{display:flex;align-items:center;justify-content:flex-end}
.menu-button{
  width:48px!important;height:48px!important;flex:0 0 48px!important;
  background:var(--hero-chip-strong)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.menu-button span{background:#fff!important}
.weather-alert{top:94px!important}
.drawer,.place-sheet{top:100px!important}
@media(max-width:1100px){
  .fv-topbar{grid-template-columns:52px auto minmax(112px,150px) minmax(140px,1fr) auto auto!important}
  .topbar-mood-wrap strong{font-size:12px!important}
}
@media(max-width:900px){
  .app.fv-app{padding-top:78px!important}
  .public-main{height:calc(100dvh - 78px)!important}
  .fv-topbar{height:74px!important;min-height:74px!important;grid-template-columns:48px auto minmax(90px,120px) minmax(100px,1fr) auto!important;padding:7px 8px!important;gap:6px!important}
  .fv-topbar .brand-mark{width:44px!important;height:44px!important;font-size:19px!important;border-radius:15px!important}
  .topbar-temperature{min-height:46px!important;height:46px!important;padding:0 11px!important;gap:7px!important;border-radius:16px!important}
  .topbar-weather-icon{width:24px;height:24px;font-size:14px}
  .topbar-temperature>b{font-size:24px!important}
  .topbar-heat{padding:0 11px!important;border-radius:16px!important}
  .topbar-heat strong{font-size:9px!important}
  .topbar-heat small{font-size:7px!important}
  .topbar-mood-wrap{padding:0 12px!important;border-radius:16px!important}
  .topbar-mood-wrap small{font-size:7px!important}
  .topbar-mood-wrap strong{font-size:10px!important}
  .header-links{display:none!important}
  .menu-button{width:44px!important;height:44px!important;flex-basis:44px!important}
  .weather-alert{top:88px!important}
  .drawer,.place-sheet{top:92px!important}
}
@media(max-width:430px){
  .app.fv-app{padding-top:74px!important}
  .public-main{height:calc(100dvh - 74px)!important}
  .fv-topbar{height:70px!important;min-height:70px!important;grid-template-columns:44px auto minmax(78px,96px) auto!important;padding:6px 7px!important;gap:5px!important}
  .fv-topbar .brand-mark{width:40px!important;height:40px!important;font-size:17px!important;border-radius:14px!important}
  .topbar-temperature{padding:0 9px!important;gap:6px!important}
  .topbar-weather-icon{width:22px;height:22px;font-size:13px}
  .topbar-temperature>b{font-size:22px!important}
  .topbar-heat{padding:0 8px!important}
  .topbar-heat strong{font-size:8px!important}
  .topbar-heat small{font-size:6px!important}
  .topbar-mood-wrap{display:none!important}
  .menu-button{width:42px!important;height:42px!important;flex-basis:42px!important}
  .weather-alert{top:82px!important}
  .drawer,.place-sheet{top:88px!important}
}
@media(max-width:375px){
  .fv-topbar{grid-template-columns:42px auto minmax(72px,88px) auto!important;gap:4px!important}
  .topbar-temperature{padding:0 7px!important}
  .topbar-heat{padding:0 7px!important}
}


/* === Staifresco HERO v4 / elegant liquid glass === */
#app{
  --heat-accent:#1a8b72;
  --heat-accent-rgb:26,139,114;
  --heat-accent-soft:rgba(26,139,114,.18);
  --heat-accent-border:rgba(255,255,255,.20);
}
#app[data-heat-level="none"]{--heat-accent:#1a8b72;--heat-accent-rgb:26,139,114;--heat-accent-soft:rgba(26,139,114,.18)}
#app[data-heat-level="weak"]{--heat-accent:#1f8f63;--heat-accent-rgb:31,143,99;--heat-accent-soft:rgba(31,143,99,.18)}
#app[data-heat-level="discomfort"]{--heat-accent:#c79222;--heat-accent-rgb:199,146,34;--heat-accent-soft:rgba(199,146,34,.20)}
#app[data-heat-level="strong"]{--heat-accent:#da6e1f;--heat-accent-rgb:218,110,31;--heat-accent-soft:rgba(218,110,31,.22)}
#app[data-heat-level="persistent"]{--heat-accent:#c74845;--heat-accent-rgb:199,72,69;--heat-accent-soft:rgba(199,72,69,.22)}
.app.fv-app{padding-top:82px!important}
.public-main{height:calc(100dvh - 82px)!important}
.fv-topbar{
  height:76px!important;
  min-height:76px!important;
  display:grid!important;
  grid-template-columns:52px 108px minmax(0,1fr) 48px!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px 14px!important;
  background:linear-gradient(135deg,rgba(var(--heat-accent-rgb),.88),rgba(var(--heat-accent-rgb),.72))!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 18px 42px rgba(12,22,28,.18)!important;
  backdrop-filter:blur(22px) saturate(135%);
  -webkit-backdrop-filter:blur(22px) saturate(135%);
}
.fv-topbar::after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.02) 60%);
  pointer-events:none;
}
.fv-topbar > *{position:relative;z-index:1}
.fv-topbar .brand{display:grid!important;place-items:center!important;min-width:52px!important;color:#fff!important}
.fv-topbar .brand-copy,.fv-topbar .municipality-logo{display:none!important}
.fv-topbar .brand-mark{
  width:48px!important;height:48px!important;border-radius:16px!important;
  background:rgba(12,19,27,.28)!important;color:#fff!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 16px rgba(7,18,25,.12)!important;
  font-size:22px!important;font-weight:900!important
}
.topbar-temperature,.topbar-mood-wrap,.menu-button{backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%)}
.topbar-temperature{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;
  min-height:52px!important;height:52px!important;padding:0 14px!important;
  border:1px solid rgba(255,255,255,.16)!important;border-radius:18px!important;
  background:rgba(255,255,255,.12)!important;color:#fff!important;box-shadow:none!important
}
.topbar-weather-icon{
  display:grid!important;place-items:center!important;
  width:28px;height:28px;border-radius:999px;
  background:rgba(255,255,255,.14);color:#fff;font-size:16px;line-height:1;font-weight:900;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)
}
.topbar-temperature>b{font-size:34px!important;line-height:1;letter-spacing:-.06em;color:#fff!important}
.topbar-temperature span,.topbar-temperature small{display:none!important}
.topbar-heat,.header-links{display:none!important}
.topbar-mood-wrap{
  align-self:stretch!important;display:grid!important;align-content:center!important;gap:4px!important;
  min-width:0!important;padding:0 16px!important;
  border:1px solid rgba(255,255,255,.14)!important;border-radius:18px!important;
  background:rgba(255,255,255,.12)!important;color:#fff!important
}
.topbar-mood-wrap small{display:block!important;font-size:10px!important;line-height:1.1!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:rgba(255,255,255,.76)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-mood-wrap strong{display:block!important;font-size:15px!important;line-height:1.18!important;font-weight:760!important;color:#fff!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important}
.menu-button{width:48px!important;height:48px!important;flex:0 0 48px!important;background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:none!important}
.menu-button span{background:#fff!important}
.weather-alert{top:92px!important}
.drawer,.place-sheet{top:98px!important}

/* Accent color tied to THOM */
.search-gps.search-nearby,
.discover-filters button.active,
.open-now-toggle.active,
.nearby-rank,
.signal-choice>span:first-child,
.score-orb,
.discover-more,
.primary-action,
.fv-find,
.secondary-action.fv-browse{background:var(--heat-accent)!important}
.search-gps.search-nearby,
.discover-filters button.active,
.open-now-toggle.active,
.discover-more,
.primary-action,
.secondary-action.fv-browse{border-color:var(--heat-accent)!important;color:#fff!important}
.search-gps.search-nearby{box-shadow:0 10px 26px rgba(var(--heat-accent-rgb),.28)!important}
.discover-filters button.active,.open-now-toggle.active{box-shadow:0 10px 22px rgba(var(--heat-accent-rgb),.24)!important}
.nearby-rank,.signal-choice>span:first-child{background:var(--heat-accent)!important}
.search-gps.search-nearby,.discover-filters button.active,.open-now-toggle.active,.discover-more,.primary-action,.secondary-action.fv-browse,.nearby-rank,.signal-choice>span:first-child,.score-orb{transition:background .25s ease, border-color .25s ease, box-shadow .25s ease}

@media(max-width:900px){
  .app.fv-app{padding-top:78px!important}
  .public-main{height:calc(100dvh - 78px)!important}
  .fv-topbar{height:72px!important;min-height:72px!important;grid-template-columns:48px 96px minmax(0,1fr) 44px!important;padding:8px!important;gap:7px!important}
  .fv-topbar .brand-mark{width:44px!important;height:44px!important;font-size:20px!important;border-radius:15px!important}
  .topbar-temperature{min-height:48px!important;height:48px!important;padding:0 12px!important;gap:8px!important;border-radius:16px!important}
  .topbar-weather-icon{width:26px;height:26px;font-size:15px!important}
  .topbar-temperature>b{font-size:26px!important}
  .topbar-mood-wrap{padding:0 14px!important;border-radius:16px!important}
  .topbar-mood-wrap small{font-size:9px!important}
  .topbar-mood-wrap strong{font-size:13px!important}
  .menu-button{width:44px!important;height:44px!important;flex-basis:44px!important}
  .weather-alert{top:86px!important}
  .drawer,.place-sheet{top:92px!important}
}
@media(max-width:430px){
  .app.fv-app{padding-top:74px!important}
  .public-main{height:calc(100dvh - 74px)!important}
  .fv-topbar{height:68px!important;min-height:68px!important;grid-template-columns:42px 86px minmax(0,1fr) 42px!important;padding:7px!important;gap:6px!important}
  .fv-topbar .brand-mark{width:40px!important;height:40px!important;font-size:18px!important;border-radius:14px!important}
  .topbar-temperature{min-height:44px!important;height:44px!important;padding:0 10px!important;gap:7px!important}
  .topbar-weather-icon{width:24px!important;height:24px!important;font-size:14px!important}
  .topbar-temperature>b{font-size:24px!important}
  .topbar-mood-wrap{padding:0 12px!important}
  .topbar-mood-wrap small{font-size:8px!important}
  .topbar-mood-wrap strong{font-size:12px!important}
  .menu-button{width:42px!important;height:42px!important;flex-basis:42px!important}
  .weather-alert{top:82px!important}
  .drawer,.place-sheet{top:88px!important}
}
@media(max-width:375px){
  .fv-topbar{grid-template-columns:40px 82px minmax(0,1fr) 40px!important;gap:5px!important}
  .topbar-temperature{padding:0 8px!important}
  .topbar-weather-icon{width:22px!important;height:22px!important;font-size:13px!important}
  .topbar-temperature>b{font-size:22px!important}
  .topbar-mood-wrap{padding:0 10px!important}
  .topbar-mood-wrap strong{font-size:11px!important}
}


/* === Staifresco HERO v5 / flat elegant header === */
.app.fv-app{padding-top:78px!important}
.public-main{height:calc(100dvh - 78px)!important}
.fv-topbar{
  height:72px!important;min-height:72px!important;
  display:grid!important;grid-template-columns:56px 110px minmax(0,1fr) 46px!important;
  align-items:center!important;gap:12px!important;
  padding:10px 14px!important;
  background:linear-gradient(135deg,rgba(var(--heat-accent-rgb),.88),rgba(var(--heat-accent-rgb),.70))!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 16px 34px rgba(12,22,28,.14)!important;
}
.fv-topbar::after{border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02) 60%)}
.fv-topbar .brand{display:grid!important;place-items:center!important;min-width:56px!important}
.fv-topbar .brand-copy,.fv-topbar .municipality-logo,.header-links,.topbar-heat,.topbar-mood-wrap{display:none!important}
.fv-topbar .brand-mark{width:50px!important;height:50px!important;border-radius:16px!important;background:rgba(12,19,27,.16)!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:none!important;font-size:22px!important}
.topbar-temperature,.topbar-status,.menu-button{background:transparent!important;border:0!important;box-shadow:none!important}
.topbar-temperature{
  min-height:52px!important;height:52px!important;padding:0 10px 0 0!important;
  justify-content:flex-start!important;gap:10px!important;position:relative
}
.topbar-temperature::after,.topbar-status::after{
  content:'';position:absolute;right:-6px;top:50%;transform:translateY(-50%);width:1px;height:34px;background:rgba(255,255,255,.24)
}
.topbar-weather-icon{width:28px!important;height:28px!important;background:transparent!important;border-radius:0!important;font-size:19px!important;box-shadow:none!important}
.topbar-temperature>b{font-size:34px!important;letter-spacing:-.06em}
.topbar-status{position:relative;display:grid!important;align-content:center!important;gap:3px!important;min-width:0!important;padding-right:10px!important;color:#fff!important}
.topbar-status small{display:block!important;font-size:11px!important;line-height:1.1!important;letter-spacing:.08em!important;color:rgba(255,255,255,.78)!important;text-transform:uppercase!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-status strong{display:block!important;font-size:16px!important;line-height:1.14!important;font-weight:760!important;color:#fff!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-actions{display:flex!important;justify-content:flex-end!important}
.menu-button{width:46px!important;height:46px!important;flex:0 0 46px!important;padding:0!important}
.menu-button span{background:#fff!important}
.weather-alert{top:88px!important}
.drawer,.place-sheet{top:94px!important}

@media(max-width:900px){
  .app.fv-app{padding-top:74px!important}
  .public-main{height:calc(100dvh - 74px)!important}
  .fv-topbar{height:68px!important;min-height:68px!important;grid-template-columns:52px 96px minmax(0,1fr) 42px!important;gap:10px!important;padding:8px 10px!important}
  .fv-topbar .brand-mark{width:46px!important;height:46px!important;font-size:20px!important}
  .topbar-temperature{min-height:46px!important;height:46px!important;gap:8px!important}
  .topbar-temperature::after,.topbar-status::after{height:30px!important}
  .topbar-weather-icon{width:24px!important;height:24px!important;font-size:17px!important}
  .topbar-temperature>b{font-size:28px!important}
  .topbar-status small{font-size:9px!important}
  .topbar-status strong{font-size:14px!important}
  .menu-button{width:42px!important;height:42px!important;flex-basis:42px!important}
  .weather-alert{top:84px!important}
  .drawer,.place-sheet{top:90px!important}
}
@media(max-width:430px){
  .app.fv-app{padding-top:72px!important}
  .public-main{height:calc(100dvh - 72px)!important}
  .fv-topbar{height:66px!important;min-height:66px!important;grid-template-columns:48px 82px minmax(0,1fr) 40px!important;gap:8px!important;padding:8px 9px!important}
  .fv-topbar .brand-mark{width:42px!important;height:42px!important;font-size:18px!important;border-radius:14px!important}
  .topbar-temperature{min-height:42px!important;height:42px!important;gap:6px!important;padding-right:8px!important}
  .topbar-temperature::after,.topbar-status::after{height:28px!important;right:-4px!important}
  .topbar-weather-icon{width:20px!important;height:20px!important;font-size:15px!important}
  .topbar-temperature>b{font-size:24px!important}
  .topbar-status{padding-right:6px!important}
  .topbar-status small{font-size:8px!important;letter-spacing:.06em!important}
  .topbar-status strong{font-size:13px!important}
  .menu-button{width:40px!important;height:40px!important;flex-basis:40px!important}
  .weather-alert{top:82px!important}
  .drawer,.place-sheet{top:88px!important}
}
@media(max-width:375px){
  .fv-topbar{grid-template-columns:46px 76px minmax(0,1fr) 38px!important;gap:7px!important;padding:8px 8px!important}
  .topbar-temperature>b{font-size:22px!important}
  .topbar-status strong{font-size:12px!important}
}

/* === Staifresco HERO v6 / restrained glass, no chunky boxes === */
.app.fv-app{padding-top:74px!important}
.public-main{height:calc(100dvh - 74px)!important}
.fv-topbar{height:68px!important;min-height:68px!important;display:grid!important;grid-template-columns:52px auto minmax(0,1fr) 44px!important;align-items:center!important;gap:12px!important;padding:8px 12px!important;background:linear-gradient(105deg,rgba(255,255,255,.86) 0%,rgba(255,255,255,.78) 52%,rgba(var(--heat-accent-rgb),.18) 100%)!important;color:#102b31!important;border:1px solid rgba(255,255,255,.72)!important;box-shadow:0 12px 28px rgba(15,34,39,.13)!important;backdrop-filter:blur(22px) saturate(125%)!important;-webkit-backdrop-filter:blur(22px) saturate(125%)!important}
.fv-topbar::after{content:''!important;position:absolute!important;left:14px!important;right:14px!important;bottom:0!important;height:2px!important;border-radius:999px!important;background:rgba(var(--heat-accent-rgb),.72)!important;pointer-events:none!important}
.fv-topbar .brand{display:grid!important;place-items:center!important;min-width:52px!important}.fv-topbar .brand-copy,.fv-topbar .municipality-logo,.header-links,.topbar-heat,.topbar-mood-wrap{display:none!important}
.fv-topbar .brand-mark{width:44px!important;height:44px!important;border-radius:14px!important;background:#102b31!important;color:#fff!important;border:0!important;box-shadow:none!important;font-size:18px!important;font-weight:900!important}
.topbar-temperature{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;min-height:44px!important;height:44px!important;padding:0!important;border:0!important;background:transparent!important;color:#102b31!important;box-shadow:none!important}.topbar-temperature::after{display:none!important}
.topbar-temperature .topbar-weather-icon{display:grid!important;place-items:center!important;width:26px!important;height:26px!important;flex:0 0 26px!important;background:transparent!important;color:#102b31!important;font-size:19px!important;line-height:1!important;border-radius:0!important;box-shadow:none!important}
.topbar-temperature>b{font-size:30px!important;line-height:1!important;letter-spacing:-.05em!important;color:#102b31!important}
.topbar-status{display:flex!important;align-items:baseline!important;justify-content:flex-start!important;gap:8px!important;min-width:0!important;padding:0 0 0 14px!important;border-left:1px solid rgba(16,43,49,.14)!important;background:transparent!important;color:#102b31!important}.topbar-status::after{display:none!important}
.topbar-status small{display:block!important;flex:0 0 auto!important;font-size:9px!important;line-height:1!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:rgba(16,43,49,.58)!important;white-space:nowrap!important}.topbar-status strong{display:block!important;min-width:0!important;font-size:13px!important;line-height:1.1!important;font-weight:800!important;color:#102b31!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.topbar-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important}.menu-button{width:42px!important;height:42px!important;flex:0 0 42px!important;background:rgba(255,255,255,.46)!important;border:1px solid rgba(16,43,49,.08)!important;box-shadow:none!important}.menu-button span{background:#102b31!important}
.weather-alert{top:84px!important}.drawer,.place-sheet{top:90px!important}
.search-gps.search-nearby{background:rgba(var(--heat-accent-rgb),.94)!important;border-color:rgba(var(--heat-accent-rgb),.94)!important;color:#fff!important;box-shadow:0 8px 18px rgba(var(--heat-accent-rgb),.20)!important}.discover-filters button.active,.open-now-toggle.active{background:rgba(var(--heat-accent-rgb),.10)!important;color:rgb(var(--heat-accent-rgb))!important;border-color:rgba(var(--heat-accent-rgb),.32)!important;box-shadow:none!important}.nearby-rank,.signal-choice>span:first-child{background:rgba(var(--heat-accent-rgb),.92)!important}
@media(max-width:430px){.app.fv-app{padding-top:70px!important}.public-main{height:calc(100dvh - 70px)!important}.fv-topbar{height:64px!important;min-height:64px!important;grid-template-columns:44px 82px minmax(0,1fr) 40px!important;gap:8px!important;padding:7px 9px!important}.fv-topbar .brand-mark{width:40px!important;height:40px!important;font-size:17px!important;border-radius:13px!important}.topbar-temperature{min-height:40px!important;height:40px!important;gap:6px!important}.topbar-temperature .topbar-weather-icon{width:22px!important;height:22px!important;flex-basis:22px!important;font-size:17px!important}.topbar-temperature>b{font-size:24px!important}.topbar-status{gap:6px!important;padding-left:10px!important}.topbar-status small{font-size:7px!important}.topbar-status strong{font-size:11px!important}.menu-button{width:40px!important;height:40px!important;flex-basis:40px!important}.weather-alert{top:80px!important}.drawer,.place-sheet{top:86px!important}}
@media(max-width:375px){.fv-topbar{grid-template-columns:42px 76px minmax(0,1fr) 38px!important;gap:7px!important;padding:7px 8px!important}.topbar-temperature>b{font-size:22px!important}.topbar-status strong{font-size:10px!important}}

/* =========================================================
   STAIFRESCO GLASS SYSTEM v1
   Extends the approved hero language to menus, cards and sheets.
   TEST only.
========================================================= */
:root{
  --glass-bg:rgba(255,255,255,.78);
  --glass-bg-strong:rgba(255,255,255,.9);
  --glass-bg-soft:rgba(255,255,255,.58);
  --glass-line:rgba(16,43,49,.10);
  --glass-line-strong:rgba(16,43,49,.16);
  --glass-shadow:0 16px 38px rgba(14,31,36,.14);
  --glass-shadow-soft:0 8px 22px rgba(14,31,36,.09);
  --glass-ink:#102b31;
  --glass-muted:#65767d;
  --glass-radius:22px;
  --glass-radius-sm:15px;
}

/* Generic surfaces: same restrained liquid glass as the approved hero. */
.surface,
.results-panel,
.quick-result,
.drawer,
.place-sheet,
.modal,
.main-sidebar,
.territory-endorsement{
  background:var(--glass-bg)!important;
  color:var(--glass-ink)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:var(--glass-shadow)!important;
  backdrop-filter:blur(22px) saturate(125%)!important;
  -webkit-backdrop-filter:blur(22px) saturate(125%)!important;
}

/* SEARCH + FILTERS */
.discover-search{
  background:var(--glass-bg-strong)!important;
  border:1px solid rgba(255,255,255,.8)!important;
  box-shadow:var(--glass-shadow-soft)!important;
  backdrop-filter:blur(18px) saturate(120%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(120%)!important;
}
.discover-search input{color:var(--glass-ink)!important}
.discover-search>span{color:var(--glass-muted)!important}
.discover-filters button{
  background:rgba(255,255,255,.82)!important;
  border:1px solid rgba(255,255,255,.82)!important;
  box-shadow:0 7px 18px rgba(14,31,36,.08)!important;
  color:#294047!important;
}
.discover-filters button.active,
.open-now-toggle.active{
  background:rgba(var(--heat-accent-rgb),.12)!important;
  color:rgb(var(--heat-accent-rgb))!important;
  border-color:rgba(var(--heat-accent-rgb),.30)!important;
  box-shadow:none!important;
}
.search-gps.search-nearby{
  background:rgba(var(--heat-accent-rgb),.92)!important;
  border:1px solid rgba(255,255,255,.32)!important;
  box-shadow:0 10px 24px rgba(var(--heat-accent-rgb),.20)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
}

/* BURGER MENU */
.main-sidebar{
  width:min(420px,100vw)!important;
  padding:max(14px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom))!important;
  border-radius:24px 0 0 24px!important;
  background:linear-gradient(160deg,rgba(255,255,255,.92),rgba(247,251,250,.78))!important;
}
.sidebar-head{
  min-height:62px;
  padding:2px 2px 12px!important;
  border-bottom:1px solid var(--glass-line)!important;
}
.sidebar-head h2{font-size:24px!important;letter-spacing:-.04em!important;color:var(--glass-ink)!important}
.sidebar-head small{font-size:10px!important;color:var(--glass-muted)!important}
.sidebar-head .xbtn{
  width:42px!important;height:42px!important;
  background:rgba(255,255,255,.62)!important;
  border:1px solid var(--glass-line)!important;
  color:var(--glass-ink)!important;
}
.sidebar-body{gap:9px!important;padding-top:10px!important}
.sidebar-patronage{
  display:grid!important;
  grid-template-columns:66px minmax(0,1fr)!important;
  gap:10px!important;
  padding:10px!important;
  border:1px solid rgba(var(--heat-accent-rgb),.14)!important;
  border-radius:16px!important;
  background:rgba(var(--heat-accent-rgb),.07)!important;
  box-shadow:none!important;
}
.sidebar-patronage picture{width:62px!important;height:46px!important;border-radius:10px!important;box-shadow:none!important}
.sidebar-patronage b{font-size:12px!important;color:var(--glass-ink)!important}
.sidebar-patronage small{font-size:8px!important;color:var(--glass-muted)!important}
.sidebar-patronage div>small:first-child{color:rgb(var(--heat-accent-rgb))!important}
.sidebar-patronage button{color:rgb(var(--heat-accent-rgb))!important}
.sidebar-actions{gap:0!important}
.sidebar-actions>button{
  min-height:54px!important;
  padding:8px 4px!important;
  border:0!important;
  border-bottom:1px solid var(--glass-line)!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--glass-ink)!important;
}
.sidebar-actions>button>span{
  width:34px!important;height:34px!important;border-radius:11px!important;
  background:rgba(var(--heat-accent-rgb),.09)!important;
  color:rgb(var(--heat-accent-rgb))!important;
}
.sidebar-actions .suggest-action>span{background:rgba(var(--heat-accent-rgb),.92)!important;color:#fff!important}
.sidebar-actions b{font-size:13px!important}
.sidebar-actions small{font-size:9px!important;color:var(--glass-muted)!important}
.sidebar-details{border:0!important;padding-top:1px!important}
.sidebar-details summary{
  min-height:46px!important;
  padding:0 4px!important;
  border-radius:0!important;
  background:transparent!important;
  color:#405158!important;
  font-size:10px!important;
  letter-spacing:.11em!important;
  border-bottom:1px solid var(--glass-line)!important;
}
.sidebar-details[open] summary{background:transparent!important;color:var(--glass-ink)!important}
.sidebar-details>div{padding:5px 0 6px!important;gap:2px!important}
.sidebar-details button,.sidebar-link{
  min-height:44px!important;
  padding:8px 9px!important;
  border:0!important;
  border-radius:12px!important;
  background:transparent!important;
  color:var(--glass-ink)!important;
}
.sidebar-details button:hover,.sidebar-link:hover,.sidebar-actions>button:hover{background:rgba(var(--heat-accent-rgb),.07)!important}
.explorer-link{background:rgba(var(--heat-accent-rgb),.07)!important}
.explorer-link>span:first-child{background:rgba(var(--heat-accent-rgb),.92)!important;color:#fff!important}
.menu-inline-info,.menu-data-sources{
  background:rgba(255,255,255,.5)!important;
  border:1px solid var(--glass-line)!important;
  border-radius:13px!important;
  color:var(--glass-ink)!important;
}

/* PLACE / REFUGE SHEETS */
.place-sheet{
  border-radius:26px 26px 20px 20px!important;
  padding:20px 16px calc(18px + env(safe-area-inset-bottom))!important;
}
.place-hero{padding:2px 2px 11px!important;border-bottom:1px solid var(--glass-line)!important}
.place-hero .eyebrow{color:rgb(var(--heat-accent-rgb))!important;letter-spacing:.11em!important}
.place-hero h2{color:var(--glass-ink)!important;letter-spacing:-.045em!important}
.place-hero p{color:var(--glass-muted)!important}
.place-status{gap:7px!important}
.place-status>span,.comfort-label{
  background:rgba(var(--heat-accent-rgb),.10)!important;
  color:rgb(var(--heat-accent-rgb))!important;
  border:1px solid rgba(var(--heat-accent-rgb),.18)!important;
  box-shadow:none!important;
}
.weather-zone{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  margin:12px 0!important;
  padding:0!important;
  background:transparent!important;
}
.weather-zone>div{
  min-width:0!important;
  padding:10px!important;
  border:1px solid var(--glass-line)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.48)!important;
}
.weather-zone span{color:var(--glass-muted)!important}
.weather-zone b{color:var(--glass-ink)!important}
.section-title{color:var(--glass-muted)!important;letter-spacing:.08em!important;text-transform:uppercase!important;font-size:9px!important}
.service-grid{gap:7px!important}
.service{
  min-height:64px!important;
  padding:9px!important;
  border:1px solid var(--glass-line)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.44)!important;
  box-shadow:none!important;
}
.service i{background:rgba(var(--heat-accent-rgb),.08)!important;border-radius:10px!important}
.service span{color:var(--glass-muted)!important}
.service b{color:var(--glass-ink)!important}
.place-score-line{
  margin-top:12px!important;
  padding:12px!important;
  border:1px solid rgba(var(--heat-accent-rgb),.16)!important;
  border-radius:16px!important;
  background:rgba(var(--heat-accent-rgb),.06)!important;
}
.place-score{
  background:rgba(var(--heat-accent-rgb),.92)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.place-score-copy h3{color:var(--glass-ink)!important}
.place-score-copy p{color:var(--glass-muted)!important}
.score-details,.detail-block,.community-block,.fountain-essential{
  border:1px solid var(--glass-line)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.42)!important;
  box-shadow:none!important;
}
.detail-block h3,.community-block h3{color:var(--glass-ink)!important}
.detail-block p,.community-block p{color:var(--glass-muted)!important}
.place-actions{
  background:linear-gradient(180deg,rgba(255,255,255,0),rgba(250,252,252,.92) 22%,rgba(250,252,252,.96))!important;
  padding-top:18px!important;
}
.place-actions button{
  min-height:46px!important;
  border-radius:14px!important;
  border:1px solid var(--glass-line-strong)!important;
  background:rgba(255,255,255,.72)!important;
  color:var(--glass-ink)!important;
  box-shadow:none!important;
}
.place-actions .dark,#routePlace{
  background:rgba(var(--heat-accent-rgb),.94)!important;
  color:#fff!important;
  border-color:rgba(var(--heat-accent-rgb),.94)!important;
}
.rate-button{border-radius:13px!important;background:rgba(var(--heat-accent-rgb),.08)!important;color:rgb(var(--heat-accent-rgb))!important;border-color:rgba(var(--heat-accent-rgb),.18)!important}

/* RESULTS / QUICK CARDS / DRAWERS */
.results-panel{border-radius:20px!important;overflow:hidden!important}
.results-head{background:rgba(255,255,255,.44)!important;border-bottom:1px solid var(--glass-line)!important}
.discover-result{border-bottom:1px solid var(--glass-line)!important}
.discover-result-main:hover{background:rgba(var(--heat-accent-rgb),.05)!important}
.result-icon{background:rgba(var(--heat-accent-rgb),.07)!important}
.quick-result{border-radius:22px!important}
.quick-grid h2{color:var(--glass-ink)!important}
.quick-grid p{color:var(--glass-muted)!important}
.mini-stats div{background:rgba(255,255,255,.48)!important;border:1px solid var(--glass-line)!important}
.drawer{border-radius:26px 26px 20px 20px!important}
.drawer-head{border-bottom:1px solid var(--glass-line)!important}
.drawer-head .eyebrow{color:rgb(var(--heat-accent-rgb))!important}
.drawer-head h2{color:var(--glass-ink)!important}
.place-row{
  border:1px solid var(--glass-line)!important;
  background:rgba(255,255,255,.48)!important;
  box-shadow:none!important;
}
.place-row:hover{background:rgba(var(--heat-accent-rgb),.05)!important;border-color:rgba(var(--heat-accent-rgb),.18)!important}
.place-type-icon{background:rgba(var(--heat-accent-rgb),.07)!important}

/* MODALS */
.modal{border-radius:24px!important;background:var(--glass-bg-strong)!important}
.modal .xbtn{background:rgba(16,43,49,.05)!important;color:var(--glass-ink)!important}
.modal input,.modal textarea,.modal select{
  background:rgba(255,255,255,.66)!important;
  border:1px solid var(--glass-line)!important;
  color:var(--glass-ink)!important;
}

/* Small map controls */
.recenter-map{
  background:rgba(255,255,255,.82)!important;
  border:1px solid rgba(255,255,255,.82)!important;
  box-shadow:var(--glass-shadow-soft)!important;
}
.territory-endorsement{
  background:rgba(255,255,255,.82)!important;
  border:1px solid rgba(255,255,255,.82)!important;
}

@media(max-width:900px){
  .main-sidebar{width:100vw!important;border-radius:0!important}
  .place-sheet,.drawer{left:6px!important;right:6px!important;bottom:6px!important}
  .results-panel{box-shadow:none!important}
}

@media(max-width:430px){
  .main-sidebar{padding-left:14px!important;padding-right:14px!important}
  .sidebar-head{min-height:56px!important}
  .sidebar-patronage{grid-template-columns:58px minmax(0,1fr)!important;padding:9px!important}
  .sidebar-patronage picture{width:54px!important;height:42px!important}
  .place-sheet{padding:18px 14px calc(16px + env(safe-area-inset-bottom))!important}
  .weather-zone{gap:6px!important}
  .weather-zone>div{padding:8px!important;border-radius:12px!important}
  .service{min-height:60px!important;border-radius:13px!important}
}

@media(prefers-color-scheme:dark){
  :root{
    --glass-bg:rgba(20,27,30,.82);
    --glass-bg-strong:rgba(22,30,33,.92);
    --glass-bg-soft:rgba(27,35,38,.66);
    --glass-line:rgba(255,255,255,.08);
    --glass-line-strong:rgba(255,255,255,.14);
    --glass-shadow:0 18px 42px rgba(0,0,0,.28);
    --glass-shadow-soft:0 8px 22px rgba(0,0,0,.2);
    --glass-ink:#f2f7f6;
    --glass-muted:#aebcbd;
  }
  .main-sidebar{background:linear-gradient(160deg,rgba(20,27,30,.95),rgba(18,28,28,.86))!important}
  .discover-search,.discover-filters button,.weather-zone>div,.service,.detail-block,.community-block,.score-details,.place-row,.mini-stats div,.modal input,.modal textarea,.modal select{background:rgba(255,255,255,.055)!important}
  .place-actions{background:linear-gradient(180deg,rgba(20,27,30,0),rgba(20,27,30,.94) 22%,rgba(20,27,30,.98))!important}
  .recenter-map,.territory-endorsement{background:rgba(22,30,33,.86)!important;color:var(--glass-ink)!important}
}

/* === TEST fix: drawer completamente nascosto da chiuso + logo patrocinio === */
@media(max-width:900px){
  .drawer{
    transform:translateY(calc(100% + 140px))!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .18s ease,visibility 0s linear .26s!important;
  }
  .drawer.open{
    transform:translateY(0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .18s ease!important;
  }
  .drawer:not(.open) .drawer-handle{display:none!important}
  .drawer.open .drawer-handle{display:block!important}
}

.sidebar-patronage{
  grid-template-columns:92px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  padding:12px!important;
}
.sidebar-patronage picture{
  width:88px!important;
  height:62px!important;
  min-width:88px!important;
  padding:5px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.94)!important;
}
.sidebar-patronage picture[hidden]{display:none!important}
.menu-municipality-logo{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:78px!important;
  max-height:52px!important;
  object-fit:contain!important;
  object-position:center!important;
}
.sidebar-patronage div{align-content:center!important}
.sidebar-patronage div>small:first-child{font-size:9px!important}
.sidebar-patronage b{font-size:13px!important;line-height:1.2!important}
.sidebar-patronage small{font-size:8px!important;line-height:1.35!important}

@media(max-width:430px){
  .sidebar-patronage{
    grid-template-columns:84px minmax(0,1fr)!important;
    gap:10px!important;
    padding:10px!important;
  }
  .sidebar-patronage picture{
    width:80px!important;
    height:58px!important;
    min-width:80px!important;
  }
  .menu-municipality-logo{max-width:72px!important;max-height:50px!important}
}

/* === TEST dark-mode contrast fix === */
@media(prefers-color-scheme:dark){
  .fv-topbar{
    background:linear-gradient(105deg,rgba(18,25,28,.92) 0%,rgba(20,29,31,.88) 58%,rgba(var(--heat-accent-rgb),.24) 100%)!important;
    color:#f3f7f6!important;
    border-color:rgba(255,255,255,.12)!important;
    box-shadow:0 14px 32px rgba(0,0,0,.32)!important;
  }
  .fv-topbar::after{background:rgba(var(--heat-accent-rgb),.86)!important}
  .fv-topbar .brand-mark{background:rgba(255,255,255,.08)!important;color:#fff!important;border:1px solid rgba(255,255,255,.12)!important}
  .topbar-temperature{color:#fff!important}
  .topbar-temperature .topbar-weather-icon,.topbar-temperature>b{color:#fff!important}
  .topbar-status{border-left-color:rgba(255,255,255,.16)!important;color:#fff!important}
  .topbar-status small{color:rgba(255,255,255,.66)!important}
  .topbar-status strong{color:#fff!important}
  .menu-button{background:rgba(255,255,255,.09)!important;border-color:rgba(255,255,255,.12)!important}
  .menu-button span{background:#fff!important}
  .discover-search{background:rgba(20,27,30,.88)!important;border-color:rgba(255,255,255,.16)!important;box-shadow:0 10px 26px rgba(0,0,0,.28)!important}
  .discover-search input{color:#f2f7f6!important;caret-color:#f2f7f6!important}
  .discover-search input::placeholder{color:#9aabad!important;opacity:1!important}
  .discover-search>span{color:#c1cdce!important}
  .discover-filters button{background:rgba(22,30,33,.82)!important;border-color:rgba(255,255,255,.13)!important;color:#e8efef!important;box-shadow:0 7px 18px rgba(0,0,0,.20)!important}
  .discover-filters button.active,.open-now-toggle.active{background:rgba(var(--heat-accent-rgb),.34)!important;border-color:rgba(var(--heat-accent-rgb),.62)!important;color:#fff!important}
  .search-gps.search-nearby{color:#fff!important;border-color:rgba(255,255,255,.22)!important}
  .recenter-map,.map-legend-button{background:rgba(22,30,33,.88)!important;color:#f2f7f6!important;border-color:rgba(255,255,255,.13)!important}
}

/* === TEST dark-mode detail sheets fix v1 === */
@media(prefers-color-scheme:dark){
  .place-sheet{
    background:rgba(15,22,25,.94)!important;
    color:#f4f7f6!important;
    border:1px solid rgba(255,255,255,.12)!important;
    box-shadow:0 24px 64px rgba(0,0,0,.45)!important;
    backdrop-filter:blur(22px) saturate(125%)!important;
    -webkit-backdrop-filter:blur(22px) saturate(125%)!important;
  }
  .place-sheet .place-hero h2,
  .place-sheet .place-score-copy h3,
  .place-sheet .section-title,
  .place-sheet .detail-block h3,
  .place-sheet .service b,
  .place-sheet .fountain-status-head h3,
  .place-sheet .fountain-vote-counts b{
    color:#f4f7f6!important;
  }
  .place-sheet .place-hero p,
  .place-sheet .place-proximity,
  .place-sheet .service span,
  .place-sheet .detail-block p,
  .place-sheet .place-score-copy p,
  .place-sheet .fountain-status-head>div>span,
  .place-sheet .fountain-vote-counts span,
  .place-sheet .eyebrow{
    color:#aebabc!important;
  }
  .place-sheet>.xbtn,
  .place-sheet #placeClose{
    background:rgba(255,255,255,.08)!important;
    color:#f4f7f6!important;
    border:1px solid rgba(255,255,255,.12)!important;
    box-shadow:none!important;
  }
  .place-sheet #placeExpand{
    background:rgba(255,255,255,.07)!important;
    color:#eaf1f0!important;
    border:1px solid rgba(255,255,255,.11)!important;
    box-shadow:none!important;
  }
  .place-sheet #placeExpand b{color:#eaf1f0!important}
  .place-sheet .fountain-essential{
    background:rgba(255,255,255,.055)!important;
    border-color:rgba(255,255,255,.11)!important;
    border-left-color:var(--fountain-status)!important;
    box-shadow:none!important;
  }
  .place-sheet .fountain-big{
    background:rgba(var(--heat-accent-rgb),.22)!important;
    border:1px solid rgba(var(--heat-accent-rgb),.30)!important;
  }
  .place-sheet .fountain-vote-counts span,
  .place-sheet .service{
    background:rgba(255,255,255,.045)!important;
    border-color:rgba(255,255,255,.10)!important;
  }
  .place-sheet .weather-zone{
    background:rgba(255,255,255,.055)!important;
    color:#f4f7f6!important;
    border:1px solid rgba(255,255,255,.10)!important;
  }
  .place-sheet .weather-zone span{color:#9fadaf!important;opacity:1!important}
  .place-sheet .weather-zone b{color:#f4f7f6!important}
  .place-sheet .detail-block{
    border-top-color:rgba(255,255,255,.10)!important;
  }
  .place-sheet .score-details,
  .place-sheet .place-data-provenance,
  .place-sheet .score-independence,
  .place-sheet .community-block{
    background:transparent!important;
    color:#f4f7f6!important;
  }
  .place-sheet .place-actions{
    background:linear-gradient(transparent 0,rgba(15,22,25,.96) 28%)!important;
    padding-top:24px!important;
  }
  .place-sheet .place-actions button,
  .place-sheet .place-actions a{
    background:rgba(255,255,255,.06)!important;
    color:#f4f7f6!important;
    border-color:rgba(255,255,255,.12)!important;
    box-shadow:none!important;
  }
  .place-sheet .place-actions .dark,
  .place-sheet .place-actions #routePlace{
    background:rgba(var(--heat-accent-rgb),.92)!important;
    color:#fff!important;
    border-color:rgba(var(--heat-accent-rgb),.92)!important;
  }
  .place-sheet.fountain-sheet .place-actions{
    background:linear-gradient(transparent 0,rgba(15,22,25,.96) 28%)!important;
  }
  .place-sheet a{color:#70b9ff!important}
  .place-sheet .municipal-badge{
    background:rgba(255,255,255,.06)!important;
    color:#dce7e5!important;
    border-color:rgba(255,255,255,.10)!important;
  }
}


/* === Dark mode readability fix: burger menu === */
@media (prefers-color-scheme: dark){
  .main-sidebar{
    background:linear-gradient(160deg, rgba(14,20,24,.98), rgba(12,24,25,.95) 68%, rgba(var(--heat-accent-rgb),.16) 100%)!important;
    color:#f3f7f6!important;
    border-left:1px solid rgba(255,255,255,.08)!important;
    box-shadow:-18px 0 44px rgba(0,0,0,.36)!important;
  }
  .sidebar-head{border-bottom-color:rgba(255,255,255,.10)!important}
  .sidebar-head h2{color:#f6fbfa!important}
  .sidebar-head small{color:#aebdbc!important}
  .sidebar-head .xbtn{
    background:rgba(255,255,255,.08)!important;
    border:1px solid rgba(255,255,255,.12)!important;
    color:#f6fbfa!important;
    box-shadow:none!important;
  }

  .sidebar-patronage{
    background:rgba(255,255,255,.06)!important;
    border:1px solid rgba(255,255,255,.10)!important;
    color:#f3f7f6!important;
  }
  .sidebar-patronage picture,
  .territory-endorsement picture{
    background:rgba(255,255,255,.96)!important;
    border:1px solid rgba(0,0,0,.08)!important;
  }
  .sidebar-patronage div>small:first-child,
  .sidebar-patronage button,
  .menu-inline-info a,
  .menu-data-sources a,
  .menu-data-sources em,
  .menu-source-static em,
  .sidebar-link small + em{
    color:rgb(var(--heat-accent-rgb))!important;
  }
  .sidebar-patronage b{color:#f6fbfa!important}
  .sidebar-patronage small{color:#b6c4c3!important}

  .sidebar-actions>button,
  .sidebar-details summary,
  .sidebar-details button,
  .sidebar-link,
  .menu-inline-info,
  .menu-data-sources,
  .menu-source-static{
    background:rgba(255,255,255,.04)!important;
    color:#f3f7f6!important;
    border-color:rgba(255,255,255,.10)!important;
  }
  .sidebar-actions>button{
    border-bottom:1px solid rgba(255,255,255,.10)!important;
  }
  .sidebar-actions>button>span{
    background:rgba(var(--heat-accent-rgb),.18)!important;
    color:#fff!important;
  }
  .sidebar-actions b,
  .sidebar-details summary,
  .sidebar-link b,
  .menu-inline-info b,
  .menu-data-sources b,
  .menu-source-static span{
    color:#f6fbfa!important;
  }
  .sidebar-actions small,
  .sidebar-link small,
  .sidebar-details button small,
  .menu-inline-info p,
  .menu-data-sources small,
  .menu-source-static small{
    color:#b7c4c3!important;
  }
  .sidebar-actions>button:hover,
  .sidebar-details button:hover,
  .sidebar-link:hover,
  .sidebar-details[open] summary{
    background:rgba(255,255,255,.08)!important;
  }
  .sidebar-details{border-top-color:rgba(255,255,255,.10)!important}
  .sidebar-details summary:after{color:#d9e3e2!important}

  .menu-inline-info,
  .menu-data-sources{
    border:1px solid rgba(255,255,255,.10)!important;
    box-shadow:none!important;
  }
  .menu-data-sources a,
  .menu-source-static{
    display:grid!important;
    gap:2px!important;
    padding:10px 12px!important;
    border-top:1px solid rgba(255,255,255,.08)!important;
    text-decoration:none!important;
  }
  .menu-data-sources a:first-of-type,
  .menu-source-static:first-of-type{border-top:0!important}
  .menu-data-sources em,
  .menu-source-static em{
    font-style:normal!important;
    font-weight:800!important;
    margin-top:2px!important;
  }
  .explorer-link{
    background:rgba(var(--heat-accent-rgb),.12)!important;
    border:1px solid rgba(var(--heat-accent-rgb),.22)!important;
  }
  .explorer-link>span:first-child{background:rgba(var(--heat-accent-rgb),.88)!important}
  .dev-tools{
    background:rgba(255,255,255,.04)!important;
    border-color:rgba(215,153,27,.55)!important;
  }
  .dev-tools button{
    background:rgba(255,255,255,.08)!important;
    color:#f3f7f6!important;
    border:1px solid rgba(255,255,255,.10)!important;
  }
}


/* === Cluster spiderfy: single tap === */
.cluster-spider-point{width:46px;height:46px;padding:0;border:4px solid #fff;border-radius:999px;background:var(--spider-color,#52616b);color:#fff;display:grid;place-items:center;font-size:19px;line-height:1;box-shadow:0 10px 24px rgba(8,18,23,.28);cursor:pointer;transform:scale(.25);opacity:0;transition:transform .18s cubic-bezier(.2,.8,.2,1),opacity .18s ease;z-index:4}.cluster-spider-point.is-open{transform:scale(1);opacity:1}.cluster-spider-point:focus-visible{outline:3px solid #ffd257!important;outline-offset:3px}@media(prefers-color-scheme:dark){.cluster-spider-point{border-color:#f4f7f7;box-shadow:0 12px 28px rgba(0,0,0,.45)}}

/* TEST · sensori Staifresco collegati ai luoghi */
.weather-zone>div>small{display:block;margin-top:4px;font-size:8px;line-height:1.25;color:var(--sf-muted)}
.staifresco-place-sensor{border-color:rgba(var(--heat-accent-rgb),.22)!important;background:rgba(var(--heat-accent-rgb),.06)!important}
@media(prefers-color-scheme:dark){.weather-zone>div>small{color:#9fb0b1!important}.staifresco-place-sensor{background:rgba(var(--heat-accent-rgb),.10)!important;border-color:rgba(var(--heat-accent-rgb),.30)!important}}


/* 8.8.3 - Condivisione diretta dei luoghi */
.place-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
.place-actions .share-place{font-weight:900}
.place-sheet.compact .place-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px}
.place-sheet.compact .place-actions #reportPlace{display:none!important}
@media(max-width:430px){.place-sheet.expanded .place-actions{grid-template-columns:1fr 1fr}.place-sheet.expanded .place-actions #routePlace{grid-column:1/-1}}

/* === PROD 8.8.6: dark desktop discover/nearby readability === */
@media (prefers-color-scheme: dark){
  .drawer,
  .results-panel{
    background:rgba(14,20,24,.96)!important;
    color:#f4f7f6!important;
    border-color:rgba(255,255,255,.12)!important;
    box-shadow:0 24px 64px rgba(0,0,0,.44)!important;
  }

  .drawer-head{
    background:transparent!important;
    border-bottom-color:rgba(255,255,255,.10)!important;
  }
  .drawer-head h2,
  .drawer-head .eyebrow,
  .result-summary b,
  .nearby-summary,
  .drawer .place-row h3,
  .drawer .place-row b,
  .drawer .row-score b,
  .drawer .nearby-place-title h3{
    color:#f4f7f6!important;
  }
  .drawer-head .eyebrow{color:rgb(var(--heat-accent-rgb))!important}
  .drawer .result-summary span,
  .drawer .place-row p,
  .drawer .row-score small,
  .drawer .nearby-summary{
    color:#aebabc!important;
  }
  .drawer .place-row{
    background:rgba(255,255,255,.055)!important;
    border-color:rgba(255,255,255,.11)!important;
  }
  .drawer .place-row:hover{
    background:rgba(var(--heat-accent-rgb),.10)!important;
    border-color:rgba(var(--heat-accent-rgb),.28)!important;
  }
  .drawer .place-type-icon{
    background:rgba(var(--heat-accent-rgb),.12)!important;
    color:#f4f7f6!important;
  }
  .drawer .xbtn,
  .drawer #drawerClose{
    background:rgba(255,255,255,.08)!important;
    color:#f4f7f6!important;
    border:1px solid rgba(255,255,255,.12)!important;
  }

  .results-panel .results-head{
    background:rgba(255,255,255,.055)!important;
    border-bottom-color:rgba(255,255,255,.10)!important;
    color:#f4f7f6!important;
  }
  .results-panel .results-head .eyebrow,
  .results-panel .results-head b,
  .results-panel .results-head h2,
  .results-panel .result-copy b{
    color:#f4f7f6!important;
  }
  .results-panel .results-head .eyebrow{color:#9eabad!important}
  .results-panel .results-head span,
  .results-panel .result-copy small,
  .results-panel .result-copy em,
  .results-panel .discover-empty p{
    color:#aebabc!important;
  }
  .results-panel .discover-result{
    border-bottom-color:rgba(255,255,255,.10)!important;
  }
  .results-panel .discover-result-main{
    color:#f4f7f6!important;
  }
  .results-panel .discover-result-main:hover{
    background:rgba(var(--heat-accent-rgb),.08)!important;
  }
  .results-panel .result-icon{
    background:rgba(var(--heat-accent-rgb),.12)!important;
  }
  .results-panel .result-route{
    color:#5aa7ff!important;
  }
  .results-panel .discover-more,
  .results-panel #discoverMore{
    color:#fff!important;
  }
}
