/* Mofima – Calculadora. Paleta fija: tokens-dorado. */
.mfc {
  --mfc-accent: #8A6A2E;
  --mfc-accent-hover: #6E5424;
  --mfc-accent-tint: rgba(138, 106, 46, 0.1);
  --mfc-accent-on-dark: #C19A55;
  --mfc-navy: #0C3A59;
  --mfc-ink: #1D2128;
  --mfc-body: #5B6068;
  --mfc-border: #DCDFE4;
  --mfc-paper: #FFFFFF;
  --mfc-display: 'Fraunces', Georgia, serif;
  --mfc-text: 'Inter', system-ui, sans-serif;
  font-family: var(--mfc-text);
  color: var(--mfc-ink);
}
.mfc *, .mfc *::before, .mfc *::after { box-sizing: border-box; }
.mfc__box { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); border: 1px solid var(--mfc-border); }
.mfc__form, .mfc__result { padding: 48px; display: flex; flex-direction: column; gap: 24px; }
.mfc__form { background: var(--mfc-paper); }
.mfc__result { background: var(--mfc-navy); color: #fff; }
.mfc__icon { color: var(--mfc-accent); }
.mfc__title { font-family: var(--mfc-display); font-size: 28px; font-weight: 600; line-height: 1.2; margin: 0 0 8px; color: var(--mfc-ink); }
.mfc__sub { font-size: 15px; line-height: 1.6; color: var(--mfc-body); margin: 0; }
.mfc__field { display: block; }
.mfc__group { display: flex; flex-direction: column; gap: 24px; }
.mfc__label { display: block; font-size: 13px; font-weight: 500; margin-bottom: 8px; color: var(--mfc-ink); }
.mfc__input { width: 100%; height: 52px; padding: 0 16px; border: 1px solid var(--mfc-border); border-radius: 0; background: var(--mfc-paper); font: inherit; font-size: 16px; color: var(--mfc-ink); }
.mfc__input:focus { outline: 2px solid var(--mfc-accent); outline-offset: -1px; }
.mfc select.mfc__input {
  -webkit-appearance: none; -moz-appearance: none; appearance: none; cursor: pointer; padding-right: 48px;
  background: var(--mfc-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A6A2E' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center / 18px 18px;
}
.mfc select.mfc__input:hover { border-color: var(--mfc-accent); }
.mfc select.mfc__input::-ms-expand { display: none; }
.mfc__toggle { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mfc__opt { height: 52px; padding: 0 12px; border: 1px solid var(--mfc-border); background: var(--mfc-paper); color: var(--mfc-ink); font: inherit; font-size: 14px; cursor: pointer; }
.mfc__opt.is-active { border-color: var(--mfc-accent); background: var(--mfc-accent-tint); color: var(--mfc-accent); }
.mfc__eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--mfc-accent-on-dark); }
.mfc__total { font-family: var(--mfc-display); font-size: clamp(36px, 4vw, 56px); font-weight: 600; line-height: 1.05; }
.mfc__total-lbl { font-size: 14px; color: rgba(255, 255, 255, 0.7); margin-top: 8px; }
.mfc__lines { margin: 0; display: flex; flex-direction: column; gap: 16px; font-size: 16px; }
.mfc__lines > div { display: flex; justify-content: space-between; gap: 16px; }
.mfc__lines dt { color: rgba(255, 255, 255, 0.75); }
.mfc__lines dd { margin: 0; font-weight: 700; }
.mfc__sep { border-top: 1px solid rgba(255, 255, 255, 0.12); padding-top: 12px; }
.mfc__msg-title { font-family: var(--mfc-display); font-size: 32px; font-weight: 600; line-height: 1.15; }
.mfc__msg { font-size: 15px; line-height: 1.6; color: rgba(255, 255, 255, 0.75); margin: 12px 0 0; }
.mfc__nota { font-size: 12px; color: rgba(255, 255, 255, 0.55); margin: 0; }
.mfc__cta { margin-top: auto; display: inline-flex; align-items: center; justify-content: center; height: 52px; padding: 0 28px; background: var(--mfc-accent); color: #fff; font-weight: 600; text-decoration: none; }
.mfc__cta:hover { background: var(--mfc-accent-hover); color: #fff; }
.mfc__pdf { display: flex; justify-content: center; margin-top: 32px; }
.mfc__pdf-btn { display: inline-flex; align-items: center; height: 44px; padding: 0 20px; border: 1px solid var(--mfc-ink); color: var(--mfc-ink); font-size: 14px; font-weight: 500; text-decoration: none; }
.mfc__pdf-btn:hover { background: var(--mfc-ink); color: #fff; }
@media (max-width: 600px) { .mfc__form, .mfc__result { padding: 28px; } .mfc__toggle { grid-template-columns: 1fr; } }
