/* Guide and bus content inherit the canonical ESP theme. No second site skin. */
.esp-language{position:relative;font:600 .75rem var(--esp-sans);color:var(--esp-dark-text);flex-shrink:0}
.esp-language summary{cursor:pointer;list-style:none;padding:12px 8px;white-space:nowrap}
.esp-language summary::-webkit-details-marker{display:none}
.esp-language>div{position:absolute;right:0;top:100%;z-index:110;background:var(--esp-dark-surface);border:1px solid var(--esp-dark-line);padding:10px;display:grid;min-width:110px}
.esp-language a{padding:7px 12px;text-decoration:none}.esp-language a[aria-current]{color:var(--esp-dark-accent)}
body.esp-theme .header-shell{gap:20px}body.esp-theme .site-nav .menu{gap:4px}
body.esp-theme .site-nav .menu>li>a{padding:10px 8px;font-size:.72rem}
body.esp-theme.esp-guide-page .site-header{position:relative;top:0}
body.esp-theme.esp-guide-page .site-main{padding-top:0}
body.esp-theme .esp-guide-hero{min-height:470px;padding:0;position:relative}
body.esp-theme .esp-guide-hero .theme-hero__inner{min-height:470px;padding-block:65px}
body.esp-theme .esp-guide-hero .theme-hero__copy{max-width:900px}
body.esp-theme .esp-guide-hero h1{font-size:clamp(2.25rem,4.5vw,4.3rem);max-width:22ch;line-height:1.08;margin:20px 0}
body.esp-theme .esp-guide-hero .theme-hero__copy>p:not(.eyebrow){max-width:64ch;font-size:1rem}
.esp-breadcrumb{display:flex;gap:12px;align-items:center;font-size:.72rem;margin-bottom:28px;flex-wrap:wrap}
.esp-breadcrumb a{color:var(--esp-dark-text);text-decoration:none}
.esp-guide-wrap{padding-bottom:70px}.esp-guide-nav{display:flex;gap:28px;flex-wrap:wrap;padding:25px 0;border-bottom:1px solid var(--esp-dark-line);margin-bottom:42px;font-size:.8rem}
.esp-guide-nav a{text-decoration:none;color:var(--esp-dark-muted)}.esp-guide-nav a[aria-current]{color:var(--esp-dark-accent)}
.esp-guide-content{font-size:1rem;line-height:1.8}.esp-guide-content>p,.esp-guide-content>ul,.esp-guide-content>h2,.esp-guide-content>.prose{max-width:840px;margin-inline:auto}
.esp-guide-content>h2{margin-top:2em}.esp-guide-content p{margin-block:1.1em}
.esp-guide-content .prose{padding-block:24px}.esp-guide-content .note,.esp-guide-content .small{font-size:.84rem;color:var(--esp-dark-muted)}
.esp-guide-content .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:35px 0}
.esp-guide-content .card,.esp-guide-content .request-options a{display:block;border:1px solid var(--esp-dark-line);background:var(--esp-dark-surface);padding:30px;text-decoration:none;color:var(--esp-dark-text);border-radius:var(--esp-radius-md,4px)}
.esp-guide-content .card:hover,.esp-guide-content .request-options a:hover{border-color:var(--esp-dark-accent)}
.esp-guide-content .card h2{font-size:1.6rem;margin:16px 0;line-height:1.25}.esp-guide-content .card p{font-size:.9rem;color:var(--esp-dark-muted)}
.esp-guide-content .card-mark{font-size:.7rem;letter-spacing:.15em;color:var(--esp-dark-accent)}.esp-guide-content .arrow{display:block;margin-top:24px;color:var(--esp-dark-accent)}
.esp-guide-content .facts{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--esp-dark-line);padding:20px 0 35px;gap:24px;font-size:.8rem;color:var(--esp-dark-muted)}
.esp-guide-content .facts strong{display:block;font-size:3rem;font-family:var(--esp-display);color:var(--esp-dark-text);line-height:1.4;font-weight:500}
.esp-guide-content .button{display:inline-block;background:var(--esp-dark-accent);color:var(--esp-dark-background);padding:15px 24px;text-decoration:none;font-weight:700;font-size:.84rem;border-radius:3px;margin:10px 12px 10px 0}
.esp-guide-content .text-link{display:inline-block;margin:12px}.esp-guide-content .price-table{overflow:auto}.esp-guide-content table{width:100%;border-collapse:collapse}.esp-guide-content th,.esp-guide-content td{border-bottom:1px solid var(--esp-dark-line);text-align:left;padding:14px}
.esp-guide-content .request-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.esp-guide-content .request-options a{overflow-wrap:anywhere}
.esp-guide-content [data-er-room-inventory]{border-block:1px solid var(--esp-dark-line);padding:24px 0;margin:30px 0}.esp-guide-content [data-er-room-inventory] h3{font-size:1.4rem}
.esp-guide-sources{border-top:1px solid var(--esp-dark-line);margin-top:50px;padding-top:30px;font-size:.8rem;color:var(--esp-dark-muted)}.esp-guide-sources h2{font-size:1rem}.esp-guide-sources a{display:inline-block;margin:10px 20px 0 0}.esp-guide-return{padding-top:25px;font-size:.8rem}
body.esp-theme .esp-bus-wrap{padding-top:36px;padding-bottom:65px}
body.esp-theme .bus-content{--font-sans:var(--esp-sans);--paper:var(--esp-dark-surface);--paper-2:var(--esp-dark-surface-raised);--ink-soft:var(--esp-dark-muted);--gold:var(--esp-dark-accent);--bg:var(--esp-dark-background);--ink:var(--esp-dark-text);--surface:var(--esp-dark-surface);--muted:var(--esp-dark-muted);--line:var(--esp-dark-line)}
body.esp-theme .bus-content .bus-main{padding:0}body.esp-theme .bus-content .map-wrap{background:#e3e8de}body.esp-theme .bus-content :is(.leaflet-popup-content,.leaflet-tooltip){color:#18352a}
body.esp-theme .bus-content #load-map{position:relative;z-index:1000}body.esp-theme .bus-content .map-privacy{color:var(--esp-dark-text);background:var(--esp-dark-surface)}
@media(max-width:1100px){body.esp-theme .site-nav .menu>li>a{font-size:.66rem;padding:10px 5px}.esp-guide-content .cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){body.esp-theme .header-shell{gap:10px}.esp-language{margin-left:0}body.esp-theme .esp-guide-hero,body.esp-theme .esp-guide-hero .theme-hero__inner{min-height:400px}body.esp-theme .esp-guide-hero .theme-hero__inner{padding-block:40px}.esp-guide-content .cards,.esp-guide-content .request-options{grid-template-columns:1fr}.esp-guide-content .card{padding:24px}.esp-guide-nav{gap:16px}.esp-guide-content .facts strong{font-size:2rem}.esp-guide-content .facts{gap:12px}.esp-guide-content .prose{padding-block:12px}.esp-guide-content [data-er-room-inventory] h3{font-size:1.2rem}}
/* The theme's gold primary-button rule must not recolour route/stop controls. */
body.esp-theme .bus-content button{background:var(--esp-dark-surface);color:var(--esp-dark-text);border-color:var(--esp-dark-line);box-shadow:none}
body.esp-theme .bus-content button:hover,body.esp-theme .bus-content button[aria-pressed=true]{background:var(--esp-dark-surface-raised);color:var(--esp-dark-text);border-color:var(--esp-dark-accent)}
body.esp-theme .bus-content .filters button[aria-pressed=true]{background:var(--esp-dark-accent);color:var(--esp-dark-on-accent)}
body.esp-theme .bus-content .stop-button{border:0;background:transparent}
body.esp-theme .bus-content :is(.route-text strong,.stop-label strong){color:var(--esp-dark-text)}
body.esp-theme .bus-content :is(.route-arrow,.stop-number,#schedule-kind){color:var(--esp-dark-accent)}
body.esp-theme .bus-content .primary{background:var(--esp-dark-accent);color:var(--esp-dark-on-accent)}
body.esp-theme .bus-content :is(.stale,.map-error){background:var(--esp-dark-surface-raised);color:var(--esp-dark-warning)}
body.esp-theme .bus-content{padding:0;background:transparent}
