/* Ganztagsschule: route-only production banner. */
/* Mask the photograph itself so its left edge cannot form a vertical join.
   Its original 8:3 crop stays intact even on a very wide viewport. */
.ls-page-hero {
    --ls-banner-photo: url("../images/ganztag-banner-production-v1.webp");
    --ls-banner-overlay: linear-gradient(90deg, rgba(25, 26, 28, 0.94) 0%, rgba(25, 26, 28, 0.80) 43%, rgba(25, 26, 28, 0.32) 72%, rgba(25, 26, 28, 0.08) 100%);
    background: #191a1c;
    border-bottom-color: rgba(128, 23, 34, 0.28);
}

.ls-page-hero::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: auto;
    aspect-ratio: 8 / 3;
    z-index: 0;
    background: var(--ls-banner-photo) right center / cover no-repeat;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 30%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 30%);
    pointer-events: none;
}

.ls-page-hero::after {
    content: "";
    inset: 0;
    z-index: 0;
    background: var(--ls-banner-overlay);
}

.ls-page-hero .ls-eyebrow {
    color: #f3dc94;
}

.ls-page-hero .yoast-breadcrumbs,
.ls-page-hero .wp-block-yoast-seo-breadcrumbs {
    color: rgba(255, 255, 255, 0.84);
}

.ls-page-hero .yoast-breadcrumbs a,
.ls-page-hero .wp-block-yoast-seo-breadcrumbs a {
    color: #fff;
}

.ls-page-hero .wp-block-post-title {
    color: #fff;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.24);
}

@media (max-width: 640px) {
    .ls-page-hero {
        --ls-banner-overlay: linear-gradient(90deg, rgba(25, 26, 28, 0.96) 0%, rgba(25, 26, 28, 0.87) 58%, rgba(25, 26, 28, 0.50) 100%);
    }
}

@media (forced-colors: active) {
    .ls-page-hero::before,
    .ls-page-hero::after {
        content: none;
    }

    .ls-page-hero {
        border-bottom: 1px solid CanvasText;
        color: CanvasText;
        background: Canvas;
    }

    .ls-page-hero .ls-eyebrow,
    .ls-page-hero .wp-block-post-title,
    .ls-page-hero .yoast-breadcrumbs,
    .ls-page-hero .wp-block-yoast-seo-breadcrumbs,
    .ls-page-hero .yoast-breadcrumbs a,
    .ls-page-hero .wp-block-yoast-seo-breadcrumbs a {
        color: CanvasText;
        text-shadow: none;
    }
}

/* Native content lists: a spacious offer grid and a calm lunch-time guide. */
.ls-day-page { background: #fbfaf7; }
.ls-day-hero-intro { max-width: 40rem !important; color: #f4f0e8; font-size: clamp(1.05rem, 1.6vw, 1.25rem); line-height: 1.7; margin-top: 1.5rem; }
.ls-day-frame { width: min(1200px, calc(100% - 2 * clamp(1rem, 4vw, 2rem))); margin-inline: auto; }
.ls-day-content { padding-block: clamp(2rem, 5vw, 4rem) clamp(3rem, 7vw, 6rem); }
.ls-day-jumps { gap: .75rem; margin: 0 0 clamp(2.5rem, 5vw, 4rem); }
.ls-day-jumps .wp-block-button__link { min-height: 46px; display: inline-flex; align-items: center; padding: .65rem 1.15rem; border: 1px solid #d8cdc0; border-radius: 999px; background: #fff; color: #801722; font-size: .875rem; font-weight: 650; }
.ls-day-jumps .wp-block-button__link:hover { background: #f4e9e6; border-color: #a51f2d; }
.ls-day-blocks { margin: 0; }
.ls-day-blocks h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.2; letter-spacing: -.03em; color: #17202c; margin: .65rem 0 1.75rem; scroll-margin-top: 7rem; }
.ls-day-blocks .ls-eyebrow { color: #a51f2d; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin: 0; }
.ls-day-offers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin: 0; padding: 0; list-style: none; counter-reset: offer; }
.ls-day-offers > li { position: relative; margin: 0; padding: 4.5rem 2rem 2rem; border: 1px solid #e5ded3; border-radius: 14px; background: #fff; color: #53606d; font-size: 1rem; line-height: 1.75; box-shadow: 0 3px 16px #17202c04; overflow-wrap: anywhere; }
.ls-day-offers > li::before { counter-increment: offer; content: counter(offer, decimal-leading-zero); position: absolute; top: 1.5rem; left: 2rem; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 8px; background: #f5e9e6; color: #a51f2d; font-size: .8rem; font-weight: 750; letter-spacing: .02em; }
.ls-day-offers > li > strong { display: block; max-width: 32ch; margin: 0 0 .85rem; color: #17202c; font-size: 1.15rem; line-height: 1.45; letter-spacing: -.015em; }
.ls-day-lunch-section { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); gap: clamp(2rem, 4vw, 4rem); margin-top: clamp(3rem, 6vw, 5rem); padding: clamp(1.5rem, 4vw, 3rem); background: #f2eee5; border: 1px solid #e5ded3; border-radius: 18px; }
.ls-day-lunch-intro p:not(.ls-eyebrow) { max-width: 26ch; color: #53606d; font-size: 1.05rem; line-height: 1.75; }
.ls-day-lunch-intro h2 { margin-bottom: 1.25rem; }
.ls-day-lunch-list { margin: 0; padding: 0; list-style: none; }
.ls-day-lunch-list > li { position: relative; margin: 0; padding: 0 0 1.5rem 1.5rem; color: #46515d; line-height: 1.75; font-size: 1rem; border-left: 1px solid #d9c9bb; }
.ls-day-lunch-list > li:last-child { padding-bottom: 0; }
.ls-day-lunch-list > li::before { content: ''; position: absolute; left: -4px; top: .5rem; width: 7px; height: 7px; border-radius: 50%; background: #a51f2d; box-shadow: 0 0 0 5px #f2eee5; }
.ls-day-lunch-list > li > strong { display: block; color: #17202c; font-size: 1.1rem; margin: 0 0 .5rem; }
.ls-day-lunch-list ul { margin: .75rem 0 0; padding-left: 1.25rem; }
.ls-day-lunch-list ul li { margin: 0; padding-left: .25rem; }
.ls-day-lunch-list ul li::marker { color: #a51f2d; }
.ls-day-content > .ls-context-nav { margin-top: clamp(3rem, 6vw, 5rem); }
.ls-day-page a:focus-visible { outline: 3px solid #a51f2d; outline-offset: 4px; }
.ls-day-page .ls-page-hero a:focus-visible { outline-color: #fff; }
@media (max-width: 900px) {
    .ls-day-lunch-section { grid-template-columns: 1fr; }
    .ls-day-lunch-intro p:not(.ls-eyebrow) { max-width: none; }
}
@media (max-width: 700px) {
    .ls-day-offers { grid-template-columns: 1fr; gap: 1rem; }
    .ls-day-offers > li { padding: 4.25rem 1.5rem 1.5rem; }
    .ls-day-offers > li::before { left: 1.5rem; }
    .ls-day-jumps { gap: .6rem; }
    .ls-day-jumps .wp-block-button__link { padding-inline: 1rem; }
    .ls-day-lunch-section { border-radius: 12px; }
}
@media (forced-colors: active) {
    .ls-day-page .ls-page-hero a:focus-visible { outline-color: Highlight; }
    .ls-day-hero-intro { color: CanvasText; }
    .ls-day-offers > li, .ls-day-lunch-section { border-color: CanvasText; }
    .ls-day-offers > li::before, .ls-day-lunch-list > li::before { border: 1px solid CanvasText; }
}
