.vnl-media { color:#1c3318; margin:0 0 1.5rem; }
.vnl-media .vnl-media-preview { position:relative; display:block; width:100%; aspect-ratio:16/9; overflow:hidden; padding:0; border:0; border-radius:15px; background:#1c3318; color:#fff; cursor:pointer; }
.vnl-media-preview img { display:block; width:100%; height:100%; object-fit:cover; }
.vnl-media-preview::after { content:""; position:absolute; inset:0; background:linear-gradient(transparent, rgb(0 0 0 / .22)); }
.vnl-media-play { position:absolute; inset:0; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.5rem; }
.vnl-media-play svg { width:68px; height:48px; filter:drop-shadow(0 2px 5px rgb(0 0 0 / .4)); transition:transform .15s; }
.vnl-media-play span { padding:.15rem .6rem; border-radius:4px; background:rgb(0 0 0 / .8); font-size:1rem; line-height:1.5; font-weight:600; }
.vnl-media-preview:hover .vnl-media-play svg { transform:scale(1.1); }
.vnl-media .vnl-media-notice { margin:.6rem 0 .25rem; font-size:.8rem; line-height:1.5; }
.vnl-media .vnl-media-source { display:inline-block; text-decoration:underline; font-size:.9rem; }
#vnl-media-dialog { width:min(900px,94vw); max-height:90dvh; overflow:auto; padding:1.5rem; border:0; border-radius:15px; color:#1c3318; background:#f5f0ec; }
#vnl-media-dialog::backdrop { background:rgb(0 0 0 / .75); }
#vnl-media-close { float:right; padding:.4rem .8rem; background:#1c3318; color:white; border:0; border-radius:5px; cursor:pointer; }
#vnl-media-heading { font-size:1.5rem; clear:both; padding-top:.5rem; margin-bottom:.75rem; }
#vnl-media-player iframe { width:100%; aspect-ratio:16/9; border:0; display:block; }
.vnl-share { display:flex; flex-wrap:wrap; gap:.75rem; }
.vnl-share a { display:inline-flex; gap:.4rem; align-items:center; background:#1c3318; color:#fff; padding:.5rem .8rem; border-radius:5px; }
:focus-visible { outline:3px solid #a33a00 !important; outline-offset:4px; }
.vnl-skip { position:fixed; left:1rem; top:-100px; z-index:100000; background:#fff; padding:1rem; color:#1c3318; }
.vnl-skip:focus { top:1rem; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto !important; } *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; } }
