.bpp-lock{overflow:hidden}.bpp-banner{--bpp-primary:#078238;--bpp-accent:#8cab48;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;padding:16px clamp(18px,4vw,56px);background:linear-gradient(105deg,#062c1c,var(--bpp-primary));color:#fff;box-shadow:0 8px 28px rgba(6,44,28,.16);font-family:inherit;position:relative;z-index:5}.bpp-banner div{display:grid;gap:3px}.bpp-banner strong{font-size:clamp(17px,2vw,22px);line-height:1.2}.bpp-banner span{font-size:14px;opacity:.92}.bpp-banner button,.bpp-btn,.bpp-floating{border:0;border-radius:999px;cursor:pointer;font:700 15px/1.2 inherit;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.bpp-banner button{flex:0 0 auto;padding:12px 20px;background:#fff;color:#073d25}.bpp-banner button:hover,.bpp-floating:hover,.bpp-btn:hover{transform:translateY(-1px);box-shadow:0 9px 24px rgba(0,0,0,.18)}.bpp-article-banner,.bpp-shortcode-banner{margin:28px 0;border-radius:18px;padding:18px 22px}.bpp-floating{--bpp-primary:#078238;position:fixed;z-index:99990;padding:14px 21px;background:var(--bpp-primary);color:#fff;box-shadow:0 10px 32px rgba(6,44,28,.28)}.bpp-floating--bottom-right{right:22px;bottom:22px}.bpp-floating--bottom-left{left:22px;bottom:22px}.bpp-floating--top-right{right:22px;top:22px}.bpp-floating--top-left{left:22px;top:22px}.bpp-modal[hidden]{display:none!important}.bpp-modal.bpp-modal--consent-paused{visibility:hidden!important;pointer-events:none!important}.bpp-modal{--bpp-primary:#078238;--bpp-accent:#8cab48;position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:20px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#183229}.bpp-backdrop{position:absolute;inset:0;background:rgba(3,22,14,.74);backdrop-filter:blur(5px)}.bpp-dialog{position:relative;width:min(920px,100%);height:min(820px,calc(100dvh - 40px));display:flex;flex-direction:column;overflow:hidden;background:#f8fbf9;border:1px solid rgba(255,255,255,.35);border-radius:24px;box-shadow:0 28px 90px rgba(0,0,0,.34);outline:0}.bpp-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 28px 17px;background:#fff;border-bottom:1px solid #dfeae3}.bpp-dialog__header h2{margin:3px 0 0;font-size:clamp(23px,3vw,31px);line-height:1.12;color:#062c1c}.bpp-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:var(--bpp-primary)}.bpp-close{border:0;background:#eef6f1;color:#173e2d;width:40px;height:40px;border-radius:50%;font-size:28px;line-height:1;cursor:pointer}.bpp-progress{height:5px;background:#e2ece6}.bpp-progress span{display:block;width:5%;height:100%;background:linear-gradient(90deg,var(--bpp-primary),var(--bpp-accent));transition:width .25s ease}.bpp-dialog__body{min-height:0;flex:1;overflow-y:auto;padding:28px clamp(20px,5vw,44px)}.bpp-dialog__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 28px;background:#fff;border-top:1px solid #dfeae3}.bpp-step-title{margin:0 0 8px;color:#062c1c;font-size:clamp(22px,3vw,29px);line-height:1.18}.bpp-step-lead{margin:0 0 24px;color:#536b61;font-size:15px;line-height:1.55}.bpp-modes{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:10px}.bpp-mode{display:flex;text-align:left;align-items:center;gap:16px;min-height:172px;padding:23px;border:1px solid #cfe0d5;border-radius:19px;background:#fff;color:#173e2d;cursor:pointer;box-shadow:0 8px 28px rgba(7,61,37,.06);transition:border .18s,transform .18s,box-shadow .18s}.bpp-mode:hover,.bpp-mode:focus-visible{border-color:var(--bpp-primary);transform:translateY(-2px);box-shadow:0 14px 34px rgba(7,61,37,.13)}.bpp-mode__icon{display:grid;place-items:center;flex:0 0 49px;height:49px;border-radius:15px;background:#e7f4eb;color:var(--bpp-primary);font-size:24px}.bpp-mode__copy{display:grid;gap:7px}.bpp-mode__copy strong{font-size:19px}.bpp-mode__time{width:max-content;padding:5px 9px;border-radius:999px;background:#eaf4da;color:#48641e;font-size:12px;font-weight:800}.bpp-mode__copy small{font-size:13px;line-height:1.45;color:#617269}.bpp-mode__arrow{margin-left:auto;font-size:22px;color:var(--bpp-primary)}.bpp-note,.bpp-success,.bpp-error{padding:13px 15px;border-radius:12px;font-size:14px;line-height:1.5}.bpp-note{margin:20px 0 0;background:#eef6f1;color:#496158}.bpp-success{background:#e4f5e9;color:#075c2a;font-weight:700}.bpp-error{margin:0 0 18px;background:#fff0ef;color:#9d261c;border:1px solid #f1c3bf}.bpp-crisis{margin:10px 0;padding:12px 14px;border:2px solid #b42318;border-radius:10px;background:#fff1f0;color:#7a1b13;font-weight:700;line-height:1.5}.bpp-choice-list{display:grid;gap:10px}.bpp-choice,.bpp-topic,.bpp-consent{display:flex;align-items:flex-start;gap:11px;padding:13px 15px;background:#fff;border:1px solid #d7e4dc;border-radius:12px;cursor:pointer}.bpp-choice:has(input:checked),.bpp-topic:has(input:checked){border-color:var(--bpp-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--bpp-primary) 18%,transparent);background:#f4fbf6}.bpp-choice input,.bpp-topic input,.bpp-consent input{flex:0 0 auto;margin-top:3px;accent-color:var(--bpp-primary);width:17px;height:17px}.bpp-topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bpp-question{min-width:0;margin:0 0 22px;padding:0;border:0}.bpp-question legend{width:100%;margin:0 0 10px;font-size:16px;font-weight:750;line-height:1.4;color:#173e2d}.bpp-question legend small{font-weight:500;color:#7b8f84;font-size:12px}.bpp-input{box-sizing:border-box;width:100%;min-height:46px;border:1px solid #cbdcd2;border-radius:11px;background:#fff;padding:10px 12px;font:inherit;color:#173e2d;outline:none}.bpp-input:focus{border-color:var(--bpp-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--bpp-primary) 18%,transparent)}.bpp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.bpp-field{display:grid;gap:7px;margin-bottom:16px;font-size:14px;font-weight:700;color:#294b3c}.bpp-field>.bpp-choice-list{margin-top:4px;grid-template-columns:1fr 1fr}.bpp-consent{margin-top:12px;font-size:13px;line-height:1.5}.bpp-privacy{display:inline-block;margin-top:12px;color:var(--bpp-primary);font-weight:700;font-size:13px}.bpp-honey{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.bpp-btn{padding:12px 20px}.bpp-btn:disabled{opacity:.55;cursor:wait;transform:none}.bpp-btn--primary{background:var(--bpp-primary);color:#fff}.bpp-btn--ghost{background:#edf4ef;color:#244b39}.bpp-dialog *{box-sizing:border-box}.bpp-dialog button:focus-visible,.bpp-dialog a:focus-visible{outline:3px solid color-mix(in srgb,var(--bpp-accent) 65%,#fff);outline-offset:2px}
@media(max-width:700px){.bpp-banner{align-items:flex-start;gap:12px;padding:14px 16px}.bpp-banner span{display:none}.bpp-banner button{padding:10px 13px;font-size:13px}.bpp-modal{padding:0}.bpp-dialog{width:100%;height:100dvh;border-radius:0;border:0}.bpp-dialog__header{padding:16px 18px 13px}.bpp-dialog__body{padding:21px 17px}.bpp-dialog__footer{padding:13px 17px}.bpp-modes,.bpp-topic-grid,.bpp-form-grid{grid-template-columns:1fr}.bpp-mode{min-height:132px;padding:17px}.bpp-mode__icon{flex-basis:42px;height:42px}.bpp-field>.bpp-choice-list{grid-template-columns:1fr}.bpp-floating{right:14px!important;left:auto!important;top:auto!important;bottom:14px!important;padding:12px 16px}.bpp-step-lead{margin-bottom:18px}.bpp-choice{padding:12px}.bpp-btn{padding:11px 16px}}
@media(prefers-reduced-motion:reduce){.bpp-banner button,.bpp-btn,.bpp-floating,.bpp-mode,.bpp-progress span{transition:none}}

/* Imagerie Claude Bernard — alignement avec la DA éditoriale du site. */
.bpp-banner,.bpp-modal{--bpp-ink:#0b2447;--bpp-charcoal:#1c2833;--bpp-muted:#5d6d7e;--bpp-surface:#fafcfe;--bpp-soft:#ebf5fb;--bpp-teal-soft:#d5f5f0;--bpp-border:#d5d8dc;--bpp-display:'DM Serif Display',Georgia,serif;--bpp-body:'Inter',system-ui,sans-serif}
.bpp-banner{background:linear-gradient(110deg,var(--bpp-ink),var(--bpp-primary));box-shadow:0 6px 28px rgba(11,36,71,.13);font-family:var(--bpp-body)}
.bpp-banner strong{font-family:var(--bpp-display);font-weight:400;letter-spacing:.01em}
.bpp-banner button{color:var(--bpp-ink);font-family:var(--bpp-body)}
.bpp-article-banner,.bpp-shortcode-banner{background:var(--bpp-surface);color:var(--bpp-ink);border:1px solid color-mix(in srgb,var(--bpp-accent) 24%,var(--bpp-border));box-shadow:0 6px 28px rgba(11,36,71,.08)}
.bpp-article-banner button,.bpp-shortcode-banner button{background:var(--bpp-primary);color:#fff}
.bpp-floating{font-family:'Inter',system-ui,sans-serif;box-shadow:0 10px 32px rgba(11,36,71,.24)}
.bpp-modal{font-family:var(--bpp-body);color:var(--bpp-charcoal)}
.bpp-backdrop{background:rgba(11,36,71,.76)}
.bpp-dialog{background:#f8fafc;border-radius:20px;box-shadow:0 28px 90px rgba(11,36,71,.30)}
.bpp-dialog__header,.bpp-dialog__footer{border-color:#e3e9ee}
.bpp-dialog__header h2,.bpp-step-title{font-family:var(--bpp-display);font-weight:400;color:var(--bpp-ink);letter-spacing:.01em}
.bpp-kicker{color:var(--bpp-accent)}
.bpp-close{background:var(--bpp-soft);color:var(--bpp-ink)}
.bpp-progress{background:#e7edf2}
.bpp-step-lead{color:var(--bpp-muted)}
.bpp-mode{border-color:#dce6ec;border-radius:14px;color:var(--bpp-ink);box-shadow:0 2px 16px rgba(11,36,71,.05)}
.bpp-mode:hover,.bpp-mode:focus-visible{box-shadow:0 12px 34px rgba(11,36,71,.11)}
.bpp-mode__icon{background:var(--bpp-soft)}
.bpp-mode__time{background:var(--bpp-teal-soft);color:#08695f}
.bpp-mode__copy small{color:var(--bpp-muted)}
.bpp-note{background:var(--bpp-soft);color:var(--bpp-muted)}
.bpp-choice,.bpp-topic,.bpp-consent{border-color:#dce6ec;border-radius:12px}
.bpp-choice:has(input:checked),.bpp-topic:has(input:checked){background:color-mix(in srgb,var(--bpp-accent) 7%,#fff)}
.bpp-question legend,.bpp-input{color:var(--bpp-ink)}
.bpp-question legend small{color:#7a8998}
.bpp-input{border-color:#ccd9e2;border-radius:10px}
.bpp-field{color:#29465e}
.bpp-btn--ghost{background:var(--bpp-soft);color:var(--bpp-ink)}
@media(max-width:700px){.bpp-dialog{border-radius:0}.bpp-article-banner,.bpp-shortcode-banner{border-radius:14px}.bpp-floating--bottom-left{left:14px!important;right:auto!important;top:auto!important;bottom:14px!important}}

/* Full questionnaire: isolate text colours from host-theme label/checked rules. */
.bpp-modal .bpp-question,
.bpp-modal .bpp-question legend,
.bpp-modal .bpp-question .bpp-choice,
.bpp-modal .bpp-question .bpp-choice span,
.bpp-modal .bpp-question .bpp-choice:has(input:checked),
.bpp-modal .bpp-question .bpp-choice:has(input:checked) span{
  color:var(--bpp-ink,#0b2447)!important;
  -webkit-text-fill-color:var(--bpp-ink,#0b2447)!important;
  opacity:1!important;
}
.bpp-modal .bpp-question .bpp-input{
  color:var(--bpp-ink,#0b2447)!important;
  -webkit-text-fill-color:var(--bpp-ink,#0b2447)!important;
}

/* iOS zooms a focused control below 16px and can crop the fixed footer. */
.bpp-modal .bpp-input{font-size:17px!important;line-height:1.4;-webkit-text-size-adjust:100%}
@media(max-width:700px){
  .bpp-modal{inset:auto 0 auto 0!important;top:var(--bpp-visual-top,0)!important;height:var(--bpp-visual-height,100dvh)!important;min-height:0!important;place-items:stretch!important}
  .bpp-dialog{height:var(--bpp-visual-height,100dvh)!important;max-height:var(--bpp-visual-height,100dvh)!important;min-height:0}
  .bpp-dialog__footer{box-sizing:border-box;width:100%;max-width:100%;overflow:visible}
  .bpp-dialog__footer .bpp-btn{box-sizing:border-box;min-width:0;max-width:100%;white-space:normal;text-align:center}
}
