.bp-consent{flex:0 0 auto;border:0;border-radius:0;padding:0;margin:10px auto 4px;width:100%;max-width:520px;min-width:0;background:transparent;text-align:left;color:#536175;font:400 13px/1.45 system-ui,sans-serif;box-sizing:border-box}
.m-qpanel:has(.bp-consent){overflow-y:auto;overscroll-behavior:contain}
.m-qpanel:has(.bp-consent)>*{flex-shrink:0}
.m-qpanel:has(.bp-consent) .m-inwrap{flex:0 0 auto}
.bp-consent legend{font-weight:750;font-size:17px;padding:0 6px;color:#243249}
.bp-consent p{font-size:13px;line-height:1.5;margin:8px 0;color:#455369}
.bp-consent .bp-consent-sender{font-weight:700;font-size:15px}
.bp-consent .bp-consent-demo{color:#53647c;background:#f4f7fc;border-radius:8px;padding:8px 10px}
.bp-consent a{color:var(--bp-brand,#2563eb);text-decoration:underline;text-underline-offset:3px}
.bp-consent-choice{display:flex;align-items:flex-start;gap:8px;min-height:44px;padding:4px 0;cursor:pointer;border:0;font-size:12px;line-height:1.5;font-weight:400}
.bp-consent-choice input[type=checkbox]{appearance:auto!important;flex:0 0 17px;width:17px!important;height:17px!important;min-height:17px!important;padding:0!important;margin:0!important;accent-color:var(--bp-brand,#2563eb);border-radius:3px;box-shadow:none}
.bp-consent-choice span{flex:1;min-width:0}
.bp-consent [hidden]{display:none!important}
.bp-consent-name{display:block;margin:14px 0;font-weight:600}
.bp-consent-name input{display:block;box-sizing:border-box;width:100%;min-height:44px;border:1px solid #b7c4d9;border-radius:8px;padding:10px;font:400 16px system-ui;margin-top:6px}
.bp-consent :focus-visible{outline:3px solid var(--bp-brand,#2563eb);outline-offset:3px}
.bp-consent .bp-consent-error{color:#a31829;font-weight:650}
.bp-consent-error:empty{display:none}
.bp-consent .bp-terms-acceptance{display:inline;font:inherit;color:inherit;margin:0}
.bp-consent .bp-consent-choice{min-height:32px;align-items:flex-start;font-size:13px;cursor:default}
.bp-consent .bp-consent-copy{flex:1;min-width:0;margin:0;font:inherit;color:inherit}
.bp-consent-copy label{display:inline;font:inherit;color:inherit;cursor:pointer}
.bp-consent .bp-consent-copy .bp-marketing-link{display:inline;min-height:0;vertical-align:baseline;font:inherit}
.bp-consent-links{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-left:25px;font-size:12px}
.bp-consent-links a,.bp-marketing-link{display:inline-flex;align-items:center;min-height:36px}
.bp-marketing-link{border:0;padding:0;background:none;color:var(--bp-brand,#2563eb);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.bp-marketing-dialog{box-sizing:border-box;width:min(600px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #d9e1ef;border-radius:20px;background:#fff;color:#243249;padding:24px;font:400 15px/1.6 system-ui,sans-serif;text-align:left}
.bp-marketing-dialog::backdrop{background:rgba(16,24,40,.5)}
.bp-marketing-dialog h2{font:700 22px/1.25 system-ui;margin:0 0 16px}
.bp-marketing-dialog p{font:inherit;margin:12px 0}
.bp-marketing-dialog a{color:var(--bp-brand,#2563eb);text-decoration:underline}
.bp-marketing-dialog .bp-marketing-note,.bp-marketing-dialog .bp-marketing-status{font-size:13px;color:#536175}
.bp-marketing-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.bp-marketing-dialog button{border:1px solid #b7c4d9;border-radius:10px;background:#fff;color:#243249;padding:10px 14px;min-height:44px;font:600 14px/1.4 system-ui;cursor:pointer}
.bp-marketing-dialog .bp-marketing-accept{background:var(--bp-brand,#2563eb);color:var(--bp-brand-foreground,#fff);border-color:transparent}
.bp-marketing-dialog .bp-marketing-close{margin-top:14px}
.bp-marketing-dialog :focus-visible{outline:3px solid var(--bp-brand,#2563eb);outline-offset:3px}
@media(max-width:420px){.bp-marketing-dialog{padding:20px}.bp-marketing-actions button{width:100%}}
/* Keep the phone field at its natural height when the consent clause wraps. */
body:has(.bp-consent){--bp-answer-height:clamp(365px,44svh,450px)}
:is(.inwrap,.m-inwrap):has(input[type=tel]){flex:0 0 auto!important;min-height:0}
:is(.inwrap,.m-inwrap,.contact-input) input[type=tel]{flex-shrink:0;min-height:52px}
.q-scroll:has(.bp-consent){overflow-y:auto;justify-content:flex-start}
.bp-consent .bp-consent-disclosure{font-size:12px;line-height:1.45;margin:0;color:#5c6879}
.bp-consent-alternate{display:block;min-height:44px;margin:0;padding:8px 0;border:0;background:none;color:#536175;font:400 12px/1.5 system-ui;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-align:left}
@media(max-width:600px){.bp-consent{padding:0;margin-top:6px}.bp-consent-choice{font-size:12px}}
.bp-project-dialog{box-sizing:border-box;width:min(94vw,620px);max-height:90svh;overflow:auto;border:1px solid #d9e1ef;border-radius:20px;background:#fff;color:#243249;padding:24px;font:400 15px/1.5 system-ui;text-align:center}
.bp-project-dialog::backdrop{background:rgba(16,24,40,.5)}
.bp-project-dialog .sf-message-card{width:100%;max-width:100%;transform:none;margin:18px 0}
.bp-preview-close{border:0;border-radius:10px;padding:12px 20px;background:var(--bp-brand,#2563eb);color:var(--bp-brand-foreground,#fff);font:600 15px system-ui;min-height:44px;cursor:pointer}
.bp-preview-answers{text-align:left;padding-left:22px}.bp-preview-answers li{padding:7px 0;border-bottom:1px solid #edf0f5}

/* Keep the consent card clear of sticky footers on phones */
.m-qpanel .bp-consent{padding-bottom:56px}

/* Tap areas of at least 44px without changing what is drawn: the 17px box gets a 44px square of its own label in front
   of it (a click on a label's pseudo-element is a click on the label, which toggles the box), and the inline links
   reach 44px tall through an invisible pseudo-element, so the sentence keeps its line spacing (a link no longer
   breaks across two lines, so its tap area stays one piece). */
.bp-consent .bp-consent-choice{position:relative}
.bp-consent .bp-consent-copy label::before{content:"";position:absolute;left:-15px;top:calc(var(--bp-consent-box-top,4px) + 8.5px - 23px);width:46px;height:46px;z-index:1}
.bp-consent .bp-consent-copy :is(a,.bp-marketing-link){position:relative;white-space:nowrap}
.bp-consent .bp-consent-copy :is(a,.bp-marketing-link)::after{content:"";position:absolute;left:-3px;right:-3px;top:50%;height:46px;transform:translateY(-50%)}
