/* Existing gallery styling for reverse Germany pages, which have no country gallery stylesheet. */
body.route-family .kn-gallery-section{padding:0 0 10px}
body.route-family .kn-gallery-shell{padding:20px;border-radius:28px;background:linear-gradient(135deg,rgba(116,216,255,.12),rgba(255,202,105,.05) 52%,rgba(8,22,37,.84));border:1px solid rgba(255,255,255,.12);box-shadow:0 22px 52px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.05)}
body.route-family .kn-gallery-head{display:flex;justify-content:flex-start;gap:14px;align-items:flex-start;flex-wrap:wrap;margin-bottom:14px}
body.route-family .kn-gallery-headline{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
body.route-family .kn-gallery-headline .kicker{justify-self:start}
body.route-family .kn-gallery-line{display:inline-flex;align-items:center;padding:6px 2px 0;margin:0;color:rgba(234,244,255,.78);line-height:1.45;font-size:14px}
body.route-family .kn-film{display:grid;gap:14px;margin-top:16px}
body.route-family .kn-film-stage{position:relative;min-height:500px;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:rgba(6,15,24,.58);box-shadow:0 14px 32px rgba(0,0,0,.18)}
body.route-family .kn-film-stage .kn-carousel-slides{position:relative;height:100%}
body.route-family .kn-film-stage .kn-carousel-slide{position:absolute;inset:0;margin:0;padding:14px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(1.015);transition:opacity .32s ease,transform .45s ease;pointer-events:none}
body.route-family .kn-film-stage .kn-carousel-slide.is-active{opacity:1;transform:scale(1);pointer-events:auto}
body.route-family .kn-film-stage .kn-carousel-slide::before{content:"";position:absolute;inset:0;background-image:var(--gallery-image);background-size:cover;background-position:center center;filter:blur(34px) saturate(1.06);transform:scale(1.12);opacity:0;transition:opacity .24s ease;pointer-events:none}
body.route-family .kn-film-stage .kn-carousel-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,15,24,.18),rgba(6,15,24,.4));opacity:0;transition:opacity .24s ease;pointer-events:none}
body.route-family .kn-film-stage .kn-carousel-slide.is-portrait::before,body.route-family .kn-film-stage .kn-carousel-slide.is-portrait::after{opacity:1}
body.route-family .kn-film-stage .kn-carousel-slide img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;aspect-ratio:16/9;object-position:center center;border-radius:20px;box-shadow:0 18px 44px rgba(0,0,0,.22)}
body.route-family .kn-film-counter{position:absolute;top:16px;right:16px;z-index:3;display:inline-flex;align-items:baseline;gap:6px;padding:9px 12px;border-radius:14px;background:rgba(10,21,32,.78);border:1px solid rgba(255,255,255,.12)}
body.route-family .kn-film-counter strong{font-size:20px;color:var(--ice)}
body.route-family .kn-film-counter span{font-size:12px;color:rgba(234,244,255,.62);letter-spacing:.1em;text-transform:uppercase}
body.route-family .kn-film-btn{position:absolute;top:50%;z-index:3;width:46px;height:46px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(10,21,32,.68);color:var(--ice);display:grid;place-items:center;font-size:20px;cursor:pointer;transition:border-color .18s ease,transform .18s ease,background .18s ease;transform:translateY(-50%)}
body.route-family .kn-film-btn--prev{left:16px}
body.route-family .kn-film-btn--next{right:16px}
body.route-family .kn-film-btn:hover{border-color:rgba(116,216,255,.28);background:rgba(12,27,41,.84);transform:translateY(-50%) scale(1.02)}
body.route-family .kn-film-strip{display:flex;gap:12px;overflow:auto;padding:2px 2px 6px;scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x proximity}
body.route-family .kn-film-strip::-webkit-scrollbar{height:0}
body.route-family .kn-film-thumb{flex:0 0 168px;border:0;padding:0;background:transparent;cursor:pointer;color:inherit;text-align:left;display:block;scroll-snap-align:start}
body.route-family .kn-film-thumb-frame{display:block;aspect-ratio:16/11;padding:6px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:rgba(9,20,31,.38);overflow:hidden;transition:border-color .18s ease,background .18s ease,transform .18s ease}
body.route-family .kn-film-thumb-frame img{display:block;width:100%;height:100%;border-radius:14px;object-fit:cover;object-position:center center}
body.route-family .kn-film-thumb-label{display:none}
body.route-family .kn-film-thumb.is-active .kn-film-thumb-frame{background:rgba(12,27,41,.56);border-color:rgba(116,216,255,.26);box-shadow:0 12px 28px rgba(0,0,0,.14)}
body.route-family .kn-film-thumb:hover .kn-film-thumb-frame{transform:translateY(-1px)}
body.route-family .kn-film-thumb:focus-visible,body.route-family .kn-film-btn:focus-visible{outline:2px solid rgba(116,216,255,.55);outline-offset:2px}

@media (max-width:760px){body.route-family .kn-gallery-shell{padding:16px}body.route-family .kn-gallery-head{margin-bottom:12px}body.route-family .kn-gallery-headline{gap:8px}body.route-family .kn-gallery-line{font-size:13px;line-height:1.46}body.route-family .kn-film{gap:12px}body.route-family .kn-film-stage{min-height:0;aspect-ratio:16/11}body.route-family .kn-film-stage .kn-carousel-slide{padding:10px}body.route-family .kn-film-stage .kn-carousel-slide::before{filter:blur(26px);transform:scale(1.08)}body.route-family .kn-film-stage .kn-carousel-slide img{aspect-ratio:auto;object-position:center center;border-radius:16px}body.route-family .kn-film.is-portrait-active .kn-film-stage{min-height:380px;aspect-ratio:4/5}body.route-family .kn-film.is-portrait-active .kn-film-stage .kn-carousel-slide{padding:8px}body.route-family .kn-film.is-portrait-active .kn-film-stage .kn-carousel-slide::before{filter:blur(24px);transform:scale(1.04)}body.route-family .kn-film.is-portrait-active .kn-film-stage .kn-carousel-slide img{aspect-ratio:auto;border-radius:18px;max-width:100%;max-height:100%}body.route-family .kn-film-counter{top:12px;right:12px;padding:8px 10px}body.route-family .kn-film-counter strong{font-size:16px}body.route-family .kn-film-counter span{font-size:10px}body.route-family .kn-film-btn{width:38px;height:38px;font-size:18px}body.route-family .kn-film-btn--prev{left:12px}body.route-family .kn-film-btn--next{right:12px}body.route-family .kn-film-strip{gap:10px;padding:2px 2px 4px}body.route-family .kn-film-thumb{flex-basis:132px}}
