/* Ergänzung zur bestehenden Landingpage – Bildergalerie */
.photo-viewer-trigger { cursor: zoom-in; transition: filter .2s ease; }
.photo-viewer-trigger:hover { filter: brightness(.91); }
.photo-viewer-trigger:focus-visible { outline: 3px solid #286647; outline-offset: 3px; }
.photo-viewer[hidden] { display: none; }
.photo-viewer { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 24px; background: rgba(10, 19, 15, .94); color: #fff; }
.photo-viewer-open { overflow: hidden; }
.photo-viewer__content { position: relative; width: min(1100px, 100%); height: min(86vh, 850px); display: flex; align-items: center; justify-content: center; }
.photo-viewer figure { margin: 0; width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 10px; }
.photo-viewer figure img { max-width: 100%; max-height: calc(100% - 60px); width: auto; height: auto; object-fit: contain; border-radius: 5px; }
.photo-viewer figcaption { font: 15px/1.5 system-ui, sans-serif; text-align: center; color: #e1e8e2; }
.photo-viewer button { position: absolute; z-index: 1; border: 0; color: white; background: rgba(32, 53, 40, .78); border-radius: 6px; cursor: pointer; line-height: 1; }
.photo-viewer button:hover, .photo-viewer button:focus-visible { background: #286647; }
.photo-viewer__close { top: 0; right: 0; font-size: 35px; width: 48px; height: 48px; }
.photo-viewer__prev, .photo-viewer__next { top: 50%; transform: translateY(-50%); font-size: 44px; width: 48px; height: 62px; }
.photo-viewer__prev { left: 0; }
.photo-viewer__next { right: 0; }
.photo-viewer__count { position: absolute; bottom: 0; right: 0; font-size: 13px; color: #e1e8e2; }
@media(max-width: 650px) { .photo-viewer { padding: 12px; } .photo-viewer__content { height: 90vh; } .photo-viewer__prev, .photo-viewer__next { width: 36px; height: 50px; font-size: 35px; } }
