/* 2.1 Standalone full-width site. Does not affect shortcode embeds. */
html:has(body.ct-standalone-body){margin:0!important;overflow-x:clip}
body.ct-standalone-body{--ct-site-bg:#091320;--ct-site-text:#ebf3fb;--ct-site-line:#273d53;margin:0!important;min-width:320px;min-height:100vh;background:var(--ct-site-bg)!important;color:var(--ct-site-text);font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;overflow-x:clip}
body.ct-standalone-body.ct-site-light{--ct-site-bg:#f6f9fc;--ct-site-text:#192f43;--ct-site-line:#d8e1ed}
body.ct-standalone-body.admin-bar{padding-top:32px!important}
@media(max-width:782px){body.ct-standalone-body.admin-bar{padding-top:46px!important}}
body.ct-standalone-body .ct-standalone-main{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;display:block!important}
body.ct-standalone-body .ct-standalone-main>.ct-widget{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;box-shadow:none!important;border:0!important;border-radius:0!important;overflow:visible}
body.ct-standalone-body .ct-widget .ct-head{padding:14px clamp(18px,3vw,56px)!important;min-height:80px}
body.ct-standalone-body .ct-widget .ct-intro{padding:24px clamp(18px,3vw,56px)!important}
body.ct-standalone-body .ct-widget .ct-mode-tabs{margin:0!important;border:0!important;border-bottom:1px solid var(--ct-line)!important;border-radius:0!important;padding:10px clamp(18px,3vw,56px)!important;gap:10px;background:var(--ct-panel)!important}
body.ct-standalone-body .ct-widget .ct-mode-btn{font-size:14px;min-height:46px}
body.ct-standalone-body .ct-widget .ct-main{grid-template-columns:clamp(220px,20vw,288px) minmax(0,1fr)}
body.ct-standalone-body .ct-widget .ct-sidebar{padding:20px 15px}
body.ct-standalone-body .ct-widget .ct-map-wrap{min-height:560px}
body.ct-standalone-body .ct-widget .ct-transit-panel{padding:0 clamp(18px,3vw,56px) 25px}
body.ct-standalone-body .ct-widget .ct-transit-intro{margin:23px 0}
body.ct-standalone-body .ct-widget .ct-transit-layout{grid-template-columns:minmax(0,1.8fr) minmax(290px,.8fr)}
body.ct-standalone-body .ct-widget .ct-transit-map{height:clamp(420px,62vh,710px)}
body.ct-standalone-body .ct-widget .ct-transit-list-panel{max-height:710px}
body.ct-standalone-body .ct-widget :is(button,input,a){font-family:inherit}
body.ct-standalone-body .ct-widget :is(button,input):focus-visible,body.ct-standalone-body .ct-back-to-top:focus-visible{outline:3px solid #2ebea8!important;outline-offset:2px!important}
body.ct-standalone-body .ct-widget .ct-head-right{flex-shrink:0}
/* Footer and ad belong to the site, not to a centered card. */
.ct-ad-section{width:100%;box-sizing:border-box;margin:0 auto;text-align:center;padding:24px 12px;color:var(--ct-site-text)}
.ct-ad-label{font-size:10px;letter-spacing:1.5px;font-weight:700;margin-bottom:10px}
.ct-ad-slot{width:320px;max-width:100%;min-height:250px;margin:0 auto;display:flex;justify-content:center;align-items:flex-start}
.ct-ad-slot iframe,.ct-ad-slot img{max-width:100%}
.ct-network-footer{width:100%;box-sizing:border-box;margin:0;padding:22px 16px;min-height:80px;display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--ct-site-line);color:var(--ct-site-text);font:500 13px/1.4 system-ui,sans-serif}
.ct-network-footer a{display:inline-flex;align-items:center;line-height:0}
.ct-network-footer img{width:110px;height:auto;max-height:50px;object-fit:contain;display:block}
/* Correct native zoom control contrast regardless of WordPress/theme CSS. */
.ct-widget .leaflet-bar a,.ct-widget .leaflet-bar a:hover,.ct-widget.ct-light .leaflet-bar a,.ct-widget.ct-light .leaflet-bar a:hover{display:block!important;background:#fff!important;color:#14283d!important;font:700 21px/30px Arial,sans-serif!important;text-align:center!important;text-decoration:none!important;width:30px!important;height:30px!important;border-bottom:1px solid #d8e1ea!important}
.ct-widget .leaflet-bar a.leaflet-disabled{color:#8997a7!important;background:#f2f5f8!important}
/* Text on light/dark surfaces: explicit theme-appropriate contrast. */
.ct-widget.ct-light :is(.ct-toggle,.ct-current strong,.ct-mode-btn,.ct-transit-item,.ct-transit-status,.ct-side-note,.ct-map-foot,.ct-incident-card,.ct-incident-desc){color:#213449!important}
.ct-widget.ct-light .ct-incident-card{background:#fff!important;border-color:#cfdae5!important}
.ct-widget.ct-light .ct-transit-list-panel{background:#f7faff!important;color:#213449!important}
.ct-widget.ct-light .ct-placeholder{background:linear-gradient(135deg,#f2f7fc,#e0eef2)!important;color:#193249!important}
.ct-widget.ct-light .ct-placeholder p{color:#435b70!important}
.ct-widget.ct-light .ct-transit-static{color:#fff!important}
.ct-widget.ct-light .ct-mode-btn.ct-mode-active{color:#fff!important}
.ct-widget.ct-light .ct-transit-feed-state{color:#334a60}
.ct-widget .ct-transit-feed-state{padding:10px 14px;border:1px solid var(--ct-line);border-radius:10px;margin:14px 0;color:var(--ct-text);font-size:12px;line-height:1.5;background:var(--ct-panel)}
/* Floating SVG back to top, appears only after scrolling. */
.ct-back-to-top{position:fixed;right:clamp(15px,2.2vw,32px);bottom:clamp(18px,2.4vw,34px);width:48px;height:48px;z-index:9990;border:1px solid #2b9e8c;border-radius:14px;background:#0f816f;color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 26px #0005;opacity:0;visibility:hidden;transform:translateY(12px);pointer-events:none;transition:opacity .2s,transform .2s,visibility .2s}
.ct-back-to-top.ct-back-to-top-visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.ct-back-to-top:hover{background:#096857}
.ct-back-to-top svg{width:22px;height:22px}
@media(max-width:950px){body.ct-standalone-body .ct-widget .ct-transit-layout{grid-template-columns:minmax(0,1fr)}body.ct-standalone-body .ct-widget .ct-transit-list-panel{max-height:330px}}
@media(max-width:760px){body.ct-standalone-body .ct-widget .ct-main{display:block}body.ct-standalone-body .ct-widget .ct-sidebar{border-right:0;border-bottom:1px solid var(--ct-line);padding:12px 16px}body.ct-standalone-body .ct-widget .ct-cities{display:flex;overflow-x:auto;overflow-y:hidden;max-height:none;gap:6px}body.ct-standalone-body .ct-widget .ct-city-btn{width:auto;white-space:nowrap;flex:0 0 auto}body.ct-standalone-body .ct-widget .ct-map-wrap{min-height:420px}body.ct-standalone-body .ct-widget .ct-transit-map{height:420px}}
@media(max-width:540px){body.ct-standalone-body .ct-widget .ct-head{padding:13px 15px!important;min-height:66px}body.ct-standalone-body .ct-widget .ct-head-right{gap:7px}body.ct-standalone-body .ct-widget .ct-site-logo{max-height:42px}body.ct-standalone-body .ct-widget .ct-intro{padding:19px 16px!important}body.ct-standalone-body .ct-widget .ct-intro h2{font-size:26px!important}body.ct-standalone-body .ct-widget .ct-intro-status{display:none}body.ct-standalone-body .ct-widget .ct-mode-tabs{padding:8px 12px!important;gap:5px}body.ct-standalone-body .ct-widget .ct-mode-btn{font-size:12px;padding:10px 7px}body.ct-standalone-body .ct-widget .ct-transit-panel{padding:0 12px 20px}body.ct-standalone-body .ct-widget .ct-toolbar{gap:10px;padding:12px}body.ct-standalone-body .ct-widget .ct-toolbar-actions{width:100%;justify-content:flex-start;gap:7px}body.ct-standalone-body .ct-widget .ct-transit-intro{gap:9px}body.ct-standalone-body .ct-widget .ct-transit-static{white-space:normal}body.ct-standalone-body .ct-widget .ct-transit-map{height:380px;min-height:380px}body.ct-standalone-body .ct-widget .ct-map-wrap{height:430px!important}body.ct-standalone-body .ct-back-to-top{width:44px;height:44px;bottom:16px;right:15px}}
@media(prefers-reduced-motion:reduce){.ct-back-to-top{transition:none}}
