/* ERCC-inspirierter Lage-Monitor: Banner, Legende, Map-first, Label-Marker */

.lage-cluster-simple {
    --lcs-bg: #f4f6f9;
    --lcs-card: #ffffff;
    --lcs-text: #152033;
    --lcs-muted: #5b6b7c;
    --lcs-line: rgba(21, 32, 51, 0.1);
    --lcs-accent: #1a3d7c;
    --lcs-accent-soft: rgba(26, 61, 124, 0.1);
    --lcs-banner: #0f2a56;
    --lcs-warn: #e85d04;
    --lcs-severe: #b42318;
    --lcs-severe-soft: rgba(180, 35, 24, 0.1);
    --lcs-radius: 0.55rem;
    --lcs-shadow: 0 8px 22px rgba(21, 32, 51, 0.08);
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    min-height: 0;
    height: 100%;
    padding: 0;
    border-radius: calc(var(--lcs-radius) + 0.2rem);
    overflow: hidden;
    background: var(--lcs-bg);
    color: var(--lcs-text);
    border: 1px solid var(--lcs-line);
}

/* —— Banner (ERCC Daily-Map Kopf) —— */

.lcs-banner {
    --lcs-banner-fg: #f4f7fb;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
        "main meta"
        "search search";
    align-items: end;
    gap: 0.65rem 1.25rem;
    padding: 0.85rem 1.1rem;
    background:
        linear-gradient(105deg, #0c2348 0%, #1a3d7c 55%, #1e4d8c 100%);
    color: var(--lcs-banner-fg);
}

.lcs-banner__main {
    grid-area: main;
    min-width: 0;
}

.lcs-banner__meta {
    grid-area: meta;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.65rem;
    justify-content: flex-end;
}

.lcs-search--banner {
    grid-area: search;
    flex: 1 1 auto;
    max-width: 22rem;
    min-width: 0;
    width: 100%;
}

.lcs-banner__kicker,
.lcs-banner__title,
.lcs-banner__pulse,
.lcs-banner__stat,
.lcs-banner__date {
    color: var(--lcs-banner-fg);
}

.lcs-banner__kicker {
    margin: 0;
    font-size: 0.7rem;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    font-weight: 650;
    opacity: 0.92;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.lcs-banner__title {
    margin: 0.2rem 0 0;
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    font-weight: 750;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.lcs-banner__pulse {
    margin: 0.4rem 0 0;
    max-width: 42rem;
    font-size: 0.88rem;
    line-height: 1.35;
    opacity: 0.95;
}

.lcs-banner__stat {
    display: inline-flex;
    align-items: baseline;
    gap: 0.28rem;
    padding: 0.28rem 0.55rem;
    border-radius: 0.35rem;
    background: rgba(255, 255, 255, 0.12);
    font-size: 0.74rem;
    font-weight: 600;
}

.lcs-banner__stat strong {
    font-size: 1rem;
    font-weight: 750;
}

.lcs-banner__stat.is-alert {
    background: rgba(180, 35, 24, 0.55);
}

.lcs-banner__date {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.82rem;
    font-weight: 650;
    opacity: 0.95;
}

.lcs-search--banner input {
    border: 0;
    background: rgba(255, 255, 255, 0.95);
    color: var(--lcs-text);
}

.lcs-search--banner .lcs-search__icon {
    color: #5b6b7c;
}

/* —— Dashboard-Grid —— */

.lcs-dash {
    display: grid;
    grid-template-columns: minmax(13rem, 16.5rem) minmax(0, 1fr);
    gap: 0.7rem;
    padding: 0.7rem 0.75rem 0.8rem;
    min-height: 0;
    flex: 1 1 auto;
    overflow: hidden;
}

.lcs-dash__side {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    min-width: 0;
    min-height: 0;
    overflow: auto;
    scrollbar-gutter: stable;
}

.lcs-dash__main {
    display: grid;
    grid-template-rows: minmax(16rem, 1.2fr) minmax(10rem, 0.85fr);
    gap: 0.65rem;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.lage-cluster-simple:not(.has-map) .lcs-dash__main {
    grid-template-rows: 1fr;
}

.lcs-dash__main > * {
    min-width: 0;
    min-height: 0;
}

.lcs-card {
    background: var(--lcs-card);
    border: 1px solid var(--lcs-line);
    border-radius: var(--lcs-radius);
    padding: 0.55rem 0.6rem 0.65rem;
    box-shadow: var(--lcs-shadow);
}

.lcs-card__title {
    margin: 0 0 0.45rem;
    font-size: 0.72rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--lcs-muted);
    font-weight: 750;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

/* —— Legende —— */

.lcs-legend {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.lcs-legend__item {
    --lcs-theme-color: var(--lcs-accent);
    width: 100%;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.45rem;
    text-align: left;
    border: 1px solid transparent;
    border-radius: 0.4rem;
    background: transparent;
    padding: 0.32rem 0.4rem;
    cursor: pointer;
    color: inherit;
    transition: background 0.12s ease, border-color 0.12s ease;
}

.lcs-legend__item:hover,
.lcs-legend__item:focus-visible {
    background: var(--lcs-accent-soft);
    outline: none;
}

.lcs-legend__item.is-active {
    background: var(--lcs-accent-soft);
    border-color: rgba(26, 61, 124, 0.22);
}

.lcs-legend__swatch {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.55rem;
    height: 1.55rem;
    border-radius: 0.3rem;
    background: rgba(26, 61, 124, 0.12);
    background: color-mix(in srgb, var(--lcs-theme-color) 18%, white);
    color: var(--lcs-theme-color);
    font-size: 0.85rem;
}

.lcs-legend__swatch.is-all {
    background: var(--lcs-accent-soft);
    color: var(--lcs-accent);
}

.lcs-legend__text {
    font-size: 0.8rem;
    font-weight: 650;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lcs-legend__count {
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--lcs-muted);
    font-variant-numeric: tabular-nums;
}

/* —— Monitor-Chips —— */

.lcs-monitor__chips {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.lcs-monitor-chip {
    --lcs-chip-color: var(--lcs-accent);
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.55rem;
    align-items: center;
    text-align: left;
    width: 100%;
    border: 1px solid var(--lcs-line);
    border-radius: 0.45rem;
    background: var(--lcs-card);
    padding: 0.45rem 0.5rem;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    color: inherit;
}

.lcs-monitor-chip:hover,
.lcs-monitor-chip:focus-visible {
    border-color: rgba(26, 61, 124, 0.35);
    box-shadow: var(--lcs-shadow);
    outline: none;
}

.lcs-monitor-chip.is-active {
    border-color: rgba(26, 61, 124, 0.45);
    box-shadow: 0 0 0 3px var(--lcs-accent-soft);
}

.lcs-monitor-chip__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 0.35rem;
    background: rgba(26, 61, 124, 0.1);
    color: var(--lcs-chip-color);
    font-size: 0.95rem;
}

.lcs-monitor-chip.is-scenario .lcs-monitor-chip__icon {
    background: rgba(232, 93, 4, 0.12);
}

.lcs-monitor-chip__body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.08rem;
}

.lcs-monitor-chip__label {
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.2;
}

.lcs-monitor-chip__meta {
    font-size: 0.7rem;
    color: var(--lcs-muted);
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* —— Suche —— */

.lcs-search {
    position: relative;
    flex: 1 1 12rem;
    max-width: 18rem;
}

.lcs-search__icon {
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--lcs-muted);
    pointer-events: none;
    font-size: 0.85rem;
}

.lcs-search input {
    width: 100%;
    border: 1px solid var(--lcs-line);
    border-radius: 999px;
    background: var(--lcs-card);
    padding: 0.45rem 0.8rem 0.45rem 2rem;
    font-size: 0.86rem;
    color: var(--lcs-text);
    outline: none;
}

.lcs-search input:focus-visible {
    border-color: rgba(26, 61, 124, 0.45);
    box-shadow: 0 0 0 3px var(--lcs-accent-soft);
}

/* —— Orte / Panel / Liste —— */

.lcs-places {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.lcs-place {
    border: 1px solid var(--lcs-line);
    background: rgba(255, 255, 255, 0.95);
    color: var(--lcs-text);
    border-radius: 999px;
    padding: 0.28rem 0.65rem;
    font-size: 0.74rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.lcs-place.is-active {
    background: var(--lcs-accent);
    border-color: var(--lcs-accent);
    color: #fff;
}

.lcs-panel {
    display: flex;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
    gap: 0.4rem;
    background: var(--lcs-card);
    border: 1px solid var(--lcs-line);
    border-radius: var(--lcs-radius);
    padding: 0.55rem 0.6rem 0.65rem;
    box-shadow: var(--lcs-shadow);
    overflow: hidden;
}

.lcs-panel__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem 0.75rem;
}

.lcs-status {
    min-height: 1rem;
    font-size: 0.76rem;
    color: var(--lcs-muted);
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.lcs-list {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding-right: 0.1rem;
    scrollbar-gutter: stable;
}

.lcs-item {
    --lcs-item-color: var(--lcs-warn);
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.65rem;
    align-items: center;
    text-decoration: none;
    color: inherit;
    background: #f8fafc;
    border: 1px solid var(--lcs-line);
    border-radius: 0.45rem;
    padding: 0.55rem 0.65rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.lcs-item:hover,
.lcs-item:focus-visible {
    border-color: rgba(232, 93, 4, 0.35);
    box-shadow: var(--lcs-shadow);
    outline: none;
}

.lcs-item__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 0.4rem;
    background: rgba(232, 93, 4, 0.12);
    color: var(--lcs-item-color);
    font-size: 1.05rem;
    flex-shrink: 0;
}

.lcs-item__body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.lcs-item__tag {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    width: fit-content;
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--lcs-item-color);
    background: rgba(232, 93, 4, 0.1);
    border-radius: 999px;
    padding: 0.1rem 0.45rem;
}

.lcs-item__title {
    display: block;
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.lcs-item__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.65rem;
    font-size: 0.72rem;
    color: var(--lcs-muted);
}

.lcs-item__meta i {
    margin-right: 0.12rem;
}

.lcs-item__sev {
    font-weight: 700;
}

.lcs-item__sev.is-alert {
    color: var(--lcs-severe);
}

.lcs-item__chevron {
    color: var(--lcs-muted);
    font-size: 0.95rem;
}

.lcs-empty {
    margin: 0;
    padding: 1.1rem;
    text-align: center;
    color: var(--lcs-muted);
    background: rgba(255, 255, 255, 0.55);
    border: 1px dashed var(--lcs-line);
    border-radius: var(--lcs-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
}

/* —— Karte —— */

.lcs-map-wrap {
    position: relative;
    min-height: 16rem;
    height: 100%;
    border-radius: var(--lcs-radius);
    overflow: hidden;
    border: 1px solid var(--lcs-line);
    background: #d8e2ec;
    box-shadow: var(--lcs-shadow);
}

.lcs-map {
    width: 100%;
    height: 100%;
    min-height: 16rem;
}

/* Leaflet: Theme darf Tiles nicht stauchen/verstecken */
.lcs-map.leaflet-container,
.lcs-map .leaflet-container {
    width: 100%;
    height: 100%;
    background: #d8e2ec;
    font: inherit;
}

.lcs-map .leaflet-tile-pane,
.lcs-map .leaflet-overlay-pane,
.lcs-map .leaflet-marker-pane {
    opacity: 1 !important;
    visibility: visible !important;
}

.lcs-map .leaflet-tile {
    max-width: none !important;
    max-height: none !important;
}

.lcs-map-legend {
    position: absolute;
    left: 0.55rem;
    bottom: 0.55rem;
    z-index: 500;
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    padding: 0.35rem 0.6rem;
    border-radius: 0.35rem;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(21, 32, 51, 0.1);
    font-size: 0.7rem;
    font-weight: 650;
    color: var(--lcs-muted);
    pointer-events: none;
    box-shadow: 0 4px 12px rgba(21, 32, 51, 0.08);
}

.lcs-map-legend__item {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.lcs-map-legend__pin {
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 999px;
    background: var(--lcs-warn);
    border: 2px solid #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

.lcs-map-legend__item .bi {
    color: var(--lcs-severe);
    font-size: 0.75rem;
}

.lcs-map-fallback {
    margin: 0;
    padding: 1.5rem;
    text-align: center;
    color: var(--lcs-muted);
}

/* —— Beschriftete Marker (ERCC Callouts) —— */

.lcs-marker {
    background: transparent !important;
    border: 0 !important;
}

.lcs-marker__wrap {
    --lcs-marker-color: #e85d04;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    max-width: 11.5rem;
    filter: drop-shadow(0 3px 6px rgba(21, 32, 51, 0.28));
}

.lcs-marker__pin {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 999px;
    background: var(--lcs-marker-color);
    color: #fff;
    border: 2px solid #fff;
    font-size: 0.9rem;
    flex-shrink: 0;
    box-shadow: 0 2px 6px rgba(21, 32, 51, 0.25);
}

.lcs-marker__pin.is-dot {
    width: 1.55rem;
    height: 1.55rem;
    font-size: 0.75rem;
}

.lcs-marker__wrap.is-severe .lcs-marker__pin {
    background: var(--lcs-severe);
    box-shadow: 0 0 0 3px rgba(180, 35, 24, 0.25);
}

.lcs-marker__label {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
    padding: 0.28rem 0.45rem;
    background: #fff;
    border: 1px solid rgba(21, 32, 51, 0.14);
    border-radius: 0.25rem;
    line-height: 1.15;
    min-width: 0;
}

.lcs-marker__label strong {
    font-size: 0.68rem;
    font-weight: 750;
    color: var(--lcs-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 9.5rem;
}

.lcs-marker__label small {
    font-size: 0.62rem;
    color: var(--lcs-muted);
    font-weight: 650;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lcs-popup {
    font-size: 0.85rem;
    line-height: 1.35;
}

.lcs-popup__meta {
    margin-top: 0.25rem;
    color: #5b6b7c;
    font-size: 0.78rem;
}

.lcs-popup__list {
    margin: 0.45rem 0 0;
    padding-left: 1rem;
    font-size: 0.78rem;
    color: #3a4a5c;
}

/* —— Legacy (falls alte Markup-Reste) —— */

.lcs-head,
.lcs-themes,
.lcs-workspace,
.lcs-monitor {
    display: none;
}

.lage-cluster-simple:not(.is-ercc) .lcs-head,
.lage-cluster-simple:not(.is-ercc) .lcs-themes,
.lage-cluster-simple:not(.is-ercc) .lcs-workspace,
.lage-cluster-simple:not(.is-ercc) .lcs-monitor {
    display: flex;
}

/* —— Themes —— */

body.theme-klassisch .lage-cluster-simple {
    --lcs-bg: #d4d8e4;
    --lcs-card: #c8cede;
    --lcs-text: #000040;
    --lcs-muted: #404060;
    --lcs-line: #808898;
    --lcs-accent: #000080;
    --lcs-radius: 0;
    --lcs-shadow: none;
    --lcs-banner: #000080;
    border: 2px solid;
    border-color: #ffffff #404040 #404040 #ffffff;
}

body.theme-klassisch .lcs-banner {
    --lcs-banner-fg: #ffffff;
    background: #000080;
    color: #ffffff;
}

/* Klassisch setzt #main-content h2 auf Schwarz !important – Banner überschreiben */
body.theme-klassisch #main-content .lcs-banner,
body.theme-klassisch #main-content .lcs-banner h1,
body.theme-klassisch #main-content .lcs-banner h2,
body.theme-klassisch #main-content .lcs-banner h3,
body.theme-klassisch #main-content .lcs-banner p,
body.theme-klassisch #main-content .lcs-banner__kicker,
body.theme-klassisch #main-content .lcs-banner__title,
body.theme-klassisch #main-content .lcs-banner__pulse,
body.theme-klassisch #main-content .lcs-banner__stat,
body.theme-klassisch #main-content .lcs-banner__date,
body.theme-klassisch #main-content .lcs-banner__stat strong {
    color: #ffffff !important;
}

body.theme-klassisch #main-content .lcs-search--banner input {
    color: #000040 !important;
}

body.theme-klassisch .lcs-card,
body.theme-klassisch .lcs-panel,
body.theme-klassisch .lcs-map-wrap,
body.theme-klassisch .lcs-item,
body.theme-klassisch .lcs-monitor-chip,
body.theme-klassisch .lcs-legend__item,
body.theme-klassisch .lcs-marker__label,
body.theme-klassisch .lcs-map-legend,
body.theme-klassisch .lcs-search input,
body.theme-klassisch .lcs-place,
body.theme-klassisch .lcs-empty {
    border-radius: 0;
}

body.theme-klassisch .lcs-card,
body.theme-klassisch .lcs-panel,
body.theme-klassisch .lcs-item,
body.theme-klassisch .lcs-monitor-chip,
body.theme-klassisch .lcs-search input {
    border: 2px solid;
    border-color: #ffffff #404040 #404040 #ffffff;
    box-shadow: none;
    background: #c0c0c0;
}

body.theme-klassisch .lcs-legend__item {
    border: 2px solid transparent;
    background: transparent;
    color: #000040;
}

body.theme-klassisch .lcs-legend__text,
body.theme-klassisch .lcs-legend__count,
body.theme-klassisch .lcs-card__title,
body.theme-klassisch .lcs-monitor-chip__label,
body.theme-klassisch .lcs-monitor-chip__meta,
body.theme-klassisch .lcs-status {
    color: #000040;
}

body.theme-klassisch .lcs-monitor-chip__meta,
body.theme-klassisch .lcs-legend__count,
body.theme-klassisch .lcs-card__title,
body.theme-klassisch .lcs-status {
    color: #404060;
}

body.theme-klassisch .lcs-map-wrap {
    border: 2px solid;
    border-color: #404040 #ffffff #ffffff #404040;
    background: #b8c0d0;
}

body.theme-klassisch .lcs-item {
    background: #d8dce8;
}

body.theme-klassisch .lcs-legend__item.is-active,
body.theme-klassisch .lcs-monitor-chip.is-active,
body.theme-klassisch .lcs-place.is-active {
    border-color: #404040 #ffffff #ffffff #404040;
    background: #e8ecf4;
}

body.theme-dark .lage-cluster-simple {
    --lcs-bg: #121820;
    --lcs-card: #1b2430;
    --lcs-text: #e8eef5;
    --lcs-muted: #9aa8b8;
    --lcs-line: rgba(232, 238, 245, 0.12);
    --lcs-accent: #6ea8fe;
    --lcs-accent-soft: rgba(110, 168, 254, 0.16);
    --lcs-severe: #ff8a80;
    --lcs-severe-soft: rgba(255, 138, 128, 0.16);
    --lcs-banner: #0a1628;
    border-color: rgba(232, 238, 245, 0.12);
}

body.theme-dark .lcs-banner {
    background: linear-gradient(105deg, #0a1628 0%, #152840 100%);
}

body.theme-dark .lcs-item {
    background: rgba(18, 24, 32, 0.65);
}

body.theme-dark .lcs-place,
body.theme-dark .lcs-map-legend,
body.theme-dark .lcs-marker__label {
    background: rgba(27, 36, 48, 0.95);
    color: var(--lcs-text);
}

body.theme-dark .lcs-marker__label strong {
    color: var(--lcs-text);
}

body.theme-dark .lcs-empty {
    background: rgba(27, 36, 48, 0.55);
}

body.theme-matrix .lage-cluster-simple {
    --lcs-bg: #041208;
    --lcs-card: #0a1a10;
    --lcs-text: #b7f7c8;
    --lcs-muted: #6fbb84;
    --lcs-line: rgba(70, 200, 110, 0.25);
    --lcs-accent: #39ff88;
    --lcs-accent-soft: rgba(57, 255, 136, 0.12);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

body.theme-minimized .lage-cluster-simple {
    --lcs-bg: #f7f7f7;
    --lcs-card: #fff;
    --lcs-line: rgba(0, 0, 0, 0.08);
    --lcs-radius: 0.35rem;
    box-shadow: none;
}

@media (prefers-reduced-motion: reduce) {
    .lcs-item,
    .lcs-monitor-chip,
    .lcs-legend__item {
        transition: none;
    }
}

@media (max-width: 1099.98px) {
    .lcs-dash {
        grid-template-columns: 1fr;
    }

    .lcs-dash__side {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
        max-height: none;
        overflow: visible;
    }

    .lcs-dash__main {
        grid-template-rows: minmax(16rem, 22rem) minmax(12rem, 28vh);
    }

    .lcs-map,
    .lcs-map-wrap {
        min-height: 16rem;
    }
}

@media (max-width: 767.98px) {
    .lcs-banner {
        grid-template-columns: 1fr;
        grid-template-areas:
            "main"
            "meta"
            "search";
        padding: 0.7rem 0.8rem;
    }

    .lcs-banner__meta {
        justify-content: flex-start;
        width: 100%;
    }

    .lcs-search--banner {
        max-width: none;
    }

    .lcs-dash {
        padding: 0.55rem;
        gap: 0.55rem;
    }

    .lcs-dash__side {
        grid-template-columns: 1fr;
    }

    .lcs-item {
        grid-template-columns: auto 1fr;
    }

    .lcs-item__chevron {
        display: none;
    }

    .lcs-marker__label {
        display: none;
    }
}
