/* WolfRope Galerie – Farben und Schriften aus wolfrope-design-2026 (Variablen an body.wr-design),
   mit Ersatzwerten, falls das Design-Plugin aus ist. */
.wr-galerie { --wg-hanko: var(--hanko, #9C2A2A); --wg-dunkel: var(--dunkel, #3C2F2F); --wg-linie: var(--linie, #D9CCB8); --wg-creme: var(--creme, #F8F4ED); margin: 1.5em 0 2.5em; }
.wr-galerie-filter { display: flex; flex-wrap: wrap; gap: .5em; margin: 0 0 1.5em; }
.wr-galerie-filter button { font: inherit; font-family: var(--schrift-text, inherit); font-size: .95em; padding: .45em 1.1em; border: 1px solid var(--wg-linie); border-radius: 999px; background: transparent; color: var(--wg-dunkel); cursor: pointer; transition: background .15s, color .15s, border-color .15s; }
.wr-galerie-filter button:hover { border-color: var(--wg-hanko); color: var(--wg-hanko); }
.wr-galerie-filter button[aria-pressed="true"] { background: var(--wg-hanko); border-color: var(--wg-hanko); color: #fff; }
.wr-galerie-filter button:focus-visible, .wr-galerie-raster a:focus-visible { outline: 2px solid var(--wg-hanko); outline-offset: 3px; }
.wr-galerie-raster { list-style: none; margin: 0; padding: 0; columns: 3 260px; column-gap: 14px; }
.wr-galerie-raster li { break-inside: avoid; margin: 0 0 14px; padding: 0; }
.wr-galerie-raster li[hidden] { display: none; }
.wr-galerie-raster a { position: relative; display: block; overflow: hidden; border-radius: 3px; background: var(--wg-dunkel); }
.wr-galerie-raster img { display: block; width: 100%; height: auto; transition: transform .4s ease, opacity .3s; }
.wr-galerie-raster a:hover img { transform: scale(1.03); opacity: .92; }
@media (max-width: 600px) { .wr-galerie-raster { columns: 2; column-gap: 8px; } .wr-galerie-raster li { margin-bottom: 8px; } }

.wr-lightbox { position: fixed; inset: 0; z-index: 100000; background: rgba(20, 15, 15, .95); display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 3.5em 1em 1em; }
.wr-lightbox[hidden] { display: none; }
.wr-lightbox img { max-width: 100%; max-height: calc(100vh - 8em); object-fit: contain; box-shadow: 0 0 40px rgba(0,0,0,.5); }
.wr-lightbox p { color: #e8e0d4; font-family: var(--schrift-text, sans-serif); font-size: .9em; margin: .9em 0 0; text-align: center; min-height: 1.3em; }
.wr-lightbox p span { opacity: .6; margin-left: .8em; }
.wr-lightbox p a { color: #f0d9b5; text-decoration: underline; text-underline-offset: 2px; }
.wr-lightbox p a:hover, .wr-lightbox p a:focus-visible { color: #fff; outline: none; }
.wr-lightbox button { position: absolute; background: none; border: 0; color: #fff; cursor: pointer; font-size: 2.4em; line-height: 1; padding: .3em .45em; opacity: .75; }
.wr-lightbox button:hover, .wr-lightbox button:focus-visible { opacity: 1; outline: none; color: #e9b8b8; }
.wr-lightbox .wr-zu { top: .2em; right: .3em; font-size: 2em; }
.wr-lightbox .wr-zur { left: .2em; top: 50%; transform: translateY(-50%); }
.wr-lightbox .wr-vor { right: .2em; top: 50%; transform: translateY(-50%); }
@media (max-width: 600px) { .wr-lightbox .wr-zur, .wr-lightbox .wr-vor { top: auto; bottom: .3em; transform: none; } }
body.wr-lightbox-offen { overflow: hidden; }

/* Listen-Stile des Themes (Punkte, Einzug) aufheben */
.wr-galerie ul.wr-galerie-raster { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.wr-galerie ul.wr-galerie-raster > li { list-style: none !important; margin-left: 0 !important; padding-left: 0 !important; }
.wr-galerie ul.wr-galerie-raster > li::before, .wr-galerie ul.wr-galerie-raster > li::marker { content: none !important; display: none !important; }

/* Kopierschutz: transparente 1-Pixel-Grafik über dem Bild, das Bild selbst nimmt keine Maus- oder Touch-Ereignisse an */
.wr-galerie img, .wr-lightbox img { -webkit-user-select: none; user-select: none; -webkit-user-drag: none; -webkit-touch-callout: none; }
.wr-galerie-raster img:not(.wr-schutz), .wr-lb-bild img:not(.wr-schutz) { pointer-events: none; }
.wr-galerie .wr-schutz, .wr-lightbox .wr-schutz { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; opacity: 1; transform: none !important; box-shadow: none !important; }
.wr-lb-bild { position: relative; display: inline-block; line-height: 0; max-width: 100%; }

/* Event unter dem Bild (Bühne), eigene Zeile über den Credits */
/* Prüfen (0.14.0): nur für angemeldete Prüferinnen sichtbar */
.wr-lightbox .wr-lb-pruefen { display: flex; flex-wrap: wrap; gap: .5em; align-items: center; justify-content: center; margin-top: .8em; max-width: 40em; width: 100%; }
.wr-lightbox .wr-lb-pruefen input { flex: 1 1 14em; font: inherit; font-size: 16px; padding: .5em .7em; border-radius: 4px; border: 1px solid #8a7a6a; background: #2a2222; color: #f4ece0; }
.wr-lightbox .wr-lb-pruefen button { position: static; font-size: 16px; line-height: 1.2; opacity: 1; padding: .6em 1em; border-radius: 4px; background: #9C2A2A; color: #fff; }
.wr-lightbox .wr-lb-pruefen.aktiv button { background: #e9d9c4; color: #3C2F2F; }
.wr-lightbox .wr-lb-pruefen span { flex-basis: 100%; text-align: center; color: #e8e0d4; font-size: .85em; min-height: 1.2em; }
.wr-galerie-raster li.wr-vorschlag a { outline: 3px solid #d64545; outline-offset: -3px; }
.wr-galerie-raster li.wr-vorschlag a::after { content: "Löschvorschlag"; position: absolute; top: 6px; left: 6px; z-index: 2; background: #d64545; color: #fff; font-size: 12px; padding: 2px 6px; border-radius: 3px; pointer-events: none; }
.wr-lightbox p .wr-lb-event { display: block; opacity: 1; margin: 0 0 .3em; font-family: var(--schrift-titel, inherit); font-size: 1.1em; letter-spacing: .02em; color: #f4ece0; }
