/* Galerie (galerie.html): Beispielszenen, je Karte Unterlagen links und Player mit Formaten rechts. Keine Inline-Stile (CSP). */
.g-hero { padding-bottom: 72px; }
.g-hero h1 { font-size: clamp(48px, 9vw, 128px); }
.g-liste { display: flex; flex-direction: column; gap: 120px; padding-top: 40px; padding-bottom: 120px; }

.g-karte { border-top: 2px solid var(--edge-dim); padding-top: 44px; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 8fr); gap: 40px 64px; }
.g-kopf { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 24px; }
.g-kopf h2 { font-size: clamp(34px, 4.6vw, 60px); margin: 8px 0 0; }
.g-kopf .mono { color: var(--amber); }
.g-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.g-chip { border: 1px solid var(--edge); border-radius: 999px; padding: 6px 12px; font: 500 12px/1.2 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--body); }

.g-unterlagen { display: flex; flex-direction: column; gap: 18px; }
.g-unterlagen .mono { color: var(--label); }
.g-doc { display: block; background: #f4f2ec; border-radius: 4px; overflow: hidden; border: 1px solid var(--edge-dim); text-decoration: none; }
.g-doc img { display: block; width: 100%; height: auto; }
.g-doc-text { font-size: 15px; color: var(--body); margin: 0; }
.g-pfeil { font: 700 15px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--amber); display: flex; align-items: center; gap: 10px; margin-top: 6px; }
.g-pfeil::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, var(--amber), transparent); }

.g-medien { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.g-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
.g-tab { min-height: 44px; padding: 0 14px; background: transparent; color: var(--body); border: 1px solid var(--edge); border-radius: 2px; font: 500 12px/1.2 var(--mono); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.g-tab[aria-selected="true"] { color: var(--ground); background: var(--amber); border-color: var(--amber); }
.g-tab:focus-visible, .g-fassung:focus-visible { outline: 2px solid var(--amber); outline-offset: 3px; }
.g-buehne { position: relative; display: flex; justify-content: center; align-items: center; background: #0a0b0f; border: 1px solid var(--edge-dim); border-radius: 6px; overflow: hidden; min-height: 280px; }
.g-buehne video, .g-buehne img { display: block; max-width: 100%; height: auto; }
.g-buehne [hidden], .g-tab[hidden] { display: none; }
.g-buehne.f-story video, .g-buehne.f-story img { height: min(72vh, 720px); width: auto; }
.g-buehne.f-quadrat video, .g-buehne.f-quadrat img { height: min(62vh, 560px); width: auto; }
.g-buehne.f-mobil video, .g-buehne.f-mobil img { height: min(68vh, 640px); width: auto; }
.g-buehne.f-katalog { background: #fff; }
.g-buehne.f-katalog img { height: min(62vh, 560px); width: auto; }
.g-unter { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 20px; align-items: center; }
.g-unter p { margin: 0; color: var(--body); font-size: 15px; }
.g-fassungen { display: inline-flex; border: 1px solid var(--edge); border-radius: 2px; }
.g-fassung { min-height: 40px; padding: 0 12px; background: transparent; border: 0; color: var(--body); font: 500 12px/1.2 var(--mono); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.g-fassung[aria-pressed="true"] { background: var(--text); color: var(--ground); }
.g-cta { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; }

.g-schluss { padding-top: 72px; padding-bottom: 120px; border-top: 1px solid var(--edge-dim); }
.g-schluss h2 { font-size: clamp(36px, 5vw, 64px); }
.g-schluss p { color: var(--body); max-width: 620px; font-size: 19px; }
.g-hinweis { margin-top: 32px; font-size: 14px; max-width: 900px; }

@media (max-width: 900px) {
  .g-liste { gap: 72px; }
  .g-karte { grid-template-columns: 1fr; gap: 28px; padding-top: 32px; }
  .g-buehne.f-story video, .g-buehne.f-story img { height: min(70vh, 600px); }
}
@media (max-width: 720px) { .wrap.g-liste, .wrap.g-schluss, .wrap.g-hero { padding-left: 16px; padding-right: 16px; } }
