/* nunshen-ui — home page newsletter section (2026-11-09; scripts/home/apply-home-newsletter.php). The photo stays on the left;
   right: eyebrow, title, one line of promise, then Brevo's form restyled (its own styles are stripped): e-mail field
   underlined 1 px black with the black button on the same line, consent checkbox and unsubscribe note in small grey.
   Same grammar as the Majorelle hero (home-promo.css). Phones: photo, then the text and the form. */

body .elementor .e-con.nui-newsletter .nui-nl__body.e-con {
	--gap: 0px;
	--row-gap: 0px;
	justify-content: center;
	align-items: stretch;
	padding: clamp(40px, 5vw, 80px) clamp(20px, 5vw, 88px) !important;
	background: var(--nui-creme, #F4F0EC);
}
.nui-newsletter .nui-nl__body > .elementor-element { width: 100%; max-width: 520px; margin: 0 !important; }
.nui-newsletter .elementor-heading-title,
.nui-newsletter .nui-nl__sub p {
	margin: 0;
	font-family: var(--nui-font, "CORE SANS", sans-serif);
	color: #1A1A1A;
	text-align: left;
}
.nui-newsletter .nui-nl__eyebrow .elementor-heading-title {
	font-size: 13px;
	font-weight: var(--nui-w-bold, 600);
	line-height: 1.4;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: #5E5A55;
}
body .elementor .nui-newsletter .nui-nl__title { margin-top: 16px !important; }
.nui-newsletter .nui-nl__title .elementor-heading-title {
	font-size: clamp(28px, 2.4vw, 36px);
	font-weight: var(--nui-w-regular, 400);
	line-height: 1.2;
	text-transform: uppercase;
}
body .elementor .nui-newsletter .nui-nl__sub { margin-top: 16px !important; }
.nui-newsletter .nui-nl__sub p { font-size: 17px; font-weight: var(--nui-w-regular, 400); line-height: 1.55; }
body .elementor .nui-newsletter .nui-nl__form { margin-top: 28px !important; }

/* ---- Brevo form (markup kept: #sib-form, .sib-form-block, .entry__*, #success-message / #error-message) ---------- */
.nui-nl__form .sib-form,
.nui-nl__form #sib-form-container,
.nui-nl__form #sib-container {
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	text-align: left !important;
	font-family: var(--nui-font, "CORE SANS", sans-serif) !important;
	color: #1A1A1A;
}
.nui-nl__form #sib-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	column-gap: 0;
	row-gap: 14px;
}
.nui-nl__form #sib-form > div { padding: 0 !important; }
.nui-nl__form #sib-form > div:nth-of-type(1) { grid-column: 1; grid-row: 1; } /* e-mail */
.nui-nl__form #sib-form > div:nth-of-type(3) { grid-column: 2; grid-row: 1; } /* button */
.nui-nl__form #sib-form > div:nth-of-type(2) { grid-column: 1 / -1; grid-row: 2; } /* consent + note */
.nui-nl__form .sib-form-block,
.nui-nl__form .form__entry { margin: 0 !important; padding: 0 !important; }
.nui-nl__form .entry__field { margin: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
.nui-nl__form input.input#EMAIL {
	width: 100%;
	height: 52px;
	margin: 0;
	padding: 0 16px 0 0 !important;
	border: 0 !important;
	border-bottom: 1px solid #1A1A1A !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-family: inherit;
	font-size: 16px !important;
	color: #1A1A1A;
}
.nui-nl__form input.input#EMAIL::placeholder { color: #8A837C; opacity: 1; text-transform: none; }
.nui-nl__form input.input#EMAIL:focus { outline: none; border-bottom-width: 2px !important; }
.nui-nl__form .sib-input .entry__specification { display: none !important; } /* "Veuillez renseigner votre adresse email…" */
.nui-nl__form .sib-form-block__button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 52px;
	margin: 0 !important;
	padding: 0 28px !important;
	border: 1px solid #1A1A1A !important;
	border-radius: 0 !important;
	background: #000 !important;
	color: #fff !important;
	font-family: inherit !important;
	font-size: 13px !important;
	font-weight: var(--nui-w-bold, 600) !important;
	letter-spacing: .14em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .2s ease;
}
@media (hover: hover) { .nui-nl__form .sib-form-block__button:hover { background: #2B2926 !important; } }
.nui-nl__form .sib-form-block__button:focus-visible { outline: 2px solid #1A1A1A; outline-offset: 3px; }
.nui-nl__form .sib-form-block__button svg { width: 14px; height: 14px; fill: currentColor; }

/* consent checkbox + unsubscribe note (Brevo indents the label text with padding / negative text-indent: reset) */
.nui-nl__form .entry__choice { padding: 0 !important; text-indent: 0 !important; }
.nui-nl__form .entry__choice label { display: flex !important; align-items: flex-start; gap: 10px; margin: 0; padding: 0 !important; text-indent: 0 !important; cursor: pointer; } /* sib-styles.css loads after this file */
.nui-nl__form .entry__choice label > span:last-child { display: block; margin: 0 !important; padding: 0 !important; font-family: var(--nui-font, "CORE SANS", sans-serif) !important; }
.nui-nl__form .entry__choice p,
.nui-nl__form .sib-optin .entry__specification {
	margin: 0 !important;
	font-family: var(--nui-font, "CORE SANS", sans-serif) !important;
	font-size: 13px !important;
	font-weight: var(--nui-w-regular, 400);
	line-height: 1.5 !important;
	color: #5E5A55 !important;
	text-align: left !important;
}
.nui-nl__form .sib-optin .entry__specification { display: block; margin-top: 6px !important; padding-left: 28px; color: #8A837C !important; }
.nui-nl__form .checkbox {
	flex: none;
	width: 18px !important;
	height: 18px !important;
	margin: 1px 0 0 !important;
	border: 1px solid #1A1A1A !important;
	border-radius: 0 !important;
	background-color: transparent !important;
}
.nui-nl__form .input_replaced:checked + .checkbox { background-color: #1A1A1A !important; }
.nui-nl__form .input_replaced:focus + .checkbox { box-shadow: none !important; outline: none; }
/* required consent (EN form): Brevo's red asterisk on its own line → inline, after the text */
.nui-nl__form .entry__choice label > span:last-child > p { display: inline; }
.nui-nl__form .entry__label_optin { display: inline !important; margin: 0 !important; padding: 0 !important; }
.nui-nl__form .entry__label_optin::after { content: attr(data-required); margin-left: 3px; color: #5E5A55 !important; font-size: 13px; }
.nui-nl__form .input_replaced:focus-visible + .checkbox { outline: 2px solid #1A1A1A; outline-offset: 2px; }

/* messages (Brevo shows / hides them) */
.nui-nl__form .sib-form-message-panel {
	max-width: none !important;
	margin: 0 0 16px !important;
	padding: 14px 16px !important;
	border: 1px solid #1A1A1A !important;
	border-radius: 0 !important;
	background: #FDFDFC !important;
	font-family: inherit !important;
	font-size: 15px !important;
	color: #1A1A1A !important;
}
.nui-nl__form #error-message { border-color: #8A2E2E !important; color: #8A2E2E !important; }
.nui-nl__form .sib-form-message-panel__text { display: flex; align-items: center; gap: 10px; justify-content: flex-start !important; }
.nui-nl__form .sib-notification__icon { flex: none; width: 18px; height: 18px; fill: currentColor; }
.nui-nl__form .entry__error {
	margin: 6px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	font-family: inherit !important;
	font-size: 13px !important;
	color: #8A2E2E !important;
}

@media (max-width: 767px) {
	.nui-newsletter .nui-nl__sub p { font-size: 16px; }
	body .elementor .nui-newsletter .nui-nl__form { margin-top: 22px !important; }
	.nui-nl__form .sib-form-block__button { padding: 0 18px !important; }
}
