/* "Åbne pister og lifter" (Lars 15/11): blocks::blocks.lift-status. Same look as the transport page's banner. */
/* No search bar on this page, as on the transport page (the stylesheet is only loaded here). */
.b-sticky-search { display: none !important; }
.ls { --ls-ink: #000033; --ls-ink-2: #152d49; --ls-muted: #5b6b7d; --ls-primary: #0091d4; --ls-soft: #def5ff; --ls-surface: #eef4fb; --ls-paper: #fff;
  --ls-line: rgba(13, 34, 54, .09); --ls-line-2: rgba(13, 34, 54, .16); --ls-shadow: 0 1px 2px rgba(13, 34, 54, .06), 0 8px 24px rgba(13, 34, 54, .06);
  background: #f6fafe; color: var(--ls-ink); }
.ls h1, .ls h2 { margin: 0; font-family: var(--b-font-heading, Petrona, serif); font-weight: 300; color: var(--ls-ink); }
.ls p { margin: 0; }
.ls-intro { background: var(--ls-paper); border-bottom: 1px solid var(--ls-line); }
.ls-intro__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 24px 40px; align-items: center; padding-block: 40px 28px; }
.ls-eyebrow { margin-bottom: 8px !important; color: var(--ls-primary); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.ls .ls-title { margin-bottom: 16px; font-size: clamp(36px, 5vw, 56px); line-height: 1.08; }
.ls-lead { max-width: 60ch; font-size: 18px; line-height: 1.5; color: var(--ls-ink-2); }
.ls-season { position: relative; border-radius: 20px; overflow: hidden; min-height: 260px; background: var(--ls-surface); box-shadow: var(--ls-shadow); }
.ls-season__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ls-season__box { position: absolute; left: 16px; right: 16px; bottom: 16px; display: flex; gap: 14px; padding: 16px 18px; border-radius: 16px; background: rgba(255,255,255,.94); }
.ls-season__ic { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 10px; background: var(--ls-soft); color: var(--ls-primary); }
.ls-season__label { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ls-primary); }
.ls-season__dates { font: 300 24px/1.25 var(--b-font-heading, Petrona, serif); color: var(--ls-ink); }
.ls-season__note { margin-top: 4px !important; font-size: 14px; color: var(--ls-muted); }
.ls-season__status { display: inline-block; margin-top: 8px; padding: 4px 12px; border-radius: 999px; background: var(--ls-ink); color: #fff; font-size: 13px; font-weight: 600; }
.ls-season__status:empty { display: none; }
.ls-season__status.is-open { background: #15803d; }
.ls-body { padding-block: 32px 64px; }
.ls-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ls-stat { display: flex; gap: 16px; align-items: center; padding: 22px 24px; border: 1px solid var(--ls-line); border-radius: 20px; background: var(--ls-paper); box-shadow: var(--ls-shadow); color: var(--ls-ink); text-decoration: none; }
.ls-stat:hover { border-color: var(--ls-primary); color: var(--ls-ink); }
.ls-stat__ic { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: var(--ls-soft); color: var(--ls-primary); }
.ls-stat__ic svg { width: 28px; height: 28px; }
.ls-stat small { display: block; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ls-muted); }
.ls-stat strong { font: 300 44px/1.1 var(--b-font-heading, Petrona, serif); }
.ls-stat strong span { font-size: 26px; color: var(--ls-muted); }
.ls-stat b { display: block; margin-top: 6px; font-size: 17px; font-weight: 600; color: var(--ls-primary); }
.ls-source { margin: 12px 0 32px !important; font-size: 14px; color: var(--ls-muted); }
.ls-sec { scroll-margin-top: 120px; margin-bottom: 32px; padding: 28px; border: 1px solid var(--ls-line); border-radius: 20px; background: var(--ls-paper); box-shadow: var(--ls-shadow); }
.ls-sec h2 { margin: 0 0 18px; font-size: clamp(28px, 3.4vw, 40px); line-height: 1.1; }
.ls-sec h2 small { margin-left: 8px; font: 500 16px/1 var(--b-font-body); color: var(--ls-muted); }
.ls-sec__head { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.ls-sec__head h2 { margin: 0; }
.ls-jump { display: flex; flex-wrap: wrap; gap: 12px; }
.ls-map { position: relative; }
.ls-zoom__stage { position: absolute; inset: 0; overflow: hidden; background: var(--ls-surface); }
.ls-zoom__stage.is-zoomed { cursor: grab; touch-action: none; }
.ls-zoom__stage.is-dragging { cursor: grabbing; }
.ls-zoom__stage img { position: absolute; left: 0; top: 0; max-width: none; transform-origin: 0 0; user-select: none; will-change: transform; }
.ls-map .ls-map__stage { position: relative; inset: auto; aspect-ratio: 16 / 10; border-radius: 14px; }
.ls-zoom__bar { position: absolute; left: 50%; bottom: 20px; transform: translateX(-50%); display: flex; gap: 6px; align-items: center; padding: 6px; border-radius: 999px; background: #fff; box-shadow: 0 6px 20px rgba(0,0,51,.25); }
.ls-map .ls-zoom__bar { left: 16px; bottom: 16px; transform: none; }
.ls-zoom__btn { display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 12px; border: 0; border-radius: 999px; background: var(--ls-surface); color: var(--ls-ink); font: 600 14px/1 var(--b-font-body); cursor: pointer; }
.ls-zoom__btn:hover { background: var(--ls-soft); }
.ls-zoom__btn:disabled { opacity: .4; cursor: default; }
.ls-zoom__pct { min-width: 56px; text-align: center; font: 600 14px/1 var(--b-font-body); color: var(--ls-ink); }
.ls-map__hint, .ls-zoom__hint { position: absolute; left: 16px; top: 16px; margin: 0; padding: 6px 12px; border-radius: 999px; background: rgba(255,255,255,.9); font-size: 13px; color: var(--ls-muted); pointer-events: none; }
.ls-map__big { position: absolute; right: 16px; bottom: 16px; display: inline-flex; gap: 8px; align-items: center; padding: 10px 18px; border: 0; border-radius: 999px; background: var(--ls-ink); color: #fff; font: 600 15px/1 var(--b-font-body); cursor: pointer; box-shadow: 0 6px 18px rgba(0,0,51,.3); }
.ls-map__big:hover { background: #1a1a4d; }
.ls-zoom { width: 90vw; height: 90vh; max-width: 90vw; max-height: 90vh; margin: auto; padding: 0; border: 0; border-radius: 20px; overflow: hidden; background: #fff; box-shadow: 0 24px 80px rgba(0,0,51,.45); }
.ls-zoom::backdrop { background: rgba(0,0,51,.72); backdrop-filter: blur(4px); }
.ls-zoom[open] { display: block; }
.ls-zoom__close { position: absolute; top: 14px; right: 14px; display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--ls-ink); color: #fff; cursor: pointer; box-shadow: 0 4px 12px rgba(0,0,51,.3); }
.ls-filter { position: sticky; top: 0; z-index: 20; display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; justify-content: space-between; margin: 0 0 16px; padding: 12px 0; background: #f6fafe; }
.ls-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ls-chip { padding: 8px 16px; border: 1px solid var(--ls-line-2); border-radius: 999px; background: var(--ls-paper); color: var(--ls-ink); font: 500 15px/1 var(--b-font-body); cursor: pointer; }
.ls-chip[aria-pressed="true"] { border-color: var(--ls-ink); background: var(--ls-ink); color: #fff; }
.ls-only { display: inline-flex; gap: 10px; align-items: center; font-weight: 500; cursor: pointer; }
.ls-only input { width: 20px; height: 20px; accent-color: var(--ls-primary); }
.ls-table-wrap { overflow-x: auto; }
.ls-table { width: 100%; border-collapse: collapse; font-size: 16px; }
.ls-table th { padding: 12px 14px; background: var(--ls-surface); color: var(--ls-ink-2); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.ls-table th:first-child { border-radius: 12px 0 0 12px; } .ls-table th:last-child { border-radius: 0 12px 12px 0; }
.ls-table td { padding: 12px 14px; border-bottom: 1px solid var(--ls-line); vertical-align: middle; }
.ls-table tr:last-child td { border-bottom: 0; }
.ls-table tr[hidden] { display: none; }
.ls-num { width: 64px; white-space: nowrap; }
.ls-badge { display: inline-grid; place-items: center; min-width: 36px; height: 28px; padding: 0 8px; border-radius: 8px; background: var(--ls-surface); font-size: 14px; font-weight: 700; color: var(--ls-ink); }
.ls-badge--green { background: #5cb85c; color: #fff; } .ls-badge--blue { background: #2f6fd6; color: #fff; }
.ls-badge--red { background: #d62f2f; color: #fff; } .ls-badge--black { background: #111; color: #fff; }
.ls-badge--route { background: #f2a900; color: #1a1a1a; }
.ls-dot { display: inline-block; width: 14px; height: 14px; margin-right: 8px; border-radius: 50%; vertical-align: -2px; background: var(--ls-line-2); }
.ls-dot--green { background: #5cb85c; } .ls-dot--blue { background: #2f6fd6; } .ls-dot--red { background: #d62f2f; } .ls-dot--black { background: #111; }
.ls-dot--route { background: #f2a900; }
.ls-st { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.ls-st::before { content: ""; width: 10px; height: 10px; border-radius: 50%; }
.ls-st--open { color: #15803d; } .ls-st--open::before { background: #15803d; }
.ls-st--closed { color: var(--ls-muted); } .ls-st--closed::before { background: #b9c3cf; }
.ls-none { margin-top: 16px !important; color: var(--ls-muted); }
.ls-cta { position: sticky; bottom: 20px; z-index: 30; text-align: center; pointer-events: none; }
.ls-cta .b-button { pointer-events: auto; box-shadow: 0 10px 28px rgba(0, 0, 51, .28); }
@media (max-width: 860px) { .ls-intro__grid, .ls-stats { grid-template-columns: 1fr; } .ls-sec { padding: 18px; } .ls-table td, .ls-table th { padding: 10px 8px; } }
@media (max-width: 767px) { .ls-cta { bottom: 84px; } .ls-zoom { width: 96vw; max-width: 96vw; } .ls-zoom__hint, .ls-map__hint { display: none; } }
