/* Wrapper + controlli responsive dei moduli al_* (aggiunti dal filtro do_shortcode_tag). */

.al-mod { position: relative; }

/* Ancore link interni: smooth scroll nativo (Lenis è disattivato) + offset header sticky. */
html { scroll-behavior: smooth; }
.al-mod[id] { scroll-margin-top: 96px; }

/* Visibilità per-device (breakpoint allineati a WoodMart/WPBakery). */
@media (min-width: 1025px) {
	.al-hide-desktop { display: none !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	.al-hide-tablet { display: none !important; }
}
@media (max-width: 767px) {
	.al-hide-mobile { display: none !important; }
}

/* --- Bento: promo servizi cliccabili (palline orbitanti) --- */
.al-orbit__avatar--promo {
	pointer-events: auto;   /* .al-orbit ha pointer-events:none → riabilita il clic sulla promo */
	border: 0;
	padding: 0;
	cursor: pointer;
	overflow: visible;      /* la label esce dalla pallina */
	transition: transform .25s ease, box-shadow .25s ease;
}
.al-orbit__avatar--promo:hover,
.al-orbit__avatar--promo:focus-visible {
	transform: scale(1.18);
	box-shadow: 0 8px 24px rgba(0,0,0,.4);
	z-index: 5;
	outline: none;
}
/* Pausa l'orbita quando il mouse è sulla card: le palline si fermano → facili da cliccare */
.al-card--team:hover .al-orbit__rotator,
.al-card--team:hover .al-orbit__avatar {
	animation-play-state: paused;
}
/* Label come tooltip ESTERNO, sotto la pallina */
.al-orbit__avatar-label {
	position: absolute;
	top: calc(100% + 8px);
	left: 50%;
	transform: translateX(-50%);
	font-size: 12px;
	line-height: 1;
	font-weight: 600;
	white-space: nowrap;
	color: #111;
	background: #fff;
	padding: 6px 10px;
	border-radius: 999px;
	box-shadow: 0 6px 18px rgba(0,0,0,.28);
	opacity: 0;
	transition: opacity .18s ease;
	pointer-events: none;
	z-index: 6;
}
.al-orbit__avatar--promo:hover .al-orbit__avatar-label,
.al-orbit__avatar--promo:focus-visible .al-orbit__avatar-label { opacity: 1; }

/* --- Modal generico moduli --- */
body.al-modal-open { overflow: hidden; }
.al-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}
.al-modal[hidden] { display: none; }
.al-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(8,8,8,.72);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}
.al-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(460px, 100%);
	max-height: calc(100vh - 48px);
	overflow-y: auto;
	background: #111;
	color: #fff;
	border-radius: 18px;
	padding: 26px;
	box-shadow: 0 30px 80px rgba(0,0,0,.55);
	animation: al-modal-in .28s cubic-bezier(.2,.7,.2,1);
}
@keyframes al-modal-in {
	from { opacity: 0; transform: translateY(16px) scale(.96); }
	to   { opacity: 1; transform: none; }
}
.al-modal__close {
	position: absolute;
	top: 12px;
	right: 16px;
	background: transparent;
	border: 0;
	color: #fff;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	opacity: .7;
}
.al-modal__close:hover { opacity: 1; }
.al-modal__media {
	width: 100%;
	aspect-ratio: 16 / 10;
	border-radius: 12px;
	background-size: cover;
	background-position: center;
	background-color: #1c1c1c;
	margin-bottom: 18px;
}
.al-modal__title { font-size: 22px; margin: 0 0 10px; }
.al-modal__text  { font-size: 15px; line-height: 1.55; opacity: .85; margin: 0 0 18px; }
.al-modal__link  { display: inline-block; }

