/* Existing listing styles. Rebuild: node tools/build-frontend-css.cjs */
/* cookiefix.css */

/* 1) Nooit scroll lock op html/body via interstitial-class */
html.termsfeed-com---nb-interstitial,
body.termsfeed-com---nb-interstitial {
  overflow: auto !important;
}

/* 2) Maak van de interstitial-overlay een onderbalk i.p.v. full-screen */
.termsfeed-com---nb-interstitial-overlay {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  width: 100% !important;
  height: auto !important;
  max-height: 220px !important;
  background: rgba(0, 0, 0, 0.9) !important; /* of lichter als je wilt */
  z-index: 999999 !important;
  overflow-y: auto !important;
}

/* 3) Neutraliseer interstitial varianten, maar NIET het preferences-scherm */
.termsfeed-com---nb-standalone {
  position: fixed !important;
  top: auto !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: auto !important;
  max-height: 220px !important;
  background: rgba(0, 0, 0, 0.9) !important;
}

/* Preferences overlay moet juist erbóven hangen */
.termsfeed-com---pc-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 10000000000 !important; /* boven sticky ad & banner */
  /* geen background override nodig; TermsFeed regelt dit zelf */
}

/* 4) Interne wrappers soms op 100vh → terug naar auto */
.termsfeed-com---nb,
.termsfeed-com---nb .termsfeed-com---popup,
.termsfeed-com---nb .termsfeed-com---nb-container {
  height: auto !important;
  max-height: none !important;
}/*# sourceMappingURL=cookiefix.css.map */
/* homepage.css */
/* Existing server font convention. These files are already used by bergundbahn.css. */
@font-face { font-family: "LatoWeb"; src: url("../fonts/latin-20261022/Lato-Regular.woff2") format("woff2"); font-weight: 400; font-display: swap; ;unicode-range:U+0100-024F,U+1E00-1EFF;}
@font-face { font-family: "LatoWeb"; src: url("../fonts/latin-20261022/Lato-Regular-core.woff2") format("woff2"); font-weight: 400; font-display: swap; ;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+1E9E,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-21FF,U+FEFF,U+FFFD;}
@font-face { font-family: "LatoWeb"; src: url("../fonts/latin-20261022/Lato-Bold.woff2") format("woff2"); font-weight: 700; font-display: swap; ;unicode-range:U+0100-024F,U+1E00-1EFF;}
@font-face { font-family: "LatoWeb"; src: url("../fonts/latin-20261022/Lato-Bold-core.woff2") format("woff2"); font-weight: 700; font-display: swap; ;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+1E9E,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-21FF,U+FEFF,U+FFFD;}
@font-face { font-family: "YanoneKaffeesatz-Bold"; src: url("../fonts/latin-20261022/YanoneKaffeesatz-Bold.woff2") format("woff2"); font-weight: 700; font-display: swap; ;unicode-range:U+0100-024F,U+1E00-1EFF;}
@font-face { font-family: "YanoneKaffeesatz-Bold"; src: url("../fonts/latin-20261022/YanoneKaffeesatz-Bold-core.woff2") format("woff2"); font-weight: 700; font-display: swap; ;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+1E9E,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-21FF,U+FEFF,U+FFFD;}
.bb-home-body {
    --bb-home-search-glyph: url("/pics/optimized-20261022/ui-glyph-1.svg");
    --bb-home-heart-glyph: url("/pics/optimized-20261022/ui-glyph-2.svg");
    --bb-home-heart-active-glyph: url("/pics/optimized-20261022/ui-glyph-3.svg");
    --bb-home-menu-glyph: url("/pics/optimized-20261022/ui-glyph-4.svg");
    --bb-paper: #f8f6f4; --bb-cream: #f1eee6; --bb-gold: #a17626;
    --bb-green: #5c603a; --bb-ink: #2e2e2a; --bb-line: #e7e0cf;
    --bb-heading: "YanoneKaffeesatz-Bold", "Arial Narrow", sans-serif;
    --bb-body: "LatoWeb", Arial, sans-serif;
    --bb-shell: min(calc(100% - 32px), 1600px);
    margin: 0; color: var(--bb-ink); background: var(--bb-paper); font: 16px/1.4 var(--bb-body);
}
.bb-home-body, .bb-home-body * { box-sizing: border-box; }
.bb-home-body { font-family: var(--bb-body) !important; }
.bb-home-body article { margin: 0; }
.bb-home-body img { display: block; max-width: 100%; height: auto; }
.bb-home-site { position: relative; }
.bb-home-site > main { top: 0; padding: 0; background: var(--bb-paper); }
.bb-home-site > footer { top: 0; }
.bb-home-body a { color: inherit; text-decoration: none; }
.bb-home-body button, .bb-home-body input { font: inherit; }
.bb-home-body h1, .bb-home-body h2, .bb-home-body h3, .bb-home-body h4, .bb-home-body p { margin: 0; }
.bb-home-body h1, .bb-home-body h2, .bb-home-body h3, .bb-home-body h4 { font-family: var(--bb-heading); font-weight: 700; line-height: 1.1; text-transform: none; padding: 0; }
.bb-home-icon { width: 1.25em; height: 1.25em; display: inline-block; flex: none; vertical-align: -.2em; background: center / contain no-repeat; }
.bb-home-icon--search { background-image: url("../pics/optimized-20261022/homepage-icon-search-native.webp"); }
.bb-home-icon--heart { background-image: url("../pics/optimized-20261022/homepage-icon-heart-native.webp"); }
.bb-home-icon--menu { background-image: url("../pics/optimized-20261022/homepage-icon-menu-native.webp"); }
.bb-home-icon--sliders { background-image: url("../pics/optimized-20261022/homepage-icon-sliders-native.webp"); }
.bb-home-icon--cable-car { background-image: url("../pics/optimized-20261022/homepage-icon-cable-car-native.webp"); }
.bb-home-icon--mountain { background-image: url("../pics/optimized-20261022/homepage-icon-mountain-native.webp"); }
.bb-home-icon--bed { background-image: url("../pics/optimized-20261022/homepage-icon-bed-native.webp"); }
.bb-home-icon--walk { background-image: url("../pics/optimized-20261022/homepage-icon-walk-native.webp"); }
.bb-home-icon--spark { background-image: url("../pics/optimized-20261022/homepage-icon-spark-native.webp"); }
.bb-home-icon--map { background-image: url("../pics/optimized-20261022/homepage-icon-map-native.webp"); }
.bb-home-icon--passport { background-image: url("../pics/optimized-20261022/homepage-icon-passport-native.webp"); }
.bb-home-icon--compass { background-image: url("../pics/optimized-20261022/homepage-icon-compass-native.webp"); }
.bb-home-icon--pin { background-image: url("../pics/optimized-20261022/homepage-icon-pin-native.webp"); }
.bb-home-icon--clock { background-image: url("../pics/optimized-20261022/homepage-icon-clock-native.webp"); }
.bb-home-icon--users { background-image: url("../pics/optimized-20261022/homepage-icon-users-native.webp"); }
.bb-home-icon--arrow { background-image: url("../pics/optimized-20261022/homepage-icon-arrow-native.webp"); }
.bb-home-icon--leaf { background-image: url("../pics/optimized-20261022/homepage-icon-leaf-native.webp"); }
.bb-home-icon--book { background-image: url("../pics/optimized-20261022/homepage-icon-book-native.webp"); }
.bb-home-icon--target { background-image: url("../pics/optimized-20261022/homepage-icon-target-native.webp"); }
.bb-home-page-shell { width: var(--bb-shell); max-width: 1600px; margin-inline: auto; }
.bb-home-visually-hidden, .bb-home-skip-link:not(:focus) { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.bb-home-skip-link { position: fixed; z-index: 100; top: 10px; left: 10px; padding: 8px 14px; background: #fff; }
.bb-home-body :is(a,button,input):focus-visible { outline: 2px solid var(--bb-gold); outline-offset: 3px; }

/* Part 1: header, hero, overlapping search, map, categories, cards, Passport. */
.bb-home-header { position: absolute; z-index: 20; top: 0; left: 50%; transform: translateX(-50%); width: var(--bb-shell); height: 77px; display: flex; align-items: center; gap: 8px; padding: 0; background: transparent; }
.bb-home-brand { display: flex; align-items: center; min-width: 0; gap: 12px; margin-right: auto; background: transparent; }
.bb-home-brand img { width: 55px; height: 55px; border-radius: 0; object-fit: contain; flex: none; background: transparent; }
.bb-home-brand span { display: flex; flex-direction: column; min-width: 0; }
.bb-home-brand strong { font: 700 25px/1 var(--bb-heading); letter-spacing: .08em; white-space: nowrap; }
.bb-home-brand small { display: flex; align-items: center; gap: 4px; margin-top: 4px; font-size: 7px; font-weight: 700; white-space: nowrap; }
.bb-home-brand small .bb-home-icon { width: 19px; height: 19px; }
/* One quiet surface behind the existing navigation and actions, not the logo. */
.bb-home-header-navigation { display: flex; align-items: center; gap: 14px; flex: none; padding: 7px 10px; border: 1px solid #fffaf080; border-radius: 14px; background: rgb(250 246 237 / 86%); box-shadow: 0 2px 10px #3728140d; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.bb-home-header-actions { display: flex; align-items: center; gap: 6px; }
.bb-home-desktop-nav { display: none; }
.bb-home-icon-button { display: flex; justify-content: center; align-items: center; width: 33px; height: 33px; padding: 0; border: 0; border-radius: 4px; background: transparent; color: var(--bb-ink); cursor: pointer; }
.bb-home-icon-button .bb-home-icon { width: 22px; height: 22px; }
.bb-home-header-actions .bb-home-icon { background-size: contain; }
.bb-home-header-actions .bb-home-icon--search { background-image: var(--bb-home-search-glyph); }
.bb-home-header-actions .bb-home-icon--heart { background-image: var(--bb-home-heart-glyph); }
.bb-home-header-actions .bb-home-icon--menu { background-image: var(--bb-home-menu-glyph); }
.bb-home-icon-button:hover { background: #f8f6f433; }
.bb-home-mobile-menu { position: absolute; right: 0; top: 70px; min-width: 210px; display: grid; padding: 10px; background: var(--bb-paper); border: 1px solid var(--bb-line); border-radius: 16px; box-shadow: 0 8px 24px #37281422; }
.bb-home-mobile-menu[hidden] { display: none; }
.bb-home-mobile-menu a { padding: 10px; }
.bb-home-hero { position: relative; height: 232px; background: #f1eee6; }
.bb-home-hero-picture{display:contents}
.bb-home-hero > .bb-home-hero-image,.bb-home-hero > .bb-home-hero-picture > .bb-home-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%}
.bb-home-hero::after { content: ""; position: absolute; left: 0; top: 32%; bottom: 0; width: min(68%, 700px); pointer-events: none; background: radial-gradient(ellipse at 28% 65%, #fff8e9aa, transparent 72%); }
.bb-home-hero-content { position: relative; z-index: 1; padding-top: 88px; padding-left: 7px; }
.bb-home-hero h1 { font-size: 34px; letter-spacing: 0; }
.bb-home-hero h1 span { display: block; white-space: nowrap; }
.bb-home-hero-intro { max-width: 220px; margin-top: 10px !important; font-size: 11px; line-height: 1.4; }
.bb-home-search { position: relative; z-index: 5; display: flex; align-items: center; width: min(calc(100% - 56px), 1100px); height: 41px; margin-top: -18px; padding-inline: 13px; border: 1px solid var(--bb-gold); border-radius: 14px; background: var(--bb-paper); box-shadow: 0 4px 8px #3f362b20; }
.bb-home-search > .bb-home-icon { width: 26px; height: 26px; }
.bb-home-search input { flex: 1; width: 0; min-width: 0; padding: 6px 11px; border: 0; background: transparent; outline: 0; color: var(--bb-ink); font-size: 12px; }
.bb-home-search input::placeholder { color: var(--bb-ink); opacity: 1; }
.bb-home-search button { flex: none; display: flex; align-items: center; justify-content: center; width: 36px; height: 27px; padding: 0; margin-left: 8px; border: 0; border-left: 1px solid var(--bb-line); background: none; cursor: pointer; }
.bb-home-search button .bb-home-icon { width: 21px; height: 21px; }
.bb-home-discovery { margin-top: 10px; }
.bb-home-overview-map { width: 100%; border: 0; border-radius: 15px; overflow: hidden; background: transparent; box-shadow: none; }
.bb-home-overview-map img { display: block; width: 100.8%; max-width: none; height: auto; margin: -.4%; mix-blend-mode: multiply; }
.bb-home-categories { display: flex; margin: 13px 0 8px; }
.bb-home-category { position: relative; display: flex; flex: 1 1 20%; flex-direction: column; align-items: center; justify-content: flex-start; gap: 7px; min-width: 0; font-size: 9px; text-align: center; white-space: nowrap; }
.bb-home-category + .bb-home-category::before { content: ""; position: absolute; top: 7px; left: 0; height: 27px; border-left: 1px solid var(--bb-line); }
.bb-home-category-icon { display: flex; align-items: center; justify-content: center; width: 41px; height: 41px; }
.bb-home-category-icon .bb-home-icon { width: 41px; height: 41px; }
.bb-home-section-heading--row { display: flex; align-items: end; justify-content: space-between; gap: 10px; margin-bottom: 9px; padding-inline: 7px; }
.bb-home-section-heading h2 { font-size: 21px; }
.bb-home-text-link { display: inline-flex; align-items: center; gap: 6px; flex: none; color: #805b1e !important; font-size: 10px; font-weight: 700; }
.bb-home-text-link .bb-home-icon { width: 13px; height: 13px; }
.bb-home-destination-grid { display: grid; grid-auto-flow: column; grid-auto-columns: 46%; gap: 9px; overflow-x: auto; padding: 0 1px 5px; scroll-snap-type: x mandatory; scrollbar-width: none; }
.bb-home-destination-grid::-webkit-scrollbar { display: none; }
.bb-home-destination-card, .bb-home-place-card, .bb-home-railways, .bb-home-article-card { position: relative; min-width: 0; overflow: hidden; border: 1px solid var(--bb-line); border-radius: 12px; background: var(--bb-paper); box-shadow: 0 2px 5px #3728140d; }
.bb-home-destination-card { scroll-snap-align: start; }
.bb-home-card-image { display: block; position: relative; overflow: hidden; }
.bb-home-card-image img { width: 100%; aspect-ratio: 2.3; object-fit: cover; }
/* These temporary fixture photos contain a baked-in heart at their right edge.
   Keep the existing card dimensions and crop that edge out of the displayed photo. */
:is(.bb-home-card-image, .bb-home-place-image, .bb-home-article-card--stay .bb-home-article-image, .bb-home-railways-main, .bb-home-season) img:is([src$="homepage-inspiration-rofan.jpg"], [src$="homepage-destination-vinschgau.jpg"], [src$="homepage-destination-wildschoenau.jpg"], [src$="homepage-destination-osttirol.jpg"], [src$="homepage-inspiration-wandelen.jpg"]) { transform: scale(1.34); transform-origin: left center; }
.bb-home-railways-main, .bb-home-article-card--stay .bb-home-article-image { overflow: hidden; }
.bb-home-score { position: absolute; z-index: 2; display: flex; flex-direction: column; justify-content: center; align-items: center; top: 4px; left: 6px; width: 41px; height: 41px; border: 1px solid var(--bb-line); border-radius: 50%; background: var(--bb-paper); color: #805b1e; line-height: 1; }
.bb-home-score strong { font: 400 19px/1 var(--bb-body); }
.bb-home-score small { margin-top: 2px; color: var(--bb-ink); font-size: 4px; text-transform: uppercase; }
.bb-home-score > .bb-home-icon { width: 10px; height: 10px; margin-top: 1px; }
.bb-home-favorite { display: flex; align-items: center; justify-content: center; position: absolute; z-index: 3; top: 7px; right: 7px; width: 25px; height: 25px; padding: 0; border: 0; border-radius: 50%; background: var(--bb-paper); cursor: pointer; }
.bb-home-favorite .bb-home-icon { width: 19px; height: 19px; background-image: var(--bb-home-heart-glyph); background-size: contain; }
.bb-home-favorite[aria-pressed="true"] .bb-home-icon { background-image: var(--bb-home-heart-active-glyph); }
.bb-home-favorite[aria-pressed="true"] { box-shadow: 0 0 0 2px var(--bb-gold); }
.bb-home-card-body { padding: 9px 11px; }
.bb-home-destination-card .bb-home-card-body { padding: 7px 11px; }
.bb-home-destination-card h3 { font: 700 13px/1.2 var(--bb-body); }
.bb-home-location { display: flex; align-items: center; gap: 3px; margin-top: 3px !important; font-size: 9px; }
.bb-home-location .bb-home-icon { display: none; }
.bb-home-meta-list { display: flex; justify-content: space-between; gap: 3px; margin: 4px 0 0; padding: 0; list-style: none; }
.bb-home-meta-list li { display: flex; align-items: center; gap: 2px; margin: 0; padding: 0; font-size: 8px; white-space: nowrap; }
.bb-home-meta-list .bb-home-icon { width: 12px; height: 12px; }
.bb-home-passport { position: relative; display: grid; grid-template-columns: 120px minmax(0,1fr) 105px; grid-template-rows: minmax(0,1fr); align-items: center; gap: 8px; height: 96px; min-height: 96px; margin-top: 40px; padding: 8px; overflow: visible; border: 1px solid var(--bb-line); border-radius: 12px; background: radial-gradient(ellipse at 35% 10%,#fff9e666,transparent 65%),linear-gradient(110deg,#e8e1ce,#f0ebdc); }
.bb-home-passport-book { position: absolute; z-index: 1; left: -4px; bottom: -4px; width: 124px; height: auto; max-width: none; margin: 0; object-fit: contain; filter: drop-shadow(0 3px 3px #30281733); pointer-events: none; }
.bb-home-passport-copy { grid-column: 2; min-width: 0; }
.bb-home-passport > .bb-home-button { grid-column: 3; }
.bb-home-passport h2 { font-size: 22px; white-space: nowrap; }
.bb-home-passport-copy p { max-width: 140px; margin-top: 5px !important; font-size: 9px; }
.bb-home-button, .bb-home-article-link.bb-home-button--outline { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 30px; padding: 5px 14px; border: 1px solid var(--bb-gold); border-radius: 999px; background: var(--bb-gold); color: var(--bb-paper) !important; font-size: 12px; font-weight: 700; white-space: nowrap; }
.bb-home-button .bb-home-icon { width: 13px; height: 13px; }
.bb-home-button--outline, .bb-home-article-link.bb-home-button--outline { border-color: #b3a78a; background: transparent; color: var(--bb-ink) !important; }
.bb-home-passport .bb-home-button { align-self: end; min-height: 24px; margin-bottom: 3px; padding: 3px 7px; border-radius: 7px; font-size: 9px; }

/* Part 2: places, Finder, editorial card. */
.bb-home-following { padding-top: 38px; }
.bb-home-chapter { padding-bottom: 15px; scroll-margin-top: 20px; }
.bb-home-chapter-intro { margin-bottom: 23px; }
.bb-home-chapter-intro h2 { font-size: 28px; }
.bb-home-chapter-intro p { margin-top: 5px !important; font-size: 11px; }
.bb-home-subheading { display: flex; align-items: center; gap: 11px; margin-bottom: 10px !important; font-size: 20px; }
.bb-home-subheading > .bb-home-icon { width: 25px; height: 25px; }
.bb-home-feature-place { position: relative; height: 139px; border-radius: 13px; overflow: hidden; color: #fff; }
.bb-home-feature-place > img { width: 100%; height: 100%; object-fit: cover; }
.bb-home-feature-place::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,#0c160bcc,transparent 73%); }
.bb-home-feature-place-copy { position: absolute; z-index: 1; left: 16px; top: 16px; width: 65%; }
.bb-home-feature-place h4 { max-width: 185px; font-size: 27px; }
.bb-home-feature-place-copy p { margin-top: 9px !important; font-size: 10px; }
.bb-home-feature-place-copy p .bb-home-icon { width: 14px; height: 14px; }
.bb-home-feature-place .bb-home-score { top: 50%; left: auto; right: 13px; transform: translateY(-50%); width: 70px; height: 70px; }
.bb-home-feature-place .bb-home-score strong { font-size: 34px; }
.bb-home-feature-place .bb-home-score small { font-size: 6px; }
.bb-home-feature-place .bb-home-score .bb-home-icon { width: 14px; height: 14px; }
.bb-home-places-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin-top: 10px; }
.bb-home-place-image { position: relative; overflow: hidden; }
.bb-home-place-image img { width: 100%; aspect-ratio: 2; object-fit: cover; }
.bb-home-place-image .bb-home-score { left: 9px; right: auto; top: 10px; width: 49px; height: 49px; }
.bb-home-place-image .bb-home-score strong { font-size: 23px; }
.bb-home-place-copy { position: relative; min-height: 61px; padding: 9px 10px; }
.bb-home-place-copy h4 { padding-right: 20px; font: 700 13px/1.2 var(--bb-body); }
.bb-home-place-copy p { margin-top: 4px !important; font-size: 9px; }
.bb-home-place-copy p .bb-home-icon { width: 12px; height: 12px; }
.bb-home-finder { position: relative; height: 100px; margin: 10px 0 13px; overflow: hidden; border: 1px solid var(--bb-line); border-radius: 12px; background: var(--bb-cream); }
.bb-home-finder > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bb-home-finder::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,#f8f6f4fa 0%,#f8f6f4d9 42%,transparent 77%); }
.bb-home-finder-copy { position: relative; z-index: 1; padding: 14px 17px; }
.bb-home-finder h2 { display: flex; align-items: center; font: 700 20px/1.1 var(--bb-body); }
.bb-home-finder h2 .bb-home-icon { width: 22px; height: 22px; }
.bb-home-finder p { margin: 5px 0 8px !important; font-size: 10px; }
.bb-home-finder .bb-home-button { min-height: 27px; }
.bb-home-railways-main { display: grid; grid-template-columns: 41% 59%; min-height: 117px; }
.bb-home-railways-copy { padding: 10px 15px; }
.bb-home-railways-copy > span { display: inline-block; padding: 2px 7px; border-radius: 30px; background: #dcd3bd; font-size: 7px; }
.bb-home-railways-copy h4 { margin-top: 5px !important; font-size: 18px; }
.bb-home-railways-copy p { margin-top: 5px !important; font-size: 8px; }
.bb-home-railways-copy .bb-home-text-link { margin-top: 9px; font-size: 8px; }
.bb-home-railways-main > img { width: 100%; height: 100%; min-height: 117px; object-fit: cover; }
.bb-home-railways-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--bb-line); }
.bb-home-railways-links :is(a,span[data-card-kind]) { display: flex; align-items: center; gap: 5px; min-width: 0; padding: 8px; }
.bb-home-railways-links :is(a,span[data-card-kind]) + a { border-left: 1px solid var(--bb-line); }
.bb-home-rail-icon { display: flex; align-items: center; justify-content: center; flex: none; width: 21px; height: 21px; }
.bb-home-rail-icon .bb-home-icon { width: 21px; height: 21px; }
.bb-home-railways-links :is(a,span[data-card-kind]) > span:nth-child(2) { min-width: 0; }
.bb-home-railways-links strong, .bb-home-railways-links small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bb-home-railways-links strong { font-size: 8px; }
.bb-home-railways-links small { font-size: 7px; }
.bb-home-railways-links :is(a,span[data-card-kind]) > .bb-home-icon { width: 9px; height: 9px; margin-left: auto; }

/* Part 3: interactive map, story, stay, seasons. */
.bb-home-inspiration { padding-top: 25px; }
.bb-home-inspiration .bb-home-chapter-intro { margin-bottom: 15px; }
.bb-home-map-card { position: relative; height: 190px; overflow: hidden; border: 1px solid var(--bb-line); border-radius: 13px; background: var(--bb-cream); }
.bb-home-map-card > .bb-geo-map { position: absolute; inset: 0; }
.bb-home-map-card::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg,#f8f6f4f2 0%,#f8f6f4cf 24%,transparent 58%); }
.bb-home-map-copy { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; width: 55%; height: 100%; padding: 16px 14px; pointer-events: none; }
.bb-home-map-copy :is(a,button) { pointer-events: auto; }
.bb-home-map-copy h3 { max-width: 130px; font-size: 26px; }
.bb-home-map-copy h3 span { display: block; }
.bb-home-map-copy p { max-width: 125px; margin-top: 8px !important; font-size: 9px; }
.bb-home-map-copy .bb-home-button { margin-top: 14px; }
.bb-home-map-filter { display: inline-flex; align-items: center; gap: 5px; margin-top: auto; padding: 4px 7px; border: 1px solid var(--bb-line); border-radius: 20px; background: #f8f6f4e6; font-size: 8px; white-space: nowrap; }
.bb-home-map-filter .bb-home-icon { width: 17px; height: 17px; }
.bb-home-article-grid { display: grid; gap: 13px; margin-top: 13px; }
.bb-home-article-card { display: flex; min-height: 141px; }
.bb-home-article-image { order: 2; display: block; flex: 0 0 49%; min-width: 0; }
.bb-home-article-image img { width: 100%; height: 100%; object-fit: cover; }
.bb-home-article-card .bb-home-card-body { order: 1; display: flex; flex: 1 1 51%; flex-direction: column; align-items: flex-start; padding: 14px 13px; min-width: 0; }
.bb-home-card-category { display: flex; align-items: center; gap: 6px; font: 700 15px/1 var(--bb-heading); }
.bb-home-card-category .bb-home-icon { width: 18px; height: 18px; }
.bb-home-article-card h3 { margin-top: 9px !important; font-size: 21px; }
.bb-home-article-card .bb-home-card-body > p:not(.bb-home-card-category) { margin-top: 7px !important; font-size: 9px; line-height: 1.4; }
.bb-home-article-link { display: inline-flex; align-items: center; gap: 5px; margin-top: auto; padding-top: 9px; color: #805b1e !important; font-size: 9px; font-weight: 700; }
.bb-home-article-card--stay .bb-home-article-image { order: 1; }
.bb-home-article-card--stay .bb-home-card-body { order: 2; }
.bb-home-article-card--stay .bb-home-favorite { top: 12px; right: 10px; }
.bb-home-article-card--stay .bb-home-card-category { padding-right: 20px; }
.bb-home-stay-name { margin-top: 10px; font-size: 10px; }
.bb-home-article-link.bb-home-button--outline { margin-top: 7px; min-height: 24px; padding: 3px 9px; border-radius: 8px; font-size: 9px; }
.bb-home-seasons { margin-top: 11px; padding: 10px 5px 5px; border: 1px solid var(--bb-line); border-radius: 15px; background: var(--bb-paper); }
.bb-home-seasons h3 { display: flex; align-items: center; gap: 5px; margin-bottom: 9px !important; font-size: 17px; }
.bb-home-seasons h3 > .bb-home-icon { width: 24px; height: 24px; }
.bb-home-seasons h3 small { display: block; margin-top: 3px; font: 400 9px var(--bb-body); }
.bb-home-season-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.bb-home-season { position: relative; min-width: 0; aspect-ratio: 1.46; overflow: hidden; border-radius: 11px; color: #fff !important; }
.bb-home-season::after { content: ""; position: absolute; inset: 30% 0 0; background: linear-gradient(transparent,#132019a9); }
.bb-home-season img { width: 100%; height: 100%; object-fit: cover; }
.bb-home-season strong { position: absolute; z-index: 1; left: 7px; bottom: 6px; max-width: 65%; font-size: 9px; line-height: 1.2; }
.bb-home-season > span { position: absolute; z-index: 1; right: 5px; bottom: 5px; display: flex; align-items: center; justify-content: center; width: 19px; height: 19px; border-radius: 50%; background: var(--bb-paper); }
.bb-home-season > span .bb-home-icon { width: 10px; height: 10px; }
.bb-home-footer { margin-top: 30px; padding: 30px 0 75px; background: var(--bb-cream); border-top: 1px solid var(--bb-line); }
.bb-home-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 15px; }
.bb-home-footer-brand { font: 700 23px var(--bb-heading); letter-spacing: .06em; }
.bb-home-footer p, .bb-home-footer li { font-size: 10px; }
.bb-home-footer h2 { margin-bottom: 7px; font-size: 16px; }
.bb-home-footer ul { margin: 0; padding: 0; list-style: none; }
.bb-home-footer-bottom { display: flex; justify-content: space-between; gap: 8px; margin-top: 20px; border-top: 1px solid var(--bb-line); padding-top: 10px; font-size: 9px; }
.bb-home-bottom-nav { position: fixed; z-index: 50; bottom: 0; left: 0; right: 0; display: grid; grid-template-columns: repeat(4,1fr); height: calc(44px + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom); border-top: 1px solid var(--bb-line); background: var(--bb-paper); }
.bb-home-bottom-nav a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; font-size: 9px; }
.bb-home-bottom-nav .bb-home-icon { width: 20px; height: 20px; }
.bb-home-bottom-nav a.is-active { color: #805b1e; }

@media (max-width: 380px) {
    .bb-home-brand { gap: 7px; }.bb-home-brand img { width: 45px; height: 45px; }
    .bb-home-brand strong { font-size: 21px; }.bb-home-brand small { font-size: 6px; }
    .bb-home-header-actions { gap: 5px; }.bb-home-icon-button { width: 30px; height: 30px; }
    .bb-home-hero h1 { font-size: 29px; }.bb-home-hero-content { padding-top: 82px; }
    .bb-home-category { font-size: 8px; }.bb-home-category-icon, .bb-home-category-icon .bb-home-icon { width: 35px; height: 35px; }
    .bb-home-passport { grid-template-columns: 95px 1fr 85px; gap: 5px; margin-top: 28px; }.bb-home-passport-book { width: 102px; left: -2px; }.bb-home-passport h2 { font-size: 19px; }
    .bb-home-railways-links .bb-home-rail-icon { display: none; }
    .bb-home-article-card h3 { font-size: 19px; }.bb-home-card-category { font-size: 13px; }
}
@media (min-width: 600px) {
    .bb-home-body { --bb-shell: min(calc(100% - 54px), 1600px); }
    .bb-home-header { height: 110px; }.bb-home-brand img { width: 74px; height: 74px; }.bb-home-brand strong { font-size: 34px; }.bb-home-brand small { font-size: 11px; }
    .bb-home-icon-button { width: 44px; height: 44px; }.bb-home-icon-button .bb-home-icon { width: 24px; height: 24px; }
    .bb-home-hero { height: 330px; }.bb-home-hero-content { padding-top: 125px; }.bb-home-hero h1 { font-size: 54px; }.bb-home-hero-intro { max-width: 340px; font-size: 17px; }
    .bb-home-search { height: 64px; width: min(calc(100% - 90px), 1100px); margin-top: -25px; padding-inline: 20px; border-radius: 22px; }.bb-home-search input { font-size: 18px; }.bb-home-search > .bb-home-icon { width: 37px; height: 37px; }.bb-home-search button { width: 48px; height: 40px; }
    .bb-home-discovery { margin-top: 18px; }.bb-home-categories { margin: 22px 0 30px; }.bb-home-category { font-size: 13px; }.bb-home-category-icon, .bb-home-category-icon .bb-home-icon { width: 59px; height: 59px; }
    .bb-home-section-heading h2 { font-size: 32px; }.bb-home-text-link { font-size: 14px; }
    .bb-home-destination-grid { gap: 16px; }.bb-home-card-body, .bb-home-destination-card .bb-home-card-body { padding: 15px; }.bb-home-destination-card h3 { font-size: 21px; }.bb-home-location { font-size: 14px; }.bb-home-meta-list li { font-size: 12px; }.bb-home-meta-list .bb-home-icon { width: 21px; height: 21px; }
    .bb-home-score { width: 62px; height: 62px; }.bb-home-score strong { font-size: 30px; }.bb-home-score small { font-size: 7px; }
    .bb-home-passport { grid-template-columns: 170px 1fr auto; height: 130px; min-height: 130px; gap: 20px; margin-top: 56px; padding: 15px; }.bb-home-passport-book { width: 165px; left: 0; }.bb-home-passport h2 { font-size: 35px; }.bb-home-passport-copy p { max-width: 240px; font-size: 15px; }.bb-home-passport .bb-home-button { font-size: 13px; padding: 6px 12px; }
    .bb-home-following { padding-top: 55px; }.bb-home-chapter-intro h2 { font-size: 44px; }.bb-home-chapter-intro p { font-size: 17px; }.bb-home-subheading { font-size: 30px; }
    .bb-home-feature-place { height: 230px; }.bb-home-feature-place h4 { max-width: 330px; font-size: 43px; }.bb-home-feature-place-copy p { font-size: 16px; }.bb-home-feature-place .bb-home-score { width: 100px; height: 100px; }.bb-home-feature-place .bb-home-score strong { font-size: 50px; }
    .bb-home-place-copy { min-height: 105px; padding: 15px; }.bb-home-place-copy h4 { font-size: 21px; }.bb-home-place-copy p { font-size: 14px; }.bb-home-place-image .bb-home-score { width: 75px; height: 75px; }.bb-home-place-image .bb-home-score strong { font-size: 35px; }
    .bb-home-finder { height: 180px; margin-block: 20px; }.bb-home-finder-copy { padding: 25px; }.bb-home-finder h2 { font-size: 30px; }.bb-home-finder p { font-size: 16px; }
    .bb-home-railways-main { min-height: 205px; }.bb-home-railways-main > img { min-height: 205px; }.bb-home-railways-copy { padding: 20px 25px; }.bb-home-railways-copy h4 { font-size: 30px; }.bb-home-railways-copy p { font-size: 14px; }.bb-home-railways-links strong { font-size: 13px; }.bb-home-railways-links small { font-size: 11px; }
    .bb-home-map-card { height: 330px; }.bb-home-map-copy { padding: 28px; }.bb-home-map-copy h3 { max-width: 235px; font-size: 42px; }.bb-home-map-copy p { max-width: 230px; font-size: 15px; }.bb-home-map-filter { font-size: 12px; }
    .bb-home-article-grid { gap: 20px; margin-top: 20px; }.bb-home-article-card { min-height: 235px; }.bb-home-article-card .bb-home-card-body { padding: 22px; }.bb-home-card-category { font-size: 23px; }.bb-home-article-card h3 { font-size: 33px; }.bb-home-article-card .bb-home-card-body > p:not(.bb-home-card-category) { font-size: 14px; }.bb-home-article-link { font-size: 14px; }.bb-home-stay-name { font-size: 16px; }
    .bb-home-seasons h3 { font-size: 27px; }.bb-home-seasons h3 small { font-size: 14px; }.bb-home-season strong { font-size: 15px; }
}
@media (min-width: 900px) {
    .bb-home-body { --bb-shell: min(calc(100% - 88px), 1600px); }
    .bb-home-header { height: 125px; }.bb-home-brand img { width: 88px; height: 88px; }.bb-home-brand strong { font-size: 43px; }.bb-home-brand small { font-size: 12px; }
    .bb-home-desktop-nav { align-items: center; gap: 24px; font-size: 16px; }.bb-home-header-actions { gap: 6px; }.bb-home-icon-button { width: 44px; height: 44px; }
    .bb-home-hero { height: 445px; background-position: center 46%; }.bb-home-hero-content { padding-top: 165px; }.bb-home-hero h1 { font-size: 65px; }.bb-home-hero-intro { max-width: 490px; font-size: 21px; }
    .bb-home-search { height: 74px; margin-top: -33px; border-radius: 26px; }.bb-home-search input { font-size: 22px; }.bb-home-search button { width: 65px; height: 45px; }.bb-home-search button .bb-home-icon { width: 24px; height: 24px; }
    .bb-home-discovery { margin-top: 22px; display: block; }
    .bb-home-overview-map { border-radius: 20px; }.bb-home-categories { display: flex; margin: 22px 0 0; }.bb-home-category { font-size: 15px; }.bb-home-category + .bb-home-category::before { top: 13px; height: 35px; }.bb-home-category-icon, .bb-home-category-icon .bb-home-icon { width: 62px; height: 62px; }
    /* Three card images remain within the smallest supplied source width. */
    .bb-home-recommendations { max-width: 1276px; margin: 32px auto 0; }.bb-home-section-heading h2 { font-size: 37px; }
    .bb-home-destination-grid { grid-auto-columns: auto; grid-auto-flow: initial; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; overflow: visible; }
    .bb-home-card-image img { aspect-ratio: 2.28; }.bb-home-card-body, .bb-home-destination-card .bb-home-card-body { padding: 18px 20px; }.bb-home-destination-card h3 { font-size: 23px; }.bb-home-meta-list li { font-size: 13px; }
    .bb-home-passport { max-width: 1276px; height: 155px; min-height: 155px; margin: 68px auto 0; grid-template-columns: 220px 1fr auto; padding-inline: 30px; }.bb-home-passport-book { width: 200px; left: 6px; bottom: -6px; }.bb-home-passport h2 { font-size: 42px; }.bb-home-passport-copy p { max-width: 370px; font-size: 18px; }.bb-home-passport .bb-home-button { align-self: center; font-size: 16px; padding: 10px 20px; }
    .bb-home-following { padding-top: 65px; }.bb-home-chapter-intro h2 { font-size: 51px; }.bb-home-chapter-intro p { font-size: 18px; }.bb-home-subheading { font-size: 33px; }
    #regios { display: grid; grid-template-columns: 1.1fr 1fr; gap: 24px; }#regios > :is(.bb-home-chapter-intro,.bb-home-subheading,.bb-home-finder,.bb-home-railways) { grid-column: 1/-1; }
    #regios .bb-home-chapter-intro, #regios .bb-home-subheading { margin-bottom: 0; }
    .bb-home-feature-place { height: 100%; min-height: 305px; }.bb-home-feature-place h4 { max-width: 280px; font-size: 45px; }.bb-home-feature-place-copy { left: 25px; top: 25px; }.bb-home-feature-place-copy p { font-size: 16px; }.bb-home-feature-place .bb-home-score { width: 93px; height: 93px; }
    .bb-home-places-grid { margin-top: 0; gap: 20px; }.bb-home-place-image img { aspect-ratio: 1.35; }.bb-home-place-copy { min-height: 105px; }.bb-home-place-copy h4 { font-size: 20px; }.bb-home-place-copy p { font-size: 12px; }
    .bb-home-finder { height: 225px; margin: 0; }.bb-home-finder-copy { padding: 40px; }.bb-home-finder h2 { font-size: 36px; }.bb-home-finder p { font-size: 20px; }.bb-home-finder .bb-home-button { font-size: 17px; min-height: 44px; }
    .bb-home-railways-main { grid-template-columns: 42% 58%; min-height: 300px; }.bb-home-railways-main > img { min-height: 300px; }.bb-home-railways-copy { padding: 35px; }.bb-home-railways-copy h4 { max-width: 390px; font-size: 39px; }.bb-home-railways-copy p { font-size: 17px; }.bb-home-railways-copy .bb-home-text-link { font-size: 15px; }.bb-home-railways-links :is(a,span[data-card-kind]) { padding: 16px 25px; }.bb-home-railways-links strong { font-size: 16px; }.bb-home-railways-links small { font-size: 13px; }
    .bb-home-inspiration { padding-top: 60px; }.bb-home-map-card { height: 410px; }.bb-home-map-copy { padding: 40px; width: 45%; }.bb-home-map-copy h3 { max-width: 350px; font-size: 49px; }.bb-home-map-copy p { max-width: 280px; font-size: 18px; }.bb-home-map-copy .bb-home-button { margin-top: 25px; padding: 10px 22px; font-size: 17px; }.bb-home-map-filter { font-size: 15px; padding: 7px 12px; }
    .bb-home-article-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-top: 24px; }.bb-home-article-card { min-height: 300px; }.bb-home-article-card .bb-home-card-body { padding: 22px; }.bb-home-card-category { font-size: 22px; }.bb-home-article-card h3 { font-size: 31px; }.bb-home-article-card .bb-home-card-body > p:not(.bb-home-card-category) { font-size: 13px; }.bb-home-article-card--stay .bb-home-card-category { padding-right: 10px; }
    .bb-home-seasons { margin-top: 24px; padding: 20px; }.bb-home-seasons h3 { font-size: 32px; }.bb-home-season { aspect-ratio: 2.1; }.bb-home-season strong { font-size: 21px; left: 16px; bottom: 16px; }.bb-home-season > span { width: 30px; height: 30px; right: 12px; bottom: 12px; }
    .bb-home-footer { padding: 45px 0; }.bb-home-footer p, .bb-home-footer li { font-size: 14px; }.bb-home-footer h2 { font-size: 22px; }.bb-home-footer-bottom { font-size: 12px; }
    .bb-home-bottom-nav { position: static; height: 65px; }.bb-home-bottom-nav a { font-size: 13px; }.bb-home-bottom-nav .bb-home-icon { width: 29px; height: 29px; }
}
@media (min-width: 1200px) {
    .bb-home-body { --bb-shell: min(calc(100% - 64px), 1600px); }
    .bb-home-search { width: min(calc(100% - 128px), 1480px); }
    .bb-home-desktop-nav { display: flex; }
    .bb-home-menu-button, .bb-home-mobile-menu { display: none; }
    /* Keep the two small place cards together while the feature uses the extra width. */
    #regios { grid-template-columns: minmax(0,1fr) 558px; }
    #regios > .bb-home-places-grid { max-width: 558px; }
}
@media (min-width: 1300px) {
    .bb-home-hero { height: 460px; }.bb-home-hero-content { padding-top: 175px; }.bb-home-hero h1 { font-size: 72px; }
    .bb-home-header { gap: 20px; }.bb-home-brand strong { font-size: 45px; }
}
@media (prefers-reduced-motion: reduce) { .bb-home-body * { scroll-behavior: auto !important; } }

/* Scoped visual polish: original design images stay within their native size. */
.bb-home-passport::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: url("../pics/optimized-20261022/homepage-passport-decoration-native.webp") right 12px center / 100px auto no-repeat; mix-blend-mode: multiply; opacity: .46; pointer-events: none; }
.bb-home-passport-copy, .bb-home-passport > .bb-home-button { position: relative; z-index: 1; }
.bb-home-finder { background: #f0e8d7; }
.bb-home-finder > img { inset: auto 0 0 auto; width: 49%; max-width: 488px; height: 100%; max-height: 210px; object-fit: contain; object-position: right bottom; }
.bb-home-finder::after { background: linear-gradient(90deg,#f0e8d7 0%,#f0e8d7 43%,#f0e8d766 52%,transparent 64%); }
.bb-home-railways-main { position: relative; }
.bb-home-railways-main > img { position: absolute; inset: 0 0 0 auto; width: 59%; height: 100%; }
.bb-home-article-card--stay .bb-home-article-image { flex-basis: 45%; }
.bb-home-article-card--stay .bb-home-card-body { flex-basis: 55%; }
.bb-home-article-card .bb-home-card-body { min-width: 0; }
.bb-home-article-card--stay .bb-home-favorite { top: 12px; right: 12px; }
.bb-home-map-card .bb-geo-map-status { left: 55%; width: 42%; max-width: none; padding-inline: 5px; transform: none; text-align: center; line-height: 1.45; }
.bb-home-season img { transform: none; }
.bb-home-season { aspect-ratio: 1.5; }
.bb-home-places-grid { width: 100%; max-width: 580px; margin-inline: auto; }
.bb-home-season:nth-child(2) img { object-position: 75% center; }
.bb-home-season:nth-child(3) img { object-position: 60% center; }
@media (max-width: 599px) {
    .bb-home-passport h2 { font-size: 21px; white-space: normal; }
    .bb-home-passport-copy p { line-height: 1.4; }
    .bb-home-article-card { min-height: 155px; }
    .bb-home-article-card--stay .bb-home-card-category { font-size: 13px; }
    .bb-home-article-card--stay h3 { font-size: 19px; }
    .bb-home-article-card--stay .bb-home-stay-name { font-size: 11px; }
}
@media (min-width: 600px) {
    .bb-home-passport::after { background-size: 150px auto; }
    .bb-home-season { aspect-ratio: 2.2; }
}
@media (min-width: 900px) {
    .bb-home-header-actions .bb-home-icon { width: 23px; height: 23px; }
    .bb-home-category { gap: 8px; }
    .bb-home-passport-book { width: 215px; }
    .bb-home-passport::after { background-size: 190px auto; background-position: right 18px center; }
    .bb-home-finder { height: 210px; }
    .bb-home-finder-copy { padding-block: 33px; }
    .bb-home-article-card { height: 300px; min-height: 0; }
    .bb-home-article-card .bb-home-card-body { padding: 20px; }
    .bb-home-article-card--stay h3 { font-size: 28px; }
    .bb-home-article-card--stay .bb-home-card-category { font-size: 20px; padding-right: 18px; }
    .bb-home-article-image { overflow: hidden; }
    .bb-home-article-image img { object-position: center; }
    .bb-home-article-link.bb-home-button--outline { min-height: 32px; padding: 5px 12px; font-size: 13px; }
    .bb-home-railways-main > img { width: 58%; }
    .bb-home-seasons { max-width: 872px; margin-inline: auto; }
    .bb-home-season-grid { max-width: 830px; margin-inline: auto; gap: 20px; }
    .bb-home-season { aspect-ratio: 2.2; }
    .bb-home-season strong { font-size: 17px; left: 12px; bottom: 10px; }
    .bb-home-season > span { right: 10px; bottom: 10px; }
}

@media (max-width: 380px) {
    .bb-home-passport { grid-template-columns: 110px minmax(0,1fr) 85px; }
    .bb-home-passport-book { width: 122px; left: -6px; }
    .bb-home-passport h2 { font-size: 19px; }
}
@media (min-width: 900px) {
    .bb-home-article-card:not(.bb-home-article-card--stay) .bb-home-article-image { flex-basis: 55%; }
    .bb-home-article-card:not(.bb-home-article-card--stay) .bb-home-card-body { flex-basis: 45%; }
}

/* Data-safe rendering within the agreed design components. */
.bb-home-hero h1, .bb-home-hero-intro { text-shadow: 0 1px 7px #fff8e980; }
.bb-home-search button[type="submit"] { flex-shrink: 0; width: auto; padding-inline: 12px; border: 0; background: transparent; }
.bb-home-category:not([href]) { cursor: default; }
.bb-home-map-copy .bb-home-map-open { pointer-events: auto; }
.bb-home-article-card[data-card-kind] h3 { overflow-wrap: anywhere; }
.bb-home-article-card[data-card-kind] .bb-home-article-link { margin-top: auto; }
.bb-home-article-card[data-card-kind] .bb-home-reading-time { font-size: 10px; }
.bb-home-railways-main .bb-home-railways-copy { position: relative; z-index: 1; }

/* Existing Bergundbahn selector, integrated into the WO02 header. */
.bb-home-header #country-language-selector { flex: none; }
.bb-home-header .link-cl-selector { display: inline-flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: center; gap: 5px; border: 0; padding: 6px 4px; background: transparent; color: var(--bb-ink); font: 700 12px/1.2 var(--bb-body); cursor: pointer; white-space: nowrap; }
.bb-home-header .link-cl-selector img { display: block; flex: none; width: 24px; height: 16px; object-fit: cover; }
.bb-home-header .link-cl-selector span { display: inline; flex: none; white-space: nowrap; }
.bb-home-header .link-cl-selector::after { flex: none; content: ''; border-top: 4px solid; border-inline: 3px solid transparent; margin-left: 2px; }
.bb-home-body #language_choice .language_choice_screen { width: calc(100% - 32px); max-width: 50em; }
.bb-home-body #language_choice_screen_close { border: 0; background: transparent; }
.bb-home-body #language_choice label[for="lang_ctry"] { display: inline-flex; flex-direction: row; flex-wrap: nowrap; align-items: center; gap: 6px; white-space: nowrap; }
.bb-home-body #language_choice #ctry_flag, .bb-home-body #language_choice #lang_flag { width: 30px; height: 20px; object-fit: cover; margin-inline: 6px; }
@media (max-width: 599px) {
    .bb-home-header-navigation { gap: 0; padding: 5px 7px; border-radius: 12px; }
    .bb-home-header-actions { display: grid; grid-template-columns: repeat(3, 33px); align-items: center; gap: 3px; }
    .bb-home-header #country-language-selector { position: static; grid-column: 1 / -1; grid-row: 2; justify-self: end; }
    .bb-home-mobile-menu { top: 83px; }
    .bb-home-header .link-cl-selector { font-size: 10px; padding: 2px 4px; }
    .bb-home-header .link-cl-selector img { width: 21px; height: 14px; }
}
@media (max-width: 380px) {
    .bb-home-header-actions { grid-template-columns: repeat(3, 30px); }
}
@media (min-width: 1200px) and (max-width: 1399px) {
    .bb-home-desktop-nav { gap: 16px; }
}

/* Labels over the unchanged supplied alpen.png. Positions match the WO02 design. */
.bb-home-overview-map { position: relative; container-type: inline-size; }
.bb-map-label { position: absolute; transform: translate(-50%, -50%); color: #434a35; font-family: var(--bb-body); font-size: clamp(7px, 1.45cqw, 30px); font-weight: 700; line-height: 1.2; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; pointer-events: none; }
.bb-map-label--fr { left: 11.9%; top: 32.7%; }
.bb-map-label--ch { left: 34.4%; top: 37%; }
.bb-map-label--de { left: 53.2%; top: 14.6%; }
.bb-map-label--at { left: 70.6%; top: 32.7%; }
.bb-map-label--it { left: 51.8%; top: 79.4%; }
.bb-map-label--si { left: 86.1%; top: 74.5%; }

/* bergbahnen-2026.css */
/* WO02: listing styles only. Shell, fonts, header, icons and navigation come
   from homepage.css. There is deliberately no second page-width definition. */
.bb-bergbahnen-body .bb-home-header { position: relative; top: auto; }
.bb-bergbahnen-body:has(.bb-bergbahnen-dialog[open]) { overflow: hidden; }
.bb-bergbahnen-main { padding-block: 26px 62px !important; }
.bb-bergbahnen-intro { margin-bottom: 24px; }
.bb-bergbahnen-intro h1 { font-size: clamp(42px, 4.6vw, 64px); color: #32372a; }
.bb-bergbahnen-intro p { max-width: 46em; margin-top: 10px; color: #646454; font-size: 15px; }
.bb-bergbahnen-preview { max-width: 74em; margin: 0 0 24px !important; padding-left: 12px; border-left: 2px solid #bd9b58; color: #77705c; font-size: 12px; line-height: 1.5; }
.bb-bergbahnen-discovery { display: grid; gap: 24px; }
.bb-bergbahnen-sidebar { grid-row: 2; min-width: 0; }
.bb-bergbahnen-results { min-width: 0; }
.bb-bergbahnen-mobile-facets { display: none; }
.bb-bergbahnen-body [hidden] { display: none !important; }
.bb-bergbahnen-body :is(select, input[type=range]):focus-visible { outline: 2px solid var(--bb-gold); outline-offset: 4px; }
.bb-bergbahnen-body :is(.bb-bergbahnen-search, .bb-bergbahnen-facet-panel, .bb-bergbahnen-dialog) { font-family: var(--bb-body); }
.bb-bergbahnen-search { display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 6px 14px; border: 1px solid #bda169; border-radius: 16px; background: #fcfbf7; }
.bb-bergbahnen-search > .bb-home-icon { width: 23px; height: 23px; background-image: var(--bb-home-search-glyph); }
.bb-bergbahnen-search input { width: 0; flex: 1; min-width: 0; padding: 10px 0; border: 0; outline: 0; background: transparent; color: #46473b; font: 400 14px/1.4 var(--bb-body); }
.bb-bergbahnen-search:focus-within { outline: 2px solid var(--bb-gold); outline-offset: 3px; }
.bb-bergbahnen-search input::placeholder { color: #767564; opacity: 1; }
.bb-bergbahnen-search button { display: grid; place-items: center; width: 38px; height: 38px; flex: none; border: 0; border-radius: 8px; background: transparent; color: var(--bb-gold); cursor: pointer; }
.bb-bergbahnen-quick-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 18px; }
.bb-bergbahnen-quick, .bb-bergbahnen-open-filters { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 42px; padding: 8px 13px; border: 1px solid #bca36e; border-radius: 13px; background: transparent; color: #626342; font-size: 13px !important; cursor: pointer; }
.bb-bergbahnen-quick .bb-home-icon, .bb-bergbahnen-open-filters .bb-home-icon { width: 22px; height: 22px; }
.bb-bergbahnen-quick[aria-pressed=true] { background: #ebe8db; border-color: #79774f; color: #414832; }
.bb-bergbahnen-quick:disabled { opacity: .43; cursor: not-allowed; }
.bb-bergbahnen-open-filters { color: #40472d; border-color: #757a52; }
.bb-bergbahnen-open-filters [data-filter-count] { min-width: 18px; border-radius: 50%; background: var(--bb-green); color: #fff; font-size: 11px; }
.bb-bergbahnen-active { display: flex; align-items: start; flex-wrap: wrap; gap: 10px; margin-block: 18px 22px; }
.bb-bergbahnen-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.bb-bergbahnen-chip { display: inline-flex; align-items: center; gap: 11px; min-height: 34px; padding: 5px 11px; border: 1px solid #d6cbb2; border-radius: 20px; color: #4a5136; background: #eeebdf; font-size: 12px !important; cursor: pointer; }
.bb-bergbahnen-chip > span:last-child { font-size: 19px; line-height: 1; }
.bb-bergbahnen-clear { min-height: 34px; padding: 4px 0; border: 0; background: none; color: var(--bb-gold); font-size: 12px !important; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.bb-bergbahnen-results-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin: 24px 0 16px; color: #515341; font-size: 14px; }
.bb-bergbahnen-results-heading strong { font-weight: 700; }
.bb-bergbahnen-sort { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 0; color: #76531e; font-size: 12px; }
.bb-bergbahnen-sort select { max-width: 160px; min-height: 38px; border: 0; border-bottom: 1px solid #cbbb9b; border-radius: 0; color: #665b41; background: transparent; font: inherit; cursor: pointer; }
.bb-bergbahnen-cards { display: grid; gap: 18px; }
.bb-bergbahnen-card { display: grid; grid-template-columns: 38% minmax(0, 1fr); min-height: 165px; overflow: hidden; border: 1px solid #e5ddcc; border-radius: 16px; background: #fcfaf4; }
.bb-bergbahnen-card-image { position: relative; min-width: 0; height: 100%; background: #e4e2d5; }
.bb-bergbahnen-card-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% 47%; }
.bb-bergbahnen-card-image--missing { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 16px; color: #74765a; text-align: center; font-size: 12px; }
.bb-bergbahnen-card-image--missing > .bb-home-icon { width: 42px; height: 42px; }
.bb-bergbahnen-card-image .bb-home-score { left: 10px; top: 10px; right: auto; bottom: auto; width: 54px; height: 54px; border-radius: 50%; }
.bb-bergbahnen-card-image .bb-home-score strong { font-size: 22px; }
.bb-bergbahnen-card-image .bb-home-score small { font-size: 8px; }
.bb-bergbahnen-card-copy { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 18px 14px 13px; }
.bb-bergbahnen-card-copy .bb-home-favorite { top: 9px; right: 8px; width: 30px; height: 30px; border-radius: 5px; background: transparent; }
.bb-bergbahnen-card-copy .bb-home-favorite:hover { background: #eae6d780; }
/* One vector path for both states; the shared favorite click behavior is kept. */
.bb-bergbahnen-card-copy .bb-home-favorite { color: #687151; box-shadow: none; outline: none; }
.bb-bergbahnen-card-copy .bb-home-favorite[aria-pressed=true] { color: var(--bb-gold); box-shadow: none; }
.bb-bergbahnen-card-copy .bb-home-favorite:focus-visible { outline: 2px solid var(--bb-gold); outline-offset: 3px; }
.bb-bergbahnen-heart { display: block; width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linejoin: round; }
.bb-home-favorite[aria-pressed=true] .bb-bergbahnen-heart { fill: currentColor; }
.bb-bergbahnen-card-copy h2 { margin: 0 27px 0 0; color: #333e29; font-size: 25px; overflow-wrap: anywhere; }
.bb-bergbahnen-card-copy h2 a:hover { color: #76531e; }
.bb-bergbahnen-card-location { margin-top: 6px !important; color: #687151; font-size: 12px; line-height: 1.4; }
.bb-bergbahnen-card-type { margin-top: 8px !important; color: #61614f; font-size: 11px; }
.bb-bergbahnen-card-meta { display: flex; flex-wrap: wrap; gap: 7px 12px; margin: 15px 0 0; padding: 0; list-style: none; color: #676a50; font-size: 11px; }
.bb-bergbahnen-card-meta li { display: inline-flex; align-items: center; gap: 5px; margin: 0; padding: 0; }
.bb-bergbahnen-card-meta .bb-home-icon { width: 18px; height: 18px; }
.bb-bergbahnen-card-price { margin-top: 12px !important; font-size: 17px; font-weight: 700; color: #5c603a; }
.bb-bergbahnen-card-price small { display: block; font-size: 11px; font-weight: 400; }
.bb-bergbahnen-card-preview { margin-top: 12px; color: #8c8068; font-size: 9px; }
.bb-bergbahnen-facet-icon, .bb-bergbahnen-facet-more { display: none; }
.bb-bergbahnen-facet-search { margin-bottom: 10px; }
.bb-bergbahnen-facet-search input { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #c7b794; border-radius: 9px; background: #faf8f0; color: var(--bb-ink); font: 14px var(--bb-body); }
.bb-bergbahnen-facet-search input:focus-visible { outline: 2px solid var(--bb-gold); outline-offset: 3px; }
.bb-bergbahnen-dialog .bb-bergbahnen-facet { scroll-margin-top: 90px; }
.bb-bergbahnen-facet-panel { position: relative; padding: 22px 20px 34px; overflow: hidden; border: 1px solid #e2d5b8; border-radius: 18px; background: #f0e9db; }
.bb-bergbahnen-facet-panel::after { content: ''; position: absolute; right: -10px; bottom: -8px; width: 140px; height: 98px; opacity: .19; background: url('/pics/homepage-passport-decoration.png') center / contain no-repeat; pointer-events: none; }
.bb-bergbahnen-facet-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 23px; }
.bb-bergbahnen-facet-heading h2 { display: flex; align-items: center; gap: 8px; font-size: 29px; color: #464a32; }
.bb-bergbahnen-facet-heading .bb-home-icon { width: 23px; height: 23px; }
.bb-bergbahnen-facet-heading button, .bb-bergbahnen-dialog-footer > button:first-child { min-height: 40px; padding: 4px 0; border: 0; background: transparent; color: #967439; font-size: 13px; cursor: pointer; }
.bb-bergbahnen-facet { position: relative; z-index: 1; min-width: 0; margin: 0; padding: 17px 0; border: 0; border-top: 1px solid #d6cdb8; }
.bb-bergbahnen-facet legend { float: none; width: auto; margin: 0 0 10px; padding: 0; font: 700 15px/1.3 var(--bb-body); color: #585b3e; }
.bb-bergbahnen-options { display: grid; gap: 10px; }
.bb-bergbahnen-option { position: relative; display: flex; align-items: center; gap: 9px; min-height: 24px; margin: 0; color: #5a5e46; font-size: 13px; cursor: pointer; }
.bb-bergbahnen-option input { width: 16px; height: 16px; flex: none; margin: 0; accent-color: #666d45; cursor: pointer; }
.bb-bergbahnen-option small { margin-left: auto; font-size: 11px; color: #8e876f; }
.bb-bergbahnen-option[data-unavailable] { opacity: .43; cursor: not-allowed; }
.bb-bergbahnen-options--pills { display: flex; flex-wrap: wrap; gap: 7px; }
.bb-bergbahnen-options--pills .bb-bergbahnen-option { min-height: 37px; padding: 6px 10px; border: 1px solid #cbbb99; border-radius: 9px; background: #faf8f0; }
.bb-bergbahnen-options--pills .bb-bergbahnen-option:has(input:checked) { border-color: #757b51; background: #69714a; color: #fffdf5; }
.bb-bergbahnen-options--pills input { width: 14px; height: 14px; }
.bb-bergbahnen-options--pills .bb-bergbahnen-option:has(input:checked) small { color: inherit; }
.bb-bergbahnen-facet select { width: 100%; min-height: 43px; padding: 8px 11px; border: 1px solid #d5c8ab; border-radius: 9px; background: #faf8f0; color: #5a5e46; font: 13px var(--bb-body); }
.bb-bergbahnen-range-heading { display: flex; align-items: center; justify-content: space-between; min-height: 29px; color: #5e6245; font-size: 13px; }
.bb-bergbahnen-range-heading button { width: 28px; height: 28px; padding: 0; border: 0; border-radius: 4px; background: none; color: #82704f; font-size: 20px; cursor: pointer; }
.bb-bergbahnen-facet input[type=range] { appearance: none; width: 100%; height: 5px; margin: 13px 0; border-radius: 4px; background: linear-gradient(to right, #8c9565 var(--range-progress, 0%), #d6cfbb var(--range-progress, 0%)); cursor: pointer; }
.bb-bergbahnen-facet input[type=range][data-active=false] { background: #d6cfbb; }
.bb-bergbahnen-range-heading button:disabled { opacity: .35; cursor: default; }
.bb-bergbahnen-facet input[type=range]::-webkit-slider-thumb { appearance: none; width: 24px; height: 24px; border: 2px solid #5f6840; border-radius: 50%; background: #fcfaf1; }
.bb-bergbahnen-facet input[type=range]::-moz-range-thumb { width: 20px; height: 20px; border: 2px solid #5f6840; border-radius: 50%; background: #fcfaf1; }
.bb-bergbahnen-range-limits { display: flex; justify-content: space-between; color: #8b856e; font-size: 10px; }
.bb-bergbahnen-facet:disabled { opacity: .52; }
.bb-bergbahnen-facet-hint { margin-top: 9px !important; color: #625d4d; font-size: 11px; line-height: 1.4; }
.bb-bergbahnen-dialog { width: min(calc(100% - 20px), 600px); max-height: calc(100dvh - 32px); margin: auto; padding: 0; overflow: auto; overscroll-behavior: contain; border: 1px solid #d6c6a7; border-radius: 20px; background: #f5f0e6; color: var(--bb-ink); }
.bb-bergbahnen-dialog::backdrop { background: rgb(36 40 25 / 42%); }
.bb-bergbahnen-dialog-heading { position: sticky; z-index: 5; top: 0; display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid #ded3bd; background: #f5f0e6; }
.bb-bergbahnen-dialog-heading h2 { font-size: 31px; }
.bb-bergbahnen-dialog-heading button { width: 44px; height: 44px; border: 0; border-radius: 6px; background: none; font-size: 30px; cursor: pointer; }
.bb-bergbahnen-dialog-content { padding: 0 16px; }
.bb-bergbahnen-dialog .bb-bergbahnen-facet-panel { padding: 8px 4px 24px; border: 0; border-radius: 0; background: transparent; }
.bb-bergbahnen-dialog .bb-bergbahnen-facet-heading { display: none; }
.bb-bergbahnen-dialog .bb-bergbahnen-option { min-height: 40px; }
.bb-bergbahnen-dialog-footer { position: sticky; bottom: 0; z-index: 5; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 15px 20px max(15px, env(safe-area-inset-bottom)); border-top: 1px solid #dcd0b7; background: #f5f0e6; }
.bb-bergbahnen-apply { min-height: 45px; padding: 10px 18px; border: 1px solid #6b704a; border-radius: 10px; background: #626c43; color: #fffdf5; cursor: pointer; }
.bb-bergbahnen-empty { padding: 42px 24px; border: 1px solid var(--bb-line); border-radius: 16px; background: #f1ede4; }
.bb-bergbahnen-empty h2 { font-size: 30px; }
.bb-bergbahnen-empty p { margin: 12px 0 !important; }
.bb-bergbahnen-empty button { padding: 10px 14px; border: 1px solid #b5a279; border-radius: 8px; background: transparent; color: #616544; }
.bb-bergbahnen-body .bb-home-bottom-nav a:focus-visible { outline-offset: -3px; }
.bb-bergbahnen-body [data-enhanced=true] .bb-home-bottom-nav { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 599px) {
    .bb-bergbahnen-sort-label { display: none; }
    .bb-bergbahnen-sort select { max-width: 140px; font-size: 13px; }
}
@media (max-width: 899px) {
    .bb-bergbahnen-discovery { gap: 0; }
    .bb-bergbahnen-results { display: contents; }
    .bb-bergbahnen-search { grid-row: 1; }
    .bb-bergbahnen-sidebar { grid-row: 2; margin-top: 14px; }
    .bb-bergbahnen-quick-filters { grid-row: 3; }
    .bb-bergbahnen-active { grid-row: 4; }
    .bb-bergbahnen-results-heading { grid-row: 5; }
    .bb-bergbahnen-cards { grid-row: 6; }
    .bb-bergbahnen-pagination { grid-row: 7; }
    .bb-bergbahnen-results > [role=status] { grid-row: 8; }

    [data-mobile-facets=true] .bb-bergbahnen-mobile-facets { display: block; margin-top: 14px; }
    [data-facet-mobile] { padding: 13px; border: 1px solid #e2d5b8; border-radius: 18px; background: #f1ece2; }
    [data-facet-mobile] .bb-bergbahnen-facet-panel { padding: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; }
    [data-facet-mobile] .bb-bergbahnen-facet-panel::after,
    [data-facet-mobile] .bb-bergbahnen-facet:not([data-mobile-inline]) { display: none; }
    [data-facet-mobile] .bb-bergbahnen-facet-heading { margin-bottom: 10px; }
    [data-facet-mobile] .bb-bergbahnen-facet-heading h2 { gap: 9px; font-size: 27px; }
    [data-facet-mobile] .bb-bergbahnen-facet-heading .bb-home-icon { width: 25px; height: 25px; }
    [data-facet-mobile] .bb-bergbahnen-facet-heading button { min-height: 32px; }
    [data-facet-mobile] .bb-bergbahnen-facet { padding: 0 0 10px; border: 0; border-radius: 0; background: transparent; }
    [data-facet-mobile] .bb-bergbahnen-facet + .bb-bergbahnen-facet { padding-top: 8px; }
    [data-facet-mobile] .bb-bergbahnen-facet::after { content: ''; position: absolute; right: 0; bottom: 0; left: 0; height: 1px; background: #ded5c3; }
    [data-facet-mobile] .bb-bergbahnen-facet legend { float: left; display: flex; align-items: center; gap: 8px; width: 100%; min-height: 20px; margin: 0 0 6px; font-size: 14px; }
    [data-facet-mobile] .bb-bergbahnen-facet-icon { display: inline-flex; }
    [data-facet-mobile] .bb-bergbahnen-facet-icon .bb-home-icon { width: 21px; height: 21px; }
    [data-facet-mobile] .bb-bergbahnen-options { clear: both; display: flex; flex-wrap: wrap; gap: 6px; }
    [data-facet-mobile] .bb-bergbahnen-option { display: inline-flex; order: var(--mobile-order, 0); gap: 5px; max-width: calc(50% - 3px); min-height: 44px; padding: 7px; border: 1px solid #e4dccb; border-radius: 10px; background: #faf7f0; color: #50543c; font-size: 14px; line-height: 1.2; }
    [data-facet-mobile] .bb-bergbahnen-option > span { min-width: 0; overflow-wrap: anywhere; }
    [data-facet-mobile] .bb-bergbahnen-option input { appearance: none; width: 16px; height: 16px; flex: none; margin: 0; border: 0; border-radius: 0; background: transparent; cursor: inherit; }
    [data-facet-mobile] .bb-bergbahnen-option input:checked { appearance: auto; accent-color: var(--bb-green); }
    [data-facet-mobile] .bb-bergbahnen-option:has(input:focus-visible) { outline: 2px solid var(--bb-gold); outline-offset: 3px; }
    [data-facet-mobile] .bb-bergbahnen-option:has(input:checked) { border-color: var(--bb-green); background: var(--bb-green); color: #fffdf5; font-weight: 700; }
    [data-facet-mobile] .bb-bergbahnen-option:has(input:disabled),
    [data-facet-mobile] .bb-bergbahnen-option input:disabled { cursor: not-allowed; }
    [data-facet-mobile] .bb-bergbahnen-option:not([data-mobile-visible]) { display: none; }
    [data-mobile-facets=true] .bb-bergbahnen-quick-filters { display: none; }
    .bb-bergbahnen-open-filters { min-height: 48px; padding: 10px 16px; border-color: var(--bb-green); background: var(--bb-green); color: #fffdf5; font-weight: 700; }
    [data-facet-mobile] .bb-bergbahnen-open-filters { width: 100%; margin-top: 12px; }
    .bb-bergbahnen-open-filters:hover { background: #525d35; }
    .bb-bergbahnen-open-filters [data-filter-count] { min-width: 20px; background: #fffdf5; color: #46502c; }
    [data-facet-mobile] .bb-bergbahnen-facet-more:not([hidden]) { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; margin-top: 0; padding: 2px 0; border: 0; background: transparent; color: #76531e; font: 13px var(--bb-body); cursor: pointer; }
    .bb-bergbahnen-facet-more .bb-home-icon { width: 14px; height: 14px; }
    .bb-bergbahnen-active { align-items: center; gap: 6px 10px; margin-block: 12px 14px; }
    .bb-bergbahnen-chips { gap: 6px; }
    .bb-bergbahnen-chip { gap: 8px; max-width: 100%; min-height: 32px; padding: 4px 8px; border-color: transparent; border-radius: 999px; background: #ede9df; color: #646653; }
    .bb-bergbahnen-chip > span:first-child { min-width: 0; overflow-wrap: anywhere; }
    .bb-bergbahnen-chip > span:last-child { display: grid; place-items: center; flex: none; width: 18px; height: 18px; border-radius: 50%; background: #ded9ca; font-size: 16px; line-height: 1; }
    .bb-bergbahnen-clear { min-height: 32px; }
}
@media (min-width: 600px) {
    .bb-bergbahnen-main { padding-block: 26px 80px !important; }
    .bb-bergbahnen-card { min-height: 205px; grid-template-columns: min(36%, 320px) minmax(0, 1fr); }
    .bb-bergbahnen-card-copy { padding: 24px 26px; }
    .bb-bergbahnen-card-copy h2 { margin-right: 35px; font-size: 34px; }
    .bb-bergbahnen-card-location { font-size: 15px; }
    .bb-bergbahnen-card-type { font-size: 12px; }
    .bb-bergbahnen-card-meta { margin-top: auto; padding-top: 19px; font-size: 13px; gap: 10px 20px; }
    .bb-bergbahnen-card-meta .bb-home-icon { width: 22px; height: 22px; }
    .bb-bergbahnen-card-copy .bb-home-favorite { top: 15px; right: 15px; width: 36px; height: 36px; }
    .bb-bergbahnen-card-image .bb-home-score { top: 15px; left: 15px; width: 72px; height: 72px; }
    .bb-bergbahnen-card-image .bb-home-score strong { font-size: 29px; }
    .bb-bergbahnen-card-image .bb-home-score small { font-size: 10px; }
    .bb-bergbahnen-results-heading { font-size: 16px; }
    .bb-bergbahnen-sort { font-size: 14px; }
    .bb-bergbahnen-sort select { max-width: 220px; }
}
@media (min-width: 900px) {
    .bb-bergbahnen-discovery { grid-template-columns: 294px minmax(0, 1fr); align-items: start; gap: 28px; }
    .bb-bergbahnen-sidebar { grid-row: 1; }
    .bb-bergbahnen-open-filters { display: none; }
    .bb-bergbahnen-card { min-height: 218px; }
    .bb-bergbahnen-search { min-height: 64px; }
    .bb-bergbahnen-facet-panel { padding-inline: 20px; }
    .bb-bergbahnen-results-heading { margin-top: 27px; }
}
@media (min-width: 1200px) {
    .bb-bergbahnen-main { padding-block: 24px 90px !important; }
    .bb-bergbahnen-intro { margin-bottom: 28px; }
    .bb-bergbahnen-intro p { font-size: 17px; }
    .bb-bergbahnen-discovery { grid-template-columns: 320px minmax(0, 1fr); gap: 32px; }
    .bb-bergbahnen-card { min-height: 230px; grid-template-columns: min(40%, 470px) minmax(0, 1fr); }
    .bb-bergbahnen-card-copy { padding: 29px 32px; }
    .bb-bergbahnen-card-copy h2 { font-size: 38px; }
    .bb-bergbahnen-card-copy .bb-home-favorite { top: 20px; right: 21px; }
    .bb-bergbahnen-facet-panel { padding: 26px 24px 38px; }
    .bb-bergbahnen-facet { padding-block: 18px; }
    .bb-bergbahnen-quick { min-height: 44px; padding-inline: 16px; }
}

/* Keep full WO02 controls accessible without turning a facet into a page-long list. */
.bb-bergbahnen-sidebar .bb-bergbahnen-options,
.bb-bergbahnen-dialog .bb-bergbahnen-options { max-height: 224px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-gutter: stable; padding-right: 14px; }
.bb-bergbahnen-option > span { min-width: 0; overflow-wrap: anywhere; }
.bb-bergbahnen-option small { flex: none; min-width: 2ch; text-align: right; font-variant-numeric: tabular-nums; margin-right: 2px; }
/* One price group, with its existing context control directly above its range. */
.bb-bergbahnen-price-group > [data-facet] { border-top: 0; padding: 4px 0 12px; }
.bb-bergbahnen-price-group .bb-bergbahnen-options { scrollbar-gutter: auto; max-height: none; overflow: visible; padding-right: 0; }
.bb-bergbahnen-price-group input[type=radio] { width: 16px; height: 16px; flex: none; margin: 0; accent-color: var(--bb-green); }
.bb-bergbahnen-card-image picture { display: block; width: 100%; height: 100%; }
.bb-bergbahnen-card-image .bb-bergbahnen-image-credit { position: absolute; left: 10px; bottom: 9px; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; pointer-events: none; }
.bb-bergbahnen-card-image .bb-bergbahnen-image-credit img { position: static; inset: auto; display: block; width: 30px; height: 30px; object-fit: contain; filter: drop-shadow(0 1px 2px #fff9); }
.bb-bergbahnen-image-credit span { color: #fffdf5; font-size: 11px; line-height: 1.3; text-shadow: 0 1px 3px #000, 0 0 4px #000; }
@media (max-width: 899px) {
    [data-facet-mobile] [data-price-filter] > .bb-bergbahnen-facet { display: block; }
    [data-facet-mobile] [data-price-filter] .bb-bergbahnen-option { display: inline-flex; max-width: 100%; }
    [data-facet-mobile] [data-price-filter] .bb-bergbahnen-option input { appearance: auto; border: initial; background: initial; }
    [data-facet-mobile] [data-price-filter] > legend { float: none; font-size: 16px; }
}
.bb-bergbahnen-body .bb-bergbahnen-card-image--missing { min-height: 165px; }
/* The legacy body has viewport height; keep WO02 paper behind longer result lists. */
.bb-bergbahnen-body .bb-home-site { background: var(--bb-paper); }

/* Stable first render and accessible numbered AJAX navigation. */
.bb-bergbahnen-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:24px}
.bb-bergbahnen-pagination button{min-width:44px;min-height:44px;border:1px solid #cbbb99;border-radius:8px;background:#faf8f0;color:#3e452e;font:inherit;padding:8px 12px;cursor:pointer}
.bb-bergbahnen-pagination button[aria-current]{background:#46502c;color:#fff;font-weight:700}
.bb-bergbahnen-pagination button:disabled:not([aria-current]){color:#646255;cursor:default}
.bb-bergbahnen-page-total{flex-basis:100%;color:#50543c}
.bb-bergbahnen-facet-heading button,.bb-bergbahnen-clear{color:#76531e}
@media(min-width:900px){.bb-bergbahnen-sidebar .bb-bergbahnen-open-filters{display:none}}
.bb-bergbahnen-range-heading{clear:both;width:100%;flex-wrap:wrap}.bb-bergbahnen-range-heading output{min-width:0;white-space:normal;overflow-wrap:anywhere;max-width:100%}.bb-bergbahnen-range-heading button{flex:none}

/* master-shell.css */
@font-face{font-family:LatoWeb;src:url('/fonts/latin-20261022/Lato-Regular.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF;}
@font-face{font-family:LatoWeb;src:url('/fonts/latin-20261022/Lato-Regular-core.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+1E9E,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-21FF,U+FEFF,U+FFFD;}
@font-face{font-family:LatoWeb;src:url('/fonts/latin-20261022/Lato-Bold.woff2') format('woff2');font-weight:700;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF;}
@font-face{font-family:LatoWeb;src:url('/fonts/latin-20261022/Lato-Bold-core.woff2') format('woff2');font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+1E9E,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-21FF,U+FEFF,U+FFFD;}
@font-face{font-family:Yanone;src:url('/fonts/latin-20261022/YanoneKaffeesatz-Bold.woff2') format('woff2');font-weight:700;font-display:swap;unicode-range:U+0100-024F,U+1E00-1EFF;}
@font-face{font-family:Yanone;src:url('/fonts/latin-20261022/YanoneKaffeesatz-Bold-core.woff2') format('woff2');font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+1E9E,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-21FF,U+FEFF,U+FFFD;}
.bb-shell{
  --bb-paper:#f8f6f4;--bb-cream:#f1eee6;--bb-gold:#a17626;--bb-olive:#5c603a;
  --bb-ink:#2e2e2a;--bb-line:#e7e0cf;--bb-muted:#646255;
  --bb-container:min(calc(100% - 32px),1600px);--bb-bottom-height:64px;
  margin:0;color:var(--bb-ink);background:var(--bb-paper);font:16px/1.6 LatoWeb,Arial,sans-serif;
}
.bb-shell *,.bb-shell *::before,.bb-shell *::after{box-sizing:border-box}
.bb-shell [hidden]{display:none!important}
.bb-container{width:var(--bb-container);max-width:1600px;margin-inline:auto}
.bb-symbols{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.bb-icon{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.bb-shell :is(.bb-header,.bb-footer,.bb-bottom-nav,.bb-search-dialog,#language_choice) a,.bb-shell .bb-skip{color:inherit;text-decoration:none;text-underline-offset:5px}
.bb-shell :is(.bb-header,.bb-footer,.bb-bottom-nav,.bb-search-dialog,#language_choice) a:hover{text-decoration:underline}
.bb-shell :is(.bb-header,.bb-footer,.bb-bottom-nav,.bb-search-dialog,#language_choice) :is(button,input){font:inherit;color:inherit}
.bb-shell :is(.bb-header,.bb-footer,.bb-bottom-nav,.bb-search-dialog,#language_choice) button{cursor:pointer}
.bb-shell :is(a,button,input,[tabindex]):focus-visible{outline:3px solid var(--bb-olive);outline-offset:4px}
.bb-shell :is(.bb-header,.bb-footer,.bb-search-dialog,#language_choice) :is(h1,h2){font-family:Yanone,'Arial Narrow',sans-serif;font-weight:700;line-height:1.15}
.bb-shell :is(.bb-header,.bb-footer,.bb-search-dialog,#language_choice) h3{font:700 20px/1.4 LatoWeb,Arial,sans-serif}
.bb-skip{position:fixed;top:8px;left:16px;z-index:100;transform:translateY(-180%);padding:12px 18px;background:var(--bb-paper);border:2px solid var(--bb-olive);border-radius:8px}
.bb-skip:focus{transform:none}
.bb-header{position:relative;border-bottom:1px solid var(--bb-line);padding-top:env(safe-area-inset-top,0px);background:var(--bb-paper)}
.bb-header-row{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.bb-brand{display:flex;align-items:center;gap:10px;flex:none}
.bb-brand img{display:block;width:48px;height:48px;border-radius:50%}
.bb-brand strong{display:block;font:700 25px/1 Yanone,'Arial Narrow',sans-serif;letter-spacing:.06em}
.bb-brand small{display:block;font-size:8px;font-weight:700;line-height:1.5;letter-spacing:.02em;margin-top:6px;white-space:nowrap}
.bb-brand:hover{text-decoration:none!important}
.bb-header-actions{display:flex;gap:8px;flex:none}
.bb-icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:9px;border:1px solid #d7c9ad;border-radius:50%;background:transparent;text-decoration:none!important}
.bb-icon-button:hover{background:var(--bb-cream)}
.bb-desktop-nav,.bb-header-favorites{display:none}
.bb-menu-toggle[aria-expanded="true"]{background:var(--bb-cream);border-color:var(--bb-olive)}
.bb-mobile-menu{position:absolute;top:100%;left:0;right:0;z-index:30;display:grid;gap:0;padding:12px;background:var(--bb-paper);border:1px solid var(--bb-line);border-radius:0 0 16px 16px;box-shadow:0 12px 24px #37281418;max-height:calc(100dvh - 170px);overflow-y:auto}
.bb-mobile-menu a{display:flex;align-items:center;min-height:48px;padding:10px 16px;border-radius:8px}
.bb-mobile-menu a:hover{background:var(--bb-cream)}
.bb-footer{background:var(--bb-cream);border-top:1px solid var(--bb-line);padding:32px 0 calc(32px + var(--bb-bottom-height) + env(safe-area-inset-bottom,0px))}
.bb-footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}
.bb-footer-identity{grid-column:1/-1}
.bb-footer-brand{font:700 28px/1.2 Yanone,sans-serif;letter-spacing:.06em}
.bb-footer p{max-width:320px;margin:12px 0 0;font-size:14px;color:var(--bb-muted)}
.bb-footer h2{font-size:24px;margin:0 0 8px}
.bb-footer ul{margin:0;padding:0;list-style:none}
.bb-footer li a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.bb-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;border-top:1px solid #d7cfbc;padding-top:16px;margin-top:24px;font-size:12px;color:var(--bb-muted)}
.bb-bottom-nav{position:fixed;z-index:40;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:calc(var(--bb-bottom-height) + env(safe-area-inset-bottom,0px));padding:0 max(8px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(8px,env(safe-area-inset-left,0px));border-top:1px solid #d7c9ad;background:var(--bb-paper)}
.bb-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;font-size:12px;line-height:1.3}
.bb-bottom-nav a[aria-current="page"]{color:var(--bb-olive);font-weight:700}
.bb-bottom-nav a[aria-current="page"] .bb-icon{color:var(--bb-gold)}
.bb-bottom-nav a[aria-current="page"] span{text-decoration:underline;text-underline-offset:4px}
.bb-bottom-nav a:focus-visible{outline-offset:-5px}
.bb-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 20px;border:1px solid var(--bb-olive);border-radius:999px;background:var(--bb-olive);color:#fff!important;font-weight:700;line-height:1.5;text-align:center}
.bb-button:hover{filter:brightness(.95)}
.bb-button-secondary{border-color:#b3a78a;background:transparent;color:var(--bb-ink)!important}
.bb-search-dialog{width:min(calc(100% - 32px),640px);max-height:calc(100dvh - 48px);padding:24px;border:1px solid #d7c9ad;border-radius:20px;background:var(--bb-paper);color:var(--bb-ink);overflow-y:auto;overscroll-behavior:contain}
.bb-search-dialog::backdrop{background:#2e2e2a80}
.bb-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.bb-dialog-heading h2{font-size:34px;margin:0}
.bb-search-dialog p{margin:16px 0}
.bb-search-form label{display:block;font-weight:700;font-size:14px;margin:24px 0 8px}
.bb-search-field{display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--bb-gold);border-radius:14px;background:#fff}
.bb-search-field>.bb-icon{color:var(--bb-gold)}
.bb-search-field input{min-width:0;width:100%;min-height:44px;border:0;background:transparent;font-size:16px}
.bb-search-field input:focus-visible{outline-offset:0}
.bb-search-note{color:var(--bb-muted);font-size:14px;min-height:44px}
.bb-finder-link{display:inline-flex;align-items:center;gap:16px;min-height:44px;color:var(--bb-olive)!important;font-weight:700}
html:has(.bb-search-dialog[open]){overflow:hidden}
@media(max-width:380px){.bb-brand{gap:8px}.bb-brand strong{font-size:22px}.bb-brand small{font-size:7px}.bb-brand img{width:44px;height:44px}.bb-header-actions{gap:4px}.bb-header-row{gap:8px}.bb-search-field{flex-wrap:wrap}.bb-search-field input{width:calc(100% - 40px)}.bb-search-field .bb-button{width:100%}.bb-dialog-heading{align-items:flex-start;gap:8px}.bb-dialog-heading h2{font-size:30px}.bb-dialog-heading .bb-button{padding-inline:14px}}
@media(min-width:600px){.bb-shell{--bb-container:min(calc(100% - 54px),1600px)}.bb-header-row{min-height:110px}.bb-brand img{width:64px;height:64px}.bb-brand strong{font-size:34px}.bb-brand small{font-size:10px}.bb-footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:32px}.bb-footer-identity{grid-column:auto}}
@media(min-width:900px){.bb-shell{--bb-container:min(calc(100% - 88px),1600px)}.bb-header-row{min-height:125px;gap:24px}.bb-brand img{width:75px;height:75px}.bb-brand strong{font-size:34px}.bb-desktop-nav{display:flex;align-items:center;gap:24px;margin-left:auto}.bb-desktop-nav a{display:flex;align-items:center;min-height:44px;font-size:16px;white-space:nowrap}.bb-desktop-nav [aria-current="page"]{text-decoration:underline;text-decoration-color:var(--bb-gold);text-decoration-thickness:2px;text-underline-offset:8px}.bb-header-favorites{display:flex}.bb-menu-toggle,.bb-mobile-menu,.bb-bottom-nav{display:none!important}.bb-footer{padding:48px 0 32px}.bb-footer-grid{gap:64px}.bb-footer-bottom{margin-top:32px}}
@media(min-width:1200px){.bb-shell{--bb-container:min(calc(100% - 64px),1600px)}.bb-brand strong{font-size:43px}.bb-brand small{font-size:12px}.bb-desktop-nav{gap:32px}}
@media(min-width:600px) and (max-width:899px){.bb-mobile-menu{max-height:calc(100dvh - 110px - var(--bb-bottom-height) - env(safe-area-inset-bottom,0px) - 16px)}}
@media(prefers-reduced-motion:reduce){.bb-shell *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(forced-colors:active){.bb-icon-button,.bb-button,.bb-search-field,.bb-mobile-menu{border:1px solid ButtonText}.bb-bottom-nav a[aria-current="page"]{outline:2px solid Highlight;outline-offset:-4px}}

/* CH00 22-10: één hoofdmenu; als de complete rij niet past gaat het geheel in de hamburger. */
.bb-header-row{gap:16px}
.bb-brand .bb-brand-logo{object-fit:contain;border-radius:0;background:transparent}
.bb-brand small{display:flex;align-items:center;gap:4px}
.bb-brand .bb-brand-edelweiss{display:block;width:19px;height:19px;flex:none;object-fit:contain;border-radius:0}
.bb-header-actions{align-items:center;gap:6px}
.bb-header .bb-header-favorites{display:flex}
.bb-primary-nav{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:20px;margin-left:auto;font:400 16px/1.4 LatoWeb,Arial,sans-serif;width:max-content;flex:none}
.bb-primary-nav a{display:flex;align-items:center;min-height:44px;white-space:nowrap}
.bb-primary-nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--bb-gold);text-decoration-thickness:2px;text-underline-offset:8px}
.bb-header:not(.is-compact) .bb-menu-toggle{display:none!important}
.bb-header.is-compact .bb-menu-toggle{display:flex!important}
.bb-header.is-compact .bb-header-account{display:none}
.bb-header.is-compact .bb-primary-nav{position:absolute;z-index:30;left:0;right:0;top:100%;display:flex;flex-direction:column;align-items:stretch;gap:0;width:var(--bb-container);max-width:1600px;margin:0 auto;padding:12px;background:var(--bb-paper);border:1px solid var(--bb-line);border-radius:0 0 16px 16px;box-shadow:0 12px 24px #37281418;max-height:calc(100dvh - var(--bb-header-height,110px) - var(--bb-bottom-height) - env(safe-area-inset-bottom,0px) - 16px);overflow-y:auto}
.bb-header.is-compact .bb-primary-nav a{padding:12px 16px;min-height:48px;white-space:normal;overflow-wrap:break-word;border-radius:8px}
.bb-header.is-compact .bb-primary-nav a:hover{background:var(--bb-cream)}
.bb-header .bb-primary-nav.bb-measuring{display:flex!important;position:absolute!important;visibility:hidden!important;pointer-events:none!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:20px!important;width:max-content!important;max-width:none!important;height:auto!important;padding:0!important;border:0!important;box-shadow:none!important;max-height:none!important;overflow:visible!important}
.bb-header .bb-primary-nav.bb-measuring a{padding:0!important;white-space:nowrap!important}
.bb-shell.has-compact-nav .bb-bottom-nav{display:grid!important}
.bb-shell:not(.has-compact-nav) .bb-bottom-nav{display:none!important}
.bb-shell.has-compact-nav .bb-footer{padding-bottom:calc(32px + var(--bb-bottom-height) + env(safe-area-inset-bottom,0px))}
.link-cl-selector{display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:6px 4px;border:0;background:transparent;color:var(--bb-ink);font:700 12px/1.2 LatoWeb,Arial,sans-serif;white-space:nowrap}
.link-cl-selector img{display:block;width:24px;height:16px;object-fit:cover;flex:none}
.link-cl-selector::after{content:'';border-top:4px solid;border-inline:3px solid transparent;margin-left:2px}
.bb-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* Bestaande keuzeschermvorm: twee vlaggen, native combinatiekeuze, hulptekst en Opslaan. */
#language_choice{position:fixed;top:40px;bottom:auto;left:0;right:0;margin:0 auto;width:min(calc(100% - 32px),800px);max-height:calc(100dvh - 80px);padding:0;border:0;background:transparent;color:var(--bb-ink);overflow-y:auto}
#language_choice::backdrop{background:rgba(0,0,0,.5)}
#language_choice .language_choice_screen{position:relative;background:#997404;padding:20px;border:1px solid #ddd;border-radius:10px}
#language_choice_screen_close{position:absolute;right:0;top:0;width:44px;height:44px;padding:12px;border:0;background:transparent;display:grid;place-items:center}
#language_choice_screen_close img{width:20px;height:20px}
#language_choice label[for="lang_ctry"]{display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:6px;white-space:nowrap;margin-bottom:8px;color:white;min-height:24px}
#language_choice #ctry_flag,#language_choice #lang_flag{width:30px;height:20px;object-fit:cover;margin-inline:6px}
#lang_ctry{display:block;width:100%;min-height:44px;padding:8px 10px;border:1px solid #ced4da;border-radius:6px;background:#fff;color:#212529;font:400 16px/1.5 LatoWeb,Arial,sans-serif}
#lang_ctry_help{color:#fff;margin:4px 0 16px;font-size:14px;line-height:1.4}
.bb-locale-save{min-height:44px;background:#0d6efd;color:white!important;border:1px solid #0d6efd;border-radius:6px;padding:8px 12px;font:400 16px/1.5 LatoWeb,Arial,sans-serif}
#locale-prototype{display:block;color:#fff;font-size:12px;margin-top:12px}
#language_choice :is(button,select):focus-visible{outline:3px solid white;outline-offset:3px}
html:has(#language_choice[open]){overflow:hidden}
@media(max-width:599px){
  .bb-header-row{min-height:104px;gap:8px}
  .bb-header-actions{display:grid;grid-template-columns:repeat(3,44px);gap:0 4px}
  #country-language-selector{grid-column:1/-1;grid-row:2;justify-self:end}
  .link-cl-selector{font-size:10px;padding:2px 4px}
  .link-cl-selector img{width:21px;height:14px}
}
@media(min-width:600px) and (max-width:899px){.bb-header-actions{gap:6px}}
@media(min-width:900px){.bb-primary-nav{gap:20px}}

/* master-shell-locale.css */
/* Alleen de land-/taalmodal. Header, navigatie, footer en basisregels blijven uit v3. */
#language_choice{width:min(calc(100% - 32px),640px);color:var(--bb-ink);border-radius:20px}
#language_choice #lang_ctry[type="hidden"]{display:none!important}
#language_choice .language_choice_screen{padding:24px;background:var(--bb-paper);border:1px solid #d7c9ad;border-radius:20px;box-shadow:0 12px 32px #37281424}
#language_choice .bb-locale-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}
#language_choice h2{font-size:34px;margin:4px 0 0;line-height:1.15;overflow-wrap:break-word}
#language_choice #language_choice_screen_close{position:static;flex:none;width:44px;height:44px;padding:12px;border:1px solid var(--bb-line);border-radius:50%;background:transparent}
#language_choice #language_choice_screen_close:hover{background:var(--bb-cream)}
#language_choice .bb-locale-columns,#language_choice #locale-trigger,#language_choice .bb-locale-option{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 20px;column-gap:16px;align-items:center}
#language_choice .bb-locale-columns{padding:0 16px;margin-bottom:8px;color:var(--bb-olive);font-size:12px;font-weight:700}
#language_choice .bb-locale-picker{position:relative}
#language_choice #locale-trigger{width:100%;min-height:64px;padding:12px 16px;border:1px solid #c7b995;border-radius:12px;background:var(--bb-cream);color:var(--bb-ink);text-align:left;font:400 16px/1.5 LatoWeb,Arial,sans-serif;cursor:pointer}
#language_choice #locale-trigger:hover{border-color:var(--bb-gold)}
#language_choice #locale-trigger[aria-expanded="true"]{border-color:var(--bb-olive)}
#language_choice .bb-locale-cell{display:flex;align-items:center;gap:10px;min-width:0}
#language_choice .bb-locale-cell>span{min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:normal}
#language_choice .bb-locale-cell img,#language_choice #ctry_flag,#language_choice #lang_flag{display:block;flex:none;width:24px;height:16px;object-fit:cover;margin:0;border-radius:1px}
#language_choice .bb-locale-chevron{width:18px;height:18px;color:var(--bb-olive)}
#language_choice #locale-trigger[aria-expanded="true"] .bb-locale-chevron{transform:rotate(180deg)}
#language_choice #locale-options{max-height:min(330px,42dvh);overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#b5ab90 var(--bb-cream);margin-top:8px;padding:6px;border:1px solid #d7c9ad;border-radius:12px;background:var(--bb-paper);box-shadow:0 3px 10px #3728140c}
#language_choice .bb-locale-option{min-height:56px;padding:12px 9px;border:1px solid transparent;border-radius:8px;cursor:pointer;font-size:15px;line-height:1.5}
#language_choice .bb-locale-option[aria-selected="true"]{background:var(--bb-cream);color:var(--bb-olive);font-weight:700}
#language_choice .bb-locale-option.is-active{border-color:#9b9d7a;background:#eeeee4}
#language_choice .bb-locale-check{width:20px;height:20px;color:var(--bb-olive);visibility:hidden}
#language_choice .bb-locale-option[aria-selected="true"] .bb-locale-check{visibility:visible}
#language_choice #lang_ctry_help{margin:14px 0 24px;color:var(--bb-muted);font-size:14px;line-height:1.6}
#language_choice .bb-locale-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:20px;border-top:1px solid var(--bb-line)}
#language_choice #locale-prototype{color:var(--bb-muted);font-size:12px;margin:0;overflow-wrap:break-word}
#language_choice .bb-locale-save{flex:none;min-height:44px;padding:8px 24px;border:1px solid var(--bb-olive);border-radius:999px;background:var(--bb-olive);color:white;font:700 16px/1.5 LatoWeb,Arial,sans-serif}
#language_choice .bb-locale-save:hover{filter:brightness(.95)}
#language_choice :is(button,[role="combobox"]):focus-visible{outline:2px solid var(--bb-olive);outline-offset:3px}
#language_choice #locale-trigger:focus-visible{outline-offset:2px}
@media(max-width:430px){
  #language_choice .language_choice_screen{padding:20px 16px}
  #language_choice h2{font-size:30px}
  #language_choice .bb-locale-heading{gap:8px;margin-bottom:20px}
  #language_choice .bb-locale-columns,#language_choice #locale-trigger,#language_choice .bb-locale-option{column-gap:8px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 14px}
  #language_choice .bb-locale-columns{padding-inline:10px}
  #language_choice #locale-trigger{padding:12px 10px;font-size:14px}
  #language_choice .bb-locale-cell{gap:6px}
  #language_choice .bb-locale-cell img,#language_choice #ctry_flag,#language_choice #lang_flag{width:20px;height:14px}
  #language_choice .bb-locale-option{padding:12px 5px;font-size:14px}
  #language_choice .bb-locale-check{width:14px;height:14px}
}
@media(forced-colors:active){
  #language_choice #locale-trigger,#language_choice #locale-options,#language_choice .bb-locale-save{border:1px solid ButtonText}
  #language_choice .bb-locale-option.is-active{outline:2px solid Highlight;outline-offset:-2px}
}
@media(max-width:380px){
  #language_choice .bb-locale-cell{flex-direction:column;align-items:flex-start;gap:4px}
  #language_choice .bb-locale-option{padding-block:8px}
}

/* master-shell-integration.css */
/* Compatibility with the existing PHP pages. Approved v4 geometry lives in
   master-shell.css and master-shell-locale.css; page components stay separate. */
body.bb-shell{font-family:LatoWeb,Arial,sans-serif!important;height:auto;min-height:100vh}
.bb-shell .main-container.container-fluid{padding:0;width:100%;max-width:none}
.bb-shell main,.bb-shell footer{top:0}
.bb-shell .stopper{display:none}
.bb-shell main{width:var(--bb-container);max-width:1600px;margin-inline:auto}
/* Keep legacy page typography and intrinsic word widths; anywhere makes
   absolutely positioned hero labels shrink to a single character. */
.bb-shell:not(.bb-home-body) main{font-size:1rem;line-height:1.5;overflow-wrap:break-word}
.bb-shell .seilbahn .seilbahn_img_info #seilbahn_stats{max-width:100%}
.bb-shell #seilbahn_stats .img_info_bg img{max-width:100%;height:auto}
.bb-shell .bb-home-site>main{width:100%;max-width:none}
.bb-shell .bb-home-page-shell{width:var(--bb-container);max-width:1600px;margin-inline:auto}
.bb-shell .bb-home-site>.bb-bergbahnen-main{width:var(--bb-container);max-width:1600px}
.bb-shell .bb-header{width:100%;float:none;margin:0;z-index:50}
.bb-shell .bb-brand strong,.bb-shell .bb-footer-brand{color:var(--bb-ink)}
.bb-shell .bb-brand small{color:var(--bb-ink)}
.bb-shell .bb-header img{max-width:none}
.bb-shell .bb-footer{clear:both;margin-top:30px}
.bb-shell .bb-footer h2{font:700 24px/1.15 Yanone,'Arial Narrow',sans-serif;margin:0 0 8px;padding:0;color:var(--bb-ink);text-transform:none}
.bb-shell .bb-footer p{margin:12px 0 0;font-size:14px;line-height:1.6}
.bb-shell .bb-footer-bottom{font-size:12px;line-height:1.6}
.bb-shell .bb-footer #open_preferences_center{border:0;padding:0;min-height:44px;background:transparent;font-size:14px;text-align:left}
.bb-shell .bb-footer #open_preferences_center:hover{text-decoration:underline}
.bb-shell #language_choice{height:auto;z-index:auto;display:none}
.bb-shell #language_choice[open]{display:block}
.bb-shell #language_choice .language_choice_screen{top:0;width:100%;max-width:none;margin:0}
.bb-shell #language_choice #ctry_flag,.bb-shell #language_choice #lang_flag{margin:0;width:24px;height:16px}
.bb-shell #language_choice h2,.bb-shell .bb-search-dialog h2{font-family:Yanone,'Arial Narrow',sans-serif;font-size:34px;line-height:1.15;padding:0;color:var(--bb-ink);text-transform:none}
.bb-shell #language_choice #lang_ctry_help{color:var(--bb-muted)!important}
.bb-shell .bb-search-dialog{margin:auto}
.bb-shell .bb-search-dialog p{margin:16px 0}
.bb-shell .bb-search-dialog label{font-size:14px}
.bb-shell .bb-bottom-nav{font-size:12px}
.bb-shell.has-compact-nav .bb-bottom-nav{display:grid!important}
.bb-shell .bb-header .bb-menu-toggle{padding:9px}
.bb-shell .bb-header .bb-primary-nav{font-size:16px}
@media(max-width:430px){.bb-shell #language_choice #ctry_flag,.bb-shell #language_choice #lang_flag{width:20px;height:14px}.bb-shell #language_choice h2{font-size:30px}}
