/* ── Theodore Savings vs 190 Calculator — v1.1.0 ─────────────────────── */

/* Root layout */
.thsv190 {
  font-family: system-ui, -apple-system, "Heebo", Arial, sans-serif;
  max-width: 1100px;
  margin: 18px auto;
  padding: 12px;
}

/* Title bar */
.thsv190__title {
  background: #33CCCC;
  color: #fff;
  border-radius: 10px;
  padding: 14px 16px;
  text-align: center;
  margin-bottom: 12px;
}
.thsv190__title h3 { margin: 0; font-size: 18px; line-height: 1.25; }

/* 3-column grid */
.thsv190__grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr 1fr;
  gap: 12px;
  align-items: start;
}
@media (max-width: 980px) { .thsv190__grid { grid-template-columns: 1fr; } }

/* Cards */
.thsv190__card {
  border: 1px solid #d9d9d9;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
}
.thsv190__card--inputs { background: #fafafa; }

/* Card headers — flex so title + clear button sit side by side */
.thsv190__cardHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
}
.thsv190__cardHeader--turq    { background: #33CCCC; }
.thsv190__cardHeader--magenta { background: #D60093; }
.thsv190__sub { opacity: .95; font-weight: 600; font-size: 12px; }

/* ── Clear button (inside card header) ── */
.thsv190__clearBtn {
  flex-shrink: 0;
  padding: 4px 10px;
  border: 1.5px solid rgba(255,255,255,.70);
  border-radius: 8px;
  background: transparent;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: background .15s, border-color .15s;
  white-space: nowrap;
}
.thsv190__clearBtn:hover {
  background: rgba(255,255,255,.22);
  border-color: #fff;
}
.thsv190__clearBtn:active {
  background: rgba(255,255,255,.35);
}

/* Input elements */
.thsv190__label {
  display: block;
  margin: 10px 12px 6px;
  font-weight: 700;
  color: #333;
  font-size: 13px;
}
.thsv190__input,
.thsv190__select {
  width: calc(100% - 24px);
  margin: 0 12px 6px;
  padding: 10px 10px;
  border: 1px solid #d9d9d9;
  border-radius: 10px;
  font-size: 14px;
  background: #fff;
}
.thsv190__input::placeholder { color: #aaa; }

/* Calculate button */
.thsv190__btn {
  width: calc(100% - 24px);
  margin: 10px 12px 12px;
  padding: 11px 12px;
  border: 0;
  border-radius: 10px;
  background: #33CCCC;
  color: #fff;
  font-weight: 800;
  font-size: 15px;
  cursor: pointer;
  transition: filter .15s;
}
.thsv190__btn:hover  { filter: brightness(.95); }
.thsv190__btn:active { filter: brightness(.90); }

/* Notes */
.thsv190__notes {
  margin: 0 12px 12px;
  color: #666;
  font-size: 12px;
  line-height: 1.55;
}

/* Result rows */
.thsv190__rows { padding: 8px 0 6px; }
.thsv190__row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-top: 1px solid #eee;
}
.thsv190__row:first-child { border-top: 0; }
.thsv190__k { color: #444; font-weight: 700; font-size: 13px; }
.thsv190__v { font-weight: 800; font-size: 14px; color: #111; white-space: nowrap; }
.thsv190__row--tax   .thsv190__v,
.thsv190__row--after .thsv190__v {
  background: #FFF2CC;
  padding: 2px 8px;
  border-radius: 8px;
}
.thsv190__row--after .thsv190__v { font-size: 15px; }

/* Recommendation panel */
.thsv190__recommend {
  margin-top: 12px;
  border: 1px solid #d9d9d9;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
}
.thsv190__recommendTitle {
  background: #808080;
  color: #fff;
  padding: 10px 12px;
  font-weight: 800;
  text-align: center;
}
.thsv190__recommendBody {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px;
  border-top: 1px solid #eee;
}
.thsv190__recommendLabel { font-weight: 800; color: #333; }
.thsv190__recommendValue {
  min-width: 220px;
  text-align: center;
  font-weight: 900;
  padding: 10px 12px;
  border-radius: 10px;
  background: #f0f0f0;
  color: #555;
}
.thsv190__recommendValue.is-policy { background: #33CCCC; color: #fff; }
.thsv190__recommendValue.is-190    { background: #D60093; color: #fff; }
.thsv190__recommendValue.is-tie    { background: #D9D9D9; color: #111; }

.thsv190__delta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px;
  border-top: 1px solid #eee;
  background: #fafafa;
}
.thsv190__deltaLabel { font-weight: 800; color: #333; }
.thsv190__deltaValue {
  min-width: 160px;
  text-align: center;
  font-weight: 900;
  padding: 8px 10px;
  border-radius: 10px;
  background: #FFF2CC;
}
