/* 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 { max-width: 34rem; }
.bp-nl__form { display: grid; gap: .6rem; }
.bp-nl__title { font-weight: 700; margin: 0; }
.bp-nl__text { margin: 0; }
.bp-nl__email { padding: .7rem .9rem; border: var(--bp-input-border, 1px) solid rgba(0,0,0,.3); border-radius: var(--bp-input-radius, 4px); }
.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; font-size: .875em; }
.bp-nl__button { padding: .75rem 1.2rem; border: 0; cursor: pointer; border-radius: var(--bp-btn-radius, 0); background: var(--bp-scheme-1-button, #1a1f4d); color: var(--bp-scheme-1-button-text, #fff); font-weight: 600; }
.bp-nl__button[disabled] { opacity: .6; cursor: progress; }
.bp-nl__msg { min-height: 1.2em; margin: 0; font-size: .9em; }
.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; }
