/* ── Appeal banner ───────────────────────────── */
.lm-banner[hidden]{display:none;}
.lm-banner{position:relative; z-index:1; padding:16px 54px 16px 22px; background:#EEF3FA; border-bottom:1px solid #D7E2F0; color:#0F1E33; font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; line-height:1.55;}
.lm-banner .lm-close{position:absolute; top:10px; right:12px; width:26px; height:26px; border:none; background:transparent; border-radius:6px; font-size:15px; line-height:1; cursor:pointer; color:inherit; opacity:.65;}
.lm-banner .lm-close:hover{opacity:1; background:rgba(0,0,0,.08);}
.lm-banner .lm-flex{display:flex; gap:22px; align-items:center; max-width:1224px; margin:0 auto;}
.lm-banner .lm-copy{flex:1; min-width:0;}
.lm-banner .lm-copy h5{font-size:16.5px; font-weight:800; color:#1C3454; margin:0 0 3px;}
.lm-banner .lm-copy p{font-size:14px; max-width:640px; margin:0;}
.lm-banner .lm-copy p i{color:#1C3454;}
.lm-banner .lm-actions{display:flex; flex-direction:column; gap:7px; flex:none; align-items:stretch;}
.lm-banner .lm-btn{display:inline-block; text-align:center; font-family:inherit; font-weight:700; font-size:13.5px; line-height:1.4; border-radius:8px; padding:9px 18px; cursor:pointer; border:2px solid transparent; white-space:nowrap; background:#1C3454; color:#fff; transition:background-color .2s ease;}
.lm-banner .lm-btn:hover{background:#142740;}
.lm-banner .lm-later{font-family:inherit; font-size:12px; text-align:center; text-decoration:underline; cursor:pointer; opacity:.75; background:none; border:0; padding:0; color:inherit;}
.lm-banner .lm-later:hover{opacity:1;}
.lm-banner button:focus-visible{outline:2px solid #1C3454; outline-offset:2px;}
@media (max-width:760px){
  .lm-banner .lm-flex{flex-direction:column; align-items:stretch;}
  .lm-banner .lm-actions{align-items:flex-end;}
  .lm-banner .lm-btn{width:auto;}
}

/* ── Modal ──────────────────────────────────── */
.lm-modal[hidden]{display:none;}
.lm-modal{position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; padding:20px;}
.lm-modal__backdrop{position:absolute; inset:0; background:rgba(6,20,45,.62); opacity:0; transition:opacity .3s ease;}
.lm-modal__panel{position:relative; width:100%; max-width:520px; max-height:calc(100dvh - 40px); overflow-y:auto; overscroll-behavior:contain; background:#fff; border-radius:20px; box-shadow:0 30px 80px -20px rgba(3,20,60,.6); padding:32px 28px 28px; color:#0F1E33; font-family:var(--lh-font, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif); opacity:0; transform:translateY(18px) scale(.98); transition:opacity .3s ease, transform .35s cubic-bezier(.22,.8,.24,1);}
.lm-modal.is-open .lm-modal__backdrop{opacity:1;}
.lm-modal.is-open .lm-modal__panel{opacity:1; transform:none;}
.lm-modal__close{position:absolute; top:12px; right:12px; width:34px; height:34px; border:0; border-radius:50%; background:#EEF3FA; color:#1C3454; font-size:15px; line-height:1; cursor:pointer;}
.lm-modal__close:hover{background:#D7E2F0;}
.lm-modal__title{margin:0 0 6px; font-size:22px; font-weight:800; color:#1C3454; line-height:1.25; padding-right:36px;}
.lm-modal__lead{margin:0 0 18px; font-size:14.5px; line-height:1.55; color:#3B4E66;}
html.lm-modal-lock{overflow:hidden;}
@media (max-width:479px){
  .lm-modal{padding:12px; align-items:flex-end;}
  .lm-modal__panel{padding:28px 18px 20px; border-radius:18px;}
}
@media (prefers-reduced-motion:reduce){
  .lm-modal__backdrop,.lm-modal__panel{transition:none;}
}

/* Donorbox widget in the modal */
.lm-sr-only{position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.lm-modal__panel{max-width:480px; padding:44px 16px 16px;}
.lm-modal__body{display:flex; justify-content:center; min-height:420px;}
.lm-modal__body dbox-widget{display:block; width:100%;}
@media (max-width:479px){ .lm-modal__panel{padding:44px 8px 10px;} }
