.calc-tarot {
  margin: 32px 0;
  padding: 24px 22px;
  background: var(--surface-2);
  border: 1px solid var(--line-forte);
  border-radius: 10px;
}
.calc-tarot h2 { margin-top: 0; }
.calc-grille {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px 18px;
  margin-bottom: 14px;
}
.calc-champ { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.calc-champ label, .calc-case label {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--texte);
}
.calc-aide { font-size: 0.8rem; color: var(--texte-doux); margin: 0; line-height: 1.4; }
.calc-tarot select, .calc-tarot input[type="text"] {
  width: 100%;
  min-height: 44px;
  padding: 8px 10px;
  font: inherit;
  font-size: 0.95rem;
  color: var(--texte);
  background: var(--surface-1);
  border: 1px solid var(--line-forte);
  border-radius: 6px;
}
.calc-tarot select:focus-visible, .calc-tarot input:focus-visible {
  outline: 2px solid var(--color-light);
  outline-offset: 1px;
}
.calc-tarot input[aria-invalid="true"] { border-color: #e07a7a; }
.calc-erreur { color: #f0a0a0; font-size: 0.85rem; margin: 0; }
.calc-case {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
}
.calc-case[hidden] { display: none; }
.calc-case input { width: 20px; height: 20px; accent-color: var(--color-mid); flex-shrink: 0; }
.calc-verdict {
  margin: 18px 0 8px;
  padding: 12px 14px;
  border-radius: 6px;
  border-left: 4px solid var(--line-forte);
  background: var(--surface-1);
  font-weight: 600;
  color: var(--texte);
}
.calc-verdict.calc-gagne { border-left-color: #64ab7c; }
.calc-verdict.calc-chute { border-left-color: #e07a7a; }
.calc-resultat .table-wrap { margin-top: 10px; }
.calc-resultat td:last-child { font-variant-numeric: tabular-nums; font-weight: 600; white-space: nowrap; }
.calc-note { font-size: 0.85rem; color: var(--texte-doux); }
@media (max-width: 480px) {
  .calc-tarot { padding: 18px 14px; }
}
