/* Route-first transport, readable at desktop and on the stop-side phone. */
.site-details>summary{cursor:pointer;font-size:12px;color:#496a40;padding:8px 0}.site-details[open]{padding-top:7px}.site-filters button:disabled{opacity:.5;cursor:wait}.site-popup svg{max-width:48px}
.bus-hero{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;background:#eaf0df;border-radius:25px;overflow:hidden;margin-bottom:22px}.bus-hero>div{padding:42px}.bus-hero h2{font:400 clamp(32px,4vw,53px)/1.15 Georgia,serif;margin:16px 0}.bus-hero p:not(.eyebrow){font-size:16px;line-height:1.8;color:#61765b}.bus-hero>img{width:100%;height:330px;object-fit:cover;mix-blend-mode:multiply}.bus-hero-chip{display:inline-flex;align-items:center;gap:8px;margin-top:24px;font-size:12px}.bus-hero-chip svg{width:28px;height:28px}.route-choice{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:20px}.route-choice button{display:flex;align-items:center;gap:20px;text-align:left;background:#fffef7;border:1px solid #cad6bf;border-radius:18px;padding:22px;color:#31533e}.route-choice button[aria-pressed=true]{background:#e3ecd7;border-color:#648453;box-shadow:inset 0 -4px #648453}.route-number{font-size:42px;line-height:1;font-weight:750;letter-spacing:-2px;border-radius:12px;background:#315d48;color:white;padding:15px 18px}.route-choice strong{font-size:16px;display:block}.route-choice small{display:block;font-size:12px;line-height:1.6;color:#6e7e63;margin-top:7px}.route-choice svg{width:57px;flex:none;margin-left:auto}.timetable-shell{border:1px solid #d3ddc7;background:#fffef7;border-radius:21px;padding:28px}.tt-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:end;background:#f0f3e8;border-radius:13px;padding:17px}.tt-controls label,.live-controls label{display:grid;gap:7px;font-size:12px;color:#67785d;flex:1;min-width:160px}.tt-controls select,.tt-controls input,.live-controls select{width:100%;background:#fffef9;border:1px solid #bacbaa;border-radius:9px;padding:12px;color:#31533e;font:inherit;font-size:14px;min-height:45px}.tt-stop-label{flex-basis:100%!important}.tt-controls button{min-height:45px;font-size:13px;padding:12px}.tt-title{display:flex;align-items:center;justify-content:space-between;margin:29px 0 17px}.tt-title h3{font:400 30px/1.35 Georgia,serif;margin-top:8px}.tt-title .bus-line{font-size:25px;padding:8px 16px}.tt-warning{display:flex;gap:12px;font-size:12px;line-height:1.8;color:#79866a;margin-bottom:20px}.tt-warning svg{width:35px;flex:none;align-self:start}.departure-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.departure-ticket{background:#f3f5ec;border:1px solid #dae3ce;border-radius:12px;align-self:start}.departure-ticket summary{cursor:pointer;list-style:none;padding:17px}.departure-ticket time{display:block;font-size:28px;font-weight:500;font-variant-numeric:tabular-nums;color:#315d48}.departure-ticket summary span{display:block;font-size:11px;line-height:1.6;margin-top:8px;color:#6e7e62}.departure-ticket>div{font-size:12px;line-height:1.8;padding:0 17px 14px}.departure-ticket[open]{border-color:#8aa675;background:#eaf1de}.data-stamp{font-size:11px!important;line-height:1.9!important;color:#7b866f;margin-top:18px!important}.tt-links{display:flex;flex-wrap:wrap;gap:20px;font-size:12px;line-height:1.8;border-top:1px solid #dde5d1;padding-top:17px;margin-top:18px}.live-panel{margin-top:22px;border:1px solid #d0dcc2;background:#fafbf3;border-radius:19px;padding:24px}.live-panel>summary{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:500;cursor:pointer}.live-panel>summary svg{width:39px}.live-panel>summary>span{font-size:11px;font-weight:400;margin-left:auto;color:#7b886d}.live-controls{display:flex;flex-wrap:wrap;gap:17px;align-items:end;margin:22px 0}.live-controls label.live-area{display:flex;align-items:center;gap:9px;min-width:180px;font-size:12px}.live-controls button{padding:12px;background:#e6edda;border:1px solid #c6d5b8;border-radius:9px;color:#426439}.live-panel>a{display:inline-block;font-size:12px;margin-top:10px}.live-panel .bus-line{font-size:23px;min-width:65px;padding:10px}.live-panel .bus-departure strong{font-size:15px}.live-panel .bus-departure small{font-size:12px}.live-panel .bus-time strong{font-size:25px}
.waste-filters button{display:flex;align-items:center;gap:7px!important;font-size:13px!important}.waste-filters button svg{width:32px;height:38px}.public-sites{border-top:1px solid #d4dec8;padding:16px;background:#f0f4e7}.public-sites h3{font:400 22px Georgia,serif;margin-bottom:7px}.site-filters{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.site-filters button{display:flex;align-items:center;gap:7px;padding:9px 12px;background:#fffef7;border:1px solid #c6d5b8;border-radius:10px;color:#3e5e40;font-size:12px}.site-filters button svg{width:32px;height:32px}.site-filters button[aria-pressed=true]{background:#dce9cf;border-color:#648d51}.site-meta{font-size:11px;line-height:1.8;color:#758368}.site-marker{width:36px;height:36px;border-radius:12px;background:#fffef5;border:2px solid #527349;box-shadow:0 2px 5px #23331a44;display:grid;place-items:center}.site-marker svg{width:29px;height:29px}.site-marker.is-approx{border-style:dashed}.site-popup{font-size:12px;line-height:1.7;max-width:270px}.site-popup h3{font:400 20px Georgia,serif;margin:8px 0}.site-popup p{margin:8px 0}.site-popup small{display:block;color:#6e7c65;margin-top:10px}.site-popup a{text-decoration:underline}.sites-list{margin-top:12px;max-height:200px;overflow:auto}.sites-list button{display:block;text-align:left;width:100%;padding:9px;border:0;border-bottom:1px solid #d4dfc8;background:none;color:#42643d;font-size:12px}.site-status{background:#fff4db;padding:11px;border-radius:9px;margin:10px 0;font-size:11px;line-height:1.8}
@media(max-width:900px){.route-choice button{padding:16px;gap:12px}.route-choice svg{display:none}.route-choice strong{font-size:14px}.route-number{font-size:35px;padding:12px}.departure-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bus-hero>div{padding:28px}.bus-hero>img{height:300px}}
@media(max-width:600px){.bus-hero{display:flex;flex-direction:column}.bus-hero>div{padding:26px 24px 5px;width:100%}.bus-hero>img{height:230px}.bus-hero h2{font-size:35px}.bus-hero p:not(.eyebrow){font-size:14px}.bus-hero-chip{margin-top:13px}.route-choice{gap:9px}.route-choice button{display:block;padding:14px}.route-number{display:inline-block;font-size:35px;margin-bottom:12px;letter-spacing:-1px}.route-choice strong{font-size:12px;line-height:1.7}.route-choice small{font-size:11px}.timetable-shell{padding:15px}.tt-controls{padding:12px;gap:10px}.tt-controls label{min-width:120px}.tt-controls label:first-child{flex-basis:100%}.tt-title h3{font-size:25px}.departure-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.departure-ticket summary{padding:14px}.departure-ticket time{font-size:27px}.live-panel{padding:17px}.live-panel>summary{font-size:16px;flex-wrap:wrap}.live-panel>summary>span{margin:0 0 0 50px}.live-panel .bus-line{min-width:50px;font-size:20px;padding:7px}.live-panel .bus-departure strong{font-size:13px}.live-panel .bus-departure small{font-size:11px}.live-panel .bus-time strong{font-size:22px}.public-sites{padding:13px}.site-filters button{font-size:11px;padding:7px}.waste-filters button{font-size:11px!important;gap:3px!important;padding:6px!important}.waste-filters button svg{width:25px;height:31px}}
