.donation-hero{
  position:relative;
  overflow:hidden;
}

.donation-hero h1{
  color:#fff !important;
  text-shadow:0 2px 14px rgba(0,0,0,.18);
}

.donation-hero p{
  color:rgba(255,255,255,.92) !important;
  max-width:780px;
}

.ric-square-layout{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:24px;
  margin:24px 0;
  align-items:start;
}

.ric-square-panel,
.ric-giving-side{
  background:#fffdf7;
  border:1px solid rgba(193,151,45,.35);
  border-radius:22px;
  box-shadow:0 18px 50px rgba(17,69,55,.08);
}

.ric-square-panel{
  padding:28px;
}

.ric-giving-side{
  padding:26px;
}

.ric-square-heading{
  display:flex;
  gap:16px;
  align-items:flex-start;
  margin-bottom:20px;
}

.ric-square-icon{
  width:52px;
  height:52px;
  border-radius:15px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:#0d5b49;
  color:#fff;
  font-weight:900;
  font-size:22px;
}

.ric-square-panel h2,
.ric-giving-side h2{
  margin:4px 0 8px;
  color:#144d3f;
}

.ric-square-panel p,
.ric-giving-side p{
  color:#47675f;
}

.ric-sandbox-banner{
  padding:11px 14px;
  border-radius:12px;
  background:#fff4ce;
  color:#765b00;
  font-weight:800;
  margin:0 0 18px;
  border:1px solid #efd46c;
}

.ric-amount-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
  margin:10px 0 16px;
}

.ric-amount-button{
  appearance:none;
  border:1px solid #cbded7;
  background:#f7fbf9;
  border-radius:12px;
  padding:13px 8px;
  font-weight:900;
  color:#164f41;
  cursor:pointer;
}

.ric-amount-button:hover,
.ric-amount-button.is-selected{
  background:#0d654f;
  color:#fff;
  border-color:#0d654f;
}

.ric-field{
  margin:15px 0;
}

.ric-field label,
.ric-field-label{
  display:block;
  font-size:13px;
  font-weight:900;
  color:#214f43;
  margin-bottom:7px;
}

.ric-field input,
.ric-field select,
.ric-field textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #c8dcd5;
  border-radius:12px;
  padding:13px 14px;
  background:#fff;
  color:#173f36;
  font:inherit;
}

.ric-field textarea{
  min-height:82px;
  resize:vertical;
}

.ric-donor-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.ric-checkbox{
  display:flex;
  align-items:flex-start;
  gap:9px;
  color:#395e55;
  font-size:14px;
  margin:12px 0;
}

.ric-checkbox input{
  margin-top:3px;
}

#ric-square-card-container{
  min-height:90px;
  padding:12px;
  border:1px solid #c8dcd5;
  border-radius:14px;
  background:#fff;
}

.ric-square-button{
  width:100%;
  border:0;
  border-radius:13px;
  padding:15px 18px;
  background:#0c644e;
  color:#fff;
  font-weight:900;
  font-size:16px;
  cursor:pointer;
  margin-top:15px;
}

.ric-square-button:hover{
  background:#084d3c;
}

.ric-square-button:disabled{
  cursor:wait;
  opacity:.65;
}

.ric-payment-security{
  display:flex;
  align-items:center;
  gap:8px;
  justify-content:center;
  margin:12px 0 0;
  color:#59736c;
  font-size:12px;
}

.ric-square-status{
  display:none;
  margin-top:14px;
  padding:13px 14px;
  border-radius:12px;
  font-weight:700;
}

.ric-square-status.is-error{
  display:block;
  background:#fff0f0;
  color:#992d2d;
  border:1px solid #edcaca;
}

.ric-square-status.is-success{
  display:block;
  background:#edf9f3;
  color:#15583f;
  border:1px solid #bfe3d2;
}

.ric-fund-note{
  display:none;
  padding:11px 13px;
  border-left:4px solid #c49b2f;
  background:#fff9e8;
  color:#62501c;
  border-radius:8px;
  margin-top:8px;
  font-size:13px;
}

.ric-fund-note.is-visible{
  display:block;
}

.ric-zelle-panel{
  margin-top:18px;
  padding-top:20px;
  border-top:1px solid #e3ddd0;
}

.ric-zelle-email{
  display:block;
  padding:13px;
  border-radius:11px;
  background:#eaf4ef;
  color:#135343;
  font-weight:900;
  overflow-wrap:anywhere;
  margin:12px 0;
}

.ric-give-list{
  margin:15px 0 0;
  padding-left:20px;
  color:#3e6258;
}

.ric-give-list li{
  margin:7px 0;
}

.ric-square-unavailable{
  padding:15px;
  border-radius:12px;
  background:#fff4e8;
  border:1px solid #efd8ba;
  color:#6d4d24;
}

@media(max-width:900px){
  .ric-square-layout{
    grid-template-columns:1fr;
  }

  .ric-amount-grid{
    grid-template-columns:repeat(3,1fr);
  }
}

@media(max-width:560px){
  .ric-square-panel,
  .ric-giving-side{
    padding:20px;
  }

  .ric-donor-grid{
    grid-template-columns:1fr;
  }

  .ric-amount-grid{
    grid-template-columns:repeat(2,1fr);
  }
}
