/* Original INFINITI card-and-slider calculator, shared by home and calculator pages. */
.care-calculator {
  --care-accent: #8336b0;
  --care-bright: #9635c4;
  --care-soft: #faf5ff;
  --care-rule: #d8c2ef;
  --care-xs: clamp(.75rem, .73rem + .1vw, .8125rem);
  --care-sm: clamp(.875rem, .84rem + .15vw, .9375rem);
  --care-base: clamp(.9375rem, .91rem + .15vw, 1rem);
  --care-label: clamp(1rem, .96rem + .2vw, 1.125rem);
  --care-title: clamp(1.65rem, 1.2rem + 1.4vw, 2.25rem);
  --care-total: clamp(1.55rem, 1.3rem + .6vw, 1.9rem);
  background: linear-gradient(130deg, #faf5ff, #fff);
  padding: 4.5rem 0;
  scroll-margin-top: 110px;
  font-family: var(--sans);
  font-size: var(--care-base);
}
.care-calculator [hidden] { display: none !important; }
.care-calculator-heading { text-align: center; margin: 0 auto 2.5rem; max-width: 1000px; }
.care-calculator-heading h2 {
  font: 750 var(--care-title)/1.25 var(--sans);
  color: #101827;
  margin: 0 0 .8rem;
}
.care-calculator-heading p { color: #525c6b; margin: 0 auto; font-size: var(--care-label); }
.care-calculator-card {
  background: #fff;
  max-width: 896px;
  padding: 3rem;
  margin: 0 auto;
  border-radius: 17px;
  box-shadow: 0 22px 40px -18px #19213848;
}
.care-step { border: 0; padding: 0; margin: 0 0 2rem; min-width: 0; }
.care-step legend {
  float: none;
  padding: 0;
  margin-bottom: 1rem;
  font-size: var(--care-label);
  line-height: 1.4;
  font-weight: 650;
  color: #111827;
}
.care-choices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.care-choice {
  border: 2px solid #d1d5db;
  border-radius: 8px;
  background: #fff;
  padding: 1rem .6rem;
  cursor: pointer;
  color: #111827;
  min-height: 82px;
  font-family: inherit;
  transition: border-color .15s, background .15s;
}
.care-choice:hover { border-color: #b37cd3; }
.care-choice.is-selected { border-color: var(--care-bright); background: var(--care-soft); }
.care-choice span { display: block; font-size: var(--care-base); font-weight: 600; line-height: 1.45; }
.care-choice small { display: block; color: #525c6b; font-size: var(--care-xs); line-height: 1.55; }
.care-range + .care-range { margin-top: 1.75rem; }
.care-range-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .5rem; }
.care-range-heading label { color: #475569; font-size: var(--care-base); }
.care-range-heading output { color: var(--care-accent); font-weight: 750; font-size: var(--care-label); white-space: nowrap; }
.care-range input {
  appearance: none;
  -webkit-appearance: none;
  display: block;
  width: 100%;
  height: 28px;
  margin: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
  border: 0;
}
.care-range input::-webkit-slider-runnable-track { height: 7px; border-radius: 10px; background: #e9d5ff; }
.care-range input::-webkit-slider-thumb {
  appearance: none;
  -webkit-appearance: none;
  height: 18px;
  width: 18px;
  background: #147cf3;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px #147cf3;
  border-radius: 50%;
  margin-top: -5.5px;
}
.care-range input::-moz-range-track { height: 7px; border-radius: 10px; background: #e9d5ff; }
.care-range input::-moz-range-thumb { height: 16px; width: 16px; border: 2px solid #fff; background: #147cf3; border-radius: 50%; }
.care-range-limits { display: flex; justify-content: space-between; color: #596272; font-size: var(--care-xs); }
.care-estimate { background: linear-gradient(120deg, #f3e8ff, #faf5ff); border-radius: 13px; padding: 2rem; margin-bottom: 2rem; }
.care-estimate h3 {
  font: 750 var(--care-label)/1.45 var(--sans);
  text-align: center;
  text-transform: uppercase;
  color: #111827;
  margin: 0 0 1.4rem;
}
.care-estimate dl { margin: 0; }
.care-estimate dl > div { display: flex; justify-content: space-between; gap: 1.5rem; margin: 0 0 .85rem; align-items: baseline; }
.care-estimate dt { color: #475569; }
.care-estimate dd { text-align: right; color: #111827; font-weight: 600; margin: 0; }
#care-rate-result { color: var(--care-accent); font-size: var(--care-label); }
.care-estimate-totals { border-top: 1px solid #cba0ea; padding-top: 1.35rem; }
.care-estimate .care-estimate-totals dt { font-weight: 650; color: #111827; }
.care-estimate-totals dt span { font-weight: 400; }
.care-estimate .care-estimate-totals dd { color: var(--care-accent); font-size: var(--care-total); font-weight: 750; line-height: 1.25; }
.care-disclaimer { font-size: var(--care-xs); text-align: center; margin: 1rem auto 0; color: #596272; }
.care-nursing-note { color: #525c6b; text-align: center; margin: .6rem auto 0; font-size: var(--care-xs); }
.care-payment-box, .care-interest-box { border: 1px solid var(--care-rule); border-radius: 9px; padding: 1.5rem; margin: 0 0 1.75rem; }
.care-payment-box h3, .care-interest-box h3, .care-quote-panel h3 {
  font: 650 var(--care-label)/1.45 var(--sans);
  margin: 0 0 .8rem;
  color: #111827;
}
.care-payment-box ul { padding: 0; margin: 0; list-style: none; }
.care-payment-box li { padding-left: 1.3rem; position: relative; font-size: var(--care-sm); margin: .55rem 0; color: #374151; }
.care-payment-box li::before { content: "✓"; position: absolute; left: 0; color: #18763e; font-weight: 700; }
.care-payment-box li.care-payment-pending::before { content: "○"; color: #8a5b0a; }
.care-payment-link { font-size: var(--care-sm); color: var(--care-accent); display: inline-block; margin-top: .6rem; }
.care-interest-box { background: #faf5ff; }
.care-interest-note { font-size: var(--care-xs); color: #525c6b; margin-bottom: 1rem; }
.care-interest-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 1rem;
  padding: .9rem 1rem;
  border: 1px solid #b57ddb;
  border-radius: 7px;
  background: #fff;
  font: 500 var(--care-sm)/1.5 var(--sans);
  color: #111827;
  text-align: left;
  cursor: pointer;
}
.care-interest-button + .care-interest-button { margin-top: .65rem; }
.care-interest-button span:last-child { color: var(--care-accent); font-size: var(--care-xs); white-space: nowrap; }
.care-interest-button:hover { background: #f5eafb; }
.care-actions { display: grid; gap: 1rem; }
.care-quote-toggle, .care-call-button {
  display: block;
  width: 100%;
  min-height: 48px;
  padding: .85rem 1rem;
  border-radius: 7px;
  border: 1px solid transparent;
  text-align: center;
  font: 600 var(--care-sm)/1.5 var(--sans);
  cursor: pointer;
}
.care-quote-toggle { color: #fff; background: linear-gradient(105deg, #a64ba7, #77349d); text-transform: uppercase; }
.care-quote-toggle:hover { background: #77349d; }
.care-call-button { color: #873785; border-color: #a64ba7; background: #fff; text-decoration: none; }
.care-call-button:hover { background: #fcf5fc; color: #6d2d6c; }
.care-quote-panel { background: #f8f9fb; padding: 1.5rem; border-radius: 9px; margin-top: 2rem; }
.care-form-note { color: #525c6b; font-size: var(--care-sm); margin-bottom: 1rem; }
.care-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.care-form-grid label, .care-interest-form label, #care-interest-form label { display: block; font-size: var(--care-sm); font-weight: 600; color: #374151; }
.care-form-grid input, #care-interest-form input {
  display: block;
  width: 100%;
  padding: .8rem;
  border-radius: 7px;
  border: 1px solid #cdd1d8;
  background: #fff;
  color: #111827;
  font: 400 var(--care-base)/1.5 var(--sans);
  margin: .35rem 0 0;
  min-width: 0;
}
.care-form-grid input::placeholder { color: #647080; opacity: 1; }
.care-form-status { font-size: var(--care-sm); color: #374151; margin: .9rem 0 0; }
.care-form-status:empty { display: none; }
.care-form-status a { color: #742d9e; font-weight: 650; }
.care-interest-dialog { width: min(540px, calc(100% - 32px)); border: 0; border-radius: 16px; padding: 0; max-height: calc(100dvh - 40px); }
.care-interest-dialog::backdrop { background: #111738b3; }
.care-dialog-inner { padding: 2rem; position: relative; }
.care-interest-dialog h2 { font: 700 var(--care-label)/1.4 var(--sans); padding-right: 1.5rem; }
.care-dialog-close { position: absolute; right: .5rem; top: .5rem; width: 42px; height: 42px; border: 0; background: transparent; font-size: 1.7rem; color: #475569; cursor: pointer; }
#care-interest-form label { margin-bottom: 1rem; }
@media (max-width: 650px) {
  .care-calculator { padding: 3rem 0; }
  .care-calculator .wrap { padding-inline: 1rem; }
  .care-calculator-heading { margin-bottom: 1.75rem; }
  .care-calculator-card { padding: 1.35rem; border-radius: 14px; }
  .care-choices { grid-template-columns: 1fr; gap: .65rem; }
  .care-choice { min-height: 70px; }
  .care-step { margin-bottom: 1.75rem; }
  .care-estimate { padding: 1.2rem; }
  .care-estimate dl > div { gap: .9rem; }
  .care-estimate-details > div { flex-wrap: wrap; }
  .care-estimate-details dd { flex: 1 1 155px; }
  .care-estimate-totals dt { max-width: 60%; font-size: var(--care-sm); }
  .care-estimate-totals dt span { display: block; }
  .care-payment-box, .care-interest-box, .care-quote-panel { padding: 1rem; }
  .care-interest-button { align-items: flex-start; flex-direction: column; gap: .35rem; }
  .care-interest-button span:last-child { white-space: normal; }
  .care-form-grid { grid-template-columns: 1fr; }
  .care-dialog-inner { padding: 1.5rem; }
}
