/* Custom tap-to-play poster overlay for native MP4 embeds (matches legacy HTML players). */
.ratio{position:relative}
.ratio video{width:100%;height:100%;display:block;object-fit:contain;background:var(--denim-900,#11215a)}

.vposter{
  position:absolute;inset:0;z-index:2;margin:0;padding:0;border:0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;text-align:center;
  background:var(--poster-image) center/cover no-repeat,#11215a;
  font-family:var(--font-display,Nunito,system-ui,sans-serif);
  transition:opacity .45s ease;
}
.vposter.is-hidden{opacity:0;pointer-events:none}
.vposter-inner{display:flex;flex-direction:column;align-items:center;gap:clamp(8px,2.2vw,16px);padding:0 14px;box-sizing:border-box;max-width:92%}
.vposter-play{
  position:relative;width:clamp(52px,14vw,88px);height:clamp(52px,14vw,88px);border-radius:50%;
  display:flex;align-items:center;justify-content:center;padding-left:5px;
  transition:transform .15s ease;
}
.vposter-play svg{width:clamp(26px,7vw,34px);height:clamp(26px,7vw,34px)}
.vposter:hover .vposter-play,.vposter:focus-visible .vposter-play{transform:scale(1.06)}
.vposter-title{
  font-weight:900;font-size:clamp(15px,4.2vw,28px);line-height:1.12;letter-spacing:-.02em;
  color:#fff;text-shadow:0 2px 22px rgba(8,15,45,.6);text-wrap:balance;
}
.vposter-sub{
  font-weight:600;font-size:clamp(12px,2.8vw,17px);color:rgba(255,255,255,.82);margin-top:-4px;
  text-shadow:0 2px 16px rgba(8,15,45,.55);
}
.vposter--pink .vposter-play{background:#e35089;box-shadow:0 18px 44px -10px rgba(227,80,137,.55)}
.vposter--teal .vposter-play{background:#1bb0b3;box-shadow:0 18px 44px -10px rgba(27,176,179,.6)}
.vposter--gold .vposter-play{background:#f4a300;box-shadow:0 18px 44px -10px rgba(244,163,0,.55)}
.vposter--amber .vposter-play{background:#ffb930;box-shadow:0 18px 44px -10px rgba(255,185,48,.55)}
@keyframes vposter-spin{to{transform:rotate(360deg)}}
.vposter.is-loading .vposter-play>svg{opacity:0}
.vposter.is-loading .vposter-play::after{
  content:"";position:absolute;inset:0;margin:auto;width:46%;height:46%;border-radius:50%;
  border:3px solid rgba(255,255,255,.4);border-top-color:#fff;box-sizing:border-box;
  animation:vposter-spin .8s linear infinite;
}
