/**
 * Sistema popup — front-end.
 * Caricato on-demand solo quando in pagina è presente almeno un popup attivo.
 */

.aglaya-popup {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	box-sizing: border-box;
	padding: 20px;
	opacity: 0;
	transition: opacity 0.25s ease;
}

.aglaya-popup[hidden] {
	display: none;
}

.aglaya-popup.is-open {
	opacity: 1;
}

/* Posizioni */
.aglaya-popup.is-pos-center       { align-items: center;     justify-content: center; }
.aglaya-popup.is-pos-top          { align-items: flex-start; justify-content: center; }
.aglaya-popup.is-pos-bottom       { align-items: flex-end;   justify-content: center; }
.aglaya-popup.is-pos-top-left     { align-items: flex-start; justify-content: flex-start; }
.aglaya-popup.is-pos-top-right    { align-items: flex-start; justify-content: flex-end; }
.aglaya-popup.is-pos-bottom-left  { align-items: flex-end;   justify-content: flex-start; }
.aglaya-popup.is-pos-bottom-right { align-items: flex-end;   justify-content: flex-end; }

.aglaya-popup__dialog {
	position: relative;
	box-sizing: border-box;
	max-width: 92vw;
	max-height: 90vh;
	overflow: auto;
	box-shadow: 0 10px 40px rgba( 0, 0, 0, 0.25 );
	transition: transform 0.25s ease;
}

/* Animazioni d'ingresso (lo stato "chiuso" è applicato quando manca .is-open) */
.aglaya-popup.is-anim-zoom .aglaya-popup__dialog        { transform: scale( 0.9 ); }
.aglaya-popup.is-anim-zoom.is-open .aglaya-popup__dialog { transform: scale( 1 ); }

.aglaya-popup.is-anim-slide-up .aglaya-popup__dialog         { transform: translateY( 30px ); }
.aglaya-popup.is-anim-slide-up.is-open .aglaya-popup__dialog { transform: translateY( 0 ); }

.aglaya-popup.is-anim-slide-down .aglaya-popup__dialog         { transform: translateY( -30px ); }
.aglaya-popup.is-anim-slide-down.is-open .aglaya-popup__dialog { transform: translateY( 0 ); }

.aglaya-popup__close {
	position: absolute;
	top: 8px;
	right: 12px;
	padding: 4px 8px;
	border: 0;
	background: none;
	color: inherit;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}

.aglaya-popup__close:hover,
.aglaya-popup__close:focus-visible {
	opacity: 0.6;
}

.aglaya-popup__content > :first-child { margin-top: 0; }
.aglaya-popup__content > :last-child  { margin-bottom: 0; }
.aglaya-popup__content img { max-width: 100%; height: auto; }

/* Blocca lo scroll della pagina quando un popup è aperto */
.aglaya-popup-open { overflow: hidden; }

/* Utility accessibilità (fallback se non già definita nel tema) */
.aglaya-popup .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect( 0, 0, 0, 0 );
	border: 0;
	word-wrap: normal;
}

@media ( prefers-reduced-motion: reduce ) {
	.aglaya-popup,
	.aglaya-popup__dialog {
		transition: none;
	}
}
