/* Séances Photo Noël — pop-up d'annonce */

.nsn-pop {
	--nsn-primaire: #8C1220;
	--nsn-or: #C8A253;
	--nsn-fond: #FDF6EA;
	--nsn-encre: #3B2C22;
	--nsn-doux: #7A6A5C;

	position: fixed;
	inset: 0;
	z-index: 99999;
	display: grid;
	place-items: center;
	padding: 20px;
	font-family: Georgia, 'Iowan Old Style', 'Times New Roman', serif;
}

.nsn-pop[hidden] { display: none; }

.nsn-pop__voile {
	position: absolute;
	inset: 0;
	background: rgba(30, 18, 14, .55);
	opacity: 0;
	transition: opacity .25s ease;
}

.nsn-pop.est-visible .nsn-pop__voile { opacity: 1; }

.nsn-pop__boite {
	position: relative;
	width: 100%;
	max-width: 400px;
	padding: 34px 28px 26px;
	background: var(--nsn-fond);
	border: 1px solid var(--nsn-or);
	border-radius: 18px;
	box-shadow: 0 24px 60px rgba(30, 18, 14, .3);
	text-align: center;
	color: var(--nsn-encre);
	opacity: 0;
	transform: translateY(14px) scale(.98);
	transition: opacity .25s ease, transform .25s ease;
}

.nsn-pop.est-visible .nsn-pop__boite { opacity: 1; transform: none; }

.nsn-pop__croix {
	position: absolute;
	top: 10px;
	right: 12px;
	width: 34px;
	height: 34px;
	border: 0;
	background: none;
	color: var(--nsn-doux);
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
}

.nsn-pop__sur {
	margin: 0;
	font-size: 11px;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--nsn-or);
}

.nsn-pop__titre {
	margin: 8px 0 4px;
	font-size: 27px;
	line-height: 1.2;
	color: var(--nsn-primaire);
}

.nsn-pop__periode {
	display: inline-block;
	margin: 6px 0 0;
	padding: 5px 15px;
	border-radius: 999px;
	background: var(--nsn-primaire);
	color: #fff;
	font-size: 13px;
}

.nsn-pop__texte {
	margin: 16px 0 0;
	font-size: 16px;
	line-height: 1.55;
	color: var(--nsn-doux);
}

.nsn-pop__formules {
	list-style: none;
	margin: 18px 0 0;
	padding: 0;
	display: grid;
	gap: 8px;
}

.nsn-pop__formules li {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	padding: 9px 14px;
	background: #fffdf9;
	border: 1px solid #EADFC8;
	border-radius: 10px;
	font-size: 15px;
}

.nsn-pop__prix { color: var(--nsn-primaire); font-size: 19px; }

.nsn-pop__bouton {
	display: block;
	margin: 20px 0 0;
	padding: 14px 22px;
	background: var(--nsn-primaire);
	color: #fff;
	border-radius: 999px;
	text-decoration: none;
	font-size: 16px;
}

.nsn-pop__bouton:hover,
.nsn-pop__bouton:focus { color: #fff; }

.nsn-pop__secondaire {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	margin: 12px 0 0;
	color: var(--nsn-doux);
	font-size: 14px;
}

.nsn-pop__lien {
	padding: 4px;
	border: 0;
	background: none;
	color: var(--nsn-doux);
	font-family: inherit;
	font-size: 14px;
	text-decoration: underline;
	cursor: pointer;
}

.nsn-pop__mention {
	margin: 14px 0 0;
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--nsn-or);
}

@media (max-width: 480px) {
	.nsn-pop { padding: 0; place-items: end center; }
	.nsn-pop__boite {
		max-width: none;
		border-radius: 18px 18px 0 0;
		border-bottom: 0;
		padding: 28px 22px 22px;
	}
	.nsn-pop__titre { font-size: 24px; }
}

@media (prefers-reduced-motion: reduce) {
	.nsn-pop__voile,
	.nsn-pop__boite { transition: none; }
}
