/* 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 */
.home-services .service-card[href="#link-utili"]{border:1.5px solid #075ce5!important;background:linear-gradient(135deg,#eef5ff,#fff 70%)!important}
.home-services .service-card[href="#link-utili"] .service-copy b{color:#0b3d91}

/* 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 */
.home-services .service-card[href="#linee-bus"]{border:1.5px solid #15945e!important;background:linear-gradient(135deg,#eaf8f1,#fff 70%)!important}
.home-services .service-card[href="#linee-bus"] .service-copy b{color:#0b6b43}
.home-services .service-card[href="#moduli"]{border:1.5px solid #d98a00!important;background:linear-gradient(135deg,#fff5e3,#fff 70%)!important}
.home-services .service-card[href="#moduli"] .service-copy b{color:#8a5200}
.link-utili-card.is-pdf .service-copy small{font-weight:600}
