.demo-wrap { max-width: 960px; }
.demo-player {
  position: relative; aspect-ratio: 16 / 9; width: 100%;
  border-radius: 22px; overflow: hidden; background: #000;
  border: 1px solid var(--line); box-shadow: var(--shadow);
}
.demo-player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.demo-fallback { margin: 0.9rem 0 2rem; text-align: center; font-size: 0.9rem; }
.demo-fallback a, .demo-info a { color: var(--blue); text-decoration: underline; }
.demo-info .card-actions { flex-wrap: wrap; }
@media (max-width: 980px) { .demo-info { grid-template-columns: 1fr; } }
