/* Anteprima del video nell'articolo */
.idh-vp { position: relative; display: block; width: 100%; max-width: 100%; margin: 0; padding: 0; border: 0; border-radius: 12px; overflow: hidden; cursor: pointer; background: #0F1D2D; color: #fff; font: inherit; text-align: left; }
.idh-vp img.idh-vp-th, .idh-vp video.idh-vp-th { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none; margin: 0; object-fit: cover; transition: transform .4s ease, opacity .3s ease; }
.idh-vp:hover .idh-vp-th, .idh-vp:focus-visible .idh-vp-th { transform: scale(1.03); opacity: .85; }
.idh-vp:focus-visible { outline: 3px solid var(--igdp-accent, #C8421B); outline-offset: 3px; }
.idh-vp-play { position: absolute; left: 50%; top: 50%; width: 72px; height: 72px; margin: -36px 0 0 -36px; border-radius: 50%; background: rgba(255, 255, 255, .95); box-shadow: 0 6px 24px rgba(0, 0, 0, .35); transition: transform .2s ease; }
.idh-vp-play::before { content: ""; position: absolute; left: 29px; top: 22px; border-style: solid; border-width: 14px 0 14px 23px; border-color: transparent transparent transparent #0F1D2D; }
.idh-vp:hover .idh-vp-play { transform: scale(1.08); }
.idh-vp-title { position: absolute; left: 0; right: 0; bottom: 0; padding: 28px 16px 12px; background: linear-gradient(transparent, rgba(0, 0, 0, .65)); font-family: var(--igdp-font-sans), system-ui, sans-serif; font-size: 14px; font-weight: 600; line-height: 1.3; }
.idh-vp-nothumb { background: linear-gradient(135deg, #0F1D2D, #25405e); }

/* Modale */
.idh-vm { position: fixed; inset: 0; z-index: 100000; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 72px 16px 24px; box-sizing: border-box; background: rgba(5, 10, 18, .88); opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility 0s linear .25s; }
.idh-vm.idh-vm-open { opacity: 1; visibility: visible; transition: opacity .25s ease; }
.idh-vm-box { position: relative; width: min(1100px, 100%, calc((100vh - 120px) * var(--idh-vr, 1.7778))); aspect-ratio: var(--idh-vr, 1.7778); background: #000; border-radius: 10px; overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, .6); transform: scale(.96); transition: transform .25s ease; }
.idh-vm-open .idh-vm-box { transform: none; }
.idh-vm-box iframe, .idh-vm-box video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: #000; }
.idh-vm-orig { color: rgba(255, 255, 255, .85); font-family: var(--igdp-font-sans), system-ui, sans-serif; font-size: 14px; text-decoration: underline; }
.idh-vm-orig[hidden] { display: none; }
.idh-vm-orig:hover { color: #fff; }
.idh-vm-close { position: absolute; top: 16px; right: 16px; display: inline-flex; align-items: center; gap: 10px; height: 52px; padding: 0 22px 0 18px; border: 0; border-radius: 999px; background: #fff; color: #0F1D2D; font-family: var(--igdp-font-sans), system-ui, sans-serif; font-size: 16px; font-weight: 800; cursor: pointer; box-shadow: 0 4px 18px rgba(0, 0, 0, .4); }
.idh-vm-close:hover { background: var(--igdp-accent, #C8421B); color: #fff; }
.idh-vm-close:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.idh-vm-close svg { width: 24px; height: 24px; }
html.idh-vm-lock { overflow: hidden; }
@media (max-width: 767px) { .idh-vm { padding: 76px 0 16px; } .idh-vm-box { border-radius: 0; width: 100%; } .idh-vm-close { top: 12px; right: 12px; height: 48px; } .idh-vp-play { width: 60px; height: 60px; margin: -30px 0 0 -30px; } .idh-vp-play::before { left: 24px; top: 18px; border-width: 12px 0 12px 19px; } }
@media (prefers-reduced-motion: reduce) { .idh-vm, .idh-vm-box, .idh-vp-th, .idh-vp-play { transition: none; } }
