
/* ===== Calculator tool pages ===== */
.tool-card {
  background: #fff;
  border: 1px solid rgba(21, 53, 76, 0.12);
  border-radius: 18px;
  box-shadow: 0 16px 40px rgba(8, 28, 45, 0.09);
  padding: 34px 34px 28px;
  max-width: 860px;
  margin: 0 auto;
}
.tool-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 24px;
}
.tool-field { display: flex; flex-direction: column; gap: 6px; }
.tool-field--full { grid-column: 1 / -1; }
.tool-field label { font-weight: 600; color: #15354C; font-size: 0.95rem; }
.tool-field .hint { font-size: 0.82rem; color: #6b7a89; font-weight: 400; }
.tool-field input, .tool-field select {
  padding: 12px 14px;
  border: 1px solid rgba(21, 53, 76, 0.25);
  border-radius: 10px;
  font: inherit;
  font-size: 1rem;
  color: #15354C;
  background: #fff;
}
.tool-field input:focus, .tool-field select:focus {
  outline: 2px solid rgba(199, 148, 45, 0.55);
  border-color: #C7942D;
}
.tool-actions { margin-top: 24px; display: flex; gap: 14px; flex-wrap: wrap; }
.tool-results { margin-top: 28px; display: none; }
.tool-results.is-visible { display: block; }
.tool-result-band {
  background: #15354C;
  color: #fff;
  border-radius: 14px;
  padding: 24px 28px;
  margin-bottom: 16px;
}
.tool-result-band .tool-result-label { font-size: 0.85rem; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255,255,255,0.75); margin-bottom: 6px; }
.tool-result-band .tool-result-value { font-size: 2rem; font-weight: 800; color: #E8C87E; line-height: 1.1; }
.tool-result-band .tool-result-note { font-size: 0.92rem; color: rgba(255,255,255,0.85); margin-top: 8px; line-height: 1.5; }
.tool-breakdown { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin-bottom: 16px; }
.tool-breakdown .item {
  background: #F5F7F9;
  border: 1px solid rgba(21, 53, 76, 0.1);
  border-left: 3px solid #C7942D;
  border-radius: 10px;
  padding: 14px 16px;
}
.tool-breakdown .item .k { font-size: 0.8rem; color: #4A5A6A; text-transform: uppercase; letter-spacing: 0.06em; }
.tool-breakdown .item .v { font-size: 1.25rem; font-weight: 700; color: #15354C; margin-top: 4px; }
.tool-flags { margin: 0 0 16px; padding: 0; list-style: none; display: grid; gap: 8px; }
.tool-flags li { padding: 12px 16px; border-radius: 10px; font-size: 0.95rem; line-height: 1.5; }
.tool-flags li.ok { background: #EAF5EE; border: 1px solid #BFDECB; color: #1E5631; }
.tool-flags li.warn { background: #FDF3E3; border: 1px solid #EED9A9; color: #7A5A12; }
.tool-flags li.risk { background: #FBEAEA; border: 1px solid #EBC3C3; color: #7A1F1F; }
.tool-disclaimer { font-size: 0.85rem; color: #6b7a89; margin-top: 18px; line-height: 1.6; }
.tool-embed {
  background: #F5F7F9;
  border: 1px dashed rgba(21, 53, 76, 0.3);
  border-radius: 10px;
  padding: 16px 18px;
  margin-top: 22px;
}
.tool-embed code {
  display: block;
  background: #fff;
  border: 1px solid rgba(21, 53, 76, 0.15);
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 0.8rem;
  color: #15354C;
  overflow-x: auto;
  white-space: pre;
  margin-top: 8px;
}
@media (max-width: 700px) {
  .tool-grid { grid-template-columns: 1fr; }
  .tool-card { padding: 24px 20px; }
}
