/* Calculadora e demais ferramentas */
.presets { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 30px; color: rgba(255, 255, 255, .75); font-size: 14px; font-weight: 600; }
.preset { padding: 11px 18px; border-radius: 12px; border: 1px solid rgba(255, 255, 255, .3); background: rgba(255, 255, 255, .08); color: #fff; font-weight: 600; cursor: pointer; backdrop-filter: blur(8px); transition: background .2s, color .2s; }
.preset small { font-weight: 500; opacity: .75; }
.preset:hover { background: rgba(255, 255, 255, .16); }
.preset.is-sel { background: var(--lima); color: var(--tinta); border-color: var(--lima); }

.calc { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 28px; align-items: start; }
.calc__controles { padding: 32px; border-radius: var(--raio-g); background: #fff; border: 1px solid var(--linha); }
.calc__controles h2 { font-size: 26px; }
.controle { margin-top: 24px; }
.controle__topo { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.controle label { font-weight: 600; font-size: 15px; }
.controle output { flex-shrink: 0; padding: 4px 12px; border-radius: 10px; background: var(--lima); font-family: var(--titulo); font-size: 18px; font-weight: 600; }
.controle input[type=range] { margin-top: 12px; -webkit-appearance: none; appearance: none; height: 8px; border-radius: 999px; background: var(--fundo-2); outline: none; }
.controle input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 24px; height: 24px; border-radius: 50%; background: var(--tinta); border: 4px solid var(--lima); cursor: pointer; }
.controle input[type=range]::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: var(--tinta); border: 4px solid var(--lima); cursor: pointer; }
.controle .ajuda { margin-top: 6px; }
.calc__premissas { margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--linha); line-height: 1.55; }

.calc__resultados { display: grid; gap: 16px; position: sticky; top: 100px; }
.antes-depois-calc { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ad-calc { padding: 24px; border-radius: var(--raio); background: #fff; border: 1px solid var(--linha); }
.ad-calc--depois { background: var(--verde); border-color: var(--verde); color: #fff; }
.ad-calc__t { font-family: var(--titulo); font-size: 20px; font-weight: 600; letter-spacing: -0.015em; }
.ad-calc--depois .ad-calc__t { color: var(--lima); }
.ad-calc__r { margin-top: 14px; font-size: 12.5px; color: var(--apagado); }
.ad-calc--depois .ad-calc__r { color: rgba(255, 255, 255, .65); }
.ad-calc__v { font-family: var(--titulo); font-size: 26px; font-weight: 600; letter-spacing: -0.015em; line-height: 1.1; }
.ganhos { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.ganho { padding: 18px; border-radius: var(--raio); background: #fff; border: 1px solid var(--linha); }
.ganho__ico { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: var(--verde-fundo); color: var(--verde-2); }
.ganho__v { margin-top: 10px; font-family: var(--titulo); font-size: 24px; font-weight: 600; letter-spacing: -0.015em; }
.ganho__t { margin-top: 2px; font-size: 13px; color: var(--suave); }
.total-calc { padding: 30px; border-radius: var(--raio-g); background: var(--floresta); color: #fff; box-shadow: var(--sombra-g); }
.total-calc .mono--verde { color: var(--lima); }
.total-calc__v { margin-top: 8px; font-family: var(--titulo); font-size: clamp(44px, 5vw, 64px); font-weight: 600; letter-spacing: -0.015em; line-height: 1; }
.total-calc__roi { margin-top: 12px; font-size: 15px; color: rgba(255, 255, 255, .8); }
.total-calc__roi strong { color: var(--lima); }
.barras { display: flex; align-items: flex-end; gap: 6px; height: 90px; margin-top: 22px; }
.barras i { flex: 1; height: var(--h); border-radius: 6px 6px 2px 2px; background: linear-gradient(180deg, var(--lima), rgba(214, 242, 107, .35)); }
.total-calc__ano { margin-top: 12px; font-size: 15px; color: rgba(255, 255, 255, .8); }
.total-calc__ano strong { color: #fff; font-family: var(--titulo); font-size: 20px; }
.total-calc .botao { margin-top: 20px; white-space: normal; text-align: center; line-height: 1.25; }
.total-calc__nota { margin-top: 8px; font-size: 13px; color: rgba(255, 255, 255, .6); text-align: center; }
.total-calc__link { display: block; margin-top: 12px; text-align: center; font-size: 14px; color: rgba(255, 255, 255, .85); text-underline-offset: 3px; }

@media (max-width: 1100px) {
  .calc { grid-template-columns: 1fr; }
  .calc__resultados { position: static; }
}
@media (max-width: 600px) {
  .calc__controles { padding: 22px 18px; }
  .antes-depois-calc, .ganhos { grid-template-columns: 1fr; }
}

/* diagnóstico */
.diag { padding: 34px; border-radius: var(--raio-g); background: #fff; border: 1px solid var(--linha); }
.diag__topo { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.diag__progresso { padding: 6px 12px; border-radius: 999px; background: var(--lima); font-weight: 700; font-size: 13.5px; }
.diag__pergunta { margin: 0; padding: 26px 0 0; border: 0; border-top: 1px solid var(--linha); margin-top: 22px; }
.diag__pergunta legend { display: flex; align-items: center; gap: 12px; padding: 0; font-family: var(--titulo); font-size: 21px; font-weight: 700; letter-spacing: -0.015em; }
.diag__pergunta legend span { display: grid; place-items: center; flex-shrink: 0; width: 32px; height: 32px; border-radius: 10px; background: var(--fundo-2); font-size: 15px; }
.diag__opcoes { display: grid; gap: 10px; margin-top: 16px; }
.diag .botao--bloco { margin-top: 28px; }
.diag-resultado { margin-top: 24px; padding: 34px; border-radius: var(--raio-g); background: var(--floresta); color: #fff; box-shadow: var(--sombra-g); }
.diag-resultado h2 { margin-top: 10px; color: #fff; font-size: clamp(26px, 3vw, 38px); line-height: 1.05; }
.diag-resultado > p { margin-top: 14px; color: rgba(255, 255, 255, .8); font-size: 17px; }
.diag-resultado__acoes { margin-top: 22px; padding: 22px; border-radius: 18px; background: #fff; color: var(--tinta); }
.diag-resultado__acoes h3 { font-size: 19px; }
@media (max-width: 600px) { .diag, .diag-resultado { padding: 22px 18px; } }
