/* Victoria media placeholders V33: lightweight CSS frame, no fallback image asset. */
.vx-img-skeleton{display:block;background:#13181a!important;background-image:none!important;border:1px solid rgba(97,217,205,.12);animation:vxSkeletonPulse 1.15s ease-in-out infinite;object-fit:cover;min-height:90px;color:transparent}
.vx-img-ready{animation:none;background:transparent!important;border-color:transparent}
.vx-img-failed{display:block;object-fit:cover!important;background:#13181a!important;border:1px solid rgba(97,217,205,.18)!important;min-height:90px!important;opacity:1}
.vx-media-frame{position:relative;overflow:hidden;background:#13181a;min-height:120px}
.vx-media-frame::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0%,rgba(97,217,205,.07) 50%,transparent 100%);transform:translateX(-100%);animation:vxShimmer 1.7s infinite}
.vx-media-frame.loaded::after{display:none}
@keyframes vxSkeletonPulse{0%,100%{opacity:.78}50%{opacity:1}}
@keyframes vxShimmer{to{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){.vx-img-skeleton,.vx-media-frame::after{animation:none}}
