.md-video-embed[data-md-video-field]{max-width:420px;margin:0 auto;}
.md-video-embed[data-md-video-field] .md-video-frame{
position:relative;width:100%;
aspect-ratio:9/16;
overflow:hidden;border-radius:16px;background:#111;
}
.md-video-embed[data-md-video-field] .md-video-frame iframe,
.md-video-embed[data-md-video-field] .md-video-frame video{
position:absolute;inset:0;width:100%;height:100%;border:0;
}
.md-video-embed[data-md-video-field] .md-video-frame video{object-fit:cover;}
/* poster IG */
.md-video-embed[data-md-video-field] .md-video-poster{
position:absolute;inset:0;display:block;
background-size:cover;background-position:center;
}
.md-video-embed[data-md-video-field] .md-video-poster::after{
content:"";position:absolute;inset:0;
background:linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.45));
}
.md-video-embed[data-md-video-field] .md-video-play{
position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
width:74px;height:74px;border-radius:999px;
background:rgba(0,0,0,.55);
display:grid;place-items:center;
z-index:2;
border:2px solid rgba(255,255,255,.35);
}
.md-video-embed[data-md-video-field] .md-video-play svg{width:30px;height:30px;fill:#fff;margin-left:4px;}
.md-video-debug{font-size:10px;opacity:0;margin-top:8px}
(function(){
function getSlugFromUrl(){
var p=(location.pathname||"").replace(/\/+$/,"");
var parts=p.split("/").filter(Boolean);
return parts.length?parts[parts.length-1]:"";
}
function cleanUrl(u){
u=(u||"").toString().trim();
if(!u) return "";
if(u.startsWith("//")) return location.protocol+u;
if(/^https?:\/\//i.test(u)) return u;
return "";
}
function extractDriveId(url){
url=String(url||"").trim();
var m=url.match(/\/file\/d\/([^/]+)/i); if(m&&m[1]) return m[1];
m=url.match(/[?&]id=([^&]+)/i); if(m&&m[1]) return m[1];
return "";
}
function ytId(u){
u=String(u||"").trim();
var m=u.match(/youtu\.be\/([A-Za-z0-9_-]{6,})/i); if(m&&m[1]) return m[1];
m=u.match(/[?&]v=([A-Za-z0-9_-]{6,})/i); if(m&&m[1]) return m[1];
m=u.match(/youtube\.com\/shorts\/([A-Za-z0-9_-]{6,})/i); if(m&&m[1]) return m[1];
m=u.match(/youtube\.com\/embed\/([A-Za-z0-9_-]{6,})/i); if(m&&m[1]) return m[1];
return "";
}
function igPermalink(u){
u=String(u||"").trim();
var m=u.match(/instagram\.com\/(p|reel|tv)\/([^/?#]+)/i);
return m ? ("https://www.instagram.com/"+m[1]+"/"+m[2]+"/") : "";
}
function normalizeUrl(u){
u=String(u||"").trim();
if(!u) return {kind:"empty", src:""};
if(/instagram\.com/i.test(u)){
var pl=igPermalink(u);
return pl ? {kind:"instagram", permalink:pl} : {kind:"instagram", permalink:u};
}
if(/drive\.google\.com\/file\/d\/[^/]+\/preview/i.test(u)) return {kind:"iframe", src:u};
if(/drive\.google\.com/i.test(u)){
var id=extractDriveId(u);
return {kind:"iframe", src: id ? ("https://drive.google.com/file/d/"+id+"/preview") : u};
}
var idY=ytId(u);
if(idY){
var qs="autoplay=1&mute=1&playsinline=1&rel=0&modestbranding=1";
return {kind:"iframe", src:"https://www.youtube-nocookie.com/embed/"+idY+"?"+qs};
}
var vm=u.match(/vimeo\.com\/(\d+)/i);
if(vm&&vm[1]){
var vqs="autoplay=1&muted=1&loop=1&title=0&byline=0&portrait=0";
return {kind:"iframe", src:"https://player.vimeo.com/video/"+vm[1]+"?"+vqs};
}
if(/\.(mp4|webm)(\?.*)?$/i.test(u)) return {kind:"video", src:u};
return {kind:"iframe", src:u};
}
function renderOne(box, src, poster){
var frame=box.querySelector(".md-video-frame");
var dbg=box.querySelector(".md-video-debug code");
if(dbg) dbg.textContent=src||"(vuoto)";
frame.innerHTML="";
if(!src) return;
var n=normalizeUrl(src);
// Instagram: niente player, fai la persona adulta -> poster + link
if(n.kind==="instagram"){
var bg=cleanUrl(poster);
var a=document.createElement("a");
a.className="md-video-poster";
a.href=n.permalink;
a.target="_blank";
a.rel="noopener";
if(bg) a.style.backgroundImage='url("'+bg.replace(/"/g,"%22")+'")';
a.innerHTML =
'
' +
'' +
'';
frame.appendChild(a);
return;
}
if(n.kind==="video"){
var v=document.createElement("video");
v.controls=true;
v.playsInline=true;
v.preload="metadata";
v.muted=true; v.autoplay=true; v.loop=true;
v.src=n.src;
frame.appendChild(v);
return;
}
var ifr=document.createElement("iframe");
ifr.src=n.src;
ifr.setAttribute("allow","autoplay; fullscreen; picture-in-picture");
ifr.setAttribute("allowfullscreen","");
ifr.loading="lazy";
frame.appendChild(ifr);
}
function init(){
var slug=getSlugFromUrl();
if(!slug) return;
var api=location.origin+"/wp-json/wp/v2/artista?slug="+encodeURIComponent(slug)+"&per_page=1&_fields=acf";
fetch(api,{credentials:"same-origin"})
.then(function(r){return r.json();})
.then(function(arr){
if(!Array.isArray(arr)||!arr.length) throw new Error("Nessun artista trovato per slug="+slug);
var acf=arr[0].acf||{};
document.querySelectorAll('[data-md-video-field]').forEach(function(box){
var field=box.getAttribute("data-md-video-field");
var posterField=box.getAttribute("data-md-poster-field");
renderOne(box, acf[field]||"", posterField ? (acf[posterField]||"") : "");
});
})
.catch(function(err){ console.error("MD video embed error:", err); });
}
if(document.readyState==="loading") document.addEventListener("DOMContentLoaded", init);
else init();
})();