/* Dynamic deposit promotion + calculation UI. */
.s-amounts button { overflow: visible; padding-top: calc(18 * var(--v)); }
.s-amounts .s-amount-main { display:block; }
.s-amount-bonus {
  position:absolute;
  top:calc(-23 * var(--v));
  right:calc(5 * var(--v));
  min-width:calc(78 * var(--v));
  padding:calc(3 * var(--v)) calc(8 * var(--v));
  border-radius:calc(10 * var(--v)) calc(10 * var(--v)) 0 calc(10 * var(--v));
  background:linear-gradient(135deg,#ff7a80,#ef4048);
  color:#fff;
  font:700 max(7px,calc(22 * var(--v))) / 1.15 Arial,sans-serif;
  white-space:nowrap;
  box-shadow:0 calc(3 * var(--v)) calc(8 * var(--v)) rgba(210,44,52,.18);
}
.s-campaign-option {
  align-items:flex-start !important;
  min-height:calc(130 * var(--v)) !important;
}
.s-campaign-option > input { margin-top:calc(5 * var(--v)); }
.s-campaign-copy { min-width:0; flex:1; display:grid; gap:calc(9 * var(--v)); }
.s-campaign-title-row { display:flex; align-items:flex-start; gap:calc(10 * var(--v)); font-weight:700; color:#3a3a3a; }
.s-campaign-title-row b { min-width:0; flex:1; }
.s-campaign-title-row span { margin-left:auto; color:#e1303c; font-weight:700; white-space:nowrap; }
.s-campaign-details {
  margin-top:calc(5 * var(--v));
  padding-top:calc(11 * var(--v));
  border-top:1px solid rgba(220,80,92,.16);
  color:#777;
  line-height:1.55;
  font-size:max(9px,calc(27 * var(--v)));
}
.s-campaign-details strong { color:#d72d39; }
.s-campaign-details ol { margin:calc(8 * var(--v)) 0 0; padding-left:calc(42 * var(--v)); }
.s-campaign-details li { margin:calc(5 * var(--v)) 0; }
.s-campaign-warning {
  margin-top:calc(10 * var(--v));
  color:#d72d39;
  font-size:max(9px,calc(27 * var(--v)));
  font-weight:700;
}
.s-payment-summary {
  margin-top:calc(116 * var(--v));
  padding-top:calc(30 * var(--v));
  border-top:calc(18 * var(--v)) solid #efefef;
}
.s-payment-summary h2 { margin-bottom:calc(24 * var(--v)) !important; }
.s-payment-summary-box {
  border:1px solid #ececec;
  border-radius:calc(14 * var(--v));
  overflow:hidden;
  background:#fff;
}
.s-payment-summary-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:calc(20 * var(--v));
  min-height:calc(92 * var(--v));
  padding:0 calc(24 * var(--v));
  border-bottom:1px solid #f0f0f0;
  color:#8a8a8a;
  font-size:max(10px,calc(31 * var(--v)));
}
.s-payment-summary-row:last-child { border-bottom:0; }
.s-payment-summary-row strong { color:#666; white-space:nowrap; }
.s-payment-summary-row.bonus strong { color:#0b9c70; }
.s-payment-summary-row.credit strong { color:#e52c35; }
.s-deposit-request-loader {
  position:fixed;
  z-index:100001;
  inset:0;
  display:grid;
  place-items:center;
  pointer-events:auto;
}
.s-deposit-request-card {
  width:min(calc(465 * var(--v)),78vw);
  min-height:calc(220 * var(--v));
  padding:calc(28 * var(--v));
  border-radius:calc(12 * var(--v));
  background:rgba(54,54,54,.92);
  color:#fff;
  display:grid;
  place-items:center;
  align-content:center;
  gap:calc(22 * var(--v));
  text-align:center;
  box-shadow:0 calc(12 * var(--v)) calc(34 * var(--v)) rgba(0,0,0,.22);
}
.s-deposit-request-card strong { font-size:max(11px,calc(33 * var(--v))); line-height:1.4; }
.s-deposit-request-spinner {
  width:calc(76 * var(--v));
  height:calc(76 * var(--v));
  min-width:28px;
  min-height:28px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.45);
  border-top-color:#fff;
  animation:s-deposit-request-spin .8s linear infinite;
}
@keyframes s-deposit-request-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .s-deposit-request-spinner { animation-duration:1.6s; } }
