/* Studio GoogleOne UI — v0.81 (Material Darkroom / dark) */

/* --- v0.30 Breadcrumb / Navigation (Google-Drive-Stil) --- */
.go-bc-link{ color:inherit; text-decoration:none; opacity:.75; }
.go-bc-link:hover{ opacity:1; text-decoration:underline; }
.go-bc-sep{ display:inline-flex; vertical-align:middle; opacity:.45; margin:0 .1rem; }
.go-bc-sep .go-ic{ width:20px; height:20px; }
.go-bc-up{ display:inline-flex; vertical-align:middle; color:inherit; margin-left:.55rem; opacity:.75; border:1px solid rgba(255,255,255,.25); border-radius:8px; padding:.12rem .3rem; }
.go-bc-up:hover{ opacity:1; background:rgba(255,255,255,.1); }
.go-bc-up .go-ic{ width:22px; height:22px; }

/* --- v0.30 Listen-Modus: Verzeichnis-Zeilen (Ordner-Icon + Name) --- */
.go-t-folder .go-folder-ic{ color:#e0c47a; }
.go-t-folder .go-folder-ic .go-ic{ width:26px; height:26px; }
.go-flink{ font-weight:600; }
.go-table tr.go-t-folder td{ background:rgba(224,196,122,.06); }

/* --- v0.30 Kalender "All" = gruener Ausgang bei aktivem Filter --- */
.go-chip.is-exit{ border-color:#4caf72; background:rgba(76,175,114,.18); opacity:1; }
.go-chip.is-exit:hover{ background:rgba(76,175,114,.28); }

/* --- v0.27 Admin-Leiste (nur fuer eingeloggte Admins sichtbar) --- */
html.go-has-adminbar{ padding-top:38px; }
.go-adminbar{ position:fixed; top:0; left:0; right:0; height:38px; z-index:99999; display:flex; align-items:center; gap:12px; padding:0 16px; background:#0d0f12; color:#e7e9ec; font-size:.85rem; border-bottom:1px solid rgba(255,255,255,.16); box-shadow:0 1px 6px rgba(0,0,0,.4); }
.go-ab-badge{ font-size:.68rem; font-weight:700; letter-spacing:.08em; background:#5b9bf5; color:#fff; padding:2px 8px; border-radius:999px; }
.go-ab-user{ opacity:.85; }
.go-ab-user b{ font-weight:600; opacity:1; }
.go-ab-spacer{ flex:1; }
.go-ab-link{ color:#cfe0fb; text-decoration:none; border:1px solid rgba(255,255,255,.22); border-radius:7px; padding:.28rem .7rem; }
.go-ab-link:hover{ background:rgba(255,255,255,.1); }
.go-ab-out{ color:#f1b0ac; border-color:rgba(226,97,90,.5); }

/* --- v0.24/0.25 GUI-Sprachumschalter DE/EN (nur Flagge) --- */
.go-langbtn{ padding:.35rem .55rem; line-height:0; }
.go-flag{ width:24px; height:16px; border-radius:2px; display:inline-block; vertical-align:middle; box-shadow:0 0 0 1px rgba(255,255,255,.25); object-fit:cover; }

/* Piwigo-Chrome weg: beide Navbars + Header-Banner + Breadcrumb-Titel + Footer */
.navbar-main, .navbar-contextual { display:none !important; }
.jumbotron { display:none !important; }
.titrePage { display:none !important; }
.copyright { display:none !important; }
.content-grid .nb-hits, .content-grid .thumbLegend img { display:none !important; }

/* Boxed-Breite (= Listenbreite): Toolbar, Raster, Filter, Alben und Liste teilen dieselbe Breite,
   zentriert — laeuft NICHT mehr ueber den ganzen Bildschirm (deterministisch in unserer CSS, theme-unabhaengig). */
.go-wrap{ width:100%; max-width:1100px; margin-left:auto; margin-right:auto; }
/* Kopf-Logo: zentrierter Klartext "studio architec – Architekturvisualisierung" ganz oben, eigene Zeile ueber
   dem Projekttitel. Oben kaum Padding (faengt weiter oben an), unten mehr Abstand zu den naechsten Zeilen. */
.go-logo{ text-align:center; padding:2px 0 28px; }
/* klickbar -> Firmen-Homepage: KEIN Link-Look (keine Unterstreichung, keine Faerbung, kein Hover-Effekt),
   Farbe geerbt; einziger Hinweis ist der Hand-Cursor beim Drueberfahren. */
.go-logo-link{ color:inherit; text-decoration:none; display:inline-block; cursor:pointer; }
/* Klartext in etwa Projekttitel-Groesse, normale (nicht fette) Schrift. */
.go-logo-text{ font-size:1.4rem; font-weight:400; letter-spacing:.2px; }
.go-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:.25rem 0 1rem; flex-wrap:wrap; }
.go-title{ font-size:1.4rem; font-weight:600; }
.go-ctrls{ display:flex; align-items:center; gap:.75rem; }

.go-ic{ width:20px; height:20px; fill:currentColor; display:inline-block; vertical-align:middle; }

.go-sort{ display:inline-flex; align-items:center; gap:.4rem; line-height:1; background:transparent; color:inherit; border:1px solid rgba(255,255,255,.25); border-radius:8px; padding:.4rem .75rem; font-size:.92rem; cursor:pointer; opacity:.85; }
.go-sort:hover{ opacity:1; background:rgba(255,255,255,.1); }

.go-seg{ display:inline-flex; border:1px solid rgba(255,255,255,.25); border-radius:8px; overflow:hidden; }
.go-seg-btn{ display:inline-flex; align-items:center; justify-content:center; background:transparent; color:inherit; border:0; padding:.35rem .7rem; cursor:pointer; opacity:.55; }
.go-seg-btn+.go-seg-btn{ border-left:1px solid rgba(255,255,255,.25); }
.go-seg-btn.is-active{ background:rgba(255,255,255,.16); opacity:1; }
.go-seg-btn:hover{ opacity:1; }

/* RASTER — einheitliche Karten, volle Breite */
.go-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:1rem; }
.go-card{ position:relative; display:flex; flex-direction:column; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:10px; overflow:hidden; }
.go-card:hover{ border-color:rgba(255,255,255,.22); }
.go-thumb{ position:relative; display:block; aspect-ratio:4/3; background:rgba(0,0,0,.25); overflow:hidden; }
.go-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.go-card-foot{ display:flex; align-items:center; gap:.5rem; padding:.5rem .6rem; }
.go-card-name{ flex:1; min-width:0; font-size:.9rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:inherit; text-decoration:none; }
.go-card-name:hover{ text-decoration:underline; }

/* LISTE — schmaler + kompakter */
.go-wrap.is-list .go-list{ max-width:1100px; margin:0 auto; }
.go-table{ width:100%; border-collapse:collapse; font-size:.95rem; }
.go-table th, .go-table td{ padding:.35rem .55rem; text-align:left; border-bottom:1px solid rgba(255,255,255,.08); vertical-align:middle; }
.go-table th{ font-weight:600; white-space:nowrap; opacity:.8; }
.go-table tbody tr:hover{ background:rgba(255,255,255,.05); }
.go-c-name{ width:100%; }
.go-c-date, .go-c-size{ white-space:nowrap; opacity:.85; }
.go-c-size{ text-align:right; }
.go-c-dl{ text-align:right; white-space:nowrap; }
.go-tn{ width:34px; height:34px; object-fit:cover; border-radius:4px; margin-right:.6rem; vertical-align:middle; }
.go-link{ color:inherit; text-decoration:none; }
.go-link:hover{ text-decoration:underline; }

.go-dlbtn{ display:inline-flex; align-items:center; color:inherit; text-decoration:none; opacity:.7; padding:.15rem; border-radius:6px; }
.go-dlbtn:hover{ opacity:1; background:rgba(255,255,255,.12); }

/* --- v0.85 Download-Verkleinerungen 2K/4K ---
   Der grosse Knopf bleibt der Hauptweg (= Original); 2K/4K haengen als kleine Anhaengsel daran und
   erscheinen optisch als EINE Gruppe. Bewusst zurueckhaltend: wer nichts weiter will, soll sie
   uebersehen koennen. */
.go-dlgrp{ display:inline-flex; align-items:center; gap:2px; }
.go-dlsz{ display:inline-flex; align-items:center; justify-content:center; min-width:26px; height:22px; padding:0 4px;
          font-size:.66rem; font-weight:700; letter-spacing:.02em; line-height:1;
          color:inherit; text-decoration:none; opacity:.45; border-radius:5px;
          border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.05); }
.go-dlsz:hover{ opacity:1; background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.35); text-decoration:none; }
/* Auf dem Handy sind 22px kaum treffbar -> Trefferflaeche vergroessern, Optik bleibt klein. */
@media (pointer:coarse){ .go-dlsz{ min-width:32px; height:28px; opacity:.6; } }

/* Toolbar-Variante: an den grossen Knopf angeschmiegt (linke Ecken eckig = eine Gruppe). */
/* gap:0 -> die kleinen Knoepfe sitzen buendig am grossen, die Gruppe liest sich als EIN Element
   (mit 2px Abstand zerfaellt sie optisch in drei einzelne Schaltflaechen).
   :not(:last-child) — ist der Kill-Switch aus, steht der grosse Knopf allein und behaelt seine Rundung. */
.go-dlgrp-bar{ gap:0; }
.go-dlgrp-bar .go-sort:not(:last-child){ border-top-right-radius:0; border-bottom-right-radius:0; border-right-color:rgba(255,255,255,.18); }
.go-szbtn{ display:inline-flex; align-items:center; justify-content:center; min-width:34px; height:34px; padding:0 6px;
           font:700 .7rem/1 inherit; letter-spacing:.02em; cursor:pointer; color:inherit; opacity:.6;
           border:1px solid rgba(255,255,255,.18); border-left:0; background:rgba(255,255,255,.05); border-radius:0; }
.go-szbtn:last-child{ border-top-right-radius:8px; border-bottom-right-radius:8px; }
.go-szbtn:hover{ opacity:1; background:rgba(255,255,255,.16); }

/* Erklaerender Text unter der Werkzeugleiste */
.go-dlnote{ margin:-.25rem 0 .5rem; font-size:.76rem; opacity:.5; }

/* Lightbox-Variante der 2K/4K-Knoepfe (schmaler als die Icon-Knoepfe der Leiste) */
.go-lb-sz{ min-width:34px!important; font-size:.72rem!important; opacity:.72; }
.go-lb-sz:hover{ opacity:1; }

@media (max-width:600px){ .go-c-date{ display:none; } }

/* --- v0.06 Medientyp-Faerbung --- */
.go-typeicon{ display:inline-flex; width:34px; height:34px; align-items:center; justify-content:center; margin-right:.6rem; vertical-align:middle; }
.go-typeicon .go-ic{ width:26px; height:26px; }
.go-typebig{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.go-typeglyph{ display:inline-flex; }
.go-typeglyph .go-ic{ width:52px; height:52px; opacity:.9; }
.go-typelabel{ position:absolute; left:8px; bottom:8px; z-index:2; background:rgba(0,0,0,.62); color:#fff; padding:2px 8px; border-radius:5px; font-size:.72rem; font-weight:700; letter-spacing:.08em; }
/* Video-Poster (erstes Frame) + Play-Overlay */
.go-vthumb{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .2s; }
.go-vthumb.is-ready{ opacity:1; }
.go-playbtn{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:54px; height:54px; border-radius:50%; background:rgba(0,0,0,.55); display:flex; align-items:center; justify-content:center; pointer-events:none; }
.go-card.go-t-video:hover .go-playbtn{ background:rgba(0,0,0,.7); }
.go-playbtn .go-ic{ width:30px; height:30px; fill:#fff; opacity:1; }
.go-table tr.go-t-video td{ background:rgba(255,140,40,.10); }
.go-t-video .go-typeicon, .go-t-video .go-typebig{ color:#ff8c2a; }
.go-card.go-t-video .go-thumb{ background:rgba(255,140,40,.12); }
.go-table tr.go-t-zip td{ background:rgba(70,130,246,.12); }
.go-t-zip .go-typeicon, .go-t-zip .go-typebig{ color:#5b9bf5; }
.go-card.go-t-zip .go-thumb{ background:rgba(70,130,246,.14); }
/* --- v0.41 Pano2VR/Object2VR-Karten: eigenes Icon (kein Foto-Preview) auf leicht gruenem Grund (gleiche
   Kraftstufe wie ZIP/Video). pano2vr = 360°+Pfeil, object2vr = isometrisches Haus+Dreh-Pfeil. --- */
.go-t-pano .go-typeicon, .go-t-pano .go-typebig{ color:#13a06a; }
.go-card.go-t-pano .go-thumb{ background:rgba(16,135,90,.14); }
.go-table tr.go-t-pano td{ background:rgba(16,135,90,.12); }
.go-card.go-t-pano .go-typelabel{ background:rgba(16,135,90,.85); }
/* Karten-Glyph groesser (das "360°" braucht Breite); auto-Hoehe haelt das Seitenverhaeltnis */
.go-panoglyph .go-ic{ width:108px; height:80px; opacity:1; }
/* Listen-Modus: Icon etwas groesser, damit "360°" lesbar bleibt */
.go-t-pano .go-panoicon{ width:46px; }
.go-t-pano .go-panoicon .go-ic{ width:42px; height:30px; }

/* --- v0.23 Landing-Page (Galerie-Wurzel, Branding statt leerem Index) --- */
.go-landing{ min-height:62vh; display:flex; flex-direction:column; gap:1.6rem; align-items:center; justify-content:center; padding:3rem 1rem; }
.go-land-notice{ display:flex; align-items:center; gap:.6rem; max-width:580px; text-align:left; background:#fff7e6;
  border:1px solid #f0c36d; color:#7a4d00; border-radius:12px; padding:16px 20px; font-size:1.1rem; font-weight:600;
  line-height:1.45; box-shadow:0 2px 10px rgba(0,0,0,.07); }
.go-land-notice-ic{ font-size:1.5rem; line-height:1; }
.go-land-card{ text-align:center; max-width:540px; }
.go-land-brand{ font-size:2.4rem; font-weight:700; letter-spacing:.02em; }
.go-land-person{ margin-top:.5rem; font-size:1.05rem; opacity:.85; }
.go-land-web{ display:inline-block; margin-top:1.4rem; font-size:1rem; color:#5b9bf5; text-decoration:none; }
.go-land-web:hover{ text-decoration:underline; }
.go-land-addr{ margin-top:1.4rem; font-size:.98rem; opacity:.8; }
.go-land-contact{ margin-top:.4rem; font-size:.98rem; opacity:.8; display:flex; align-items:center; justify-content:center; gap:.5rem; flex-wrap:wrap; }
.go-land-contact a{ color:inherit; text-decoration:none; }
.go-land-contact a:hover{ text-decoration:underline; }
.go-land-dot{ opacity:.5; }
.go-land-mail{ display:inline-block; margin-top:1rem; font-size:1rem; color:#5b9bf5; text-decoration:none; }
.go-land-mail:hover{ text-decoration:underline; }

/* --- v0.22 Kalender / Tages-Filter --- */
.go-filterbar{ display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; margin:0 0 1rem; }
.go-calwrap{ position:relative; }
.go-calbtn .go-ic{ width:18px; height:18px; }
.go-calbtn.go-calbtn-active{ border-color:#5b9bf5; background:rgba(91,155,245,.12); opacity:1; }
.go-calbtn.is-open{ opacity:1; background:rgba(255,255,255,.1); }
.go-chip{ background:transparent; color:inherit; border:1px solid rgba(255,255,255,.25); border-radius:999px; padding:.32rem .85rem; font-size:.88rem; cursor:pointer; opacity:.8; line-height:1; }
.go-chip:hover{ opacity:1; background:rgba(255,255,255,.1); }
.go-chip.is-active{ border-color:#5b9bf5; background:rgba(91,155,245,.18); opacity:1; }
.go-chip:disabled{ opacity:.3; cursor:default; background:transparent; }
.go-calpop{ position:absolute; top:calc(100% + 6px); left:0; z-index:1500; width:280px; padding:12px; background:#1e1e1e; border:1px solid rgba(255,255,255,.16); border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,.5); }
.go-cal-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.go-cal-my{ font-size:.95rem; font-weight:600; }
.go-cal-nav{ display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; background:none; border:0; color:inherit; cursor:pointer; border-radius:8px; opacity:.85; }
.go-cal-nav .go-ic{ width:20px; height:20px; }
.go-cal-nav:hover:not(:disabled){ background:rgba(255,255,255,.12); opacity:1; }
.go-cal-nav:disabled{ opacity:.25; cursor:default; }
.go-cal-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:2px; }
.go-cal-wd{ text-align:center; font-size:.72rem; opacity:.55; padding:2px 0 4px; }
.go-cal-cell{ aspect-ratio:1; display:flex; align-items:center; justify-content:center; font-size:.85rem; border:0; background:none; color:inherit; border-radius:8px; }
.go-cal-blank{ visibility:hidden; }
.go-cal-empty{ opacity:.22; }
.go-cal-has{ cursor:pointer; font-weight:600; background:rgba(91,155,245,.16); }
.go-cal-has:hover{ background:rgba(91,155,245,.34); }
.go-cal-sel{ background:#5b9bf5; color:#fff; }

/* --- v0.10 Sub-Album-Karten --- */
.go-albums{ margin:0 0 1.25rem; }
.go-albums-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:.75rem; }
.go-albumcard{ display:flex; align-items:center; gap:.7rem; padding:.7rem .85rem; border:1px solid rgba(255,255,255,.1); border-radius:10px; background:rgba(255,255,255,.04); color:inherit; text-decoration:none; }
.go-albumcard:hover{ border-color:rgba(255,255,255,.25); background:rgba(255,255,255,.07); }
.go-albumicon{ display:inline-flex; flex:0 0 auto; color:#e0c47a; }
.go-albumicon .go-ic{ width:30px; height:30px; }
.go-albummeta{ display:flex; flex-direction:column; min-width:0; }
.go-albumname{ font-size:.95rem; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.go-albumcount{ font-size:.8rem; opacity:.7; }

/* --- v0.10 "Alle herunterladen" --- */
.go-dlall{ text-decoration:none; }
.go-dlall .go-ic{ width:18px; height:18px; }

/* --- v0.11/0.12 Auswahl: Checkboxen erst im Auswahl-Modus sichtbar --- */
.go-seldl .go-ic{ width:18px; height:18px; }
.go-wrap.go-selmode .go-seldl{ border-color:#5b9bf5; background:rgba(91,155,245,.12); }
/* Raster: runde Checkbox oben links — versteckt, erscheint im Auswahl-Modus */
.go-card .go-check{ position:absolute; top:8px; left:8px; z-index:3; display:none; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; background:rgba(0,0,0,.5); opacity:.85; transition:opacity .12s, background .12s; cursor:pointer; }
.go-wrap.go-selmode .go-card .go-check{ display:inline-flex; }
.go-card:hover .go-check, .go-card.is-sel .go-check{ opacity:1; background:rgba(0,0,0,.6); }
.go-card .go-chk{ width:16px; height:16px; margin:0; cursor:pointer; accent-color:#5b9bf5; }
.go-card.is-sel{ outline:2px solid #5b9bf5; outline-offset:-2px; }
.go-card.is-sel .go-thumb{ filter:brightness(.92); }
/* Liste: führende Checkbox-Spalte — versteckt, erscheint im Auswahl-Modus */
.go-c-chk{ width:34px; text-align:center; display:none; }
.go-wrap.go-selmode .go-c-chk{ display:table-cell; }
.go-c-chk .go-check{ display:inline-flex; }
.go-c-chk .go-chk{ width:16px; height:16px; margin:0; cursor:pointer; accent-color:#5b9bf5; vertical-align:middle; }
.go-table tr.is-sel td{ background:rgba(91,155,245,.20) !important; }
.go-table tr.is-sel td.go-c-chk{ box-shadow:inset 3px 0 0 #5b9bf5; }
.go-wrap.go-selmode .go-card{ cursor:pointer; }

/* --- v0.14 Lightbox: eigene Google-Steuerung über PhotoSwipe-4-Kern --- */
/* unerwünschte Default-/Theme-Buttons aus (Diashow, Details, Social, nativer Zoom/FS, Counter, Caption) */
.pswp__button--share, .pswp__button--fs, .pswp__button--zoom,
.pswp__button--details, .pswp__button--autoplay,
.pswp__counter, .pswp__caption{ display:none !important; }
/* Seitenpfeile größer */
.pswp__button--arrow--left:before, .pswp__button--arrow--right:before{ transform:scale(1.6); }
/* eigene Steuerungsebene */
.go-lb-ui{ position:absolute; top:0; left:0; right:0; z-index:1700; pointer-events:none; }
.go-lb-namebar{ display:flex; align-items:center; gap:.5rem; padding:14px 18px 8px; color:#fff; pointer-events:auto; max-width:65%; }
.go-lb-fileicon{ display:inline-flex; }
.go-lb-fileicon .go-ic{ width:20px; height:20px; fill:#fff; opacity:.85; }
.go-lb-name{ font-size:.95rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; opacity:.95; }
.go-lb-tools{ display:inline-flex; align-items:center; gap:2px; margin:0 0 0 14px; padding:4px; background:rgba(38,38,38,.9); border-radius:12px; pointer-events:auto; }
.go-lb-btn{ display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:40px; padding:0 9px; background:none; border:0; color:#fff; cursor:pointer; border-radius:9px; font:600 .82rem/1 inherit; text-decoration:none; }
.go-lb-btn .go-ic{ width:22px; height:22px; fill:#fff; }
.go-lb-btn:hover{ background:rgba(255,255,255,.16); }
.go-lb-sep{ width:1px; height:24px; background:rgba(255,255,255,.25); margin:0 6px; }
.go-lb-pct{ min-width:54px; text-align:center; color:#fff; font-size:.84rem; opacity:.95; pointer-events:none; }
/* Lightbox-Leiste im Mobile-Querformat: standardmaessig eingefahren, nur ueber den schmalen Griff
   erreichbar -> man kann quer ungestoert zwischen Bildern wischen, die Leiste erscheint nie von selbst. */
.go-lb-handle{ display:none; }
/* Chevron-Richtung: Leiste offen -> Pfeil nach links (einklappen). Eingeklappt -> 180deg -> nach rechts (zeigen). */
.go-lb-ui:not(.go-lb-open) .go-lb-handle .go-ic{ transform:rotate(180deg); }
@media (orientation:landscape) and (pointer:coarse) and (max-height:600px){
  .go-lb-ui .go-lb-tools{ display:none; }
  .go-lb-ui.go-lb-open .go-lb-tools{ display:inline-flex; position:fixed; left:12px; right:64px; bottom:12px;
    margin:0; z-index:1720; flex-wrap:wrap; justify-content:center; }
  .go-lb-handle{ display:inline-flex; align-items:center; justify-content:center; position:fixed; right:12px; bottom:12px;
    z-index:1721; width:46px; height:34px; padding:0; pointer-events:auto; cursor:pointer; color:#fff; border:0;
    background:rgba(38,38,38,.9); border-radius:10px; }
  .go-lb-handle .go-ic{ width:22px; height:22px; fill:#fff; }
  .go-lb-ui.go-lb-open .go-lb-handle{ background:rgba(90,90,90,.96); }
}
/* Desktop (Maus, pointer:fine): Werkzeugleiste standardmaessig SICHTBAR (Platz genug; absolutes Vollbild blendet sie
   ohnehin aus -> der Griff zum Einklappen ist nur optionaler Komfort, keine Doppelung). Griff links klappt sie ein. */
@media (pointer:fine){
  .go-lb-ui .go-lb-tools{ display:none; }
  .go-lb-ui.go-lb-open .go-lb-tools{ display:inline-flex; vertical-align:top; }
  .go-lb-handle{ display:inline-flex; align-items:center; justify-content:center; vertical-align:top;
    margin:0 0 0 14px; height:48px; padding:0 16px; pointer-events:auto; cursor:pointer; color:#fff; border:0;
    background:rgba(38,38,38,.9); border-radius:12px; }
  .go-lb-handle .go-ic{ width:22px; height:22px; fill:#fff; }
  .go-lb-handle:hover{ background:rgba(60,60,60,.95); }
  .go-lb-ui.go-lb-open .go-lb-handle{ background:rgba(80,80,80,.95); }
}
/* Vollbild-Toggle = absoluter Modus: nur Pfeile, kein Menü/Close, echtes Schwarz */
.pswp:fullscreen .go-lb-ui, .pswp:-webkit-full-screen .go-lb-ui{ display:none !important; }
.pswp:fullscreen .pswp__button--close, .pswp:-webkit-full-screen .pswp__button--close{ display:none !important; }
.pswp:fullscreen .pswp__bg, .pswp:-webkit-full-screen .pswp__bg{ opacity:1 !important; background:#000 !important; }
/* Android-Auto-Vollbild im Handy-Querformat: generelle FS-UI-Ausblendung (oben) zuruecknehmen, damit der
   schmale Griff erhalten bleibt (Werkzeuge weiter erreichbar). Nur die Namensleiste bleibt aus -> volles Bild. */
@media (orientation:landscape) and (pointer:coarse) and (max-height:600px){
  .pswp:fullscreen .go-lb-ui, .pswp:-webkit-full-screen .go-lb-ui{ display:block !important; }
  .pswp:fullscreen .go-lb-namebar, .pswp:-webkit-full-screen .go-lb-namebar{ display:none !important; }
}

/* --- v0.14 Video-Overlay (clean, statt alter Theme-Seite) --- */
.go-voverlay{ position:fixed; inset:0; z-index:2000; background:rgba(0,0,0,.96); display:flex; flex-direction:column; }
.go-vtop{ display:flex; align-items:center; gap:.6rem; padding:12px 16px; color:#fff; }
.go-vtop .go-lb-fileicon .go-ic{ width:22px; height:22px; fill:#ff8c2a; }
.go-vname{ flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:.95rem; }
.go-vstage{ flex:1; display:flex; align-items:center; justify-content:center; padding:0 16px 16px; min-height:0; }
.go-vstage video{ max-width:100%; max-height:100%; background:#000; border-radius:6px; }
.go-v100{ font-size:.82rem; font-weight:600; }
/* "Original" = Overlay-Vollbild solide schwarz; Video bleibt max-100% -> Originalgröße zentriert, runterskaliert
   wenn Bildschirm kleiner, nie hochskaliert. Menü ausgeblendet, zurück per Escape. */
.go-voverlay:fullscreen, .go-voverlay:-webkit-full-screen{ background:#000; }
.go-voverlay:fullscreen .go-vtop, .go-voverlay:-webkit-full-screen .go-vtop{ display:none; }
.go-voverlay:fullscreen .go-vstage, .go-voverlay:-webkit-full-screen .go-vstage{ padding:0; }

/* --- v0.39 Pano-Overlay (Pano2VR/Object2VR Fullscreen-iframe-Viewer) --- */
.go-panoov{ position:fixed; inset:0; z-index:2000; background:#000; display:flex; flex-direction:column; }
.go-panotop{ display:flex; align-items:center; gap:.6rem; padding:12px 16px; color:#fff; }
.go-panotop .go-lb-fileicon .go-ic{ width:22px; height:22px; stroke:#13a06a; }
.go-panoname{ flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:.95rem; }
.go-panostage{ flex:1; min-height:0; }
.go-panoframe{ width:100%; height:100%; border:0; display:block; background:#000; }
.go-panoov:fullscreen .go-panotop, .go-panoov:-webkit-full-screen .go-panotop{ display:none; }

/* --- v0.38 H4: 300 Thumbnails entlasten -- Off-Screen-Karten/Zeilen werden vom Browser nicht gerendert
   (lazy imgs sparen Netzwerk, content-visibility spart DOM-/Layout-Kosten; aelteres Safari = no-op, graceful). */
.go-card{ content-visibility:auto; contain-intrinsic-size:auto 260px; }
.go-table tbody tr{ content-visibility:auto; contain-intrinsic-size:auto 44px; }

/* --- v0.38 K1/M3: Download-Overlay (Mehrteiler-Fortschritt + Mobil-ZIP-Hinweis) --- */
.go-dlov{ position:fixed; inset:0; z-index:2200; background:rgba(0,0,0,.62); display:flex; align-items:center; justify-content:center; padding:18px; }
.go-dlov-card{ width:min(420px,92vw); background:#1f1f1f; color:#fff; border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:22px 24px; box-shadow:0 12px 40px rgba(0,0,0,.5); text-align:center; }
.go-dlov-title{ font-size:1.05rem; font-weight:700; margin-bottom:.5rem; }
.go-dlov-msg{ font-size:.92rem; opacity:.95; min-height:1.3em; margin-bottom:.9rem; }
.go-dlov-bar{ height:8px; border-radius:6px; background:rgba(255,255,255,.14); overflow:hidden; margin-bottom:1rem; }
.go-dlov-fill{ height:100%; width:0; background:linear-gradient(90deg,#4a90e2,#67b0ff); border-radius:6px; transition:width .35s ease; }
.go-dlov-hint{ font-size:.8rem; opacity:.75; line-height:1.45; margin-bottom:1.1rem; }
.go-dlov-close{ border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.06); color:#fff; border-radius:8px; padding:7px 18px; cursor:pointer; font:600 .86rem/1 inherit; }
.go-dlov-close:hover{ background:rgba(255,255,255,.14); }

/* Drop-Guard-Hinweis (v0.73): erscheint, wenn ein Kunde eine Datei ins Fenster zieht — die Galerie kennt keinen Upload. */
.go-drop-toast{ position:fixed; left:50%; bottom:26px; transform:translate(-50%,14px); z-index:100000;
  max-width:min(560px,92vw); box-sizing:border-box; padding:13px 18px; border-radius:10px;
  background:rgba(24,24,26,.96); color:#fff; border:1px solid rgba(255,255,255,.18);
  box-shadow:0 8px 28px rgba(0,0,0,.45); font:400 .88rem/1.45 inherit; text-align:center;
  opacity:0; pointer-events:none; transition:opacity .22s ease, transform .22s ease; }
.go-drop-toast-on{ opacity:1; transform:translate(-50%,0); }
