/* fr-galerie.css — Projektgalerie und Lightbox (Eppingen, 05.10.2026). Farben und Schriften wie die übrige Seite. */
.fr-gal{container-type:inline-size;max-width:1000px;--gal-tinte:#232321;--gal-akzent:#A64B2A;--gal-papier:#F7F4EE;--gal-papier2:#F1EEE6;--gal-linie:rgba(38,35,29,0.16)}
.fr-gal-buehne{position:relative;touch-action:pan-y;-webkit-user-select:none;user-select:none}
.fr-gal-liste{list-style:none;margin:0;padding:0;display:grid}
.fr-gal-folie{grid-area:1/1;min-width:0;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility 0s linear .7s}
.fr-gal-folie.is-aktiv{opacity:1;visibility:visible;transition:opacity .7s ease,visibility 0s}
.fr-gal-fig{margin:0}
.fr-gal-bild{display:block;width:100%;margin:0;padding:0;overflow:hidden;border:1px solid rgba(38,35,29,0.14);background:var(--gal-papier2);cursor:zoom-in;aspect-ratio:3/2;line-height:0;-webkit-appearance:none;appearance:none}
.fr-gal-bild picture{display:block;width:100%;height:100%}
.fr-gal-bild img{display:block;width:100%;height:100%;aspect-ratio:3/2;object-fit:contain;background:var(--gal-papier2)}
.fr-gal-text{display:block;margin-top:12px}
.fr-gal-titel{display:block;font-size:clamp(17px,1.5vw,20px);font-weight:650;letter-spacing:-0.01em;line-height:1.3;color:var(--gal-tinte)}
.fr-gal-beschr{display:block;margin-top:5px;font-size:15.5px;line-height:1.6;color:rgba(38,35,29,0.82);max-width:68ch}
.fr-gal-leiste{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:16px}
/* breit: eine Zeile  [‹] ●●●●● [›] 1 / 5 [Pause]  — Unterzeilen lösen sich auf (display: contents) und werden per order gereiht */
.fr-gal-z1,.fr-gal-z2{display:contents}.fr-gal-z2 .fr-gal-pfeil:first-child{order:1}.fr-gal-punkte{order:2}.fr-gal-z2 .fr-gal-pfeil:last-child{order:3}.fr-gal-zaehler{order:4}.fr-gal-pause{order:5}
/* schmal (nach Containerbreite, nicht Fensterbreite): zwei Zeilen — [‹] ●●●●● [›]  und darunter  1 / 5 … [Pause] */
@container (max-width:480px){.fr-gal-leiste{display:flex;flex-direction:column;align-items:stretch;gap:6px}.fr-gal-z1,.fr-gal-z2{display:flex;align-items:center;width:100%}.fr-gal-z2{order:1;justify-content:space-between}.fr-gal-z1{order:2;justify-content:space-between;padding:0 4px}.fr-gal-punkte{flex:1;justify-content:center}.fr-gal-pause,.fr-gal-zaehler{order:0}}
.fr-gal-pfeil,.fr-gal-pause{display:inline-flex;box-sizing:border-box;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;background:var(--gal-papier);color:var(--gal-tinte);border:1px solid rgba(38,35,29,0.4);cursor:pointer;-webkit-appearance:none;appearance:none}
.fr-gal-pfeil:hover{background:var(--gal-tinte);color:var(--gal-papier);border-color:var(--gal-tinte)}
.fr-gal-punkte{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.fr-gal-punkt{display:inline-flex;align-items:center;justify-content:center;width:34px;height:44px;margin:0;padding:0;background:transparent;border:0;cursor:pointer}
.fr-gal-punkt span{display:block;width:10px;height:10px;border-radius:50%;background:transparent;border:1.5px solid var(--gal-tinte);transition:background .25s,transform .25s}
.fr-gal-punkt[aria-current="true"] span{background:var(--gal-akzent);border-color:var(--gal-akzent);transform:scale(1.15)}
.fr-gal-zaehler{font-family:'Fragment Mono',ui-monospace,monospace;font-size:13px;letter-spacing:0.06em;color:rgba(38,35,29,0.85);min-width:4.5em;font-variant-numeric:tabular-nums}
.fr-gal-pause{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-width:0;margin:0;padding:0;background:transparent;color:rgba(38,35,29,0.78);border:1px solid rgba(38,35,29,0.3);border-radius:50%;cursor:pointer;-webkit-appearance:none;appearance:none}
.fr-gal-pause::after{content:'';position:absolute;inset:-6px}   /* Tippfläche 46 px, Symbol bleibt klein */
.fr-gal-pause:hover{background:var(--gal-tinte);border-color:var(--gal-tinte);color:var(--gal-papier)}
.fr-gal-pause.is-pausiert{color:var(--gal-akzent);border-color:var(--gal-akzent);background:rgba(166,75,42,0.08)}
.fr-gal-pause.is-pausiert:hover{background:var(--gal-akzent);border-color:var(--gal-akzent);color:#fff}
.fr-gal-ico-pause,.fr-gal-ico-start{display:inline-flex;align-items:center;justify-content:center}
.fr-gal-ico-start{display:none}
.fr-gal-pause.is-pausiert .fr-gal-ico-pause{display:none}
.fr-gal-pause.is-pausiert .fr-gal-ico-start{display:inline-flex}
.fr-gal-hinweis{margin:16px 0 0;font-size:14.5px;line-height:1.6;color:rgba(38,35,29,0.8);max-width:70ch}
.fr-gal:not(.fr-gal-js) .fr-gal-leiste{display:none}
.fr-gal button:focus-visible,.fr-lb button:focus-visible{outline:2px solid var(--gal-akzent,#A64B2A);outline-offset:3px}
.fr-gal-bild:focus-visible{outline-offset:-3px}
@media (max-width:767px){.fr-gal-beschr{font-size:15px}.fr-gal-leiste{gap:6px 10px}}
@media (prefers-reduced-motion:reduce){.fr-gal-folie,.fr-gal-folie.is-aktiv{transition:none}.fr-gal-punkt span{transition:none}.fr-gal-pause{display:none}}
/* Karten-Variante (Startseite): Bühne 3:2 + Steuerleiste, füllt die Kartenbreite */
.fr-gal-karte{max-width:none}.fr-gal-karte .fr-gal-leiste{margin-top:10px}.fr-gal-karte .fr-gal-bild{cursor:zoom-in}
.fr-gal img{-webkit-user-drag:none;user-select:none}

/* Lightbox */
html.fr-lb-offen{overflow:hidden}
dialog.fr-lb{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#1c1b19;color:#F7F4EE;overflow:hidden}
dialog.fr-lb::backdrop{background:rgba(28,27,25,0.96)}
dialog.fr-lb[open]{display:flex;flex-direction:column}
.fr-lb-kopf{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px clamp(12px,2vw,24px);flex:0 0 auto}
.fr-lb-zaehler{font-family:'Fragment Mono',ui-monospace,monospace;font-size:13px;letter-spacing:0.06em;font-variant-numeric:tabular-nums}
.fr-lb button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;background:transparent;color:#F7F4EE;border:1px solid rgba(247,244,238,0.5);cursor:pointer;-webkit-appearance:none;appearance:none}
.fr-lb button:hover{background:#F7F4EE;color:#1c1b19}
.fr-lb-mitte{position:relative;flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 clamp(8px,2vw,24px);touch-action:pan-y}
.fr-lb-bildfeld{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0}
.fr-lb-bildfeld picture{display:block;max-width:100%;max-height:100%}
.fr-lb-bildfeld img{display:block;max-width:100%;max-height:calc(100vh - 190px);width:auto;height:auto;background:#F7F4EE;object-fit:contain}
.fr-lb-pfeil{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:rgba(28,27,25,0.7)!important}
.fr-lb-zurueck{left:clamp(10px,2vw,28px)}
.fr-lb-weiter{right:clamp(10px,2vw,28px)}
.fr-lb-text{flex:0 0 auto;padding:12px clamp(16px,4vw,48px) 18px;text-align:center}
.fr-lb-titel{display:block;font-size:17px;font-weight:650;line-height:1.3}
.fr-lb-beschr{display:block;margin-top:4px;font-size:14.5px;line-height:1.55;color:rgba(247,244,238,0.85);max-width:80ch;margin-inline:auto}
@media (max-width:767px){.fr-lb-bildfeld img{max-height:calc(100vh - 230px)}.fr-lb-pfeil{top:auto;bottom:-6px;transform:none}}
