/* v47: Professional campaign donation checkout and no swipe-to-close handle */
:root{
  --checkout-primary:#204C3C;
  --checkout-primary-2:#2b654f;
  --checkout-soft:#F5FAF7;
  --checkout-border:rgba(32,76,60,.16);
  --checkout-border-strong:rgba(32,76,60,.30);
  --checkout-text:#14241d;
  --checkout-muted:#566170;
}

.global-donation-modal__dialog::before,
.campaign-donation-modal__dialog::before,
.campaign-donation-modal__dialog:before,
.global-donation-modal__dialog:before{
  content:none!important;
  display:none!important;
}

.campaign-donation-modal--pro{
  z-index:10050!important;
  padding:clamp(12px,2.4vw,28px)!important;
  background:transparent!important;
}

.campaign-donation-modal--pro .campaign-donation-modal__backdrop{
  background:rgba(8,37,29,.66)!important;
  backdrop-filter:blur(13px)!important;
}

.campaign-donation-modal--pro .campaign-donation-modal__dialog.donation-checkout-pro{
  width:min(760px,100%)!important;
  max-height:min(92svh,920px)!important;
  overflow:auto!important;
  border-radius:28px!important;
  background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%)!important;
  border:1px solid rgba(255,255,255,.75)!important;
  box-shadow:0 30px 100px rgba(0,0,0,.30)!important;
  padding:18px!important;
  transform:none!important;
  transition:none!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
}

.campaign-donation-modal--pro .campaign-donation-modal__close{
  position:absolute!important;
  top:16px!important;
  right:16px!important;
  left:auto!important;
  width:48px!important;
  height:48px!important;
  border-radius:16px!important;
  border:1px solid var(--checkout-border)!important;
  background:#fff!important;
  color:var(--checkout-primary)!important;
  box-shadow:0 14px 34px rgba(32,76,60,.13)!important;
  font-size:34px!important;
  font-weight:400!important;
  line-height:1!important;
  z-index:5!important;
}

.campaign-donation-modal--pro .campaign-donation-modal__close:hover,
.campaign-donation-modal--pro .campaign-donation-modal__close:focus-visible{
  background:var(--checkout-soft)!important;
  outline:3px solid rgba(32,76,60,.18)!important;
  outline-offset:2px!important;
}

.campaign-donation-modal--pro .campaign-donation-form.donation-checkout{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.donation-checkout__topbar{display:none!important;}

.campaign-donation-modal--pro .donation-checkout__header{
  padding:8px 66px 14px 0!important;
  margin:0 0 12px!important;
  border-bottom:1px solid var(--checkout-border)!important;
}

html[dir="rtl"] .campaign-donation-modal--pro .donation-checkout__header{
  padding:8px 0 14px 66px!important;
  text-align:right!important;
}

html[dir="ltr"] .campaign-donation-modal--pro .donation-checkout__header{text-align:left!important;}

.campaign-donation-modal--pro .donation-wizard__eyebrow{
  background:rgba(32,76,60,.08)!important;
  color:var(--checkout-primary)!important;
  border:1px solid rgba(32,76,60,.08)!important;
  letter-spacing:0!important;
}

.campaign-donation-modal--pro .donation-wizard__header h2{
  color:var(--checkout-primary)!important;
  font-size:clamp(30px,5vw,44px)!important;
  line-height:1.08!important;
  margin:6px 0 8px!important;
}

.campaign-donation-modal--pro .donation-wizard__header p{
  max-width:620px!important;
  color:var(--checkout-muted)!important;
  font-size:15px!important;
  line-height:1.75!important;
}

.donation-checkout__campaign{
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  gap:12px!important;
  align-items:center!important;
  padding:12px!important;
  margin:0 0 14px!important;
  border:1px solid var(--checkout-border)!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,#fff,var(--checkout-soft))!important;
}

html[dir="rtl"] .donation-checkout__campaign{grid-template-columns:auto 1fr!important;}

.donation-checkout__campaign-icon{
  width:48px!important;
  height:48px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:16px!important;
  color:#fff!important;
  background:var(--checkout-primary)!important;
}

.donation-checkout__campaign-icon svg{
  width:25px!important;
  height:25px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
}

.donation-checkout__campaign span,
.donation-checkout__campaign small{
  display:block!important;
  color:var(--checkout-muted)!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.35!important;
}

.donation-checkout__campaign strong{
  display:block!important;
  color:var(--checkout-primary)!important;
  font-size:17px!important;
  font-weight:950!important;
  line-height:1.3!important;
  margin:2px 0!important;
}

.campaign-donation-modal--pro .donation-checkout__steps{
  gap:8px!important;
  margin:0 0 16px!important;
}

.campaign-donation-modal--pro .donation-wizard__step{
  border-radius:16px!important;
  border:1px solid var(--checkout-border)!important;
  background:#fff!important;
  color:#334155!important;
  padding:10px 8px!important;
  box-shadow:none!important;
}

.campaign-donation-modal--pro .donation-wizard__step span{
  background:rgba(32,76,60,.08)!important;
  color:var(--checkout-primary)!important;
}

.campaign-donation-modal--pro .donation-wizard__step.is-active{
  background:var(--checkout-soft)!important;
  border-color:var(--checkout-border-strong)!important;
  color:var(--checkout-primary)!important;
}

.campaign-donation-modal--pro .donation-wizard__step.is-active span{
  background:var(--checkout-primary)!important;
  color:#fff!important;
}

.campaign-donation-modal--pro .donation-wizard__panel{
  padding:4px 0 0!important;
}

.campaign-donation-modal--pro .donation-wizard__panel-title{
  margin:0 0 14px!important;
}

.campaign-donation-modal--pro .donation-wizard__panel-title span{
  width:42px!important;
  height:42px!important;
  background:var(--checkout-primary)!important;
  box-shadow:0 14px 26px rgba(32,76,60,.14)!important;
}

.campaign-donation-modal--pro .donation-wizard__panel-title h3{
  color:var(--checkout-primary)!important;
  font-size:clamp(24px,4vw,34px)!important;
  line-height:1.16!important;
}

.campaign-donation-modal--pro .donation-wizard__panel-title p{
  color:var(--checkout-muted)!important;
  font-size:15px!important;
}

.donation-checkout__option-grid,
.donation-checkout__amount-grid{
  gap:10px!important;
}

.campaign-donation-modal--pro .campaign-option,
.campaign-donation-modal--pro .campaign-amount{
  min-height:54px!important;
  border-radius:16px!important;
  border:1px solid var(--checkout-border)!important;
  background:#fff!important;
  color:var(--checkout-primary)!important;
  font-weight:900!important;
  box-shadow:none!important;
}

.campaign-donation-modal--pro .campaign-option.is-active,
.campaign-donation-modal--pro .campaign-amount.is-active{
  background:var(--checkout-soft)!important;
  border-color:var(--checkout-primary)!important;
  box-shadow:inset 0 0 0 1px var(--checkout-primary)!important;
}

.campaign-donation-modal--pro .campaign-form-label{
  color:#14213d!important;
  font-size:14px!important;
  font-weight:950!important;
  margin-bottom:7px!important;
}

.campaign-donation-modal--pro .campaign-form-input,
.campaign-donation-modal--pro .campaign-form-select,
.campaign-donation-modal--pro .campaign-form-textarea{
  min-height:52px!important;
  border-radius:16px!important;
  border:1px solid var(--checkout-border)!important;
  background:#fff!important;
  color:var(--checkout-text)!important;
  font-size:16px!important;
  box-shadow:0 6px 16px rgba(32,76,60,.04)!important;
}

.campaign-donation-modal--pro .campaign-form-input:focus,
.campaign-donation-modal--pro .campaign-form-select:focus,
.campaign-donation-modal--pro .campaign-form-textarea:focus{
  outline:none!important;
  border-color:var(--checkout-primary)!important;
  box-shadow:0 0 0 4px rgba(32,76,60,.10)!important;
}

.donation-field-hint{
  display:block!important;
  margin-top:6px!important;
  color:#6b7280!important;
  font-size:12px!important;
  line-height:1.45!important;
}

.donation-phone-row{
  display:grid!important;
  grid-template-columns:minmax(104px,132px) 1fr!important;
  gap:9px!important;
  align-items:center!important;
}

html[dir="rtl"] .donation-phone-row{direction:ltr!important;}
html[dir="rtl"] .donation-phone-row input{text-align:right!important;direction:rtl!important;}

.donation-phone-code{
  padding-inline:10px!important;
  font-weight:900!important;
}

.donation-preferences{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:9px!important;
}

.donation-preferences label{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:34px!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  border:1px solid rgba(32,76,60,.12)!important;
  background:var(--checkout-soft)!important;
  color:var(--checkout-primary)!important;
  font-size:12px!important;
  font-weight:850!important;
  cursor:pointer!important;
}

.donation-preferences input{
  width:16px!important;
  height:16px!important;
  accent-color:var(--checkout-primary)!important;
}

.donation-preferences input:disabled{cursor:not-allowed!important;}
.donation-preferences--inline{margin-top:8px!important;}

.donation-checkout__review{
  border-radius:20px!important;
  border:1px solid var(--checkout-border)!important;
  overflow:hidden!important;
  background:#fff!important;
}

.campaign-donation-modal--pro .campaign-review div{
  padding:12px 14px!important;
  border-bottom:1px solid rgba(32,76,60,.10)!important;
}
.campaign-donation-modal--pro .campaign-review div:last-child{border-bottom:0!important;}
.campaign-donation-modal--pro .campaign-review span{color:#6b7280!important;font-weight:850!important;}
.campaign-donation-modal--pro .campaign-review strong{color:var(--checkout-primary)!important;font-weight:950!important;}

.donation-checkout__security{
  border:1px solid rgba(32,76,60,.10)!important;
  background:linear-gradient(135deg,var(--checkout-soft),#fff)!important;
}

.campaign-donation-modal--pro .campaign-form-status{
  margin:10px 0 0!important;
  border-radius:14px!important;
}

.campaign-donation-modal--pro .donation-checkout__actions{
  position:sticky!important;
  bottom:-18px!important;
  z-index:4!important;
  margin:14px -18px -18px!important;
  padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px))!important;
  background:linear-gradient(180deg,rgba(255,255,255,.80),#fff 42%)!important;
  border-top:1px solid rgba(32,76,60,.10)!important;
  backdrop-filter:blur(10px)!important;
}

.campaign-donation-modal--pro .donation-wizard__next,
.campaign-donation-modal--pro .campaign-submit,
.campaign-donation-modal--pro .donation-wizard__back{
  min-height:54px!important;
  border-radius:16px!important;
  font-size:16px!important;
  font-weight:950!important;
}

.campaign-donation-modal--pro .donation-wizard__next,
.campaign-donation-modal--pro .campaign-submit{
  background:var(--checkout-primary)!important;
  border-color:var(--checkout-primary)!important;
  color:#fff!important;
}

.campaign-donation-modal--pro .donation-wizard__next:hover,
.campaign-donation-modal--pro .campaign-submit:hover{
  background:var(--checkout-primary-2)!important;
  border-color:var(--checkout-primary-2)!important;
}

.campaign-donation-modal--pro .donation-wizard__back{
  background:#fff!important;
  border-color:var(--checkout-border)!important;
  color:var(--checkout-primary)!important;
}

@media (max-width:720px){
  .campaign-donation-modal--pro{
    align-items:flex-end!important;
    justify-content:center!important;
    padding:0!important;
  }
  .campaign-donation-modal--pro .campaign-donation-modal__dialog.donation-checkout-pro{
    width:100%!important;
    max-width:100%!important;
    max-height:calc(100svh - 10px)!important;
    border-radius:28px 28px 0 0!important;
    padding:16px!important;
  }
  .campaign-donation-modal--pro .campaign-donation-modal__close{
    top:14px!important;
    right:14px!important;
    width:50px!important;
    height:50px!important;
    border-radius:18px!important;
  }
  .campaign-donation-modal--pro .donation-checkout__header{
    padding-top:8px!important;
    margin-bottom:11px!important;
  }
  .campaign-donation-modal--pro .donation-wizard__header h2{
    font-size:30px!important;
  }
  .campaign-donation-modal--pro .donation-wizard__header p{
    font-size:13.5px!important;
    line-height:1.55!important;
  }
  .donation-checkout__campaign{
    border-radius:18px!important;
    margin-bottom:12px!important;
    padding:10px!important;
  }
  .donation-checkout__campaign-icon{
    width:42px!important;
    height:42px!important;
    border-radius:14px!important;
  }
  .donation-checkout__campaign strong{
    font-size:15px!important;
  }
  .campaign-donation-modal--pro .donation-checkout__steps{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .campaign-donation-modal--pro .donation-wizard__step{
    min-height:56px!important;
    padding:7px 3px!important;
    border-radius:14px!important;
  }
  .campaign-donation-modal--pro .donation-wizard__step strong{
    display:block!important;
    font-size:10.5px!important;
  }
  .campaign-donation-modal--pro .donation-wizard__step span{
    width:24px!important;
    height:24px!important;
    font-size:12px!important;
  }
  .campaign-donation-modal--pro .donation-wizard__panel-title span{
    width:36px!important;
    height:36px!important;
  }
  .campaign-donation-modal--pro .donation-wizard__panel-title h3{
    font-size:25px!important;
  }
  .campaign-donation-modal--pro .donation-wizard__panel-title p{
    font-size:13.5px!important;
    line-height:1.55!important;
  }
  .donation-phone-row{
    grid-template-columns:minmax(98px,118px) 1fr!important;
    gap:7px!important;
  }
  .campaign-donation-modal--pro .campaign-option,
  .campaign-donation-modal--pro .campaign-amount{
    min-height:50px!important;
    border-radius:15px!important;
  }
  .campaign-donation-modal--pro .campaign-form-input,
  .campaign-donation-modal--pro .campaign-form-select,
  .campaign-donation-modal--pro .campaign-form-textarea{
    min-height:50px!important;
    border-radius:15px!important;
    font-size:15px!important;
  }
  .donation-preferences label{
    width:100%!important;
    justify-content:flex-start!important;
    border-radius:14px!important;
  }
  .campaign-donation-modal--pro .donation-checkout__actions{
    margin:12px -16px -16px!important;
    padding:11px 16px calc(11px + env(safe-area-inset-bottom,0px))!important;
  }
}

@media (max-width:420px){
  .campaign-donation-modal--pro .donation-wizard__step strong{font-size:9.5px!important;}
  .campaign-donation-modal--pro .donation-wizard__header h2{font-size:28px!important;}
  .donation-phone-row{grid-template-columns:102px 1fr!important;}
}
