/* GB Suite: lokale, füllende Vorschau und Freigabe in der Dozenten-CI. */
.gb-dz-video:has(.gb-media-player), .gb-dz-video:has(.gb-media-link) { height:auto; padding-bottom:0; overflow:visible; background:transparent; box-shadow:none; }
.gb-media-player { width:100%; margin-inline:auto; color:inherit; }
.gb-media-player [hidden] { display:none !important; }
.gb-media-stage { position:relative; width:100%; aspect-ratio:var(--gb-media-ratio, 16 / 9); background:#17181b; border-radius:18px; overflow:hidden; box-shadow:0 18px 45px rgba(0,0,0,.25); }
.gb-media-player--portrait .gb-media-stage { max-width:420px; margin-inline:auto; }
.gb-media-preview, .gb-media-mount { position:absolute; inset:0; }
.gb-media-poster { width:100%; height:100%; object-fit:cover; display:block; }
.gb-media-caption { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:20px; text-align:center; color:#fff; background:linear-gradient(0deg,rgba(0,0,0,.32),rgba(0,0,0,.08)); }
/* Eigene Spezifität: Theme-Buttonregeln dürfen die Freigabe nicht unsichtbar machen. */
.gb-dz-single .gb-media-player button.gb-media-load,
.gb-dz-single .gb-media-player button.gb-media-stop { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:50px; max-width:100%; padding:14px 21px; border-radius:7px; border:1px solid var(--gb-dz-gold,#b98b55) !important; background:var(--gb-dz-gold,#b98b55) !important; color:#111 !important; font-family:inherit; font-size:15px; line-height:1.4; font-weight:800; text-transform:none; letter-spacing:normal; cursor:pointer; transition:background .2s,transform .2s; }
.gb-dz-single .gb-media-player button.gb-media-load:hover,
.gb-dz-single .gb-media-player button.gb-media-stop:hover { background:#c9a16f !important; transform:translateY(-2px); }
.gb-dz-single .gb-media-player button.gb-media-stop { background:transparent !important; color:#fff !important; }
.gb-media-player button:disabled { opacity:.7; cursor:wait; }
.gb-media-player button:focus-visible, .gb-media-consent a:focus-visible, .gb-media-consent summary:focus-visible { outline:3px solid #d6b482; outline-offset:4px; }
.gb-media-mount iframe, .gb-media-mount video { position:absolute; inset:0; display:block; width:100%; height:100%; border:0; object-fit:contain; background:#000; }
.gb-media-consent { padding:16px 0 0; font-size:13px; line-height:1.65; color:#c5c5c7; }
.gb-media-consent p { margin:0 0 8px; }
.gb-media-consent a { color:var(--gb-dz-gold-light,#d6b482); text-decoration:underline; text-underline-offset:3px; }
.gb-media-consent summary { display:list-item; width:fit-content; cursor:pointer; color:var(--gb-dz-gold-light,#d6b482); }
.gb-media-consent details[open] p { margin:8px 0 0; }
.gb-media-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.gb-media-actions:has(button:not([hidden])) { margin-top:20px; }
.gb-dz-single .gb-media-player button.gb-media-load { width:100%; min-height:56px; font-size:16px; }
.gb-media-status { margin:12px 0 0; font-size:14px; }
.gb-media-status:empty { display:none; }
.gb-media-link { padding:20px; border:1px solid rgba(185,139,85,.35); border-radius:16px; }
@media(max-width:600px) { .gb-media-stage { border-radius:12px; } .gb-media-caption { padding:14px; } .gb-dz-single .gb-media-player button.gb-media-load { padding:12px 16px; font-size:13px; gap:8px; } }
