    /* Stepper */
    .stepper .step-dot{
      width:32px;height:32px;border-radius:50%;
      display:inline-flex;align-items:center;justify-content:center;
      font-weight:700;
      background:#f1f3f5;color:#6c757d;
    }
    .stepper .step-line{flex:1;height:2px;background:#e9ecef}
    .stepper .label{font-size:.8rem;color:#6c757d}

    .stepper .active .step-dot{background:#ba8a70;color:#fff}
    .stepper .active .step-line{background:#ba8a70}

    .stepper .done .step-dot{background:#198754;color:#fff}
    .stepper .done .step-line{background:#198754}

    /* hide native radios */
    .sr-radio{position:absolute!important;opacity:0!important;pointer-events:none!important}

    /* cards */
    .choice-card{
      cursor:pointer;
      border:2px solid #dee2e6;
      border-radius:12px;
      transition:.15s ease-in-out;
      background:#fff;
      padding:18px;
      height:100%;
    }
    .choice-card:hover{border-color:#c9ced4}
    .choice-card.selected{
      border-color:#ba8a70;
      box-shadow:0 0 0 .2rem rgba(139,90,60,.18);
    }
    .choice-card .icon-wrap{
      width:46px;height:46px;border-radius:14px;
      display:inline-flex;align-items:center;justify-content:center;
      /*background:rgba(139,90,60,.10);*/
      color:#ba8a70;
      font-size:28px;
      margin: 0 auto;
    }

    /* Donation type cards centered (icon top, text below) */
    .donation-type-card{
      text-align:center;
      padding:22px 18px;
    }
    .donation-type-card .title{font-weight:700;margin-top:10px}
    .donation-type-card .sub{font-size:.85rem;color:#6c757d}

    /* amount buttons */
    .amount-btn{
      border-radius:10px;
      padding:10px 12px;
      border:2px solid #dee2e6;
      background:#fff;
      cursor:pointer;
      text-align:center;
      font-weight:700;
      user-select:none;
    }
    .amount-btn:hover{border-color:#c9ced4}
    .amount-btn.selected{
      border-color:#ba8a70;
      background:rgba(139,90,60,.08);
      box-shadow:0 0 0 .2rem rgba(139,90,60,.12);
    }

    .btn-brand{
      background:#ba8a70;
      border-color:#ba8a70;
      color:#fff;
    }
    .btn-brand:hover{background:#7a4f35;border-color:#7a4f35;color:#fff}

    .link-brand{
      color:#ba8a70;
    }
    .link-brand:hover{color:#7a4f35}

/* Payment method row layout (one line, left aligned) */
.payment-card{
  padding:16px 18px;
}
.payment-card .pm-row{
  display:flex;
  align-items:center;
  justify-content:space-between; /* left block + right block */
  gap:16px;
}
.payment-card .pm-left{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.payment-card .pm-icon{
  width:40px;height:40px;border-radius:12px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(139,90,60,.10);
  color:#ba8a70;
  font-size:20px;
  flex:0 0 auto;
}
.payment-card .pm-title{
  font-weight:700;
  line-height:1.1;
}
.payment-card .pm-sub{
  font-size:.85rem;
  color:#6c757d;
  line-height:1.1;
}
.payment-card .pm-right{
  text-align:right;
  min-width:190px;
}
.payment-card .pm-right .pm-right-title{
  font-weight:700;
  line-height:1.1;
}
.payment-card .pm-right .pm-right-sub{
  font-size:.85rem;
  color:#6c757d;
  line-height:1.1;
}

/* Mobile: keep in one row as much as possible; if too tight, allow wrap gracefully */
@media (max-width: 576px){
  .payment-card .pm-right{min-width:auto}
  .payment-card .pm-row{flex-wrap:wrap}
  .payment-card .pm-right{text-align:left}
}

.site-header{
    border-bottom: 1px solid #e9ecef;
    background:#fff;
  }
  .brand-wrap{
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px 0;
  }
  .brand-logo{
    /*width:38px;*/
    height:50px;
    object-fit:contain;
  }
  .brand-title{
    font-weight:700;
    line-height:1.1;
  }
  .brand-tagline{
    font-size:.85rem;
    color:#6c757d;
    line-height:1.1;
  }

  .site-footer{
    border-top: 1px solid #e9ecef;
    background:#fff;
    margin-top: 28px;
    padding: 18px 0;
    color:#6c757d;
    font-size:.85rem;
    text-align:center;
  }

  .btn-brand:focus,
    .btn-brand:focus-visible,
    .btn-brand:active,
    .btn-brand.active {
      background: #ba8a70 !important;
      border-color: #ba8a70 !important;
      color: #fff !important;
      box-shadow: 0 0 0 .2rem rgba(139,90,60,.25) !important;
    }

    /* Also prevent Bootstrap default active darkening if you want it identical */
    .btn-brand:active {
      filter: none !important;
    }

    .login-wrap{min-height: calc(100vh - 72px); display:flex; align-items:center; justify-content:center;}
    .login-card{max-width:420px;width:100%}
    .card-shadow{box-shadow:0 8px 24px rgba(0,0,0,.06)}
    .forgot-link{color:#ba8a70;text-decoration:none}
    .forgot-link:hover{text-decoration:underline}

    /* Neutral gray borders for form controls */
    .form-control,
    .form-select,
    .form-check-input {
      border-color: black !important;  /* same as Bootstrap light gray */
      box-shadow: none !important;
    }

    /* Keep focus border subtle gray (not blue) */
    .form-control:focus,
    .form-select:focus,
    .form-check-input:focus {
      border-color: #ba8a70 !important;
      box-shadow: 0 0 0 .2rem rgba(139,90,60,.18) !important;
    }

    /* Optional: match placeholder tone */
    .form-control::placeholder {
      color: #adb5bd;
    }

    /* Optional: input-group text border alignment */
    .input-group-text {
      border-color: #dee2e6 !important;
    }

    .was-validated .form-control:valid,
  .form-control.is-valid,
  .was-validated .form-select:valid,
  .form-select.is-valid,
  .was-validated .form-check-input:valid,
  .form-check-input.is-valid {
    border-color: #ba8a70 !important;
    box-shadow: 0 0 0 .2rem rgba(139,90,60,.18) !important;
    background-image: none !important;
    padding-right: .75rem !important;
  }

  .status-icon{
      width:76px;height:76px;border-radius:50%;
      display:flex;align-items:center;justify-content:center;
      background:rgba(255,193,7,.18);
      margin:0 auto 14px auto;font-size:28px;color:#c08a00;
    }
    .pill{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:700;}
    .pill-warn{background:rgba(255,193,7,.25);color:#8a6d00;}
    .pill-ok{background:rgba(25,135,84,.15);color:#0f5132;}
    .kv-row{display:flex;justify-content:space-between;gap:16px;padding:.55rem 0;border-bottom:1px solid #e9ecef;}
    .kv-row:last-child{border-bottom:0;}
    .site-footer{border-top:1px solid #e9ecef;background:#fff;margin-top:28px;padding:18px 0;color:#6c757d;font-size:.85rem;text-align:center;}








