/* GLX Foto (4.8.9) - Bild im Text, auf Wunsch Großbild mit Zoom. */
.glx-foto { margin: 1.2em auto; max-width: 100%; }
.glx-foto img { display: block; width: 100%; height: auto; border-radius: var(--glx-foto-ecken, 0); }
.glx-foto.is-mitte { margin-left: auto; margin-right: auto; }
.glx-foto.is-links { float: left; margin: .3em 1.4em 1em 0; }
.glx-foto.is-rechts { float: right; margin: .3em 0 1em 1.4em; }
.glx-foto figcaption { font-size: .88em; opacity: .75; text-align: center; margin-top: .45em; }
.glx-foto.is-zoom a { cursor: zoom-in; display: block; }
@media (max-width: 640px) { .glx-foto.is-links, .glx-foto.is-rechts { float: none; margin: 1em auto; } }

/* Großbild */
.glx-foto-hg { position: fixed; inset: 0; z-index: 100000; background: rgba(0,0,0,.88); display: flex; align-items: center; justify-content: center; overflow: hidden; touch-action: none; }
.glx-foto-hg img { max-width: 94vw; max-height: 90vh; transform-origin: 0 0; cursor: zoom-in; user-select: none; -webkit-user-drag: none; transition: transform .12s ease-out; }
.glx-foto-hg.gezoomt img { cursor: grab; }
.glx-foto-hg.zieht img { cursor: grabbing; transition: none; }
.glx-foto-leiste { position: fixed; top: 14px; right: 14px; display: flex; gap: 8px; z-index: 100001; }
.glx-foto-leiste button { width: 40px; height: 40px; border-radius: 10px; border: 1px solid rgba(255,255,255,.35); background: rgba(20,22,26,.8); color: #fff; font-size: 20px; line-height: 1; cursor: pointer; }
.glx-foto-leiste button:hover { background: #22a1c4; border-color: #22a1c4; color: #000; }
.glx-foto-tipp { position: fixed; bottom: 14px; left: 50%; transform: translateX(-50%); color: rgba(255,255,255,.7); font-size: 13px; z-index: 100001; pointer-events: none; }
