/* FMA Newsletter Manager */
.fma-nm-form-wrap{
	box-sizing:border-box;
	width:100%;
	max-width:760px;
	margin:28px auto;
	padding:30px 30px 24px;
	border-radius:16px;
	background:linear-gradient(145deg,#54c9d3 0%,#43bac6 100%);
	color:#ffffff;
	text-align:center;
	box-shadow:0 14px 34px rgba(0,0,0,.16);
	position:relative;
	overflow:hidden;
}
.fma-nm-heading{
	font-size:32px;
	font-weight:900;
	line-height:1.12;
	margin:0 0 8px;
	color:#ffd21a;
	text-shadow:0 2px 0 rgba(0,0,0,.12);
}
.fma-nm-subheading{
	font-size:19px;
	font-style:italic;
	font-weight:700;
	margin:0 0 22px;
	color:#ff1744;
	text-shadow:0 1px 0 rgba(0,0,0,.08);
}
.fma-nm-subheading::first-letter{color:#ff1744}
.fma-nm-row{
	display:grid;
	grid-template-columns:1fr 1.35fr auto;
	gap:12px;
	justify-content:center;
	align-items:stretch;
}
.fma-nm-row input[type=text],
.fma-nm-row input[type=email]{
	width:100%;
	min-width:0;
	height:50px;
	padding:0 15px;
	border:0;
	border-radius:8px;
	font-size:16px;
	background:#ffffff;
	color:#202020;
	box-sizing:border-box;
	outline:none;
	box-shadow:0 2px 8px rgba(0,0,0,.08);
}
.fma-nm-row input:focus{
	box-shadow:0 0 0 3px rgba(255,210,26,.55);
}
.fma-nm-row button{
	height:50px;
	padding:0 27px;
	border:0;
	border-radius:8px;
	background:#f12f6b;
	color:#ffffff;
	font-weight:900;
	font-size:15px;
	cursor:pointer;
	box-shadow:0 5px 12px rgba(150,15,65,.28);
	transition:transform .15s ease,filter .15s ease;
	white-space:nowrap;
}
.fma-nm-row button:hover{filter:brightness(1.05);transform:translateY(-1px)}
.fma-nm-row button:disabled{opacity:.65;cursor:wait;transform:none}
.fma-nm-consent{
	display:flex;
	align-items:flex-start;
	gap:8px;
	text-align:left;
	max-width:720px;
	margin:14px auto 0;
	font-size:12px;
	line-height:1.45;
	color:#fff;
}
.fma-nm-consent input{margin-top:2px;accent-color:#ffd21a}
.fma-nm-consent a{color:#ffe16a;text-decoration:underline;font-weight:700}
.fma-nm-note{
	font-size:11px;
	margin-top:13px;
	color:rgba(255,255,255,.85);
}
.fma-nm-message{
	min-height:20px;
	margin-top:10px;
	font-size:13px;
	font-weight:800;
	color:#b7ff5a;
	text-shadow:0 1px 0 rgba(0,0,0,.12);
}
.fma-nm-message.is-error{color:#ffeb3b}
.fma-nm-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Full-box confirmation state
 * The confirmation panel overlays the existing subscription box.
 * It does not change the box width, height or aspect ratio.
 */
.fma-nm-form-complete{
	visibility:hidden;
	opacity:0;
	pointer-events:none;
}
.fma-nm-note-complete{
	visibility:hidden;
	opacity:0;
}
.fma-nm-success-screen{
	display:none;
	position:absolute;
	inset:0;
	z-index:10;
	width:100%;
	height:100%;
	min-height:0;
	box-sizing:border-box;
	margin:0;
	padding:30px 34px 24px;
	background:linear-gradient(145deg,#18aabd 0%,#0799ad 100%);
	align-items:center;
	justify-content:center;
	flex-direction:column;
	text-align:center;
	border-radius:inherit;
}
.fma-nm-success-screen.is-visible{display:flex}
.fma-nm-success-close{
	position:absolute;
	right:10px;
	top:7px;
	width:40px;
	height:40px;
	border:0;
	background:transparent;
	color:#fff;
	font-size:32px;
	line-height:1;
	cursor:pointer;
	font-family:Arial,sans-serif;
}
.fma-nm-success-close:hover{color:#ffd21a}
.fma-nm-success-check{
	width:78px;
	height:78px;
	flex:0 0 auto;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	box-sizing:border-box;
	background:#57d51b;
	border:3px solid #a7f24d;
	color:#fff;
	font-size:51px;
	font-weight:900;
	line-height:1;
	box-shadow:0 8px 20px rgba(0,0,0,.18);
	margin-bottom:15px;
}
.fma-nm-success-title{
	font-size:42px;
	font-weight:950;
	line-height:1;
	color:#b7ff36;
	text-shadow:0 3px 0 rgba(0,0,0,.13);
	margin:0 0 8px;
	letter-spacing:-.5px;
}
.fma-nm-success-heading{
	font-size:23px;
	font-weight:900;
	color:#fff;
	line-height:1.2;
	margin:0;
}
.fma-nm-success-divider{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:14px;
	width:min(390px,80%);
	margin:15px 0 15px;
	color:#ffd21a;
}
.fma-nm-success-divider span{
	height:2px;
	flex:1;
	background:#ffd21a;
	border-radius:5px;
}
.fma-nm-success-divider b{
	font-size:22px;
	line-height:1;
	color:#ffd21a;
}
.fma-nm-success-copy{
	max-width:600px;
	font-size:15px;
	line-height:1.4;
	color:#fff;
	font-weight:500;
	margin:0;
}
.fma-nm-success-note{
	margin-top:13px;
	font-size:12px;
	color:rgba(255,255,255,.78);
}
.fma-nm-overlay{
	display:none;
	position:fixed;
	z-index:999999;
	inset:0;
	background:rgba(5,19,30,.62);
	align-items:center;
	justify-content:center;
	padding:20px;
	box-sizing:border-box;
	backdrop-filter:blur(2px);
}
.fma-nm-overlay.is-open{display:flex}
.fma-nm-popup{
	position:relative;
	width:min(720px,100%);
	max-height:90vh;
	overflow:auto;
}
.fma-nm-popup .fma-nm-form-wrap{
	margin:0;
	padding:34px 30px 26px;
}
body.fma-nm-no-scroll{overflow:hidden}

@media(max-width:700px){
	.fma-nm-form-wrap{padding:26px 18px 22px}
	.fma-nm-heading{font-size:27px}
	.fma-nm-subheading{font-size:17px}
	.fma-nm-row{grid-template-columns:1fr}
	.fma-nm-row input[type=text],
	.fma-nm-row input[type=email],
	.fma-nm-row button{width:100%}
	.fma-nm-popup{width:100%}
	.fma-nm-popup .fma-nm-form-wrap{padding:30px 18px 24px}
	.fma-nm-success-screen{padding:24px 18px 20px}
	.fma-nm-success-check{width:64px;height:64px;font-size:42px;margin-bottom:12px}
	.fma-nm-success-title{font-size:34px}
	.fma-nm-success-heading{font-size:19px}
	.fma-nm-success-copy{font-size:14px}
	.fma-nm-success-divider{margin:11px 0 12px}
}
