.nma-popup-overlay {
	position: fixed;
	inset: 0;
	background: rgba( 0, 0, 0, 0.6 );
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
	padding: 20px;
	overscroll-behavior-x: none;
}

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

.nma-popup-box {
	position: relative;
	width: min( 90vw, 900px );
	/* Altezza di partenza/fallback (pagina esterna non leggibile, o prima
	   che popup.js finisca di misurare il contenuto reale - vedi
	   assets/js/popup.js). max-height allo stesso valore: un limite che
	   l'altezza calcolata via JS (style inline, px) non supera mai, anche se
	   il contenuto reale e' piu' alto dello schermo - oltre quel limite
	   l'iframe scorre al suo interno invece di sfondare la viewport. */
	height: min( 85vh, 700px );
	max-height: min( 85vh, 700px );
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 10px 40px rgba( 0, 0, 0, 0.3 );
	transition: height 0.2s ease;
}

.nma-popup-close {
	position: absolute;
	top: 12px;
	left: 12px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: none;
	background: #fff;
	color: #000;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
	box-shadow: 0 2px 8px rgba( 0, 0, 0, 0.25 );
}

.nma-popup-close:hover {
	background: #f0f0f0;
}

.nma-popup-iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

/* Sopra l'iframe finche' non finisce di caricare (evento "load", vedi
   popup.js): l'iframe carica una pagina intera (doctype/head/body), c'e'
   sempre un istante di bianco/contenuto non stilato prima che finisca.
   Coperto da questo layer, tolto in dissolvenza (0.3s) a caricamento
   completato invece di farlo vedere. */
.nma-popup-loader {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	z-index: 1;
	opacity: 1;
	transition: opacity 0.3s ease;
}

.nma-popup-loader.is-hidden {
	opacity: 0;
	pointer-events: none;
}

.nma-popup-spinner {
	width: 36px;
	height: 36px;
	border: 3px solid rgba( 0, 0, 0, 0.15 );
	border-top-color: #000;
	border-radius: 50%;
	animation: nma-popup-spin 0.7s linear infinite;
}

@keyframes nma-popup-spin {
	to {
		transform: rotate( 360deg );
	}
}
