/* ===== Medien-Slots (Platzhalter + eingesetzte Medien) ===== */
:where([data-slot]){position:relative;overflow:hidden}
.slot__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.slot__ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;padding:12px;pointer-events:none;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.022) 0 10px,transparent 10px 20px),var(--deep,#0B2A3A);
  outline:1px dashed rgba(143,163,173,.35);outline-offset:-1px;border-radius:inherit}
.slot__id{font:700 13px/1.25 var(--text);color:#fff;letter-spacing:.01em;background:rgba(0,14,21,.72);padding:5px 10px;border-radius:6px;font-variant-numeric:tabular-nums;max-width:100%;overflow-wrap:anywhere}
.slot__meta{font:600 10.5px/1.3 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--muted,#8FA3AD)}
.slot__meta i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--signal,#FF4103);margin-right:6px;vertical-align:1px}
.slot__hint{font:400 12px/1.35 var(--text);color:var(--fog,#C9D3D8);opacity:.85;max-width:28ch}
[data-media] > .slot__ph{display:none}
.no-labels .slot__ph > *{display:none}
.no-labels [data-slot]:not([data-media]):not([data-video]) :is(.wtile__play,.pf__play,.feature__play,.eb__play){display:none}
.no-labels .slot__ph{background:linear-gradient(160deg,var(--deep,#0B2A3A),var(--navy,#001621));outline:none}
@media (max-width:600px){.slot__id{font-size:11.5px;padding:4px 8px}.slot__hint{display:none}}

/* ===== Lightbox ===== */
.lb{position:fixed;inset:0;z-index:200;background:rgba(0,10,16,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;grid-template-rows:auto 1fr auto;opacity:0;transition:opacity .3s ease;color:#fff;font-family:var(--text)}
.lb[hidden]{display:none}
.lb.is-open{opacity:1}
.lb__bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:calc(14px + env(safe-area-inset-top,0px)) max(16px,3vw) 10px}
.lb__count{font:800 14px var(--display);color:var(--muted,#8FA3AD);font-variant-numeric:tabular-nums}
.lb__close{min-height:44px;border:1px solid var(--line,#1D3A4A);background:transparent;color:#fff;border-radius:999px;padding:0 18px;font:600 12px var(--text);letter-spacing:.12em;cursor:pointer}
.lb__close:hover{border-color:var(--signal,#FF4103)}
.lb__stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;padding:0 max(16px,6vw);margin:0}
.lb__media{position:relative;width:min(100%, calc((100vh - 190px) * var(--ar,1.7778)));width:min(100%, calc((100svh - 190px) * var(--ar,1.7778)));aspect-ratio:var(--ar,1.7778);background:#000;border-radius:12px;overflow:hidden;transform:scale(.97);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.lb.is-open .lb__media{transform:none}
.lb__media iframe,.lb__media img{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.lb__media img{object-fit:contain;background:var(--ink,#000E15)}
.lb__media .slot__ph{outline:none}
.lb__media .lb__phnote{font:400 14px/1.5 var(--text);color:var(--fog,#C9D3D8);max-width:36ch}
.lb__foot{display:flex;justify-content:center;align-items:baseline;gap:8px 18px;flex-wrap:wrap;padding:14px 16px calc(18px + env(safe-area-inset-bottom,0px));text-align:center}
.lb__cap{font:700 clamp(15px,1.4vw,18px)/1.3 var(--display);letter-spacing:-.01em}
.lb__note{font-size:12px;color:var(--muted,#8FA3AD)}
.lb__note a{color:inherit}
.lb__nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:0;background:var(--signal,#FF4103);color:#001621;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:transform .2s}
.lb__nav:hover{transform:translateY(-50%) scale(1.06)}
.lb__prev{left:max(12px,1.5vw)}
.lb__next{right:max(12px,1.5vw)}
.lb__nav[disabled]{opacity:.25;cursor:default}
@media (max-width:700px){
  .lb__stage{padding:0 12px}
  .lb__media{width:min(100%, calc((100svh - 230px) * var(--ar,1.7778)))}
  .lb__nav{top:auto;bottom:calc(14px + env(safe-area-inset-bottom,0px));transform:none;width:48px;height:48px;position:fixed}
  .lb__nav:hover{transform:none}
  .lb__foot{padding-inline:72px}
}
html.lb-lock,html.lb-lock body{overflow:hidden}
