/* Page framing */
.rbs-wrap { background: #f6f7fb; padding: 2rem 0; }
.rbs-shell { background: #ffffff; max-width: 760px; margin: 0 auto; padding: 1.25rem 1.5rem;
  border: 1px solid #e7e8ef; border-radius: 10px; box-shadow: 0 6px 18px rgba(16,24,40,.06); }
.rbs-calc__intro { margin: 0 0 1rem; color: #333; }

/* Inputs */
.rbs-calc fieldset { border: 0; margin: 1rem 0; }
.rbs-calc fieldset legend, .rbs-bold { font-weight: 700; }
.rbs-calc fieldset label { display: block; margin: .25rem 0; }
.rbs-field { margin: .75rem 0; display: grid; gap: .25rem; }
.rbs-help { font-size: .9rem; opacity: .8; margin: .15rem 0 0; }
.rbs-button { display: inline-block; padding: .6rem 1rem; border-radius: .375rem; background: #0b5ed7; color: #fff; border: 0; cursor: pointer; }

/* Results */
.rbs-results { margin-top: 1.5rem; }
.rbs-summary { list-style: none; padding: 0; margin: 0 0 1rem; }
.rbs-summary li { margin: .25rem 0; }

/* Yellow comparison card */
.rbs-card { background: #fffd7a; padding: 1rem; border-radius: .25rem; margin: 0 auto 1rem;
  border: 1px solid #e0de66; max-width: 420px; }
.rbs-card--narrow { max-width: 360px; }
.rbs-card__title { font-weight: 700; text-align: center; margin-bottom: .5rem; }
.rbs-card__row { display: flex; justify-content: space-between; gap: 1rem; padding: .25rem 0; }
.rbs-card__row .rbs-val { font-weight: 700; }

.rbs-notice { background: #fff3cd; border: 1px solid #ffe69c; padding: .75rem; border-radius: .25rem; margin: .5rem 0 1rem; }

/* Email form */
.rbs-email label { display: grid; gap: .25rem; margin: .5rem 0; }
.rbs-email button { padding: .5rem .9rem; border-radius: .375rem; border: 0; background: #0b5ed7; color: #fff; }

/* Overlay with CSS spinner */
#rbs-overlay { position: fixed; inset: 0; background: rgba(16,24,40,.4); display: none;
  align-items: center; justify-content: center; z-index: 9999; }
#rbs-overlay .rbs-overlay__inner { background: #fff; padding: 1rem 1.25rem; border-radius: 10px;
  box-shadow: 0 8px 20px rgba(16,24,40,.2); display: grid; justify-items: center; gap: .5rem; }

/* Spinner (12-tick wheel) */
.rbs-spinner {
  width: 48px; height: 48px; display: grid; position: relative;
}
.rbs-spinner::before, .rbs-spinner::after { content: ""; }
.rbs-spinner::before {
  width: 100%; height: 100%; border-radius: 50%;
  border: 4px solid rgba(0,0,0,.15); border-top-color: rgba(0,0,0,.6);
  animation: rbs-spin 0.8s linear infinite;
}
@keyframes rbs-spin { to { transform: rotate(360deg); } }
