/* Video-Overlay (YouTube) */
a[data-yt]{cursor:pointer}
a[data-yt]:focus-visible{outline:2px solid var(--accent,#4D7CFF);outline-offset:3px}
.yt-lock, .yt-lock body { overflow: hidden; }
.yt-modal {
  position: fixed; inset: 0; z-index: 1000;
  display: flex; align-items: center; justify-content: center;
  padding: 16px;
  background: rgba(5, 5, 7, .86);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  opacity: 0; transition: opacity .2s ease;
}
.yt-modal[hidden] { display: none !important; }
.yt-modal.is-open { opacity: 1; }
.yt-inner {
  position: relative; width: 100%; max-width: 960px;
  transform: scale(.97); transition: transform .25s ease;
}
.yt-modal.is-open .yt-inner { transform: none; }
.yt-frame {
  position: relative; aspect-ratio: 16 / 9; width: 100%;
  border-radius: 14px; overflow: hidden; background: #000;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .08);
}
.yt-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.yt-close {
  position: absolute; top: -48px; right: 0;
  width: 40px; height: 40px; border-radius: 50%;
  display: grid; place-items: center;
  border: 1px solid rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .06); color: #fff; cursor: pointer;
  transition: background .15s ease;
}
.yt-close:hover { background: rgba(255, 255, 255, .14); }
.yt-close:focus-visible { outline: 2px solid var(--accent, #4D7CFF); outline-offset: 2px; }
.yt-ext {
  display: inline-block; margin-top: 14px;
  font-size: 13px; color: rgba(255, 255, 255, .55); text-decoration: none;
}
.yt-ext:hover { color: #fff; text-decoration: underline; }
@media (prefers-reduced-motion: reduce) {
  .yt-modal, .yt-inner { transition: none; }
}
.yt-note{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;font-size:14px;line-height:1.6;color:rgba(255,255,255,.6)}
