/* ===========================================================
   EGS – Elementor Gallery Slider
   =========================================================== */
.egs-gallery{
	--egs-gap:10px;
	--egs-radius:14px;
	--egs-arrow-bg:rgba(0,0,0,.45);
	--egs-arrow-color:#fff;
	--egs-active:#ff7a00;
	display:flex;
	flex-direction:column;
	gap:var(--egs-gap);
	width:100%;
}

/* ---------- Immagine grande ---------- */
.egs-main{
	position:relative;
	width:100%;
	overflow:hidden;
	border-radius:var(--egs-radius);
	background:#f1f1f1;
	-webkit-user-select:none;user-select:none;
	touch-action:pan-y;
}
.egs-gallery[data-lightbox="1"] .egs-main{cursor:zoom-in;}
.egs-main-img{display:block;width:100%;height:100%;}
.egs-fit-cover .egs-main-img{object-fit:cover;}
.egs-fit-contain{background:#fafafa;}
.egs-fit-contain .egs-main-img{object-fit:contain;height:auto;}

/* Frecce immagine grande */
.egs-arrow{
	position:absolute;top:50%;transform:translateY(-50%);
	width:42px;height:42px;border:0;border-radius:50%;
	background:var(--egs-arrow-bg);color:var(--egs-arrow-color);
	font-size:26px;line-height:1;cursor:pointer;z-index:3;
	display:flex;align-items:center;justify-content:center;
	transition:opacity .2s,transform .15s;opacity:.9;
}
.egs-arrow:hover{opacity:1;}
.egs-arrow:active{transform:translateY(-50%) scale(.92);}
.egs-prev{left:10px;}
.egs-next{right:10px;}

.egs-zoom-hint{
	position:absolute;right:10px;bottom:10px;
	width:34px;height:34px;border-radius:50%;
	background:var(--egs-arrow-bg);color:#fff;
	display:flex;align-items:center;justify-content:center;
	font-size:15px;pointer-events:none;z-index:2;opacity:.85;
}

/* ---------- Thumbnail ---------- */
.egs-thumbs{
	display:flex;
	gap:var(--egs-gap);
	overflow-x:auto;
	scroll-snap-type:x proximity;
	-webkit-overflow-scrolling:touch;
	scrollbar-width:thin;
	padding-bottom:2px;
}
.egs-thumbs::-webkit-scrollbar{height:6px;}
.egs-thumbs::-webkit-scrollbar-thumb{background:rgba(0,0,0,.22);border-radius:10px;}
.egs-thumb{
	flex:0 0 auto;
	height:84px;width:auto;
	padding:0;margin:0;
	border:3px solid transparent;
	border-radius:var(--egs-radius);
	overflow:hidden;cursor:pointer;
	background:#f1f1f1;
	scroll-snap-align:start;
	transition:border-color .15s,transform .15s;
	-webkit-tap-highlight-color:transparent;
}
.egs-thumb img{display:block;height:100%;width:auto;object-fit:cover;pointer-events:none;}
.egs-thumb.is-active{border-color:var(--egs-active);}
.egs-thumb:hover{transform:translateY(-2px);}

/* ===========================================================
   Lightbox
   =========================================================== */
.egs-lb{
	position:fixed;inset:0;z-index:99999;
	background:rgba(0,0,0,.92);
	display:none;flex-direction:column;
	align-items:center;justify-content:center;
}
.egs-lb.is-open{display:flex;animation:egsFade .2s ease;}
@keyframes egsFade{from{opacity:0}to{opacity:1}}
.egs-lb-stage{
	flex:1;width:100%;
	display:flex;align-items:center;justify-content:center;
	padding:14px;box-sizing:border-box;
	touch-action:pan-y;
}
.egs-lb-img{
	max-width:92vw;max-height:78vh;
	object-fit:contain;border-radius:10px;
	-webkit-user-select:none;user-select:none;
	box-shadow:0 10px 40px rgba(0,0,0,.5);
}
.egs-lb-close{
	position:absolute;top:14px;right:16px;
	width:44px;height:44px;border:0;border-radius:50%;
	background:rgba(255,255,255,.14);color:#fff;
	font-size:26px;line-height:1;cursor:pointer;z-index:5;
	display:flex;align-items:center;justify-content:center;
}
.egs-lb-close:hover{background:rgba(255,255,255,.28);}
.egs-lb-arrow{
	position:absolute;top:50%;transform:translateY(-50%);
	width:50px;height:50px;border:0;border-radius:50%;
	background:rgba(255,255,255,.14);color:#fff;
	font-size:30px;line-height:1;cursor:pointer;z-index:5;
	display:flex;align-items:center;justify-content:center;
}
.egs-lb-arrow:hover{background:rgba(255,255,255,.28);}
.egs-lb-prev{left:16px;}
.egs-lb-next{right:16px;}
.egs-lb-counter{color:#fff;font-size:13px;opacity:.8;margin:4px 0 6px;}
.egs-lb-thumbs{
	display:flex;gap:8px;overflow-x:auto;
	max-width:96vw;padding:8px;margin-bottom:6px;
	scrollbar-width:thin;
}
.egs-lb-thumbs img{
	height:54px;width:auto;border-radius:8px;
	opacity:.45;cursor:pointer;
	border:2px solid transparent;
	transition:opacity .2s,border-color .2s;
	flex:0 0 auto;
}
.egs-lb-thumbs img.is-active{opacity:1;border-color:#fff;}
body.egs-lb-open{overflow:hidden;}

/* ---------- Responsive ---------- */
@media (max-width:767px){
	.egs-arrow{width:36px;height:36px;font-size:22px;}
	.egs-lb-arrow{width:40px;height:40px;font-size:24px;}
	.egs-lb-close{width:40px;height:40px;font-size:22px;}
	.egs-lb-thumbs img{height:46px;}
}

/* ===========================================================
   v1.1 – Video & embed
   =========================================================== */
.egs-main-stage{ position:absolute; inset:0; width:100%; height:100%; }
.egs-main-stage > img,
.egs-main-stage > video,
.egs-main-stage > iframe{ width:100%; height:100%; display:block; border:0; }
.egs-fit-cover .egs-main-stage > img,
.egs-fit-cover .egs-main-stage > video{ object-fit:cover; }
.egs-fit-contain .egs-main-stage > img,
.egs-fit-contain .egs-main-stage > video{ object-fit:contain; background:#000; }
.egs-fit-contain .egs-main-stage > iframe,
.egs-fit-cover .egs-main-stage > iframe{ background:#000; }

/* overlay trasparente sopra l'iframe (cattura il primo tap = audio) */
.egs-embed-tap{ position:absolute; inset:0; z-index:2; cursor:pointer; background:transparent; }

/* cursore: zoom solo su immagini con lightbox */
.egs-gallery[data-lightbox="1"] .egs-main{ cursor:zoom-in; }
.egs-gallery[data-lightbox="1"] .egs-main.egs-has-media{ cursor:default; }

/* badge "tocca per audio" */
.egs-mute-hint{
	position:absolute; left:10px; bottom:10px; z-index:3;
	background:rgba(0,0,0,.55); color:#fff; border-radius:20px;
	padding:5px 11px; font-size:12px; line-height:1; pointer-events:none;
	display:none;
}
.egs-zoom-hint{ display:none; }
.egs-gallery[data-lightbox="1"] .egs-zoom-hint{ display:flex; }

/* play overlay sulle thumbnail video */
.egs-thumb{ position:relative; }
.egs-thumb-video{ height:100%; width:auto; object-fit:cover; display:block; }
.egs-thumb-ph{ display:block; width:100%; height:100%; background:#1c1c1c; }
.egs-thumb .egs-play{
	position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
	pointer-events:none;
}
.egs-thumb .egs-play svg{ filter:drop-shadow(0 1px 3px rgba(0,0,0,.4)); }

/* lightbox: video & iframe */
.egs-lb-video{ max-width:92vw; max-height:78vh; border-radius:10px; background:#000; }
.egs-lb-embed{ width:92vw; max-width:1100px; height:52vw; max-height:78vh; border:0; border-radius:10px; background:#000; }
.egs-lb-thumb{ position:relative; flex:0 0 auto; padding:0; border:2px solid transparent; border-radius:8px; overflow:hidden; background:#1c1c1c; cursor:pointer; }
.egs-lb-thumb img{ height:54px; width:auto; display:block; opacity:.55; }
.egs-lb-thumb.is-active{ border-color:#fff; }
.egs-lb-thumb.is-active img{ opacity:1; }
.egs-lb-thumb .egs-thumb-ph{ width:80px; height:54px; }
.egs-lb-thumb .egs-play-mini{
	position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
	color:#fff; font-size:16px; text-shadow:0 1px 3px rgba(0,0,0,.6); pointer-events:none;
}
@media (max-width:767px){
	.egs-lb-embed{ height:56vw; }
}
