/* Video-Einbindung (Testbericht, Fachbeiträge): Vorschau im Kinoformat, erst ein Klick lädt den Player von youtube-nocookie.com.
   Ohne JavaScript oder bei blockiertem Frame öffnet die Vorschau das Video auf YouTube. */
.video-embed{margin:var(--space-lg) 0;}
.ve-stage{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:16px;border:1px solid var(--gray-border);background:var(--black-true);}
@media(min-width:768px){.ve-stage{aspect-ratio:2.39/1;}}
.ve-stage.is-playing{aspect-ratio:16/9;border-color:rgba(var(--apc-gold-rgb),.45);}
.ve-poster{position:absolute;inset:0;display:block;color:var(--white-d65);text-decoration:none;}
.ve-poster img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transform:scale(1.001);transition:transform var(--dur-medium) var(--ease-out),filter var(--dur-medium) var(--ease-out);}
/* Abdunklung nur unten links, damit der Titel auf dem Bild lesbar bleibt. */
.ve-poster::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,3,4,.82) 0%,rgba(3,3,4,.35) 45%,rgba(3,3,4,0) 70%),linear-gradient(0deg,rgba(3,3,4,.7) 0%,rgba(3,3,4,0) 55%);pointer-events:none;}
.ve-play{position:absolute;z-index:2;top:50%;left:50%;display:grid;place-items:center;width:5rem;height:5rem;border-radius:50%;background:var(--accent-primary);color:var(--black-rich);box-shadow:0 10px 30px rgba(3,3,4,.6);transform:translate(-50%,-50%);transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);}
.ve-play svg{width:1.9rem;height:1.9rem;}
/* Messfenster-Rahmen um den Play-Button: das Instrument-Motiv der Seite. */
.ve-play::before{content:"";position:absolute;inset:-.85rem;border:1px solid rgba(var(--apc-gold-rgb),.55);border-radius:50%;transition:inset var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out);}
.ve-text{position:absolute;z-index:2;left:var(--space-lg);right:var(--space-lg);bottom:var(--space-lg);display:grid;gap:.4rem;max-width:30rem;}
.ve-title{font-family:var(--font-display);font-size:clamp(1.5rem,3.2vw,2.488rem);font-weight:800;line-height:1.05;letter-spacing:-.02em;text-wrap:balance;}
.ve-meta{display:flex;flex-wrap:wrap;gap:.25rem .75rem;font-size:var(--text-sm);color:var(--white-d65);}
.ve-meta span+span::before{content:"";display:inline-block;width:4px;height:4px;margin:0 .75rem .2em 0;border-radius:50%;background:var(--accent-primary);vertical-align:middle;}
.ve-duration{font-variant-numeric:tabular-nums;}
.ve-poster:hover img{transform:scale(1.03);}
.ve-poster:hover .ve-play{transform:translate(-50%,-50%) scale(1.06);background:var(--accent-light);box-shadow:0 14px 36px rgba(3,3,4,.7);}
.ve-poster:hover .ve-play::before{inset:-1.1rem;}
.ve-poster:active .ve-play{transform:translate(-50%,-50%) scale(.96);}
.ve-poster:focus-visible{outline:none;}
.ve-poster:focus-visible .ve-play{box-shadow:0 0 0 3px var(--black-rich),0 0 0 6px var(--accent-primary);}
.ve-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.ve-stage.is-playing .ve-poster{visibility:hidden;}
/* Ohne Breitenlimit: Die Zeile passt am Desktop unter den Player, der Link bricht nie in sich um. */
.video-embed figcaption{margin-top:.6rem;font-size:var(--text-sm);line-height:1.5;color:var(--gray-muted);}
.video-embed figcaption a{color:var(--accent-primary);text-decoration:underline;text-underline-offset:.2em;white-space:nowrap;}
.video-embed figcaption a:hover{color:var(--accent-light);}
@media(max-width:599.98px){
  .ve-play{width:3.75rem;height:3.75rem;top:38%;left:24%;}
  .ve-play svg{width:1.4rem;height:1.4rem;}
  .ve-play::before{inset:-.6rem;}
  .ve-text{left:var(--space-sm);right:var(--space-sm);bottom:var(--space-sm);gap:.2rem;}
  .ve-title{font-size:1.2rem;}
  .ve-meta{font-size:.75rem;}
}
@media(prefers-reduced-motion:reduce){.ve-poster img,.ve-play,.ve-play::before{transition:none;}.ve-poster:hover img{transform:none;}}
/* Unter 480 px ist die Buehne zu flach fuer Titel und mittigen Play-Button: der Button rueckt klein in die Ecke oben rechts, der Text bleibt unten. */
@media(max-width:479.98px){
.ve-play{top:var(--space-sm);right:var(--space-sm);left:auto;width:3rem;height:3rem;transform:none;}
.ve-play svg{width:1.25rem;height:1.25rem;}
.ve-play::before{inset:-.4rem;}
.ve-poster:hover .ve-play{transform:scale(1.06);}
.ve-poster:hover .ve-play::before{inset:-.55rem;}
/* Rechts Platz fuer Button (3rem) und Ring (.4rem) plus Luft, unabhaengig davon, wie breit die Schrift laeuft. */
.ve-text{left:var(--space-sm);right:calc(var(--space-sm) + 3.4rem + var(--space-xs));bottom:var(--space-sm);gap:.25rem;}
.ve-title{font-size:1rem;}
.ve-meta{font-size:var(--text-xs);}
}
/* Breite Buehnen (2.39:1): der Text endet links vor dem Ring des mittigen Play-Buttons. */
@media(min-width:1024px){.ve-text{max-width:min(30rem,calc(50% - 3.5rem - var(--space-lg)));}}
