/* Foto-Unterseite: nutzt die Variablen aus style.css */
.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.gallery-page{padding:110px 0 80px}
@media (min-width:768px){.gallery-page{padding:150px 0 100px}}
.page-head{margin-bottom:var(--g-m3)}
.page-head .subheading{font-size:1.4rem;margin-bottom:6px}
.page-head h1{color:var(--black);margin-bottom:var(--g-m1)}
.lang-switch{color:var(--green);font-weight:600;text-underline-offset:4px}
.lang-switch:hover{color:var(--black)}
.lang-switch:focus-visible,.chips a:focus-visible,.g-link:focus-visible{outline:3px solid var(--green);outline-offset:3px}

/* Kategorie-Filter */
.chips ul{display:flex;flex-wrap:wrap;gap:var(--g-xs);list-style:none;margin-bottom:var(--g-m3)}
.chips li{list-style:none}
.chips a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:2px solid var(--green);border-radius:999px;
    color:var(--green);font-weight:600;text-decoration:none;background:var(--white);transition:background .2s,color .2s}
.chips a:hover{background:var(--lightergreen);color:var(--black)}
.chips a[aria-current="true"]{background:var(--green);color:var(--white)}

/* Galerie: Zeilen behalten das Seitenverhältnis jedes Fotos, nichts wird beschnitten */
.gallery{--row:150px;display:flex;flex-wrap:wrap;gap:8px;list-style:none}
@media (min-width:768px){.gallery{--row:240px;gap:12px}}
.gallery li{list-style:none;flex:calc(var(--r) * 100) 1 calc(var(--r) * var(--row));min-width:0}
.gallery::after{content:"";flex-grow:1000000}
.g-link{display:block;position:relative;overflow:hidden;border-radius:8px;aspect-ratio:var(--r);background:var(--lightergreen);cursor:zoom-in}
.g-link img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0;transition:transform .35s ease}
@media (hover:hover){.g-link:hover img{transform:scale(1.03)}}
.g-badge{position:absolute;right:8px;bottom:8px;min-width:32px;height:32px;padding:0 8px;display:grid;place-items:center;
    border-radius:999px;background:rgba(0,0,0,.65);color:#fff;font-size:.8rem;font-weight:600}
.gallery-empty{padding:var(--g-l1) 0}

/* Bildbetrachter */
html.lb-open{overflow:hidden}
.lb{border:0;padding:0;width:100%;height:100%;max-width:none;max-height:none;background:#0d0d0d;color:#fff;overflow:hidden}
.lb[open]{display:flex;flex-direction:column}
.lb::backdrop{background:#000}
.lb [hidden]{display:none !important}
.lb p{color:#fff}
.lb :focus-visible{outline:3px solid var(--lightgreen);outline-offset:3px}
.lb-bar{display:flex;align-items:center;gap:var(--g-xs);padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top))}
.lb-count{flex:1;font-size:.95rem;margin:0}
.lb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:48px;min-height:48px;padding:0 16px;border:0;border-radius:999px;
    background:rgba(255,255,255,.16);color:#fff;font:inherit;font-weight:500;cursor:pointer;transition:background .2s}
.lb-btn:hover{background:rgba(255,255,255,.28)}
.lb-icon{padding:0;width:48px}
.lb-stage{position:relative;flex:1;min-height:0;display:flex;touch-action:pan-y}
.lb-media{flex:1;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 8px}
.lb-media img,.lb-media video{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border-radius:4px}
.lb-nav{position:fixed;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.55)}
.lb-prev{left:8px}.lb-next{right:8px}
.lb-cap{padding:10px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));text-align:center;max-height:30vh;overflow:auto}
.lb-cap p{margin:0 auto;max-width:70ch;line-height:1.4}
.lb-title{font-weight:600}
.lb-info,.lb-meta{font-size:.9rem;color:#d6d6d6 !important}
.lb-notice{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.82)}
.lb-notice-card{max-width:520px;max-height:100%;overflow:auto;padding:var(--g-m2);border-radius:12px;background:var(--white);color:var(--black)}
.lb-notice-card h2{font-size:1.6rem;margin-bottom:var(--g-xs)}
.lb-notice-card p{color:var(--black);margin-bottom:var(--g-m1)}
.lb-notice-copy{font-weight:600}
.lb-notice-actions{display:flex;flex-wrap:wrap;gap:var(--g-xs)}
.lb-notice .lb-notice-card :focus-visible{outline-color:var(--green)}
.btn-sec{padding:13px 22px 15px;font:inherit;font-size:18px;font-weight:600;text-transform:uppercase;border:2px solid var(--green);border-radius:8px;background:transparent;color:var(--green);cursor:pointer}
.btn-sec:hover{background:var(--lightergreen);color:var(--black)}
.lb-toast{position:absolute;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:6;margin:0;max-width:90%;
    padding:10px 16px;border-radius:8px;background:#fff;color:#111 !important;font-size:.95rem}
.lb-toast:empty{display:none}
@media (max-width:767px){.lb-btn span{display:none}.lb-btn[data-act="share"]{width:48px;padding:0}.lb-nav{min-width:44px;width:44px;min-height:44px}}
@media (prefers-reduced-motion:reduce){.g-link img{transition:none}}
