/* Car leasing calculator (1.8.12). Shared components come from jdg-porownanie.css / zus-skladki.css / main.css. */
.ls-calc { --gap: 16px; }
.ls-calc [hidden] { display: none !important; }
.ls-calc__grid {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(0, 1.55fr);
  gap: var(--gap);
  align-items: start;
}
@media (max-width: 900px) {
  .ls-calc__grid { grid-template-columns: minmax(0, 1fr); }
}
.ls-calc__grid > * { min-width: 0; }
.ls-pair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; align-items: end; }
.ls-calc fieldset.field { border: 0; padding: 0; margin: 0 0 16px; min-width: 0; }
.ls-calc fieldset.field legend { display: flex; align-items: center; gap: 4px; font-weight: 600; font-size: .88rem; margin-bottom: 4px; padding: 0; }
.ls-calc .field label.check,
.ls-calc fieldset label.check { justify-content: flex-start; font-weight: 500; margin: 4px 0; }
.ls-calc .check input { margin-top: 3px; width: auto; }
.ls-calc .field > label { display: flex; align-items: center; gap: 4px; }
.ls-subhead { margin: 18px 0 10px; padding-top: 14px; border-top: 1px dashed #cbd5e1; font-size: .92rem; color: #0f172a; }
.ls-indent { margin-left: 26px; }
.ls-calc .zus-hero-card__label { text-transform: none; letter-spacing: 0; font-size: .85rem; }
.ls-calc .zus-hero-card__sub { line-height: 1.45; }

/* Result rows with a native „Dlaczego tyle?” disclosure. */
.ls-breakdown { padding: 6px 16px; }
.ls-row { border-bottom: 1px solid #e2e8f0; }
.ls-row:last-child { border-bottom: 0; }
.ls-row > summary {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 9px 0;
  font-size: .95rem;
  cursor: pointer;
  list-style: none;
}
.ls-row > summary::-webkit-details-marker { display: none; }
.ls-row__value { white-space: nowrap; text-align: right; font-variant-numeric: tabular-nums; }
.ls-why-btn {
  display: inline-block;
  margin-left: 4px;
  font-size: .72rem;
  font-weight: 600;
  color: #2563eb;
  text-decoration: underline dotted;
  text-underline-offset: 2px;
}
.ls-row[open] .ls-why-btn { color: #1e3a8a; }
.ls-why {
  margin: 0 0 10px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  color: #1e3a8a;
  font-size: .82rem;
  line-height: 1.5;
}
.ls-row--total > summary { font-weight: 800; font-size: 1.02rem; border-top: 2px solid #cbd5e1; }
.ls-row--note { margin: -4px 0 16px; border: 0; }
.ls-row--note > summary { padding: 4px 2px; font-size: .84rem; color: #334155; }

.ls-h3 { margin: 20px 0 6px; font-size: .98rem; color: #0f172a; }
.ls-sub { margin: 0 0 8px; font-size: .8rem; color: #64748b; line-height: 1.45; }
.ls-sched { margin-top: 4px; }
.ls-dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; }
.ls-dl > div { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 10px 12px; }
.ls-dl dt { margin: 0; font-size: .72rem; color: #64748b; font-weight: 600; }
.ls-dl dd { margin: 2px 0 0; font-weight: 700; font-size: .95rem; color: #0f172a; font-variant-numeric: tabular-nums; }

.ls-calc .ls-table { table-layout: auto; font-size: .86rem; min-width: 0; }
.ls-calc .ls-table th,
.ls-calc .ls-table td { width: auto; }
.ls-calc .ls-table th:first-child { width: 30%; }
.ls-calc .ls-table th,
.ls-calc .ls-table td { padding: 9px 10px; text-align: right; white-space: nowrap; overflow-wrap: normal; font-variant-numeric: tabular-nums; }
.ls-calc .ls-table th:first-child,
.ls-calc .ls-table td:first-child { text-align: left; white-space: normal; }
.ls-calc .ls-table thead th { font-size: .7rem; white-space: normal; vertical-align: bottom; }
.ls-calc .ls-table tbody th { font-weight: 600; background: #f8fafc; }
.ls-calc .ls-table .is-best { background: #ecfdf5; }
.ls-calc .ls-table thead th.is-best { background: #d1fae5; color: #065f46; }
.ls-calc .ls-table tr.ls-total th,
.ls-calc .ls-table tr.ls-total td { font-weight: 800; border-top: 2px solid #cbd5e1; }
.ls-calc .ls-table tr.is-current th,
.ls-calc .ls-table tr.is-current td { font-weight: 700; background: #fefce8; }
.ls-best {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 6px;
  border-radius: 999px;
  background: #059669;
  color: #fff;
  font-size: .62rem;
  letter-spacing: .02em;
  vertical-align: middle;
}
.ls-you {
  display: inline-block;
  padding: 0 6px;
  border-radius: 999px;
  background: #fde68a;
  color: #78350f;
  font-size: .66rem;
  font-weight: 700;
}
.ls-link { margin: -8px 2px 8px; font-size: .86rem; }
.ls-note { margin: 4px 2px 10px; }
.ls-calc .chart-box { margin: 8px 0 18px; }
@media (max-width: 480px) {
  .ls-calc .ls-table th,
  .ls-calc .ls-table td { padding: 7px 6px; font-size: .76rem; }
  .ls-calc .ls-table thead th { font-size: .6rem; letter-spacing: 0; }
  .ls-calc .ls-table th:first-child { width: auto; min-width: 84px; }
  .ls-best { display: block; width: max-content; margin: 2px 0 0 auto; }
  .ls-calc .zus-hero-card__value { font-size: 1.7rem; }
  .ls-dl { grid-template-columns: minmax(0, 1fr); }
  .ls-row > summary { font-size: .88rem; }
}
/* no price yet: only the hero card with a prompt */
.ls-calc.is-empty .ls-results > :not(.zus-hero-card) { display: none !important; }
.ls-warn { color: #b45309; font-weight: 600; }
