/* Scoped Ski Bus layout. Existing header, footer, CMS and other pages are unaffected. */
.skibus-page{--sb-accent:var(--season-primary,#173e76);--sb-ink:#152b33;--sb-muted:#5c6970;--sb-line:#dfe6e8;--sb-soft:#f3f6f7;color:var(--sb-ink)}
.skibus-page *{box-sizing:border-box}
.skibus-page .skibus-section{width:calc(100% - 96px);max-width:1320px;margin:0 auto;padding:48px 0}
.skibus-page .skibus-intro{padding-top:64px}
.skibus-page .skibus-heading{max-width:890px}
.skibus-page .skibus-heading h2,.skibus-page .skibus-section-head h2,.skibus-page .skibus-download h2{font-size:clamp(30px,4vw,54px);line-height:1.08;letter-spacing:-.035em;margin:12px 0 20px;font-weight:750}
.skibus-page .skibus-heading>p{font-size:clamp(17px,1.5vw,21px);line-height:1.7;color:var(--sb-muted);max-width:820px}
.skibus-page .skibus-section-head{max-width:850px;margin-bottom:28px}
.skibus-page .skibus-section-head>p{color:var(--sb-muted);line-height:1.7;margin:0}
.skibus-page .skibus-status{border-left:3px solid #b67b31;background:#faf6ef;padding:20px 24px;border-radius:0 16px 16px 0;margin-top:28px}
.skibus-page .skibus-status p{font-size:15px;line-height:1.65;margin:12px 0 0;max-width:1050px;color:#665638}
.skibus-page .skibus-pill{display:inline-flex;align-items:center;font-size:12px;font-weight:750;letter-spacing:.04em;line-height:1.5;border-radius:999px;padding:7px 13px;background:#e8eef2;color:var(--sb-accent)}
.skibus-page .skibus-status .skibus-pill{background:#f0e4cf;color:#705020}
.skibus-page .skibus-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.skibus-page .skibus-actions .btn,.skibus-page .skibus-download .btn{border-radius:999px;text-align:center;line-height:1.5;white-space:normal}
.skibus-page .skibus-facts,.skibus-page .skibus-stops{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.skibus-page .skibus-fact,.skibus-page .skibus-stop{padding:30px;border-radius:20px;background:#fff;border:1px solid var(--sb-line);min-width:0}
.skibus-page .skibus-fact{background:var(--sb-soft);border-color:transparent}
.skibus-page .skibus-number{display:block;font-size:12px;font-weight:750;letter-spacing:.08em;color:var(--sb-accent);margin-bottom:25px}
.skibus-page .skibus-fact h3,.skibus-page .skibus-stop h3{font-size:25px;line-height:1.2;letter-spacing:-.025em;margin:0 0 14px}
.skibus-page .skibus-fact p,.skibus-page .skibus-stop p,.skibus-page .skibus-route p{line-height:1.75;font-size:16px;color:var(--sb-muted);margin:0}
.skibus-page .skibus-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.skibus-page .skibus-route{border-radius:22px;padding:34px;background:var(--sb-accent);color:#fff;min-width:0}
.skibus-page .skibus-route-return{background:#19333b}
.skibus-page .skibus-route .skibus-pill{background:#ffffff1f;color:#fff}
.skibus-page .skibus-route h3{font-size:clamp(23px,2.2vw,31px);letter-spacing:-.025em;margin:24px 0;color:inherit;line-height:1.2}
.skibus-page .skibus-route ol{list-style:none;margin:0 0 26px;padding:0;counter-reset:stops}
.skibus-page .skibus-route li{counter-increment:stops;display:flex;align-items:center;gap:14px;padding:9px 0;font-weight:600}
.skibus-page .skibus-route li:before{content:counter(stops);display:grid;place-items:center;flex:0 0 28px;height:28px;border:1px solid #ffffff70;border-radius:50%;font-size:12px}
.skibus-page .skibus-route p{color:#fff;opacity:.85}
.skibus-page .skibus-stop{display:flex;flex-direction:column}
.skibus-page .skibus-stop p{flex:1}
.skibus-page .skibus-coordinates{display:block;font-size:12px;line-height:1.6;color:var(--sb-muted);margin:22px 0 14px;overflow-wrap:anywhere}
.skibus-page .skibus-stop .text-link{font-weight:700;font-size:14px;line-height:1.6;color:var(--sb-accent)}
.skibus-page .skibus-table-note{display:flex;align-items:center;gap:20px;padding:20px 24px;background:var(--sb-soft);border-radius:16px;margin-bottom:24px}
.skibus-page .skibus-table-note strong{flex-shrink:0;color:var(--sb-accent);font-size:18px}
.skibus-page .skibus-table-note p{font-size:14px;color:var(--sb-muted);line-height:1.65;margin:0}
.skibus-page .skibus-month-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.skibus-page .skibus-month-nav a{padding:10px 17px;border:1px solid var(--sb-line);border-radius:999px;font-size:14px;font-weight:650;text-decoration:none;color:var(--sb-ink)}
.skibus-page .skibus-month-nav a:hover{background:var(--sb-soft)}
.skibus-page .skibus-month-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px}
.skibus-page .skibus-month{border:1px solid var(--sb-line);border-radius:20px;overflow:hidden;min-width:0;scroll-margin-top:130px;background:#fff}
.skibus-page #skibus-timetable{scroll-margin-top:100px}
.skibus-page .skibus-month>header{display:flex;justify-content:space-between;align-items:baseline;gap:15px;background:var(--sb-accent);color:#fff;padding:23px 24px}
.skibus-page .skibus-month>header h3{font-size:23px;line-height:1.3;margin:0;letter-spacing:-.02em;color:#fff}
.skibus-page .skibus-month>header>span{font-size:12px;white-space:nowrap;color:#fff;opacity:.8}
.skibus-page .skibus-table-scroll{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
.skibus-page table{border-collapse:collapse;width:100%;min-width:320px;table-layout:fixed;margin:0;background:#fff}
.skibus-page th,.skibus-page td{text-align:left;padding:15px 18px;border-bottom:1px solid var(--sb-line);vertical-align:middle;font-size:14px;line-height:1.5;color:var(--sb-ink)}
.skibus-page thead th{font-size:13px;background:var(--sb-soft);font-weight:750;width:35%}
.skibus-page thead th:first-child{width:30%}
.skibus-page th small{display:block;font-weight:400;font-size:10px;line-height:1.4;color:var(--sb-muted);margin-top:4px}
.skibus-page tbody th{font-weight:650}
.skibus-page time>span{display:block;font-weight:400;color:var(--sb-muted);font-size:12px}
.skibus-page tbody tr:last-child>*{border-bottom:0}
.skibus-page .skibus-times{display:grid;grid-template-columns:repeat(2,max-content);gap:3px 10px;font-variant-numeric:tabular-nums;font-weight:600}
.skibus-page .skibus-footnote{font-size:14px;color:var(--sb-muted);line-height:1.7;margin:22px 0 0;max-width:900px}
.skibus-page .skibus-download{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:40px;padding:40px;border-radius:22px;background:var(--sb-soft)}
.skibus-page .skibus-download p{max-width:700px;line-height:1.75;color:var(--sb-muted);margin-bottom:0}
.skibus-page .skibus-download .btn{max-width:300px}
.skibus-page .skibus-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skibus-page a:focus-visible,.skibus-page [tabindex]:focus-visible{outline:3px solid var(--sb-accent);outline-offset:4px}
@media(max-width:1050px){.skibus-page .skibus-section{width:calc(100% - 64px)}.skibus-page .skibus-facts,.skibus-page .skibus-stops{gap:16px}.skibus-page .skibus-fact,.skibus-page .skibus-stop{padding:24px}.skibus-page .skibus-month-grid{grid-template-columns:1fr}.skibus-page .skibus-download{grid-template-columns:1fr;gap:24px}.skibus-page .skibus-download .btn{justify-self:start}}
@media(max-width:720px){.skibus-page .skibus-section{width:calc(100% - 36px);padding:32px 0}.skibus-page .skibus-intro{padding-top:40px}.skibus-page .skibus-facts,.skibus-page .skibus-stops,.skibus-page .skibus-routes{grid-template-columns:1fr}.skibus-page .skibus-number{margin-bottom:16px}.skibus-page .skibus-route{padding:27px}.skibus-page .skibus-status{padding:18px}.skibus-page .skibus-table-note{display:block;padding:18px}.skibus-page .skibus-table-note p{margin-top:8px}.skibus-page .skibus-month>header{padding:20px;align-items:start}.skibus-page .skibus-month>header h3{font-size:21px}.skibus-page th,.skibus-page td{padding:13px 11px;font-size:13px}.skibus-page .skibus-times{gap:3px 8px}.skibus-page .skibus-download{padding:26px}.skibus-page .skibus-actions{flex-direction:column;align-items:stretch}.skibus-page .skibus-download .btn{max-width:100%;width:100%}}
@media(prefers-reduced-motion:reduce){.skibus-page *{scroll-behavior:auto!important;transition:none!important}}
@media print{.skibus-page .hero,.skibus-page .subnav,.skibus-page .skibus-actions,.skibus-page .skibus-related,.skibus-page .destination-cta{display:none}.skibus-page .skibus-section{width:100%;padding:18px 0}.skibus-page .skibus-month-grid{grid-template-columns:1fr}.skibus-page .skibus-month{break-inside:avoid}.skibus-page .skibus-route{background:#fff;color:#000;border:1px solid #ddd}.skibus-page .skibus-route p{color:#000}}
