.dac-calculator {
  margin: 1.6rem 0 2.3rem;
  overflow: hidden;
  border: 1px solid var(--line);
  border-top: 4px solid var(--sun);
  border-radius: 8px;
  background: #f8fbff;
}

.dac-calculator-head,
.dac-calculator-form,
.dac-calculator-result,
.dac-calculator-foot {
  padding-inline: 1.2rem;
}

.dac-calculator-head {
  padding-top: 1.2rem;
}

.dac-calculator-head h2 {
  margin: 0.2rem 0 0.55rem;
  font-size: 1.45rem;
}

.dac-calculator-head p:last-child {
  margin: 0;
  color: var(--ink-soft);
}

.dac-calculator-form {
  display: grid;
  grid-template-columns: minmax(150px, 0.8fr) minmax(220px, 1.2fr) auto;
  gap: 0.8rem;
  align-items: end;
  padding-block: 1rem;
}

.dac-calculator-form label {
  min-width: 0;
  font-size: 0.84rem;
}

.dac-calculator-form input,
.dac-calculator-form select,
.dac-calculator-form .btn {
  min-height: 48px;
}

.dac-calculator-form .btn {
  white-space: nowrap;
}

.dac-calculator-help {
  display: block;
  margin-top: 0.35rem;
  color: var(--ink-soft);
  font-size: 0.76rem;
  font-weight: 500;
  line-height: 1.45;
}

.dac-calculator-result {
  min-height: 116px;
  display: grid;
  align-content: center;
  gap: 0.35rem;
  border-block: 1px solid var(--line);
  background: var(--white);
}

.dac-calculator-result strong {
  color: var(--ink);
  font-family: "Sora", sans-serif;
  font-size: 1rem;
}

.dac-calculator-result p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.88rem;
  line-height: 1.5;
}

.dac-calculator-result[data-state="above"] {
  border-left: 4px solid #b42318;
  background: #fff4f2;
}

.dac-calculator-result[data-state="below"] {
  border-left: 4px solid #067647;
  background: #ecfdf3;
}

.dac-calculator-result[data-state="error"] {
  border-left: 4px solid #b54708;
  background: #fffaeb;
}

.dac-calculator-caveat {
  font-size: 0.78rem !important;
}

.dac-calculator-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-block: 1rem;
}

.dac-calculator-foot p {
  max-width: 54ch;
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.78rem;
  line-height: 1.5;
}

.article-faq-list {
  display: grid;
  margin-top: 1rem;
  border-top: 1px solid var(--line);
}

.article-faq-list details {
  border-bottom: 1px solid var(--line);
}

.article-faq-list summary {
  padding: 0.9rem 0;
  color: var(--ink);
  cursor: pointer;
  font-weight: 800;
  line-height: 1.45;
}

.article-faq-list details p {
  margin: -0.15rem 0 1rem;
}

@media (max-width: 720px) {
  .dac-calculator-form {
    grid-template-columns: 1fr;
  }

  .dac-calculator-form .btn,
  .dac-calculator-foot .btn {
    width: 100%;
  }

  .dac-calculator-foot {
    align-items: stretch;
    flex-direction: column;
  }
}
