/* Shared styling for the /calculators/ tools — extends assets/styles.css, doesn't replace it. */

.calc-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 44px;
  align-items: start;
}

.calc-form label {
  display: grid;
  gap: 6px;
  font-weight: 700;
  margin-bottom: 18px;
}

.calc-form label:last-of-type { margin-bottom: 0; }

.calc-form input[type="number"],
.calc-form input[type="text"],
.calc-form select {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-family: inherit;
  font-size: 1rem;
  width: 100%;
  background: var(--white);
}

.calc-form .field-hint {
  font-weight: 400;
  font-size: 0.86rem;
  color: var(--grey);
}

.calc-form .btn { margin-top: 8px; width: 100%; text-align: center; }

.calc-result {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 28px;
}

.calc-result h3 { margin-bottom: 6px; }
.calc-result .calc-result-sub { color: var(--grey); font-size: 0.92rem; margin-bottom: 18px; }

.calc-result-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
.calc-result-row:last-child { border-bottom: 0; }
.calc-result-row .label { font-weight: 700; }
.calc-result-row .value { font-family: "Anton", sans-serif; font-size: 1.2rem; white-space: nowrap; }

.calc-result-highlight {
  background: var(--lime);
  margin: 18px -28px -28px;
  padding: 20px 28px;
  border-radius: 0 0 var(--radius) var(--radius);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.calc-result-highlight .label { font-weight: 900; }
.calc-result-highlight .value { font-family: "Anton", sans-serif; font-size: 1.9rem; }

.calc-placeholder { color: var(--grey); }

.calc-scroll { overflow-x: auto; }

.rates-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 10px;
  font-size: 0.94rem;
  min-width: 420px;
}
.rates-table th, .rates-table td {
  text-align: left;
  padding: 10px 14px;
  border-bottom: 1px solid var(--line);
}
.rates-table th {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  font-size: 0.74rem;
  letter-spacing: 0.06em;
  color: var(--grey);
}
.rates-table td.num, .rates-table th.num { text-align: right; }

.disclaimer-box {
  background: var(--white);
  border: 2px solid var(--black);
  border-radius: var(--radius);
  padding: 18px 22px;
  font-size: 0.94rem;
}
.disclaimer-box strong { display: block; margin-bottom: 4px; }

@media (max-width: 860px) {
  .calc-grid { grid-template-columns: 1fr; }
}

.calc-note { margin-top: 16px; font-size: 0.86rem; color: var(--grey); line-height: 1.5; }
.calc-note a { color: inherit; font-weight: 700; }
