.crsCalculator .crsSpouseBlock { grid-column: 1 / -1; }
.crsCalculator .crsWideFieldset { grid-column: 1 / -1; }
.crsRadioSections {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 18px 18px 0;
}
.crsRadioGroup {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-content: start;
  padding: 15px;
  border: 1px solid #d4e0e6;
  border-radius: 10px;
  background: #f8fbfc;
}
.crsRadioGroup h3 {
  flex: 0 0 100%;
  margin: 0 0 5px;
  color: #072f52;
  font-family: var(--sans);
  font-size: 1rem;
}
.crsRadioGroup label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 39px;
  padding: 7px 10px;
  border: 1px solid #c7d7df;
  border-radius: 999px;
  background: #fff;
  cursor: pointer;
}
.crsRadioGroup label:has(input:checked) {
  border-color: #b20d24;
  background: #fff1f2;
  color: #8f0b1d;
}
.crsRadioGroup input { width: 18px; height: 18px; margin: 0; accent-color: #b20d24; }
.additionalRadioSections .crsRadioGroup { align-content: flex-start; }
.crsCalculator .crsSpouseBlock.isInactive { opacity: .62; }
.crsCalculator .crsSpouseBlock.isInactive legend::after {
  content: "Select accompanying spouse above to activate";
  margin-left: auto;
  color: #d3e7f2;
  font-size: 12px;
  font-weight: 700;
}
.crsCompareLink {
  display: block;
  margin: 14px 0 0;
  padding: 15px 18px;
  border: 1px solid #b8cbd5;
  border-radius: 9px;
  background: #fff;
  color: #0b5275;
  font-weight: 900;
  text-align: center;
  text-decoration: none;
}
.crsCompareLink:hover,
.crsCompareLink:focus-visible {
  border-color: #0b5275;
  background: #f8fbfc;
}
@media (max-width: 650px) {
  .crsCalculator .crsSpouseBlock.isInactive legend::after { display: none; }
  .crsRadioSections { grid-template-columns: 1fr; }
  .crsRadioGroup label { flex: 1 1 100%; border-radius: 8px; }
}
.transferInputs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 20px 18px 4px;
}
.transferInputs label {
  display: grid;
  gap: 7px;
  color: #072f52;
  font-weight: 800;
}
.transferInputs select {
  width: 100%;
  min-height: 46px;
  padding: 9px 38px 9px 11px;
  border: 1px solid #b8ccd7;
  border-radius: 8px;
  background: #fff;
  color: #17364d;
  font: inherit;
}
.transferResults {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  padding: 14px 18px 20px;
}
.transferResults div {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  padding: 14px;
  border: 1px solid #d3e0e6;
  border-radius: 10px;
  background: #f8fbfc;
}
.transferResults span { grid-column: 1 / -1; min-height: 44px; color: #36576d; font-size: 13px; font-weight: 800; line-height: 1.3; }
.transferResults strong { color: #9f1028; font-size: 28px; line-height: 1; }
.transferResults small { margin-left: 5px; color: #627887; font-weight: 700; }
.transferCapNote { margin: -5px 18px 20px; color: #526d7e; font-size: 13px; font-weight: 700; }
@media (max-width: 950px) { .transferResults { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 650px) { .transferInputs,.transferResults { grid-template-columns: 1fr; } .transferResults span { min-height: 0; } }
