/* TuttoBelluno v127 — leggibilità, meteo più morbido, notifiche evidenziate */

/* ================= OROSCOPO: testo grande e contrastato ================= */
.horoscope-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px}
.horoscope-toolbar .horoscope-date{margin:0;font-size:14px;padding:9px 14px}
.text-size-switch{display:inline-flex;align-items:center;gap:6px;padding:5px;border-radius:999px;background:#f3f5f9;border:1px solid #dde4ec}
.text-size-switch span{font-size:13px;font-weight:800;color:#39485a;padding:0 6px}
.text-size-switch button{min-width:44px;height:40px;border-radius:999px;border:0;background:#fff;color:#1b2a3c;font:inherit;font-weight:900;font-size:15px;cursor:pointer;box-shadow:0 1px 3px rgba(20,40,60,.12)}
.text-size-switch button[data-horo-size="2"]{font-size:18px}
.text-size-switch button[data-horo-size="3"]{font-size:21px}
.text-size-switch button[aria-pressed="true"]{background:#5b3f8f;color:#fff}

#horoscopeResults .horoscope-grid .horoscope-card{min-height:0!important;padding:20px 20px 22px!important;gap:12px!important}
#horoscopeResults .horoscope-card small{font-size:13px!important;letter-spacing:.08em!important;font-weight:900!important;filter:brightness(.8)}
#horoscopeResults .horoscope-card h3{font-size:26px!important;color:#111c2b!important;margin:2px 0 8px!important}
#horoscopeResults .horoscope-card p{-webkit-line-clamp:unset!important;display:block!important;overflow:visible!important;color:#1d2735!important;font-size:18px!important;line-height:1.65!important;font-weight:450}
#horoscopeResults[data-size="1"] .horoscope-card p{font-size:16px!important}
#horoscopeResults[data-size="3"] .horoscope-card p{font-size:22px!important;line-height:1.7!important}
#horoscopeResults[data-size="3"] .horoscope-card h3{font-size:30px!important}
#horoscopeResults .horoscope-card .zodiac-symbol{width:58px!important;height:58px!important;font-size:34px!important}
#horoscopeResults .source-note{font-size:14px}

/* Oroscopo in Home: più grande e scuro */
body[data-page="home"] #main .horoscope-track>.horoscope-card{flex-basis:228px!important}
body[data-page="home"] #main .horoscope-card small{font-size:11px!important;font-weight:900!important;filter:brightness(.8)}
body[data-page="home"] #main .horoscope-card h3{font-size:21px!important;color:#111c2b!important}
body[data-page="home"] #main .horoscope-card p{font-size:15px!important;line-height:1.55!important;color:#1d2735!important;-webkit-line-clamp:7!important}
body[data-page="home"] #main .horoscope-date{font-size:13px!important}
@media(max-width:700px){body[data-page="home"] #main .horoscope-track>.horoscope-card{flex-basis:78vw!important;max-width:300px}}

/* ================= RADIO: logo più grande e leggibile ================= */
body[data-page="home"] #main .radio-card-logo{height:118px!important;margin:10px 0!important;background:#fff!important;border:1px solid rgba(40,60,80,.08)!important}
body[data-page="home"] #main .radio-card-logo img{width:94%!important;height:92%!important;object-fit:contain!important}
.radio-card-copy h3{font-size:18px!important;color:#14263a!important}
.radio-card-copy p,.radio-card-copy span{font-size:12px!important}
.radio-card-top{font-size:10px!important}
.radio-play-button,.radio-card-actions>a{font-size:13px!important;min-height:44px!important}
.radio-dock-logo{background:#fff!important}
.radio-dock-copy b{font-size:15px!important}
.radio-dock-copy span{font-size:11px!important}
@media(max-width:760px){body[data-page="home"] #main .radio-card-logo{height:104px!important}}

/* ================= METEO: meno blu, più riposante ================= */
.weather-panel,.weather-panel.is-day{background:linear-gradient(140deg,#f7fafd 0%,#eaf2f8 100%)!important;border:1px solid #d7e3ee!important;color:#18324a!important;box-shadow:0 8px 24px rgba(30,60,90,.08)!important}
.weather-panel.is-night{background:linear-gradient(140deg,#f3f2f8 0%,#e6e6f1 100%)!important;border-color:#d9d8e8!important}
.weather-panel .weather-location,.weather-panel .weather-location b,.weather-panel .weather-city-select,.weather-panel .weather-now p,.weather-panel .weather-stats,.weather-panel .weather-stats span,.weather-panel .weather-stats b,.weather-panel a,.weather-panel .text-link{color:#1f3a55!important}
.weather-panel .weather-now strong{color:#10263d!important}
.weather-panel .weather-stats small,.weather-panel .weather-now p span{color:#4d6378!important;opacity:1!important}
.weather-panel .weather-stats .ico{color:#5b86ad!important}
.weather-panel .weather-stats,.weather-panel .weather-stats>span{border-color:#d3dfea!important}
.weather-panel .weather-location>span{background:#fff!important;border-color:#d3dfea!important;color:#3b5570!important}
.weather-panel .weather-art{color:#f0a91a!important}
.weather-panel.is-night .weather-art{color:#e2a92b!important}
.weather-panel .weather-link{border-top:1px solid #d3dfea;padding-top:10px!important;font-weight:750}
.weather-panel .weather-estimate{color:#4d6378!important}

/* ================= NOTIFICHE: pulsanti colorati ed evidenti ================= */
.notify-cta,.notify-strip .button,[data-open-notifications].button{background:linear-gradient(135deg,#ff8a00,#f25c05)!important;color:#fff!important;border:0!important;font-weight:850!important;box-shadow:0 6px 16px rgba(242,92,5,.32)!important;border-radius:14px!important;min-height:44px;padding:0 16px!important;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;animation:tbPulse 2.4s ease-in-out 3}
.notify-cta.is-on,[data-open-notifications].is-on{background:linear-gradient(135deg,#1fae6b,#138a52)!important;box-shadow:0 6px 16px rgba(19,138,82,.28)!important;animation:none}
.notify-cta:disabled,.notify-cta.is-busy{opacity:.75;cursor:progress;animation:none}
@keyframes tbPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@media(prefers-reduced-motion:reduce){.notify-cta,[data-open-notifications].button{animation:none}}
.notify-strip{border:2px solid #ffc58a!important;background:linear-gradient(135deg,#fff6ea,#fff)!important}
.notify-strip-icon{background:#ffe6c7!important;color:#e35d00!important}
.notify-strip b{font-size:15px!important}
.notify-strip small{font-size:12px!important;color:#4f5f70!important}
@media(max-width:560px){.notify-strip{grid-template-columns:42px minmax(0,1fr)!important}.notify-strip .button{grid-column:1/-1;width:100%}}
#notificationOpen.notify-active{background:#e9fbf2!important;border-color:#87d9b1!important}

#notificationDialog .notification-option{cursor:pointer;transition:border-color .15s,background .15s}
#notificationDialog .notification-option:has(input:checked){border-color:#ffb766;background:#fff8ef}
#notificationDialog .notification-option input{accent-color:#f25c05;width:22px;height:22px}
#notificationDialog .notification-option b{font-size:15px}
#notificationDialog .notification-option small{font-size:12px;color:#52606f}
#notificationDialog .notification-intro p{font-size:13px}
#notificationDialog .notification-status{font-size:13px;font-weight:700;padding:10px 12px;border-radius:12px;background:#f3f6fa;color:#34475b}
#notificationDialog .notification-status[data-kind="ok"]{background:#e8f8ef;color:#0f6b3e}
#notificationDialog .notification-status[data-kind="warn"]{background:#fff4e0;color:#8a4b00}
#notificationDialog .notification-status[data-kind="error"]{background:#fdeaea;color:#a1181b}
#notificationDialog .notify-banner{margin:12px 0 0;padding:12px 14px;border-radius:12px;background:#fffbe8;border:1px solid #f1d98a;font-size:13px;line-height:1.5;color:#4a3b00}
#notificationDialog .notification-actions .button{min-height:46px;font-size:14px}
#notificationDialog #notificationEnable{flex:1 1 100%}
.toast .toast-cta{margin-left:8px;min-height:32px!important;padding:0 12px!important;font-size:12px!important}
#notificationDialog .notify-footer{position:sticky;bottom:-1px;z-index:2;background:#fff;margin:12px -4px 0;padding:10px 4px 4px;box-shadow:0 -10px 16px -12px rgba(20,40,60,.25)}
#notificationDialog .notify-footer .notification-status{margin:0 0 10px}

/* v127: i badge in alto a destra non coprono più cuore/preferiti e pulsanti */
body #main .has-corner-badge:not(.movie-poster):not(.event-card){padding-top:calc(var(--ribbon-height,34px) + 14px)!important}
body #main .event-card.has-corner-badge>.save-button,body #main .event-card.has-corner-badge>button{top:calc(var(--ribbon-height,34px) + 8px)!important}
body #main .pharmacy-row.has-corner-badge .pharmacy-actions{align-self:end}

/* v127: menu a tendina nello stile del sito */
select.tb-select-native{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;overflow:hidden!important}
.tb-select{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:52px;padding:0 16px;margin-top:6px;border:1px solid #d6e0ea;border-radius:16px;background:#fff;color:#14243e;font:inherit;font-size:16px;font-weight:750;text-align:left;cursor:pointer;box-shadow:0 2px 8px rgba(20,50,80,.05);transition:border-color .15s,box-shadow .15s}
.tb-select:hover,.tb-select:focus-visible{border-color:#7fb0e8;box-shadow:0 0 0 4px rgba(7,92,229,.1);outline:none}
.tb-select-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tb-select-chev{width:20px;height:20px;flex:none;color:#075ce5}
.tb-sheet{border:0;padding:0;width:min(520px,100vw);max-width:100vw;max-height:min(78vh,640px);border-radius:24px;background:#fff;color:#14243e;box-shadow:0 24px 60px rgba(10,30,60,.28);overflow:hidden}
.tb-sheet[open]{display:flex;flex-direction:column}
.tb-sheet::backdrop{background:rgba(14,28,48,.45);backdrop-filter:blur(2px)}
.tb-sheet-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 20px 12px;border-bottom:1px solid #edf1f5}
.tb-sheet-grip{display:none}
.tb-sheet-title{margin:0;font-size:20px;font-weight:850;letter-spacing:-.01em}
.tb-sheet-close{width:42px;height:42px;border-radius:50%;border:1px solid #dde5ee;background:#fff;color:#14243e;font-size:16px;cursor:pointer;flex:none}
.tb-sheet-list{overflow:auto;padding:8px 12px 16px;overscroll-behavior:contain}
.tb-sheet-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:56px;padding:12px 14px;margin:4px 0;border:1px solid transparent;border-radius:14px;background:#f6f8fb;color:#14243e;font:inherit;font-size:17px;font-weight:650;text-align:left;cursor:pointer}
.tb-sheet-option:hover{background:#eef4fc}
.tb-sheet-option i{width:24px;height:24px;border-radius:50%;border:2px solid #b9c7d6;flex:none;display:grid;place-items:center}
.tb-sheet-option.is-selected{background:#eaf2ff;border-color:#9cc2f5;color:#0b4fc0;font-weight:800}
.tb-sheet-option.is-selected i{border-color:#075ce5;background:#075ce5;box-shadow:inset 0 0 0 4px #fff}
@media(max-width:640px){
 .tb-sheet{margin:auto 0 0;width:100vw;border-radius:24px 24px 0 0;max-height:82vh;padding-bottom:env(safe-area-inset-bottom)}
 .tb-sheet-grip{display:block;position:absolute;top:8px;left:50%;width:44px;height:5px;margin-left:-22px;border-radius:5px;background:#d3dbe4}
 .tb-sheet-head{padding-top:24px}
}
.tb-select.tb-select--bare{border:0;box-shadow:none;background:transparent;margin:0;min-height:44px;padding:0 10px}
.tb-select.tb-select--bare:focus-visible{box-shadow:0 0 0 3px rgba(7,92,229,.18);border-radius:10px}

/* v127: webcam in Home */
.home-webcams-section .section-heading{align-items:center}
.webcam-live-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:#fff0f0;color:#c81e1e;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.webcam-live-pill i{width:8px;height:8px;border-radius:50%;background:#ef3340;box-shadow:0 0 0 3px rgba(239,51,64,.18);animation:tbLive 1.6s ease-in-out infinite}
@keyframes tbLive{50%{opacity:.35}}
@media(prefers-reduced-motion:reduce){.webcam-live-pill i{animation:none}}
.webcam-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 14px;scrollbar-width:none}
.webcam-track::-webkit-scrollbar{display:none}
.webcam-card{flex:0 0 min(78vw,320px);scroll-snap-align:start;display:flex;flex-direction:column;padding:0;border:1px solid #dbe5ee;border-radius:20px;background:#fff;overflow:hidden;text-align:left;font:inherit;color:#14243e;cursor:pointer;box-shadow:0 6px 18px rgba(31,58,86,.1)}
.webcam-card.is-loading{height:250px;background:linear-gradient(100deg,#eef2f6 30%,#f7f9fb 50%,#eef2f6 70%);background-size:200% 100%;animation:tbShimmer 1.2s linear infinite}
@keyframes tbShimmer{to{background-position:-200% 0}}
.webcam-img{position:relative;display:block;aspect-ratio:16/10;background:#e9eef3;overflow:hidden}
.webcam-img img{width:100%;height:100%;object-fit:cover;display:block}
.webcam-img .webcam-live-pill{position:absolute;left:10px;top:10px;background:rgba(255,255,255,.92)}
.webcam-copy{display:flex;flex-direction:column;gap:2px;padding:12px 14px 14px}
.webcam-copy b{font-size:17px;line-height:1.25}
.webcam-copy small{font-size:14px;color:#4d6378}
.webcam-copy em{font-style:normal;font-size:11px;color:#7a8a9b;margin-top:4px}
.webcam-lightbox{border:0;padding:0;width:min(960px,100vw);max-width:100vw;border-radius:22px;background:#0f1a26;color:#fff;overflow:hidden}
.webcam-lightbox::backdrop{background:rgba(5,12,20,.8)}
.webcam-lb-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 12px}
.webcam-lb-head h2{margin:8px 0 2px;font-size:20px;color:#fff}
.webcam-lb-head p{margin:0;color:#b7c4d2;font-size:14px}
.webcam-lightbox img{display:block;width:100%;max-height:72vh;object-fit:contain;background:#000}
.webcam-lb-source{display:block;padding:12px 16px 16px;color:#9cc8ff;font-size:13px;font-weight:700;text-decoration:none}
@media(max-width:640px){.webcam-lightbox{margin:auto 0;border-radius:18px}}

/* v127: copertina volantino di riserva, nello stile TuttoBelluno, con il nome del negozio */
.flyer-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px;text-align:center;background:linear-gradient(160deg,color-mix(in srgb,var(--flyer-c) 12%,#fff) 0%,#fff 70%);border-top:6px solid var(--flyer-c)}
.flyer-ph-top{position:absolute;top:10px;left:12px;right:12px;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--flyer-c) 70%,#14243e);text-align:left}
.flyer-ph b{font-size:clamp(20px,6vw,30px);line-height:1.1;font-weight:900;color:var(--flyer-c);word-break:break-word}
.flyer-ph-pill{padding:6px 12px;border-radius:999px;background:var(--flyer-c);color:#fff;font-size:12px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.flyer-ph small{position:absolute;bottom:10px;left:0;right:0;font-size:12px;font-weight:700;color:#5b6b7c}
.flyer-cover{position:relative}
.flyer-cover.is-placeholder{min-height:220px}

/* v127: pulsanti Condividi */
.tb-share-page{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:0 16px;min-height:42px;border-radius:999px;border:1px solid #cfe0f5;background:#f2f8ff;color:#0b4fc0;font:inherit;font-size:14px;font-weight:800;cursor:pointer}
.tb-share-page svg{width:18px;height:18px}
.tb-share-page:hover{background:#e6f1ff}
.tb-share-mini{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border-radius:50%;border:1px solid var(--line,#e2e8ef);background:#fff;color:#3a6ea8;cursor:pointer;flex:none;z-index:3}
.tb-share-mini svg{width:55%;height:55%}
.tb-share-mini:hover{color:#075ce5;border-color:#9cc2f5}
.tb-share-mini.is-floating{position:absolute;box-shadow:0 2px 8px #0001}
.pharmacy-actions .tb-share-mini{width:37px;height:37px;border-radius:11px;border-color:#b8dfcc;color:#007b4e}
a.news-row{position:relative}
.tb-share-mini.is-news{position:absolute;right:10px;bottom:10px;width:36px;height:36px;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.tb-share-mini.is-flyer{position:absolute;right:10px;bottom:10px;width:38px;height:38px;box-shadow:0 2px 10px rgba(0,0,0,.18);z-index:4}
.tb-share-mini.in-dialog{width:42px;height:42px;margin-right:8px}
.webcam-lb-head .tb-share-mini.in-dialog{background:#fff}
.tb-share-preview{margin:4px 20px 0;color:#4d6378;font-size:14px;line-height:1.4}
.tb-share-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;padding:14px 16px 20px}
.tb-share-app{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 6px;border-radius:16px;border:1px solid #e3e9f0;background:#f7f9fc;color:#14243e;font:inherit;font-size:13px;font-weight:800;text-decoration:none;cursor:pointer}
.tb-share-app span{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--c);color:#fff;font-size:20px;font-weight:900}
.tb-card-actions{display:inline-flex;flex-direction:column;align-items:center;gap:6px;flex:none;align-self:start}

/* v127: altri risultati da Google + credito OpenStreetMap */
.tb-google-more{margin:22px 0 8px;padding:18px;border:1px solid #dbe5ee;border-radius:20px;background:linear-gradient(160deg,#f7faff,#fff)}
.tb-google-head h2{margin:4px 0 6px;font-size:20px}
.tb-google-head p{margin:0 0 14px;color:#4d6378;font-size:14px;line-height:1.5}
.tb-google-btn{width:100%}
.tb-google-host{margin-top:14px}
.tb-google-msg{margin:0;padding:12px 14px;border-radius:12px;background:#fff4e0;color:#8a4b00;font-size:14px;font-weight:700}
.footer-osm{display:block;margin-top:6px;font-size:12px;color:#6b7b8c}
.footer-osm a{color:inherit;text-decoration:underline}

/* v127: pagina Link utili */
.link-utili-group{margin:26px 0 8px}
.link-utili-group h2{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:21px}
.link-utili-group h2 .ico{width:22px;height:22px;color:#075ce5}
#main .link-utili-card{min-height:0!important;height:auto!important;padding-top:14px!important;padding-bottom:14px!important}
#main .link-utili-group .service-list{gap:10px!important}
@media(min-width:760px){#main .link-utili-group .service-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}}

.link-utili-card[hidden],.link-utili-group[hidden]{display:none!important}
#linkSearch{width:100%}

/* v127m — Link utili in Home */

/* v127m — Semaforo grandine */
.hail-pill{--c:#8a97a6;--bg:#f3f5f8;display:flex;align-items:center;gap:12px;margin:14px 0 0;padding:12px 14px;border-radius:16px;background:var(--bg);border:1.5px solid var(--c);color:#18283a;text-decoration:none;max-width:460px}
.hail-pill span{flex:1;min-width:0}.hail-pill b{display:block;font-size:16px}.hail-pill small{display:block;font-size:13px;color:#4a5a6b;line-height:1.35}
.hail-pill>svg{width:18px;height:18px;flex:none;color:var(--c)}
[data-level="verde"]{--c:#0f9d58;--bg:#ecf9f1}[data-level="giallo"]{--c:#d99100;--bg:#fff7e3}[data-level="rosso"]{--c:#d93025;--bg:#fdecea}
.hail-dot{position:relative;flex:none;width:16px;height:16px;border-radius:50%;background:var(--c,#8a97a6);display:inline-block}
.hail-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--c,#8a97a6);animation:hailPulse 1.8s ease-out infinite}
[data-level="rosso"] .hail-dot::after{animation-duration:.9s}
@keyframes hailPulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(2.6);opacity:0}}
.hail-pill[data-level="rosso"]{animation:hailBlink 1.2s ease-in-out infinite}
@keyframes hailBlink{50%{box-shadow:0 0 0 6px #d9302533}}
@media (prefers-reduced-motion:reduce){.hail-dot::after,.hail-pill[data-level="rosso"]{animation:none}}
.hail-hero{display:flex;gap:18px;align-items:center;padding:20px;border-radius:22px;background:var(--bg,#ecf9f1);border:2px solid var(--c);margin:6px 0 16px}
.hail-hero h2{margin:4px 0;font-size:24px;color:var(--c)}.hail-hero p{margin:0;font-size:16px;color:#18283a}
.hail-light{position:relative;flex:none;width:64px;height:64px;border-radius:50%;background:var(--c);box-shadow:0 0 24px var(--c)}
.hail-light i{position:absolute;inset:0;border-radius:50%;background:var(--c);animation:hailPulse 1.8s ease-out infinite}
[data-level="rosso"] .hail-light i{animation-duration:.9s}
.hail-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.hail-sub{font-size:19px;margin:6px 0 10px}
.hail-points{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px}
.hail-points li{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;padding:12px 14px;border-radius:14px;background:var(--bg);border:1px solid color-mix(in srgb,var(--c) 35%,transparent)}
.hail-points li small{grid-column:2;color:#4a5a6b;font-size:13px}
.hail-legend{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:#4a5a6b;margin:0 0 12px}
.hail-legend span{display:inline-flex;align-items:center;gap:7px}.hail-legend .hail-dot{width:11px;height:11px}.hail-legend .hail-dot::after{animation:none}
.hail-radar{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:16px;background:#eef5ff;border:1px solid #c9dcf7;margin:0 0 14px}
.hail-radar>svg{width:26px;height:26px;flex:none;color:#075ce5;margin-top:2px}.hail-radar b{display:block}.hail-radar p{margin:3px 0 6px;font-size:15px}.hail-radar a{font-weight:700;color:#075ce5}
.hail-radar.is-official{background:#fff4e5;border-color:#f3cf98}.hail-radar.is-official>svg{color:#b86e00}

/* v127p — Mappa linee bus */
.bus-line-chips{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:none}
.bus-chip{flex:none;display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:999px;border:2px solid var(--c);background:#fff;color:#18283a;font:700 15px/1 inherit;cursor:pointer}
.bus-chip i,.bus-legend-row i,.bus-line-card h2 i{width:14px;height:14px;border-radius:50%;background:var(--c);flex:none;display:inline-block}
.bus-chip[aria-pressed="true"]{background:var(--c);color:#fff}.bus-chip[aria-pressed="true"] i{background:#fff}
.bus-line-map{height:min(62vh,560px);border-radius:20px;overflow:hidden;border:1px solid #dbe5ee;margin:0 0 14px;background:#eef2f5}
.bus-legend{display:grid;gap:8px;margin:0 0 12px}
.bus-legend-row{display:grid;grid-template-columns:auto 1fr auto;column-gap:12px;align-items:center;text-align:left;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid #dbe5ee;border-left:6px solid var(--c);cursor:pointer;color:#18283a;font:inherit}
.bus-legend-row small{grid-column:2;color:#5b6b7c;font-size:13px}.bus-legend-row>svg{grid-row:1/3;grid-column:3;width:18px;height:18px;color:var(--c)}
.bus-line-card{padding:16px 18px;border-radius:18px;background:#fff;border:1px solid #dbe5ee;border-top:6px solid var(--c);margin:0 0 12px}
.bus-line-card h2{display:flex;align-items:center;gap:10px;margin:0 0 8px;font-size:22px}.bus-line-card h2 small{font-size:14px;color:#5b6b7c;font-weight:600}
.bus-dir{display:flex;gap:8px;align-items:center;margin:4px 0;font-size:16px}.bus-dir svg{width:16px;height:16px;color:var(--c);flex:none}
.bus-line-card details{margin:10px 0}.bus-line-card summary{cursor:pointer;font-weight:700;color:#075ce5}
.bus-stops{margin:8px 0 0;padding-left:22px;columns:2;column-gap:18px;font-size:14px;line-height:1.7}
@media (max-width:520px){.bus-stops{columns:1}}
.bus-line-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.bus-building{padding:18px;border-radius:16px;background:#f3f7fb;border:1px dashed #c9d6e3;text-align:center}.bus-building p{margin:8px 0 0}.bus-building small{color:#9a5b00}
/* v127r — home: evidenzia Mappa linee e Moduli come Link utili */
.link-utili-card.is-pdf .service-copy small{font-weight:600}


/* v128c — Segui Belluno (chiaro, nello stile del sito) */
.sb-section{margin:4px 0 10px}
.sb-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.sb-head h2{margin:4px 0 6px}
.sb-head p{margin:0;color:#53647c;font-size:15px;line-height:1.45;max-width:34ch}
.sb-stack{display:flex;flex:none;margin-top:8px}
.sb-stack i,.sb-filter i{display:grid;place-items:center;border-radius:50%;background:var(--net)}
.sb-stack i{width:32px;height:32px;margin-left:-9px;border:2px solid #fff;box-shadow:0 4px 10px rgba(20,36,62,.18)}
.sb-stack i:first-child{margin-left:0}.sb-stack svg{width:18px;height:18px}
.sb-filters{display:flex;gap:8px;overflow-x:auto;padding:14px 2px 12px;scrollbar-width:none}
.sb-filters::-webkit-scrollbar,.sb-track::-webkit-scrollbar{display:none}
.sb-filter{flex:none;display:inline-flex;align-items:center;gap:7px;padding:6px 14px 6px 6px;border-radius:999px;border:1px solid #dce5ef;background:#fff;color:#14243e;font:700 14px/1 inherit;cursor:pointer;box-shadow:0 2px 6px rgba(20,36,62,.05)}
.sb-filter[data-net="all"]{padding:9px 16px}
.sb-filter i{width:26px;height:26px}.sb-filter svg{width:15px;height:15px}
.sb-filter[aria-pressed="true"]{background:#14243e;color:#fff;border-color:#14243e}
.sb-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 20px;margin:0 -4px;scrollbar-width:none}
/* v128d — card nello stile delle card Radio */
.sb-card{flex:0 0 244px;scroll-snap-align:start;display:flex;flex-direction:column;padding:16px 18px 18px;border-radius:26px;background:linear-gradient(180deg,color-mix(in srgb,var(--tone) 9%,#fff),#fff 75%);border:1.5px solid color-mix(in srgb,var(--tone) 32%,#fff);color:#14243e;box-shadow:0 10px 22px -14px color-mix(in srgb,var(--tone) 60%,#14243e);transition:transform .2s}
.sb-card[hidden]{display:none}
.sb-card:hover{transform:translateY(-3px)}
.sb-kicker{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:800;letter-spacing:.14em;color:var(--tone)}
.sb-kicker i{width:18px;height:18px;border-radius:50%;background:color-mix(in srgb,var(--tone) 18%,#fff);display:grid;place-items:center;position:relative}
.sb-kicker i::after{content:"";width:9px;height:9px;border-radius:50%;background:var(--tone)}
.sb-logo{display:grid;place-items:center;height:104px;margin:12px 0 14px;border-radius:22px;background:#fff;border:1px solid color-mix(in srgb,var(--tone) 14%,#eef2f6);color:var(--tone);box-shadow:inset 0 0 0 6px color-mix(in srgb,var(--tone) 4%,#fff)}
.sb-logo svg{width:52px;height:52px}
.sb-name{font-size:21px;line-height:1.2;color:#14243e}
.sb-desc{display:block;margin-top:5px;color:#5b6b7c;font-size:14.5px;line-height:1.4;min-height:40px}
.sb-where{display:block;margin-top:6px;font-size:14px;font-weight:800;color:var(--tone)}
.sb-nets{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:14px}
.sb-nets a{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:var(--net);box-shadow:0 6px 12px -6px rgba(0,0,0,.4);transition:transform .15s}
.sb-nets a:hover,.sb-nets a:active{transform:scale(1.08)}
.sb-nets svg{width:23px;height:23px}
@media (min-width:900px){.sb-card{flex-basis:250px}}

/* v128e — Segui Belluno: card più piccole */
.sb-card{flex-basis:198px;padding:13px 14px 15px;border-radius:22px}
.sb-kicker{font-size:10px;letter-spacing:.12em;gap:6px}.sb-kicker i{width:15px;height:15px}.sb-kicker i::after{width:7px;height:7px}
.sb-logo{height:72px;margin:10px 0 10px;border-radius:17px}.sb-logo svg{width:36px;height:36px}
.sb-name{font-size:17px}
.sb-desc{font-size:13px;min-height:36px;margin-top:3px}
.sb-where{font-size:12.5px;margin-top:4px}
.sb-nets{gap:7px;padding-top:11px}
.sb-nets a{width:36px;height:36px;border-radius:12px}.sb-nets svg{width:19px;height:19px}
@media (min-width:900px){.sb-card{flex-basis:220px}}

/* v128e — Ombre esterne visibili (non più tagliate) su slider: film, radio, oroscopo, notizie, eventi, webcam, canali */
body{overflow-x:clip}
body[data-page="home"] #main :is(.home-inline-track,.webcam-track,.sb-track){padding:10px 8px 28px!important;margin:-10px -8px -16px!important;scroll-padding-inline:8px}
body[data-page="home"] #main :is(.radio-home-card,.horoscope-card,.home-mini-card,.editorial-card,.home-ps-card,.bus-alert-card,.home-news-mini,.webcam-card,.sb-card){box-shadow:0 14px 26px -14px rgba(20,36,62,.32),0 3px 8px rgba(20,36,62,.06)!important}

/* v128 — Buongiorno Belluno */
.bg-card{margin:14px 0 4px;padding:16px;border-radius:24px;background:linear-gradient(160deg,#fff8e8,#fff 55%);border:1px solid #f4e2b8;box-shadow:0 14px 26px -16px rgba(180,120,20,.45)}
.bg-card.is-loading{min-height:120px;background:linear-gradient(90deg,#f6f1e6,#fbf8f1,#f6f1e6);background-size:200% 100%;animation:bgShimmer 1.4s linear infinite;border-color:#f1e7d2}
@keyframes bgShimmer{to{background-position:-200% 0}}
.bg-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.bg-sun{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:#ffc53d;color:#7a4b00;flex:none;box-shadow:0 6px 14px -6px #e0a100}
.bg-sun svg{width:26px;height:26px}
.bg-head small{display:block;color:#8a6a2a;font-weight:700;font-size:12.5px;letter-spacing:.04em}
.bg-head h2{margin:0;font-size:21px;line-height:1.15;color:#14243e}
.bg-bell{margin-left:auto;width:40px;height:40px;border-radius:50%;border:1px solid #f0dcae;background:#fff;color:#b07400;display:grid;place-items:center;cursor:pointer}
.bg-bell svg{width:20px;height:20px}
.bg-lines{display:grid;gap:8px}
.bg-line{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;background:#fff;border:1px solid #efe6d4;text-decoration:none;color:#14243e}
.bg-ic{flex:none;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--tone) 13%,#fff);color:var(--tone)}
.bg-ic svg{width:20px;height:20px}
.bg-copy{flex:1;min-width:0}.bg-copy small{display:block;font-size:11.5px;font-weight:700;color:#6b7a8a;text-transform:uppercase;letter-spacing:.05em}
.bg-copy b{display:block;font-size:15px;line-height:1.3;font-weight:650}
.bg-line>svg{width:16px;height:16px;color:#9aa8b6;flex:none}
.bg-tel{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#15945e;color:#fff}.bg-tel svg{width:17px;height:17px}

/* v128 — Treni */
.tr-stations{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:none}
.tr-chip{flex:none;padding:9px 14px;border-radius:999px;border:1px solid #dce5ef;background:#fff;font:700 14px/1 inherit;color:#14243e;cursor:pointer}
.tr-chip[aria-pressed="true"]{background:#c81e3a;color:#fff;border-color:#c81e3a}
.tr-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:14px;background:#eef2f6;margin:0 0 12px}
.tr-tabs button{padding:10px;border:0;border-radius:11px;background:transparent;font:700 15px/1 inherit;color:#53647c;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.tr-tabs button svg{width:16px;height:16px}
.tr-tabs button[aria-selected="true"]{background:#fff;color:#14243e;box-shadow:0 2px 8px rgba(20,36,62,.1)}
.tr-updated{display:flex;align-items:center;gap:6px;font-size:13px;color:#5b6b7c;margin:0 0 8px}.tr-updated svg{width:14px;height:14px}
.tr-list{display:grid;gap:8px}
.tr-row{display:grid;grid-template-columns:62px 1fr auto;gap:10px;align-items:center;padding:12px 14px;border-radius:16px;background:#fff;border:1px solid #e6edf4;box-shadow:0 8px 18px -14px rgba(20,36,62,.35)}
.tr-time b{display:block;font-size:20px;font-variant-numeric:tabular-nums;color:#14243e}
.tr-time small{display:block;font-size:13px;font-weight:700;color:#c2410c}
.tr-main b{display:block;font-size:15.5px;line-height:1.25}.tr-main small{display:block;font-size:12.5px;color:#5b6b7c;margin-top:2px}
.tr-side{display:grid;justify-items:end;gap:5px}
.tr-badge{padding:4px 9px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}
.tr-badge.ok{background:#e7f6ee;color:#0f7a45}.tr-badge.warn{background:#fff3db;color:#9a5b00}.tr-badge.bad{background:#fde8e8;color:#b3261e}
.tr-plat{font-size:12.5px;font-weight:700;color:#53647c}.tr-plat.changed{color:#b3261e}
.tr-row.is-cancelled .tr-time b,.tr-row.is-cancelled .tr-main b{text-decoration:line-through;color:#8a97a6}
.tr-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}

/* v128 — Strade e passi */
.st-catene{display:flex;gap:12px;padding:14px 16px;border-radius:20px;background:#f3f7fb;border:1px solid #dce5ef;margin:0 0 14px}
.st-catene.on{background:#fff6e3;border-color:#f1d59a}
.st-ic{flex:none;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#14243e;color:#fff}.st-catene.on .st-ic{background:#d98a00}
.st-catene small{font-size:11px;font-weight:800;letter-spacing:.08em;color:#6b7a8a}.st-catene b{display:block;font-size:17px;margin:2px 0}.st-catene p{margin:0 0 6px;font-size:14px;color:#44566b}.st-catene a{font-size:13px;font-weight:700}
.st-block{margin:0 0 18px}.st-block h2{display:flex;align-items:center;gap:8px;font-size:19px;margin:0 0 6px}.st-block h2 svg{width:20px;height:20px}
.st-sub{margin:0 0 10px;font-size:13.5px;color:#5b6b7c}
.st-avvisi{margin:0;padding:0;list-style:none;display:grid;gap:8px}.st-avvisi li{padding:10px 12px;border-radius:14px;background:#fde8e8;border:1px solid #f6c9c9;font-weight:600}.st-avvisi small{display:block;font-weight:500;color:#8a3a36}
.st-passi{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;margin-bottom:10px}
.st-pass{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid #e6edf4}
.st-pass i{width:12px;height:12px;border-radius:50%;background:#b8c3cf}.st-pass.ok i{background:#15945e}.st-pass.bad i{background:#d93025}.st-pass.warn i{background:#e0a100}
.st-pass b{display:block;font-size:14.5px}.st-pass small{font-size:12px;color:#6b7a8a}.st-pass span{font-size:12.5px;font-weight:800;color:#53647c}
.st-pass.ok span{color:#0f7a45}.st-pass.bad span{color:#b3261e}.st-pass.warn span{color:#9a5b00}
.st-val-max{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:color-mix(in srgb,var(--c) 14%,#fff);border:1px solid color-mix(in srgb,var(--c) 40%,#fff);margin-bottom:8px}
.st-val-max>b{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--c);color:#fff;font-size:24px}
.st-val-max small{font-size:11px;font-weight:800;letter-spacing:.08em;color:#53647c}.st-val-max strong{display:block;font-size:18px;text-transform:capitalize}
.st-val{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.st-val>div{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;padding:9px 10px;border-radius:13px;background:#fff;border:1px solid #e6edf4}
.st-val span{grid-row:1/3;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--c);color:#fff;font-weight:800}
.st-val b{font-size:13.5px;line-height:1.2}.st-val small{font-size:12px;color:#6b7a8a}
.st-neve p{margin:8px 0 0;font-size:14px}
.st-dol{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.st-dol>div{padding:12px;border-radius:14px;background:#fff;border:1px solid #e6edf4}.st-dol img{float:right}.st-dol b{display:block}.st-dol small{color:#6b7a8a}.st-dol p{margin:4px 0 0;font-size:13.5px}
.st-links{display:flex;flex-wrap:wrap;gap:8px}.st-links a{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:12px;background:#fff;border:1px solid #dce5ef;font-weight:700;font-size:14px;text-decoration:none;color:#075ce5}.st-links svg{width:14px;height:14px}

/* v128 — DAE */
.dae-hero{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:16px;border-radius:20px;background:#fdecee;border:1px solid #f6c3cb;margin:0 0 12px}
.dae-hero ol{margin:6px 0 0;padding-left:20px;font-size:14.5px;line-height:1.55}
.dae-112{display:inline-flex;align-items:center;gap:8px;padding:14px 22px;border-radius:16px;background:#d93025;color:#fff;font-weight:800;font-size:18px;text-decoration:none;box-shadow:0 10px 20px -10px #d93025}
.dae-112 svg{width:22px;height:22px}
.dae-tools{display:grid;gap:8px;margin:0 0 12px}
.dae-map{height:min(52vh,460px);border-radius:20px;overflow:hidden;border:1px solid #dbe5ee;margin:0 0 12px;background:#eef2f5}
.dae-pin{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#15945e;color:#fff;border:3px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.3)}.dae-pin svg{width:18px;height:18px}
.dae-count{font-size:13px;color:#5b6b7c;margin:0 0 8px}
.dae-list{display:grid;gap:8px}
.dae-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:12px;border-radius:16px;background:#fff;border:1px solid #e6edf4}
.dae-ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#e7f6ee;color:#15945e}.dae-ic svg{width:20px;height:20px}
.dae-item b{display:block;font-size:15px}.dae-item small{display:block;font-size:12.5px;color:#5b6b7c}
.dae-side{display:grid;justify-items:end;gap:6px}.dae-side b{font-size:14px;color:#15945e}
.dae-go{display:inline-flex;align-items:center;gap:4px;padding:7px 11px;border-radius:10px;background:#15945e;color:#fff;font-weight:700;font-size:13px;text-decoration:none}.dae-go svg{width:14px;height:14px}
/* v128b — notifiche treni per stazione */
.notify-trains{display:block}
.nt-stations{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.nt-chip{display:inline-flex;align-items:center;cursor:pointer}
.nt-chip input{position:absolute;opacity:0;pointer-events:none}
.nt-chip span{padding:7px 12px;border-radius:999px;border:1px solid #dce5ef;background:#fff;font-size:13.5px;font-weight:700;color:#14243e}
.nt-chip input:checked+span{background:#c81e3a;border-color:#c81e3a;color:#fff}
.nt-chip input:focus-visible+span{outline:2px solid #075ce5;outline-offset:2px}
/* v128c — Il mio comune */
.notification-city{display:grid;gap:8px;padding:14px 16px;margin:0 0 10px;border-radius:18px;background:#eef5ff;border:1.5px solid #bcd4fb}
.notification-city b{display:block}.notification-city small{display:block;color:#53647c}
.notification-city select,.hail-city select{width:100%;padding:11px 12px;border-radius:12px;border:1px solid #bcd4fb;background:#fff;font:600 16px/1.2 inherit;color:#14243e}
.bg-city{display:inline-flex;align-items:center;gap:4px;margin-top:2px;color:#8a6a2a}.bg-city svg{width:14px;height:14px}
.bg-city select{border:0;background:transparent;font:700 13px/1.2 inherit;color:#8a6a2a;padding:2px 16px 2px 0;appearance:auto;max-width:190px}
.hail-city{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;margin:0 0 12px;font-weight:700;color:#14243e}.hail-city svg{width:18px;height:18px}
.hail-city select{grid-column:1/-1}
/* v128d — Buongiorno a fisarmonica */
.bg-card{padding:14px 16px}
.bg-card.is-loading{min-height:84px}
.bg-head{cursor:pointer;margin-bottom:0;user-select:none}
.bg-head:focus-visible{outline:2px solid #075ce5;outline-offset:4px;border-radius:14px}
.bg-title{min-width:0;flex:1}
.bg-sun{width:42px;height:42px}
.bg-head h2{font-size:19px}
.bg-chev{margin-left:auto;flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #f0dcae;color:#b07400;transition:transform .2s}
.bg-chev svg{width:18px;height:18px}
.bg-card.is-open .bg-chev{transform:rotate(180deg)}
.bg-preview{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;cursor:pointer}
.bg-preview span{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:5px 10px;border-radius:999px;background:#fff;border:1px solid #efe6d4;font-size:12.5px;font-weight:700;color:#14243e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bg-preview svg{width:14px;height:14px;color:var(--tone);flex:none}
.bg-card.is-open .bg-preview{display:none}
.bg-lines{margin-top:12px}
.bg-notify{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;border-radius:14px;border:1px dashed #e7c77e;background:transparent;color:#8a5a00;font:700 14px/1 inherit;cursor:pointer}
.bg-notify svg{width:16px;height:16px}
/* v128e — stesso font per tutti i titoli delle card in Home */
body[data-page="home"] #main .home-services .service-copy b{font-size:21px!important;font-weight:820!important;letter-spacing:-.3px!important;line-height:1.2!important}
.st-pass.soft i{background:#7cc4a0}.st-pass.soft span{color:#2f7d57;font-weight:700;font-size:12px;text-align:right;max-width:9em;line-height:1.2}
/* v128f — treni: prossimo treno di notte */
.tr-next{display:flex;gap:12px;align-items:center;margin:4px 0 12px;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,#1e2a4a,#2f3f6b);color:#fff;box-shadow:0 10px 24px rgba(20,30,60,.18)}
.tr-next>svg{flex:0 0 auto;width:26px;height:26px;opacity:.9}
.tr-next b{display:block;font-size:16px;font-weight:800}
.tr-next span{display:block;font-size:14px;opacity:.9;margin-top:2px}
.tr-next strong{font-size:17px;font-weight:850}
.tr-time .tr-tom{color:#7b61c9;font-weight:700;font-size:11px}
.tr-badge.plan{background:#eef1f7;color:#55627a}
.tr-next em{font-style:normal;opacity:.75;font-size:12px}
.tr-off{text-align:center;margin:12px 0}
/* v128o — treni: collegamenti dall'orario ufficiale */
.tr-conn{margin:22px 0 8px;padding:18px 16px;border-radius:22px;background:#fff;border:1px solid #e3e9f1;box-shadow:0 10px 26px rgba(15,35,70,.07)}
.tr-conn[hidden]{display:none}
.tr-conn h3{margin:0 0 4px;font-size:21px;font-weight:820;letter-spacing:-.3px;color:#14243e}
.tr-conn>p{margin:0 0 12px;color:#5b6b82;font-size:14px}
.tr-dest{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}.tr-dest::-webkit-scrollbar{display:none}
.tr-chip.small{padding:8px 12px;font-size:13px}
.tr-conn-list{display:grid;gap:10px;margin-top:10px}
.tr-sol{padding:12px 14px;border-radius:16px;background:#f6f8fc;border:1px solid #e6ecf4}
.tr-sol summary{list-style:none;cursor:pointer}.tr-sol summary::-webkit-details-marker{display:none}
.tr-sol-times{display:flex;align-items:center;gap:10px}
.tr-sol-times b{font-size:20px;font-weight:850;color:#0f6b62;font-variant-numeric:tabular-nums}
.tr-sol-times b em{font-style:normal;font-size:11px;color:#7b61c9;font-weight:700;margin-right:4px}
.tr-sol-times span{flex:1;text-align:center;font-size:13px;color:#6b7a90;border-bottom:1px dashed #cfd8e4;line-height:1.6}
.tr-sol-info{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:6px}
.tr-sol-info small{color:#55627a;font-size:12.5px;flex:1;min-width:10em}
.tr-legs{margin:10px 0 2px;padding:10px 0 0 18px;border-top:1px dashed #d6dee9;display:grid;gap:6px;font-size:13.5px;color:#14243e}
.tr-legs small{color:#6b7a90;margin-left:4px}
.tr-via{display:block;margin-top:3px;color:#0f6b62!important;font-weight:700;font-size:12.5px}
.tr-conn-empty{color:#5b6b82;font-size:14px}
.tr-sched{display:flex;gap:8px;align-items:center;margin:0 0 10px;padding:10px 12px;border-radius:14px;background:#fff7e6;color:#7a5200;font-size:13.5px;font-weight:600}
.tr-sched svg{width:18px;height:18px;flex:none}
/* v128t — webcam: dicitura Windy e link alle webcam private */
.webcam-extra{margin:8px 0 4px}
.webcam-attrib{margin:2px 0 10px;font-size:12px;color:#6b7a90}.webcam-attrib a{color:#4a5a72}
.webcam-links-title{margin:6px 0 8px;font-size:13px;color:#55627a;font-weight:600}
.webcam-links{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}.webcam-links::-webkit-scrollbar{display:none}
.webcam-link{flex:none;display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:14px;background:#fff;border:1px solid #e1e8f0;box-shadow:0 4px 12px rgba(15,35,70,.06);text-decoration:none;color:#14243e}
.webcam-link b{font-size:14px;font-weight:750}.webcam-link small{font-size:12px;color:#0b66d6}
.webcam-lb-imglink{display:block}
/* v128w — aria ARPAV */
.air-metrics article em{display:block;font-style:normal;font-size:11px;opacity:.7;margin-top:2px}
.air-metrics article.air-warn b{color:#b26b00}.air-metrics article.air-bad b{color:#c81e3a}
.air-others-title{margin:18px 0 8px;font-size:17px}
.air-others{display:grid;gap:8px}.air-others article{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:12px 14px;border-radius:16px;background:#fff;border:1px solid #e3e9f1}
.air-others small{flex-basis:100%;color:#5b6b82}
/* v128x — In diretta (rifatto) */
body #main .live-city{display:flex;align-items:center;gap:8px;margin:0 0 14px;padding:10px 12px;border-radius:16px;background:#fff;border:1px solid #e3e9f1;box-shadow:0 4px 14px rgba(15,35,70,.05)}
body #main .live-city svg{width:18px;height:18px;color:#c81e3a;flex:none}
body #main .live-city span{font-size:13px;font-weight:700;color:#5b6b82;white-space:nowrap}
body #main .live-city select{flex:1;min-width:0;border:0;background:transparent;font:700 15px/1.2 inherit;color:#14243e;padding:4px 0}
body #main .live-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:0 0 16px}
body #main .live-tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:68px;padding:10px 4px;border-radius:16px;border:1px solid #e3e9f1;background:#fff;color:#53647c;font:700 12.5px/1.15 inherit;text-align:center;cursor:pointer;box-shadow:0 4px 12px rgba(15,35,70,.05)}
body #main .live-tabs button svg{width:22px;height:22px}
body #main .live-tabs button[aria-selected="true"]{background:#14243e;border-color:#14243e;color:#fff;box-shadow:0 8px 20px rgba(20,36,62,.25)}
body #main .live-alerts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 10px}
body #main .live-alert{position:relative;overflow:hidden;padding:16px 14px 14px;border-radius:20px;background:#eaf7ef;border:1px solid #cfe9d9;display:flex;flex-direction:column;gap:4px;box-shadow:0 8px 20px rgba(15,35,70,.06)}
body #main .live-alert::before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:#3fae6a}
body #main .live-alert small{font-size:11.5px;color:#55627a;font-weight:800;text-transform:uppercase;letter-spacing:.4px}
body #main .live-alert b{font-size:19px;line-height:1.15;font-weight:850;color:#1f7a4a}
body #main .live-alert span{font-size:13px;line-height:1.35;color:#3d4b61}
body #main .live-alert.yellow{background:#fff8d9;border-color:#f1dd8a}body #main .live-alert.yellow::before{background:#f2c200}body #main .live-alert.yellow b{color:#8a6d00}
body #main .live-alert.orange{background:#ffeede;border-color:#f6c08f}body #main .live-alert.orange::before{background:#f08a24}body #main .live-alert.orange b{color:#b45309}
body #main .live-alert.red{background:#fde8ea;border-color:#f3b4bc}body #main .live-alert.red::before{background:#d7263d}body #main .live-alert.red b{color:#b4192f}
body #main .live-zone{font-size:13px;line-height:1.4;color:#55627a;margin:2px 2px 16px}
body #main .live-h{font-size:19px;font-weight:820;letter-spacing:-.2px;margin:20px 2px 10px;color:#14243e}
body #main .live-zones{display:grid;gap:8px}
body #main .live-zones div{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:#fff;border:1px solid #e3e9f1;font-size:14px;line-height:1.3;color:#14243e;box-shadow:0 4px 12px rgba(15,35,70,.04)}
body #main .live-zones span{flex:1}
body #main .live-dot{width:16px;height:16px;border-radius:50%;background:#3fae6a;flex:none;box-shadow:inset 0 0 0 2px rgba(255,255,255,.6)}
body #main .live-dot.yellow{background:#f2c200}body #main .live-dot.orange{background:#f08a24}body #main .live-dot.red{background:#d7263d}
body #main .live-list{display:grid;gap:10px}
body #main .live-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid #e3e9f1;box-shadow:0 8px 20px rgba(15,35,70,.06);text-decoration:none;color:inherit}
body #main .live-main{flex:1;min-width:0}
body #main .live-main b{display:block;font-size:15.5px;line-height:1.25;font-weight:780;color:#14243e}
body #main .live-main small{display:block;margin-top:3px;color:#6b7a90;font-size:12.5px;line-height:1.3}
body #main .live-side{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex:none}
body #main .live-side strong{font-size:20px;font-weight:850;color:#14243e;font-variant-numeric:tabular-nums}
body #main .live-side span{font-size:12px;color:#55627a}
body #main .live-side .tr-badge{font-size:11.5px}
body #main .live-spark{width:70px;height:30px;color:#0b66d6;flex:none}
body #main .live-mag{flex:none;width:50px;height:50px;border-radius:15px;display:grid;place-items:center;font-weight:900;font-size:18px;background:#eaf7ef;color:#1f7a4a}
body #main .live-mag.warn{background:#fff3dc;color:#a16207}body #main .live-mag.bad{background:#fde8ea;color:#b4192f}
body #main .live-empty{padding:16px;border-radius:16px;background:#f4f7fb;color:#55627a;font-size:14px;line-height:1.4}
@media (max-width:380px){body #main .live-alerts{grid-template-columns:1fr}body #main .live-tabs button{font-size:11.5px}}
.tr-badge.yellow{background:#fff3c4;color:#8a6d00}
/* v128z2 — tetto Enilive */
body #main .fuel-cap{display:flex;flex-direction:column;gap:4px;margin:0 0 14px;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,#fff8d6,#fff1b8);border:1px solid #f1d56b;box-shadow:0 6px 16px rgba(120,90,0,.08)}
body #main .fuel-cap b{font-size:16px;font-weight:850;color:#5c4500}
body #main .fuel-cap span{font-size:13.5px;line-height:1.4;color:#4a3d10}
body #main .fuel-cap strong{font-weight:850;color:#1f2a44}
body #main .fuel-cap a{font-size:13px;font-weight:750;color:#0b66d6;text-decoration:none;margin-top:2px}
body #main .fuel-cap-note{display:block;font-style:normal;font-size:11px;font-weight:700;color:#9a5b00;margin-top:3px;white-space:normal;text-align:right}
body #main .fuel-cap-note.ok{color:#0f7a45}
