/* One common footer on every public page. */
body.public-site .footer{border-top:1px solid #fff;border-bottom:1px solid #fff}
body.public-site .footer-grid{padding-bottom:30px}
body.public-site .footer-grid>div+div{border-left:1px solid #fff;padding-left:28px}
body.public-site .footer-hours{border-top:1px solid #fff;border-bottom:1px solid #fff}
body.public-site .footer-bottom{border-top:0;padding-top:26px}
body.public-site .mediathek{max-width:1400px;margin:0 auto;padding:28px clamp(20px,4vw,64px) 80px;color:#fff}
body.public-site .mediathek-intro{max-width:700px;margin-bottom:30px}
body.public-site .mediathek-intro h2{font-size:clamp(34px,4.5vw,64px);margin:12px 0 18px;color:var(--gold,#c5a66a)}
body.public-site .mediathek-intro p{line-height:1.65}
body.public-site .media-filters{display:flex;flex-wrap:wrap;gap:24px;border-bottom:1px solid #ffffff55;padding-bottom:14px}
body.public-site .media-filters button{background:transparent!important;border:0!important;border-radius:0!important;padding:8px 0!important;color:#fff!important;font:inherit;font-weight:300;cursor:pointer;box-shadow:none!important}
body.public-site .media-filters button[aria-pressed="true"]{color:var(--gold,#c5a66a)!important;text-decoration:underline;text-underline-offset:10px;text-decoration-thickness:1px}
body.public-site .media-count{color:#fff;font-size:14px;margin:20px 0}
body.public-site .gallery.media-library{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));columns:auto!important;gap:32px 24px}
body.public-site .media-library .media-item{margin:0!important;break-inside:auto;min-width:0;overflow:hidden;background:#101010;border:1px solid #ffffff20;border-radius:16px}
body.public-site .media-library .media-item[hidden]{display:none!important}
body.public-site .media-visual{aspect-ratio:4/3;overflow:hidden;background:#181818}
body.public-site .media-library .gallery-zoom{display:block;width:100%;height:100%!important;aspect-ratio:auto;padding:0!important;border:0!important;background:transparent!important;border-radius:0!important}
body.public-site .media-library .media-visual :is(img,video){display:block;width:100%;height:100%!important;aspect-ratio:auto!important;object-fit:cover;border-radius:0;transition:transform .45s ease}
body.public-site .media-library .gallery-zoom:hover img{transform:scale(1.035)}
body.public-site .media-library figcaption{display:grid;gap:8px;padding:18px 20px;color:#fff;font-size:17px;line-height:1.45}
body.public-site .media-library .media-kind{font-size:10px;letter-spacing:.16em;color:var(--gold,#c5a66a)}
body.public-site .media-empty{padding:50px 0;color:#fff}
body.public-site .media-filters button:focus-visible,body.public-site .media-library .gallery-zoom:focus-visible{outline:2px solid #fff!important;outline-offset:-3px}
@media(max-width:1050px){body.public-site .gallery.media-library{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){
 body.public-site .footer-grid>div+div{border-left:0;padding-left:0;border-top:1px solid #fff;padding-top:24px}
 body.public-site .footer-grid>div{border-bottom:0!important}
 body.public-site .gallery.media-library{grid-template-columns:1fr;gap:24px}
 body.public-site .media-visual{aspect-ratio:9/16}
 body.public-site .mediathek{padding:20px 20px 50px}
 body.public-site .mediathek-intro{text-align:left}
}
@media(prefers-reduced-motion:reduce){body.public-site .media-library img{transition:none!important}}
/* v30: direct media browsing with streaming-style shelves. */
body.public-site .footer{border-bottom:0!important}
body.public-site .mediathek{max-width:none;background:#000!important;padding-top:20px}
body.public-site .media-shelf{background:#000!important;padding:0!important;margin:0 0 36px}
body.public-site .media-shelf[hidden]{display:none!important}
body.public-site .media-shelf-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px}
body.public-site .media-shelf-head h2{font-size:25px!important;color:#fff!important;margin:0!important;line-height:1.2}
body.public-site .media-rail-controls{display:flex;gap:20px}
body.public-site .media-rail-controls button{background:transparent!important;border:0!important;padding:4px!important;font-size:28px;color:#fff!important;cursor:pointer;box-shadow:none!important}
body.public-site .gallery.media-library{display:flex!important;grid-template-columns:none;gap:18px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding:2px;scrollbar-width:thin;scrollbar-color:#b89960 #111;padding:3px 2px 16px}
body.public-site .media-library .media-item{flex:0 0 clamp(250px,27vw,400px);scroll-snap-align:start;position:relative;border:0;border-radius:8px;background:#121212}
body.public-site .media-featured .media-item{flex-basis:clamp(360px,54vw,820px)}
body.public-site .media-visual{aspect-ratio:16/9}
body.public-site .media-library figcaption{position:absolute;inset:auto 0 0;pointer-events:none;background:linear-gradient(transparent,#000e);padding:35px 20px 18px;gap:6px;font-size:16px}
body.public-site .media-library [data-media-item="video"] figcaption{position:static;background:#111;padding:14px 18px}
body.public-site .media-library .media-item:focus-within{outline:1px solid var(--gold,#c5a66a);outline-offset:1px}
body.public-site .media-filters{border-bottom:0;margin-bottom:12px}
body.public-site .media-count{font-size:12px;margin:0 0 18px;color:#ccc}
body.public-site .mobile-service-finale{display:none}
@media(max-width:780px){
 body.public-site .media-library .media-item{flex-basis:76vw}
 body.public-site .media-featured .media-item{flex-basis:88vw}
 body.public-site .media-shelf-head h2{font-size:22px!important}
 body.public-site .mediathek{padding-inline:16px}
 body.public-site.home-page .home-scenes>#hochzeiten,
 body.public-site.home-page .home-scenes>.home-separator[data-after-topic="private-feiern"],
 body.public-site.home-page .home-scenes>.transition-gallery:last-of-type,
 body.public-site.home-page main>.section:has(>.gallery),
 body.public-site.home-page .mobile-footer-scene{display:none!important}
 body.public-site.home-page .mobile-service-finale{display:block!important;width:100vw;margin:0 calc(50% - 50vw)!important;padding:0!important;aspect-ratio:9/16;overflow:hidden;background:#000;line-height:0}
 body.public-site.home-page .mobile-service-finale>img{display:block;width:100%;height:100%!important;aspect-ratio:9/16;object-fit:cover;object-position:32% center;max-width:none;border:0;border-radius:0}
}
body.public-site .media-shelf-head h2{font-family:Lato,Arial,sans-serif!important;font-style:normal!important;font-weight:300!important}
