/* bp-core — styles front (pilotés par les variables --bp-* de la charte) */
.bp-liv { margin: 1rem 0; }
.bp-liv__legend { display: block; font-weight: 600; margin-bottom: .5rem; }
.bp-liv__set { border: 0; padding: 0; margin: 0; }
.bp-liv__opt { display: flex; align-items: center; gap: .6rem; padding: .6rem .8rem; border: var(--bp-input-border, 1px) solid rgba(0,0,0,.2); border-radius: var(--bp-input-radius, 6px); margin-bottom: .4rem; cursor: pointer; }
.bp-liv__opt:has(input:checked) { border-color: currentColor; box-shadow: 0 0 0 1px currentColor; }
.bp-tiers-hint { margin: 0 0 1rem; }
.bp-nl { box-sizing: border-box; width: 100%; max-width: 38rem; margin: 0 auto; padding: 1.6rem 1.5rem; border-radius: 24px; background: #fff; box-shadow: 0 1px 2px rgba(28, 33, 71, .06), 0 18px 40px -22px rgba(28, 33, 71, .35); text-align: center; font-family: var(--bp-font-body, 'Nunito', system-ui, sans-serif); color: var(--bp-ink, #2b2622); }
.bp-nl__form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .7rem; align-items: stretch; }
.bp-nl__title, .bp-nl__text, .bp-nl__consent, .bp-nl__msg { grid-column: 1 / -1; }
.bp-nl .bp-nl__title { font-weight: 700; font-size: 1.35rem; line-height: 1.25; font-family: var(--bp-font-heading, 'Poppins', system-ui, sans-serif); margin: 0; color: #1a1f4d; color: var(--bp-header-bg, #1a1f4d); }
.bp-nl .bp-nl__text { margin: 0; color: #6b635b; font-size: .95rem; }
.bp-nl__email { box-sizing: border-box; min-width: 0; height: 48px; padding: 0 1.1rem; border: 1px solid #ddd6cc; border-radius: 999px; background: #faf8f5; font: inherit; font-size: .95rem; color: inherit; transition: border-color .15s, box-shadow .15s; }
.bp-nl__email:focus { outline: none; border-color: var(--bp-header-bg, #34439e); box-shadow: 0 0 0 3px color-mix(in srgb, var(--bp-header-bg, #34439e) 18%, transparent); background: #fff; }
.bp-nl__hp { position: absolute !important; left: -9999px !important; height: 0; width: 0; opacity: 0; }
.bp-nl__consent { display: flex; gap: .5rem; align-items: flex-start; justify-content: center; font-size: .8rem; color: #6b635b; text-align: left; line-height: 1.4; }
.bp-nl__consent input { margin-top: .15rem; accent-color: var(--bp-scheme-1-button, #c2410c); }
.bp-nl__button { height: 48px; padding: 0 1.6rem; border: 0; cursor: pointer; border-radius: 999px; font: 700 .95rem 'Poppins', system-ui, sans-serif; background: var(--bp-scheme-1-button, #c2410c); color: var(--bp-scheme-1-button-text, #fff); transition: transform .15s, filter .15s; }
.bp-nl__button:hover { filter: brightness(1.08); transform: translateY(-1px); }
.bp-nl__button[disabled] { opacity: .6; cursor: progress; }
.bp-nl__msg { min-height: 1.2em; margin: 0; font-size: .9em; }
@media (max-width: 749px) { .bp-nl { padding: 1.3rem 1.1rem; border-radius: 20px; } .bp-nl__form { grid-template-columns: 1fr; } .bp-nl__title { font-size: 1.2rem; } }
.bp-nl-popup { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.5); padding: 1rem; }
.bp-nl-popup[hidden] { display: none; }
.bp-nl-popup__box { position: relative; background: var(--bp-scheme-1-bg, #fff); color: var(--bp-scheme-1-text, inherit); max-width: 30rem; width: 100%; padding: 2rem 1.5rem 1.5rem; border-radius: var(--bp-card-radius, 8px); }
.bp-nl-popup__close { position: absolute; top: .4rem; right: .6rem; background: none; border: 0; font-size: 1.6rem; line-height: 1; cursor: pointer; }

/* Bloc d'inscription avant le pied de page (newsletter.placements.site_footer) */
.bp-nl-site { padding: 2.5rem 1rem; }
