/* Ferramentas gratuitas — IDEIA Tecnologia
   Estilos das ferramentas interativas publicadas em /ferramentas-gratuitas/.
   Padrão da marca: âmbar #ffc000, navy #111827, títulos à esquerda,
   textos corridos justificados. */

/* ---------- lista de cards (página índice) ---------- */
.ferr-grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ferr-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  border: 1px solid var(--border, #0f172a1a);
  border-radius: 20px;
  background: #fff;
  padding: 22px;
  box-shadow: 0 16px 40px #0f172a0d;
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.ferr-card:hover { transform: translateY(-3px); border-color: #ffc00052; box-shadow: 0 22px 52px #0f172a1a; }
.ferr-card h3 { margin: 0; font-size: 19px; line-height: 1.25; letter-spacing: -.02em; color: var(--navy, #111827); text-align: left; }
.ferr-card p { margin: 0; color: var(--slate, #475569); font-size: 15px; line-height: 1.6; text-align: justify; text-justify: inter-word; }
.ferr-card .ferr-acoes { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; padding-top: 6px; }
.ferr-tag {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 2px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid #ffc00040;
  background: #ffc0001a;
  color: #a16207;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ferr-tag.ferr-tag-ferramenta { background: #111827; border-color: #111827; color: #fff; }
.ferr-lista { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ferr-lista li { font-size: 14px; line-height: 1.5; color: var(--slate, #475569); }
.ferr-link { color: #a16207; font-weight: 750; text-decoration: none; border-bottom: 1px solid #ffc00073; }
.ferr-link:hover { border-bottom-color: #a16207; }
.ferr-botao {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 18px;
  border-radius: 999px;
  border: 1px solid #ffc00057;
  background: linear-gradient(135deg, #ffe9a3 0%, #ffc000 42%, #e8ad00 72%, #c98f00 100%);
  color: #111827;
  font-size: 14px;
  font-weight: 850;
  text-decoration: none;
  cursor: pointer;
  transition: transform .18s, box-shadow .18s;
}
.ferr-botao:hover { transform: translateY(-1px); box-shadow: 0 14px 30px #ffc0003d; }
.ferr-botao.ferr-botao-claro { background: #fff; border-color: var(--border, #0f172a1a); color: var(--navy, #111827); }
.ferr-botao.ferr-botao-claro:hover { border-color: #ffc00073; box-shadow: 0 14px 30px #0f172a14; }

/* ---------- página da ferramenta ---------- */
.ferr-ferramenta { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 24px; align-items: start; }
.ferr-painel {
  border: 1px solid var(--border, #0f172a1a);
  border-radius: 24px;
  background: #fff;
  padding: clamp(20px, 2.4vw, 30px);
  box-shadow: 0 20px 50px #0f172a0f;
}
.ferr-painel h2 { margin: 0 0 6px; font-size: clamp(20px, 2.2vw, 26px); letter-spacing: -.03em; color: var(--navy, #111827); text-align: left; }
.ferr-painel .ferr-sub { margin: 0 0 20px; color: var(--slate, #475569); font-size: 14px; line-height: 1.6; }
.ferr-campos { display: grid; gap: 16px; }
.ferr-linha { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ferr-campo { display: grid; gap: 7px; }
.ferr-campo > label,
.ferr-grupo > span.ferr-rotulo { color: var(--navy, #111827); font-size: 13px; font-weight: 800; letter-spacing: .01em; }
.ferr-campo input,
.ferr-campo select {
  width: 100%;
  border: 1px solid var(--border, #0f172a1a);
  border-radius: 12px;
  background: #fff;
  padding: 12px 14px;
  font: inherit;
  font-size: 15px;
  color: var(--navy, #111827);
}
.ferr-campo input:focus,
.ferr-campo select:focus { outline: 2px solid #ffc00066; outline-offset: 1px; }
.ferr-campo small { color: var(--muted, #64748b); font-size: 12px; line-height: 1.45; }
.ferr-grupo { display: grid; gap: 8px; }
.ferr-opcoes { display: flex; flex-wrap: wrap; gap: 8px; }
.ferr-opcoes label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--border, #0f172a1a);
  border-radius: 999px;
  padding: 9px 14px;
  font-size: 13px;
  font-weight: 700;
  color: var(--navy, #111827);
  cursor: pointer;
  transition: border-color .16s, background .16s;
}
.ferr-opcoes label:hover { border-color: #ffc00073; }
.ferr-opcoes input { accent-color: #ffc000; }
.ferr-opcoes label:has(input:checked) { background: #ffc0001a; border-color: #ffc00073; }
.ferr-acoes-form { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.ferr-aviso {
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px solid var(--border, #0f172a1a);
  border-radius: 16px;
  background: #f8fafc;
  color: #33414f;
  font-size: 13px;
  line-height: 1.6;
  text-align: justify;
}
.ferr-aviso strong { color: var(--navy, #111827); }

/* resultado */
.ferr-resultado { min-width: 0; }
.ferr-total {
  border-radius: 20px;
  padding: 22px;
  background: radial-gradient(circle at 12% 8%, #ffc00038, transparent 36%), linear-gradient(135deg, #0a1020 0%, #111827 58%, #0f172a 100%);
  color: #fff;
}
.ferr-total .ferr-total-rotulo { font-size: 12px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; color: #ffd75e; }
.ferr-total .ferr-total-valor { margin-top: 6px; font-size: clamp(30px, 4vw, 44px); font-weight: 900; letter-spacing: -.04em; line-height: 1; }
.ferr-total .ferr-total-nota { margin-top: 10px; color: #cbd5e1; font-size: 13px; line-height: 1.55; }
.ferr-total-detalhe { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 16px; }
.ferr-total-detalhe div { min-width: 130px; }
.ferr-total-detalhe span { display: block; color: #94a3b8; font-size: 11px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.ferr-total-detalhe strong { font-size: 18px; }
.ferr-memoria { margin-top: 18px; border: 1px solid var(--border, #0f172a1a); border-radius: 20px; overflow: hidden; background: #fff; }
.ferr-memoria table { width: 100%; border-collapse: collapse; font-size: 14px; }
.ferr-memoria th,
.ferr-memoria td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--border, #0f172a1a); vertical-align: top; }
.ferr-memoria th { background: #f8fafc; color: var(--navy, #111827); font-size: 11px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.ferr-memoria tr:last-child td { border-bottom: 0; }
.ferr-memoria td:last-child { text-align: right; white-space: nowrap; color: var(--navy, #111827); font-weight: 750; }
.ferr-memoria td small { display: block; color: var(--muted, #64748b); font-size: 12px; font-weight: 500; line-height: 1.45; }
.ferr-memoria tr.ferr-linha-total td { background: #ffc00012; font-weight: 900; }
.ferr-memoria tr.ferr-linha-desconto td:last-child { color: #b91c1c; }
.ferr-vazio { padding: 26px; color: var(--muted, #64748b); font-size: 14px; line-height: 1.6; }

@media (max-width: 1000px) {
  .ferr-ferramenta { grid-template-columns: 1fr; }
  .ferr-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .ferr-grade { grid-template-columns: 1fr; }
  .ferr-linha { grid-template-columns: 1fr; }
}

/* impressão da memória de cálculo */
@media print {
  header, footer, .svc-hero, .ferr-painel-form, .ferr-acoes, .lawx-mobile-panel { display: none !important; }
  .ferr-ferramenta { grid-template-columns: 1fr; }
  .ferr-memoria { border-color: #999; }
  .ferr-total { background: #fff; color: #111827; border: 1px solid #111827; }
  .ferr-total .ferr-total-rotulo,
  .ferr-total .ferr-total-nota,
  .ferr-total-detalhe span { color: #333; }
}
