.tb-credit-5000-calc {
  --tb-credit-navy: #102f65;
  --tb-credit-blue: #176fe2;
  --tb-credit-mint: #0b968f;
  --tb-credit-ink: #17213a;
  --tb-credit-muted: #52627a;
  --tb-credit-line: #d8e3f1;
  margin: 2rem 0;
  padding: clamp(1.25rem, 3vw, 2.25rem);
  overflow: hidden;
  color: var(--tb-credit-ink);
  border: 1px solid #dce6f2;
  border-radius: 24px;
  background: linear-gradient(145deg, #f7faff 0%, #eef5ff 64%, #edfafa 100%);
  box-shadow: 0 18px 48px rgba(16, 47, 101, .1);
}

.tb-credit-5000-calc * { box-sizing: border-box; }
.tb-credit-5000-calc__header { max-width: 760px; margin-bottom: 1.5rem; }
.tb-credit-5000-calc__eyebrow {
  margin: 0 0 .45rem;
  color: var(--tb-credit-blue);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.tb-credit-5000-calc__header h2 { margin: 0 0 .65rem; color: var(--tb-credit-ink); font-size: clamp(1.75rem, 4vw, 2.55rem); line-height: 1.08; }
.tb-credit-5000-calc__header p:last-child { margin: 0; color: var(--tb-credit-muted); font-size: 1.05rem; }
.tb-credit-5000-calc__layout { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 1.25rem; align-items: stretch; }
.tb-credit-5000-calc__form,
.tb-credit-5000-calc__result { padding: clamp(1rem, 2.5vw, 1.5rem); border: 1px solid var(--tb-credit-line); border-radius: 18px; background: #fff; }
.tb-credit-5000-calc__form { display: grid; gap: 1rem; }
.tb-credit-5000-calc__form label { display: grid; gap: .4rem; margin: 0; color: var(--tb-credit-ink); font-weight: 750; }
.tb-credit-5000-calc__form small,
.tb-credit-5000-calc__fixed small,
.tb-credit-5000-calc__budget > small { color: var(--tb-credit-muted); font-size: .82rem; font-weight: 500; line-height: 1.45; }
.tb-credit-5000-calc__fixed { display: grid; grid-template-columns: 1fr auto; gap: .25rem 1rem; padding: .9rem 1rem; border-radius: 14px; background: #edf4ff; }
.tb-credit-5000-calc__fixed span { font-weight: 750; }
.tb-credit-5000-calc__fixed strong { color: var(--tb-credit-navy); font-size: 1.2rem; }
.tb-credit-5000-calc__fixed small { grid-column: 1 / -1; }
.tb-credit-5000-calc select,
.tb-credit-5000-calc input { width: 100%; min-height: 48px; margin: 0; padding: .68rem .8rem; color: var(--tb-credit-ink); border: 1px solid #b8c9dd; border-radius: 10px; background: #fff; font: inherit; font-weight: 650; }
.tb-credit-5000-calc select:focus-visible,
.tb-credit-5000-calc input:focus-visible,
.tb-credit-5000-calc button:focus-visible,
.tb-credit-5000-calc a:focus-visible,
.tb-credit-5000-calc summary:focus-visible { outline: 3px solid rgba(23, 111, 226, .35); outline-offset: 3px; }
.tb-credit-5000-calc__input-unit { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; overflow: hidden; border: 1px solid #b8c9dd; border-radius: 10px; background: #f5f8fc; }
.tb-credit-5000-calc__input-unit input { border: 0; border-radius: 0; }
.tb-credit-5000-calc__input-unit b { padding: 0 .8rem; color: #43536b; white-space: nowrap; }
.tb-credit-5000-calc__budget { padding: .8rem 1rem; border: 1px solid var(--tb-credit-line); border-radius: 12px; background: #fafcff; }
.tb-credit-5000-calc__budget summary { cursor: pointer; color: var(--tb-credit-navy); font-weight: 800; touch-action: manipulation; }
.tb-credit-5000-calc__budget > div { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin: 1rem 0 .65rem; }
.tb-credit-5000-calc__submit { min-height: 50px; padding: .75rem 1rem; border: 0; border-radius: 12px; color: #fff; background: var(--tb-credit-blue); box-shadow: 0 8px 20px rgba(23, 111, 226, .22); font: inherit; font-weight: 850; cursor: pointer; touch-action: manipulation; }
.tb-credit-5000-calc__submit:hover { background: #0f5fc7; }
.tb-credit-5000-calc__result { display: flex; flex-direction: column; color: #fff; border-color: transparent; background: linear-gradient(145deg, var(--tb-credit-navy), #1759a8 62%, var(--tb-credit-mint)); }
.tb-credit-5000-calc__result-label { margin: 0 0 .3rem; color: #dceaff; font-weight: 700; }
.tb-credit-5000-calc__payment { display: block; margin-bottom: 1.1rem; color: #fff; font-size: clamp(2.2rem, 6vw, 3.5rem); line-height: 1; }
.tb-credit-5000-calc__result dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; margin: 0 0 1rem; }
.tb-credit-5000-calc__result dl div { padding: .75rem; border: 1px solid rgba(255,255,255,.2); border-radius: 12px; background: rgba(255,255,255,.09); }
.tb-credit-5000-calc__result dt { color: #dceaff; font-size: .8rem; }
.tb-credit-5000-calc__result dd { margin: .2rem 0 0; color: #fff; font-weight: 850; }
.tb-credit-5000-calc__budget-result { margin: 0 0 1rem; padding: .75rem .9rem; border-radius: 10px; color: #fff; background: rgba(0,0,0,.14); font-size: .9rem; line-height: 1.45; }
.tb-credit-5000-calc__decision { margin-top: auto; padding: 1rem; border-radius: 14px; color: var(--tb-credit-ink); background: #fff; }
.tb-credit-5000-calc__decision > span { display: inline-block; margin-bottom: .35rem; color: #6a7485; font-size: .72rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.tb-credit-5000-calc__decision h3 { margin: 0 0 .45rem; color: var(--tb-credit-ink) !important; font-size: 1.12rem; line-height: 1.25; }
.tb-credit-5000-calc__decision p { margin: 0 0 .85rem; color: var(--tb-credit-muted); font-size: .9rem; line-height: 1.45; }
.tb-credit-5000-calc__decision a { display: block; min-height: 48px; padding: .75rem 1rem; border-radius: 10px; color: #fff !important; background: #eb4957; font-weight: 850; text-align: center; text-decoration: none !important; touch-action: manipulation; }
.tb-credit-5000-calc__decision a:hover { background: #cf3544; }
.tb-credit-5000-calc__notice { margin: 1rem 0 0; color: var(--tb-credit-muted); font-size: .78rem; line-height: 1.45; }

@media (max-width: 760px) {
  .tb-credit-5000-calc { margin-inline: -4px; padding: 1rem; border-radius: 18px; }
  .tb-credit-5000-calc__layout { grid-template-columns: 1fr; }
  .tb-credit-5000-calc__budget > div { grid-template-columns: 1fr; }
  .tb-credit-5000-calc__result dl { grid-template-columns: 1fr 1fr; }
  .tb-credit-5000-calc__result dl div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 420px) {
  .tb-credit-5000-calc__result dl { grid-template-columns: 1fr; }
  .tb-credit-5000-calc__result dl div:first-child { grid-column: auto; }
}
