/* ==========================================================================
   AFFANECOM - newsletter band

   WPForms renders this form in "modern" mode (.wpforms-render-modern), which
   strips the native checkbox with appearance:none and redraws it from its own
   CSS custom properties. Overriding it therefore means redrawing the control
   here, not just resizing the input.
   ========================================================================== */

.affan-nl.e-con{
	display:flex !important;
	flex-direction:row !important;
	align-items:center !important;
	gap:48px !important;
	background-color:#252525 !important;
	border-radius:20px !important;
	padding:clamp(32px,4vw,54px) clamp(28px,4vw,56px) !important;
	overflow:hidden;
}
.affan-nl.e-con > .e-con{
	width:auto !important;
	max-width:none !important;
	margin:0 !important;
}
.affan-nl-copy.e-con{
	flex:1 1 50% !important;
	max-width:50% !important;
	padding:0 !important;
	gap:0 !important;
}
.affan-nl-form-col.e-con{
	flex:1 1 50% !important;
	max-width:50% !important;
	padding:0 !important;
	gap:0 !important;
}

.affan-nl-copy .elementor-widget{ margin-bottom:0 !important; width:100% !important; }
.affan-nl-copy .elementor-widget-text-editor{ margin-top:14px !important; }
.affan-nl-copy .elementor-widget-text-editor p{ margin:0 !important; max-width:46ch; }

/* Form shell ------------------------------------------------------------- */
.affan-nl .wpforms-container,
.affan-nl .wpforms-container-full{
	margin:0 !important;
	padding:0 !important;
}
.affan-nl .wpforms-form{ gap:0; }
.affan-nl .wpforms-field{
	padding:0 !important;
	margin:0 !important;
}
.affan-nl .wpforms-head-container,
.affan-nl .wpforms-title,
.affan-nl .wpforms-description,
.affan-nl .wpforms-field-label.wpforms-label-hide,
.affan-nl legend.wpforms-label-hide{
	display:none !important;
}

.affan-nl .wpforms-field-container{
	display:flex;
	flex-direction:column;
	gap:15px;
}

/* Email input ------------------------------------------------------------ */
.affan-nl .wpforms-field-email input[type=email]{
	box-sizing:border-box !important;
	width:100% !important;
	height:60px !important;
	min-height:60px !important;
	max-height:60px !important;
	padding:0 26px !important;
	margin:0 !important;
	border:1px solid rgba(255,255,255,.18) !important;
	border-radius:999px !important;
	background:rgba(255,255,255,.07) !important;
	color:#fff !important;
	font-family:"Inter",sans-serif !important;
	font-size:1rem !important;
	line-height:normal !important;
	box-shadow:none !important;
	transition:border-color .18s ease, background-color .18s ease;
}
.affan-nl .wpforms-field-email input[type=email]::placeholder{
	color:rgba(255,255,255,.42) !important;
	opacity:1;
}
.affan-nl .wpforms-field-email input[type=email]:focus{
	border-color:#F47C20 !important;
	background:rgba(255,255,255,.11) !important;
	outline:none !important;
	box-shadow:0 0 0 3px rgba(244,124,32,.22) !important;
}

/* Submit ----------------------------------------------------------------- */
.affan-nl .wpforms-submit-container{
	padding:0 !important;
	margin:0 !important;
}
.affan-nl button.wpforms-submit{
	box-sizing:border-box !important;
	width:100%;
	height:60px !important;
	min-height:60px !important;
	max-height:60px !important;
	padding:0 36px !important;
	margin:0 !important;
	border:0 !important;
	border-radius:999px !important;
	background:#F47C20 !important;
	color:#fff !important;
	font-family:"Inter",sans-serif !important;
	font-size:1rem !important;
	font-weight:700 !important;
	line-height:1 !important;
	white-space:nowrap;
	cursor:pointer;
	box-shadow:0 10px 26px rgba(244,124,32,.30);
	transition:background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.affan-nl button.wpforms-submit:hover,
.affan-nl button.wpforms-submit:focus-visible{
	background:#dd6a12 !important;
	transform:translateY(-1px);
	box-shadow:0 14px 30px rgba(244,124,32,.40);
}

/* Input and button share a row once there is room. */
@media (min-width:620px){
	.affan-nl .wpforms-form{
		display:grid;
		grid-template-columns:minmax(0,1fr) auto;
		grid-template-areas:"fields submit";
		align-items:start;
		column-gap:14px;
	}
	.affan-nl .wpforms-field-container{ grid-area:fields; }
	.affan-nl .wpforms-submit-container{ grid-area:submit; }
	.affan-nl button.wpforms-submit{ width:auto; }
}

/* Consent ---------------------------------------------------------------- */
.affan-nl .wpforms-field-checkbox fieldset{
	border:0 !important;
	padding:0 !important;
	margin:0 !important;
}
.affan-nl .wpforms-field-checkbox ul{
	margin:0 !important;
	padding:0 !important;
	list-style:none !important;
}
.affan-nl .wpforms-field-checkbox li{
	display:flex !important;
	align-items:flex-start;
	gap:10px;
	margin:0 !important;
	padding:0 !important;
}

/* Redraw the control: modern mode has already removed the native one. */
.affan-nl .wpforms-field-checkbox input[type=checkbox]{
	-webkit-appearance:none !important;
	appearance:none !important;
	box-sizing:border-box !important;
	position:relative;
	flex:0 0 auto !important;
	width:18px !important;
	height:18px !important;
	min-width:18px !important;
	max-width:18px !important;
	min-height:18px !important;
	max-height:18px !important;
	margin:1px 0 0 !important;
	padding:0 !important;
	border:1px solid rgba(255,255,255,.32) !important;
	border-radius:5px !important;
	background:rgba(255,255,255,.06) !important;
	box-shadow:none !important;
	cursor:pointer;
	transition:background-color .16s ease, border-color .16s ease;
}
.affan-nl .wpforms-field-checkbox input[type=checkbox]::before,
.affan-nl .wpforms-field-checkbox input[type=checkbox]::after{
	content:none !important;
}
.affan-nl .wpforms-field-checkbox input[type=checkbox]:hover{
	border-color:rgba(255,255,255,.5) !important;
}
.affan-nl .wpforms-field-checkbox input[type=checkbox]:focus-visible{
	outline:2px solid #F47C20;
	outline-offset:2px;
}
.affan-nl .wpforms-field-checkbox input[type=checkbox]:checked{
	background:#F47C20 !important;
	border-color:#F47C20 !important;
}
/* Tick drawn as a rotated corner so it needs no icon font. */
.affan-nl .wpforms-field-checkbox input[type=checkbox]:checked::after{
	content:"" !important;
	position:absolute;
	left:5px;
	top:1px;
	width:5px;
	height:10px;
	border:solid #252525;
	border-width:0 2.2px 2.2px 0;
	transform:rotate(43deg);
}

.affan-nl .wpforms-field-checkbox label,
.affan-nl .wpforms-field-checkbox .wpforms-field-label-inline{
	margin:0 !important;
	padding:0 !important;
	font-family:"Inter",sans-serif !important;
	font-size:.84rem !important;
	font-weight:400 !important;
	line-height:1.5 !important;
	color:rgba(255,255,255,.56) !important;
	cursor:pointer;
}

/* Validation ------------------------------------------------------------- */
.affan-nl .wpforms-error,
.affan-nl label.wpforms-error,
.affan-nl em.wpforms-error{
	display:block;
	color:#FFB4A2 !important;
	font-size:.82rem !important;
	font-style:normal !important;
	margin-top:7px !important;
}
.affan-nl .wpforms-field-email input.wpforms-error{
	border-color:#E06A52 !important;
}

/* Confirmation ----------------------------------------------------------- */
.affan-nl .wpforms-confirmation-container-full{
	margin:0 !important;
	padding:22px 26px !important;
	border:1px solid rgba(244,124,32,.42) !important;
	border-radius:14px !important;
	background:rgba(244,124,32,.12) !important;
}
.affan-nl .wpforms-confirmation-container-full p{
	margin:0 !important;
	color:rgba(255,255,255,.92) !important;
	font-family:"Inter",sans-serif;
	font-size:.95rem;
	line-height:1.7;
}
.affan-nl-code{
	display:inline-block;
	padding:3px 10px;
	margin:0 2px;
	border-radius:6px;
	background:#F47C20;
	color:#252525 !important;
	font-family:"Plus Jakarta Sans","Inter",monospace;
	font-size:.92rem;
	font-weight:800;
	letter-spacing:.06em;
}

/* Reassurance line ------------------------------------------------------- */
.affan-nl-form-col .elementor-widget-text-editor{ margin-top:14px !important; }
.affan-nl-note{
	margin:0 !important;
	font-family:"Inter",sans-serif;
	font-size:.82rem;
	line-height:1.55;
	color:rgba(255,255,255,.44);
}

/* Stacked ---------------------------------------------------------------- */
@media (max-width:900px){
	.affan-nl.e-con{
		flex-direction:column !important;
		align-items:stretch !important;
		gap:28px !important;
	}
	.affan-nl-copy.e-con,
	.affan-nl-form-col.e-con{
		flex:1 1 auto !important;
		max-width:100% !important;
		width:100% !important;
	}
}

@media (prefers-reduced-motion:reduce){
	.affan-nl button.wpforms-submit{ transition:none; }
	.affan-nl button.wpforms-submit:hover{ transform:none; }
}
