/* RetroFix Newsletter — front-end form */

.rfnl-wrap { width: 100%; }

/* Honeypot — must be invisible but not display:none (some bots skip those) */
.rfnl-hp {
	position: absolute !important;
	left: -9999px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.rfnl-form {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
.rfnl-form.rfnl-style-stacked {
	flex-direction: column;
	align-items: stretch;
}

.rfnl-email {
	flex: 1 1 auto;
	min-width: 200px;
	height: 52px;
	border: 2px solid rgba(0,0,0,.15);
	border-radius: 999px;
	padding: 0 22px;
	font-size: 15px;
	outline: none;
	background: #fff;
}
.rfnl-email:focus { border-color: #15A6E0; }

.rfnl-btn {
	height: 52px;
	padding: 0 32px;
	background: #ED1C24;
	color: #fff;
	border: none;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .2s, opacity .2s;
	white-space: nowrap;
}
.rfnl-btn:hover { background: #C00D14; }
.rfnl-btn:disabled { opacity: .6; cursor: default; }
.rfnl-btn.rfnl-loading { position: relative; color: transparent; }
.rfnl-btn.rfnl-loading::after {
	content: "";
	position: absolute;
	width: 16px; height: 16px;
	top: 50%; left: 50%;
	margin: -8px 0 0 -8px;
	border: 2px solid rgba(255,255,255,.5);
	border-top-color: #fff;
	border-radius: 50%;
	animation: rfnl-spin .7s linear infinite;
}
@keyframes rfnl-spin { to { transform: rotate(360deg); } }

.rfnl-msg {
	flex-basis: 100%;
	margin: 6px 0 0;
	font-size: 13px;
	min-height: 18px;
}
.rfnl-msg-ok { color: #1a7f37; }
.rfnl-msg-err { color: #ffd2d2; }

/* When placed on a light background, override the error colour */
.rfnl-style-stacked .rfnl-msg-err { color: #b32d2e; }
