
/* Galerie-Alben – eigenständiger Bereich, bestehendes Cinematic-Design bleibt erhalten. */
.gallery-landing{height:min(58svh,510px);min-height:360px;position:relative;display:flex;align-items:end;overflow:hidden;isolation:isolate}
.gallery-landing-image{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,4,4,.35),rgba(4,4,4,.76) 48%,#070707 100%),url('galerie/alben/rutenbinden-2026/ruten-14.webp') center 35%/cover;filter:saturate(.84);z-index:-1}
.gallery-landing-inner{position:relative;padding-top:160px;padding-bottom:70px}
.gallery-landing h1{font:500 clamp(90px,14vw,175px)/.77 var(--serif);letter-spacing:-.055em;margin:16px 0 18px}
.gallery-dot{color:var(--copper)}.gallery-line{height:1px;width:100px;background:linear-gradient(90deg,var(--copper),transparent)}
.gallery-library{padding:42px 0 170px;min-height:440px}
.album-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.album-grid:has(.album-tile:only-child){grid-template-columns:minmax(0,790px)}
.album-tile{display:block;position:relative;aspect-ratio:1.77;min-height:310px;overflow:hidden;background:#10100f;border:1px solid rgba(245,230,210,.12);isolation:isolate}
.album-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.83) saturate(.92);transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter 1s ease}
.album-tile:hover img,.album-tile:focus-visible img{transform:scale(1.05);filter:brightness(.96) saturate(.97)}
.album-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(1,1,1,.84) 0%,rgba(1,1,1,.14) 68%,rgba(1,1,1,.06));pointer-events:none}
.album-tile-content{position:absolute;z-index:1;bottom:28px;left:34px;right:30px;display:flex;align-items:end;justify-content:space-between;gap:20px}
.album-tile small{display:block;color:#e6b6a1;font:600 10px var(--sans);letter-spacing:.25em}
.album-tile h2{font:500 clamp(34px,4.6vw,58px)/.97 var(--serif);margin:9px 0 0}
.album-tile .album-arrow{font:400 29px/1 var(--serif);display:grid;place-items:center;width:47px;height:47px;border:1px solid rgba(255,255,255,.53);flex-shrink:0;transition:transform .4s,border-color .4s}
.album-tile:hover .album-arrow{transform:translateX(6px);border-color:#fff}
.gallery-album-page{padding:165px 0 110px;min-height:100svh}
.gallery-album-page[hidden],.gallery-library[hidden],.gallery-landing[hidden]{display:none!important}
.album-back{display:inline-flex;align-items:center;gap:13px;letter-spacing:.2em;font:600 10px var(--sans);color:#e7c9b5;margin-bottom:70px;transition:color .2s}
.album-back:hover{color:#fff}.album-back span{font-size:22px;line-height:0}
.gallery-album-heading .section-kicker{display:block}
.gallery-album-heading h1{font:500 clamp(60px,10vw,128px)/.9 var(--serif);letter-spacing:-.042em;margin:18px 0 28px}
.album-summary{display:flex;align-items:center;gap:20px;font:600 10px var(--sans);letter-spacing:.2em;color:#bcb0a5}
.album-summary-rule{display:block;width:40px;height:1px;background:#9d5c43}
.album-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding-top:66px}
.album-photo-tile{position:relative;padding:0;border:0;display:block;overflow:hidden;aspect-ratio:3/4;background:#16110e}
.album-photo-tile:nth-child(7n+1){grid-column:span 2;aspect-ratio:1.52}
.album-photo-tile img{height:100%;width:100%;object-fit:cover;filter:brightness(.9);transition:transform .85s ease,filter .65s ease}
.album-photo-tile:hover img{transform:scale(1.04);filter:brightness(1)}
.album-photo-tile:after{content:'↗';position:absolute;right:16px;top:12px;color:white;font:400 21px var(--serif);opacity:0;transition:opacity .3s}
.album-photo-tile:hover:after{opacity:1}
.album-lightbox{display:none;position:fixed;inset:0;z-index:1200;background:rgba(3,3,3,.97);align-items:center;justify-content:center;padding:65px 85px}
.album-lightbox.open{display:flex}
.album-lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:100%;max-height:100%}
.album-lightbox figure img{max-width:min(100%,1250px);max-height:calc(100svh - 160px);object-fit:contain}
.album-lightbox figcaption{font:600 10px var(--sans);letter-spacing:.24em;color:#b6a99c}
.album-lightbox button{position:absolute;z-index:1;border:1px solid rgba(238,233,223,.25);background:rgba(11,11,11,.52);color:var(--bone);height:50px;width:50px;font:400 26px var(--serif);transition:background .25s,border-color .25s}
.album-lightbox button:hover{background:rgba(120,48,24,.38);border-color:rgba(238,233,223,.6)}
.album-lightbox-close{right:28px;top:24px}.album-lightbox-prev{left:25px;top:calc(50% - 25px)}.album-lightbox-next{right:25px;top:calc(50% - 25px)}
@media(max-width:900px){.album-grid{grid-template-columns:1fr}.album-grid:has(.album-tile:only-child){grid-template-columns:1fr}}
@media(max-width:740px){.gallery-landing{height:390px;min-height:330px}.gallery-landing-inner{padding-top:130px;padding-bottom:55px}.gallery-landing h1{font-size:clamp(77px,20vw,124px)}.gallery-library{padding:16px 0 100px;min-height:340px}.album-tile{aspect-ratio:1.23;min-height:300px}.album-tile-content{left:24px;right:24px;bottom:25px}.album-tile h2{font-size:clamp(36px,9vw,50px)}.gallery-album-page{padding:108px 0 76px}.album-back{margin-bottom:48px}.gallery-album-heading h1{font-size:clamp(53px,12vw,86px);overflow-wrap:anywhere}.album-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding-top:42px}.album-photo-tile:nth-child(7n+1){grid-column:span 2}.album-photo-tile{aspect-ratio:3/4}.album-lightbox{padding:70px 12px 100px}.album-lightbox figure img{max-height:calc(100svh - 210px)}.album-lightbox-prev,.album-lightbox-next{top:auto;bottom:17px}.album-lightbox-prev{left:calc(50% - 65px)}.album-lightbox-next{right:calc(50% - 65px)}.album-lightbox-close{right:15px;top:15px}}
@media(prefers-reduced-motion:reduce){.album-photo-tile img,.album-tile img{transition:none}}

/* V22: Mobile Rutenbinden group and portrait pictures are not cropped.
   The cover photo has people at both outer edges. */
@media(max-width:740px){
  .album-tile img{object-fit:contain;object-position:center;background:#100e0d}
  .album-photo-tile img{object-fit:contain;object-position:center;background:#12100f}
}
