/* Reusable editorial covers and filterable image collections. */
.editorial-cover {
    position:relative;
    width:calc(100% - 48px);
    max-width:1440px;
    height:min(62svh, 620px);
    min-height:340px;
    margin:20px auto 0;
    overflow:hidden;
    border-radius:8px;
    background:var(--navy);
    isolation:isolate;
}
.editorial-cover > img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 54%; }
.editorial-cover::after { content:""; position:absolute; inset:0 0 50%; z-index:1; background:linear-gradient(180deg,rgba(0,0,0,.5),transparent); pointer-events:none; }
.editorial-cover h1 { position:absolute; z-index:2; top:36px; left:40px; right:40px; margin:0; color:#fff; font-size:var(--type-editorial); line-height:1; letter-spacing:0; }
.editorial-collection { padding:80px 0 0; color:var(--navy); background:var(--white); }
.editorial-intro { width:min(700px, calc(100% - 40px)); margin:0 auto 72px; text-align:center; }
.editorial-intro h2, .editorial-outro h2 { margin:0; font-size:var(--type-section); line-height:1.08; color:inherit; text-wrap:balance; }
.editorial-intro p, .editorial-outro p { margin:24px auto 0; max-width:55ch; font-size:var(--type-body); line-height:1.8; color:inherit; text-wrap:pretty; }
.story-collection { width:min(1120px, calc(100% - 48px)); margin:auto; }
.story-collection-toolbar {
    position:sticky;
    top:var(--site-header-height,76px);
    z-index:10;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:32px;
    padding:16px 0;
    background:var(--white);
    border-bottom:1px solid var(--button-outline);
}
.story-collection-toolbar[hidden], .story-entry[hidden], .story-collection-empty[hidden] { display:none; }
.story-collection-filters { display:flex; flex-wrap:wrap; gap:8px; }
.story-collection-count { flex-shrink:0; margin:0; color:var(--navy); font-size:var(--type-small); font-variant-numeric:tabular-nums; }
.story-collection-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px 48px; }
.story-entry { min-width:0; margin:0; color:var(--navy); }
.story-entry-media { overflow:hidden; aspect-ratio:3/2; border-radius:8px; }
.story-entry-media img { display:block; width:100%; height:100%; object-fit:cover; }
.story-entry-media .engagement-image-putzpatenschaft { object-position:center 24%; }
.story-entry-body { padding:24px 0 0; }
.story-entry-date { display:block; margin:0 0 10px; color:var(--muted); font-size:var(--type-small); font-weight:var(--weight-regular); line-height:1.5; }
.story-entry-body h3 { margin:0 0 14px; font:var(--weight-semibold) var(--type-card)/1.2 var(--font-main); color:inherit; overflow-wrap:anywhere; text-wrap:balance; }
.story-entry-body p { margin:0; color:inherit; font-size:var(--type-body); line-height:1.7; text-wrap:pretty; }
.story-entry-link { display:flex; align-items:center; justify-content:space-between; gap:16px; width:fit-content; max-width:100%; min-height:44px; margin:16px 0 0; padding:6px 0; color:inherit; font-size:var(--type-small); font-weight:var(--weight-semibold); line-height:1.5; text-decoration:underline; text-decoration-color:var(--button-outline); text-underline-offset:5px; overflow-wrap:anywhere; }
.story-entry-link + .story-entry-link { margin-top:0; }
.story-entry-link i { flex-shrink:0; font-size:12px; }
.story-entry-link:hover { text-decoration-color:currentColor; }
.story-entry-link:focus-visible { outline:2px solid var(--button-focus); outline-offset:5px; border-radius:2px; }
.story-collection-empty { margin:40px 0; text-align:center; }
.editorial-outro { padding:100px 24px; margin:80px auto 0; color:var(--navy); text-align:center; border-top:1px solid var(--button-outline); }
.editorial-outro .button { margin-top:28px; }
@media (prefers-reduced-motion:no-preference) {
    .has-scroll-reveal .story-entry { opacity:0; transform:translateY(18px); transition:opacity .6s ease,transform .6s ease; transition-delay:var(--gallery-reveal-delay,0ms); }
    .has-scroll-reveal .story-entry.is-visible { opacity:1; transform:none; }
}
@media(max-width:900px) {
    .story-collection-grid { gap:48px 28px; }
    .story-collection-toolbar { align-items:flex-start; flex-direction:column; gap:10px; }
}
@media(max-width:760px) {
    .editorial-cover { width:calc(100% - 24px); height:auto; min-height:0; aspect-ratio:4/3; margin-top:12px; }
    .editorial-cover h1 { top:24px; left:24px; right:24px; font-size:3rem; }
    .editorial-cover > img { object-position:center; }
    .editorial-collection { padding-top:48px; }
    .editorial-intro { margin-bottom:40px; }
    .story-collection { width:calc(100% - 40px); }
    .story-collection-grid { grid-template-columns:minmax(0,1fr); gap:44px; }
    .story-collection-toolbar { padding:12px 0; margin-bottom:24px; }
    .story-collection-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
    .story-collection-filters .button { min-width:0; }
    .story-entry-body { padding-top:20px; }
    .editorial-outro { margin-top:56px; padding:64px 24px; }
}
@media print {
    .story-collection-toolbar { position:static; }
    .story-collection-grid { display:block; }
    .story-entry { break-inside:avoid; margin-bottom:32px; opacity:1!important; transform:none!important; }
}
