/* One-page passenger-layout experiment. Incumbent palette and TC type retained. */
@font-face{font-family:"League Gothic";src:url('/assets/fonts/LeagueGothic-Variable.ttf') format('truetype');font-weight:400;font-stretch:75% 100%;font-style:normal;font-display:swap}
/* Neutral reading surfaces with minibus-green accents; legacy theme hook retained. */
body[data-preview-theme=orange]{--ink:#222824;--muted:#59635c;--green:#37413b;--green-dark:#202a23;--accent:#176244;--ground:#fff;--soft:#f1f3f1;--line:#dfe4df;--focus:#176244;--control-border:#87928a;--accent-ink:#176244;color:var(--ink);background:var(--ground)}
body[data-preview-theme=orange] ::selection{background:#dceee4;color:var(--ink)}
body[data-preview-theme=orange] .directions a[aria-current]{background:var(--accent);border-color:var(--accent);color:#fff}
body[data-preview-theme=orange] .directions a[aria-current]:hover{background:#124d36}
body[data-preview-theme=orange] input::placeholder{color:var(--muted)}
body[data-preview-theme=orange] .connection-badge{border-color:var(--control-border)}
body[data-preview-theme=orange] .connections{border-color:var(--line)}
body[data-preview-theme=orange] .brand svg{color:var(--green)}
body[data-preview-theme=orange] .site-footer p>a:last-child{white-space:nowrap}
[data-layout-preview] .stop-filter{border-color:var(--control-border)}
[data-layout-preview] .section-nav a:hover,
[data-layout-preview] .section-nav a[aria-current]{color:var(--ink);border-bottom-color:var(--accent-ink)}
[data-layout-preview] .stop:before{background:#c4cbc6}
[data-layout-preview] .stop-number{border-color:var(--control-border)}
[data-layout-preview] .stop:first-child .stop-number,
[data-layout-preview] .stop:last-child .stop-number,
[data-layout-preview] .stop.is-selected .stop-number{background:var(--green);border-color:var(--green);color:#fff}
[data-layout-preview] .stop-detail summary:hover .stop-name{color:var(--ink)}
[data-layout-preview] .timetable tbody{background:var(--white)}
[data-layout-preview] .fare-detail-table td:last-child{color:var(--ink)}
[data-layout-preview] .preview-comparison{margin-left:auto;color:var(--muted);white-space:nowrap}
[data-layout-preview] .route-hero{padding-bottom:0}
[data-layout-preview] .route-intro{flex-wrap:nowrap}
[data-layout-preview] .route-actions{margin:0;gap:4px;flex:none}
[data-layout-preview] .route-actions button{width:44px;height:44px;padding:12px;border:0;background:transparent}
[data-layout-preview] .route-actions button:hover{background:var(--soft)}
[data-layout-preview] .route-actions span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
[data-layout-preview] .route-summary{margin:16px 0}
[data-layout-preview] .facts{padding:16px 0;gap:32px;display:flex}
[data-layout-preview] .facts>div{display:flex;align-items:baseline;gap:12px}
[data-layout-preview] .facts dt{margin:0;font-size:12px}
[data-layout-preview] .facts dd{font-size:14px}
[data-layout-preview] .facts strong{font-size:20px}
[data-layout-preview] .section-nav{position:sticky;top:0;z-index:30;background:var(--ground);margin:0 0 24px;gap:32px;border-bottom:1px solid var(--line)}
[data-layout-preview] .section-nav a{min-width:44px;text-align:center;font-size:14px;padding:12px 0}
[data-layout-preview] .section{scroll-margin-top:76px}
[data-layout-preview] .section-heading{flex-direction:row;align-items:center;justify-content:space-between;max-width:720px;margin-bottom:12px;gap:16px}
[data-layout-preview] .section-heading h2{margin:0}
[data-layout-preview] .section-heading .view-switch{display:none!important}
[data-layout-preview] #preview-map-toggle{gap:8px;text-decoration:none;padding:8px;min-width:72px}
[data-layout-preview] .route-workspace[data-view=list]{display:block;max-width:720px}
[data-layout-preview] .route-workspace[data-view=list] .map-pane{display:none}
[data-layout-preview] .map-pane{top:76px}
[data-layout-preview] .preview-map-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
[data-layout-preview] .preview-map-heading h3{margin:0;scroll-margin-top:88px}
[data-layout-preview] .preview-map-heading button{font-size:12px;white-space:nowrap}
[data-layout-preview] .stop{scroll-margin-top:76px}
[data-layout-preview] .stop.is-selected>.stop-detail>summary .stop-name{text-decoration:underline;text-underline-offset:4px}
[data-layout-preview] .stop-name,[data-layout-preview] .stop-primary,[data-layout-preview] .stop-secondary{display:block}
[data-layout-preview] .stop-primary{font-size:18px;line-height:1.55}
[data-layout-preview] .stop-secondary{font-size:13px;line-height:1.6;color:var(--muted);margin-top:2px}
[data-layout-preview] .stop-detail summary:hover .stop-name{text-decoration:none}
[data-layout-preview] .stop-detail summary:hover .stop-primary{text-decoration:underline;text-underline-offset:4px}
[data-layout-preview] .stop-detail[open]>summary{background:var(--soft)}
[data-layout-preview] .stop-detail[open]>.stop-expanded{padding-top:12px}
[data-layout-preview] .stop:before{left:7px;width:2px}
[data-layout-preview] .stop:first-child:before{top:31px}
[data-layout-preview] .stop:last-child:before{bottom:calc(100% - 31px)}
[data-layout-preview] .stop-detail>summary{align-items:flex-start;gap:16px}
[data-layout-preview] .stop-number{width:16px;height:16px;margin-top:6px}
[data-layout-preview] .stop-detail>summary>svg{margin-top:6px}
[data-layout-preview] .stop-expanded{margin-left:32px}
[data-layout-preview] .nearby-places{margin:0 0 24px;padding:0 0 12px;border-bottom:1px solid var(--line)}
[data-layout-preview] .nearby-places h3{font-size:16px;font-weight:500;line-height:1.5;color:var(--ink);margin:0 0 4px}
[data-layout-preview] .nearby-list{list-style:none;padding:0;margin:0}
[data-layout-preview] .nearby-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;padding:10px 0}
[data-layout-preview] .place-name{font-size:16px;line-height:1.6;color:var(--ink);font-weight:500}
[data-layout-preview] .place-meta,[data-layout-preview] .place-note{grid-column:1;font-size:13px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}
[data-layout-preview] .place-map{grid-column:2;grid-row:1/4;align-self:center;display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:0 4px;font-size:14px;white-space:nowrap}
[data-layout-preview] .place-map svg{width:14px;height:14px}
[data-layout-preview] .route-columns .section:last-child{margin-bottom:24px}
@media(min-width:1050px){
  [data-layout-preview] .facts>div:first-child,[data-layout-preview] .section-nav{display:none}
  [data-layout-preview] .route-columns{margin-top:24px}
  [data-layout-preview] .route-columns{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.9fr);gap:48px;align-items:start}
  [data-layout-preview] .route-columns .lower-content{min-width:0;max-width:none}
  [data-layout-preview] .route-columns .lower-content>.section>h2{display:flex;align-items:center;min-height:44px}
  [data-layout-preview] .route-columns .stops-section{min-width:0;margin:0;padding-bottom:24px;border-bottom:0}
  [data-layout-preview] .route-columns:has(.route-workspace[data-view=map]){display:block}
  [data-layout-preview] .route-columns:has(.route-workspace[data-view=map]) .lower-content{max-width:720px;margin-top:32px}
}
@media(max-width:720px){
  [data-layout-preview] .breadcrumb{padding:12px 0 16px}
  [data-layout-preview] .route-intro{display:flex;align-items:flex-start;gap:4px}
  [data-layout-preview] .route-title{gap:12px;min-width:0;flex:1}
  [data-layout-preview] .route-number{width:52px;height:52px;font-size:26px}
  [data-layout-preview] .route-title h1{font-size:22px;line-height:1.4}
  [data-layout-preview] .route-title h1 .heading-arrow{padding:0 3px}
  [data-layout-preview] .route-actions{gap:0;flex-direction:column}
  [data-layout-preview] .route-summary{font-size:14px;margin:12px 0;line-height:1.75}
  [data-layout-preview] .directions{margin-bottom:4px}
  [data-layout-preview] .route-service-controls{gap:0}
  [data-layout-preview] .service-variants{margin:0 0 4px}
  [data-layout-preview] .service-variants>summary{padding:8px 0;min-height:44px;border:0;background:transparent;font-size:12px}
  [data-layout-preview] .facts{padding:12px 0;gap:24px}
  [data-layout-preview] .facts>div{gap:6px;flex-wrap:wrap}
  [data-layout-preview] .facts dt{font-size:11px}
  [data-layout-preview] .facts dd{font-size:12px}
  [data-layout-preview] .facts strong{font-size:20px}
  [data-layout-preview] .section-nav{margin-bottom:16px;gap:24px}
  [data-layout-preview] .section-heading{margin-bottom:8px}
  [data-layout-preview] .stop-detail>summary{padding:12px 0;min-height:68px}
  [data-layout-preview] .stop:first-child:before{top:26px}
  [data-layout-preview] .stop:last-child:before{bottom:calc(100% - 26px)}
}
/* Passenger reading scale: body, labels and data rise together without extra bold. */
[data-layout-preview]{font-size:17px}
[data-layout-preview]{--weight-body:400;--weight-emphasis:600;--weight-heading:700;font-weight:var(--weight-body)}
[data-layout-preview] .route-title h1,
[data-layout-preview] h2,
[data-layout-preview] .section-heading h2{font-weight:var(--weight-heading)}
[data-layout-preview] .stop-name,
[data-layout-preview] .stop-primary{font-weight:var(--weight-heading)}
[data-layout-preview] .stop-secondary,
[data-layout-preview] .route-summary,
[data-layout-preview] .place-note,
[data-layout-preview] .connection-instruction,
[data-layout-preview] .connection-meta,
[data-layout-preview] .table-direction{font-weight:var(--weight-body)}
[data-layout-preview] .nearby-places h3,
[data-layout-preview] .connections h3,
[data-layout-preview] .connection-network h4,
[data-layout-preview] .place-name{font-weight:var(--weight-emphasis)}
[data-layout-preview] .directions a[aria-current],
[data-layout-preview] .section-nav a[aria-current],
[data-layout-preview] .service-table thead th,
[data-layout-preview] .timetable tbody td{font-weight:var(--weight-emphasis)}
[data-layout-preview] .facts strong,
[data-layout-preview] .fare-detail-table td:last-child{font-weight:var(--weight-heading)}
[data-layout-preview] .route-number{font-family:"League Gothic","Arial Narrow",sans-serif;font-weight:400;font-stretch:100%;font-variation-settings:"wdth" 100;font-size:60px;line-height:1;letter-spacing:0;background:#176244;color:#fff}
[data-layout-preview] .route-code{display:inline-flex;align-items:baseline;gap:1px;line-height:1;transform:scaleX(1.12);transform-origin:center}
[data-layout-preview] .route-digits{font-size:1em}
[data-layout-preview] .route-suffix{font-size:.7em}
[data-layout-preview] .route-title h1{font-size:36px}
[data-layout-preview] .route-summary{font-size:17px;line-height:1.8}
[data-layout-preview] .breadcrumb{font-size:13px}
[data-layout-preview] .directions a{font-size:16px}
[data-layout-preview] .service-variants>summary{font-size:14px}
[data-layout-preview] .facts dt{font-size:14px}
[data-layout-preview] .facts dd{font-size:15px}
[data-layout-preview] .facts strong{font-size:23px}
[data-layout-preview] .section-nav a{font-size:16px}
[data-layout-preview] h2,[data-layout-preview] .section-heading h2{font-size:25px}
[data-layout-preview] .stop-name{font-size:18px;line-height:1.65}
[data-layout-preview] .stop-tags{font-size:13px}
[data-layout-preview] .stop-number{font-size:13px}
[data-layout-preview] .stop-filter input{font-size:16px}
[data-layout-preview] .connections h3{font-size:16px}
[data-layout-preview] .connections h4,[data-layout-preview] .connection-instruction,[data-layout-preview] .connection-meta{font-size:13px}
[data-layout-preview] .connection-badge,[data-layout-preview] .connection-destination{font-size:15px}
[data-layout-preview] .stop-links a,[data-layout-preview] .stop-links button{font-size:15px}
[data-layout-preview] .service-table{font-size:16px}
[data-layout-preview] .service-table thead th{font-size:15px}
[data-layout-preview] .table-direction{font-size:16px}
[data-layout-preview] .route-updated,[data-layout-preview] .preview-map-heading button{font-size:14px}
/* BVG-inspired compact networks: nearby places stay first, routes grouped by operator. */
[data-layout-preview] .nearby-places{margin-bottom:16px;padding-bottom:8px}
[data-layout-preview] .connection-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}
[data-layout-preview] .connection-heading h3{font-size:16px;font-weight:600;line-height:1.5;margin:0}
[data-layout-preview] .connection-heading .connection-instruction{font-size:12px;line-height:1.5;margin:0;white-space:nowrap}
[data-layout-preview] .connections{margin:0 0 10px}
[data-layout-preview] .connections>h3{font-size:13px;line-height:1.6;margin:0 0 2px;font-weight:600}
[data-layout-preview] .connection-radius{font-weight:400;color:var(--muted);margin-left:4px}
[data-layout-preview] .connection-network{display:grid;grid-template-columns:4em minmax(0,1fr);font-size:12px;column-gap:8px;align-items:start}
[data-layout-preview] .connection-network+.connection-network{margin-top:2px}
[data-layout-preview] .connection-network h4{font-size:12px;line-height:1.5;font-weight:400;margin:0;padding:12px 0;color:var(--muted);overflow-wrap:anywhere}
[data-layout-preview] .connection-badges{gap:0 4px}
[data-layout-preview] .connection-choice>summary{min-width:44px;min-height:44px}
[data-layout-preview] .connection-badge{min-width:36px;padding:1px 5px;border-radius:3px;line-height:1.5;font-size:15px;font-weight:600}
[data-layout-preview] .connection-choice>.connection-list{margin:0 0 6px}
[data-layout-preview] .connection-choice .connection-link{grid-template-columns:40px minmax(0,1fr);padding:8px 0;min-height:44px}
[data-layout-preview] .connection-proximity{margin:4px 0 16px;font-size:12px;line-height:1.6;color:var(--muted)}
@media(max-width:720px){
  [data-layout-preview] .route-number{width:56px;height:56px;font-size:44px}
  [data-layout-preview] .route-title h1{font-size:24px;line-height:1.45}
  [data-layout-preview] .route-summary{font-size:16px}
  [data-layout-preview] .breadcrumb{font-size:12px}
  [data-layout-preview] .directions a{font-size:14px}
  [data-layout-preview] .facts{gap:16px}
  [data-layout-preview] .facts dt{font-size:12px}
  [data-layout-preview] .facts dd{font-size:13px}
  [data-layout-preview] .facts strong{font-size:22px}
  [data-layout-preview] h2,[data-layout-preview] .section-heading h2{font-size:23px}
  [data-layout-preview] .stop-tags{font-size:12px}
  [data-layout-preview] .service-table{font-size:15px}
  [data-layout-preview] .service-table thead th{font-size:14px}
  [data-layout-preview] .table-direction{font-size:15px}
}

/* Adult boarding-to-terminal fare, separate from the expandable stop name. */
[data-layout-preview] .stop-info{min-width:0;flex:1}
[data-layout-preview] .stop-fare{flex:none;min-width:52px;margin-left:auto;padding-top:2px;text-align:right;white-space:nowrap;font-size:16px;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}
[data-layout-preview] .stop-fare-pending,[data-layout-preview] .stop-fare-none{font-size:12px;font-weight:400;color:var(--muted)}
[data-layout-preview] .stop-fare-note,[data-layout-preview] .stop-fare-explanation{font-size:12px;line-height:1.7;color:var(--muted);margin:8px 0 12px}
@media(max-width:720px){[data-layout-preview] .stop-detail>summary{gap:12px}[data-layout-preview] .stop-fare{min-width:45px;font-size:14px}[data-layout-preview] .stop-fare-pending,[data-layout-preview] .stop-fare-none{font-size:11px}}
