/* Site institucional (Sobre, Contato, Tutorial, LGPD) — complementa landing.css.
   Mesma paleta/tipografia da landing; aqui só o que essas páginas precisam
   e a landing não tem (nav ativa, cabeçalho de conteúdo, cards legais,
   alertas, tabela, formulário de contato, FAQ). */

/* ---------- Nav: link ativo ---------- */
.ld-nav-links a.is-active{color:var(--accent-dark);}

/* ---------- Footer: mais links, quebra em telas estreitas ---------- */
.ld-footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;row-gap:6px;}

/* ---------- Cabeçalho de página (título + intro, sem a malha do hero) ---------- */
.ld-page-head{padding:150px 0 56px;text-align:center;
  background:linear-gradient(165deg,#f7fcfa 0%,var(--bg) 100%);
  border-bottom:1px solid var(--line);}
.ld-page-head h1{font-size:clamp(30px,5vw,48px);font-weight:800;letter-spacing:-1px;line-height:1.12;}
.ld-page-head h1 .grad{background:linear-gradient(90deg,var(--accent) 0%,var(--accent-dark) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.ld-page-head p{max-width:640px;margin:16px auto 0;font-size:clamp(15px,2vw,18px);
  color:var(--muted);font-weight:500;line-height:1.55;}

/* ---------- Conteúdo legal (Termos/Privacidade/Cookies) ---------- */
.ld-legal-wrap{padding:56px 0 96px;}
.ld-legal{background:#fff;border:1px solid var(--line);border-radius:20px;
  padding:clamp(24px,4vw,48px);box-shadow:0 3px 16px rgba(20,32,28,.05);}
.ld-legal .ld-updated{font-size:13px;color:var(--muted);font-weight:600;margin-bottom:28px;}
.ld-legal h2{font-size:20px;font-weight:800;letter-spacing:-.3px;margin:32px 0 14px;}
.ld-legal h2:first-of-type{margin-top:0;}
.ld-legal h3{font-size:16px;font-weight:700;margin:20px 0 10px;}
.ld-legal p{font-size:15px;color:#3c4642;font-weight:500;line-height:1.7;margin-bottom:14px;}
.ld-legal ul{list-style:disc;padding-left:22px;margin-bottom:16px;display:flex;flex-direction:column;gap:6px;}
.ld-legal li{font-size:15px;color:#3c4642;font-weight:500;line-height:1.6;}
.ld-legal strong{color:var(--ink);}
.ld-legal a{color:var(--accent-dark);font-weight:700;text-decoration:underline;}

/* Caixas de aviso */
.ld-alert{display:flex;gap:14px;align-items:flex-start;padding:20px 22px;border-radius:14px;
  margin-bottom:28px;border-left:4px solid transparent;}
.ld-alert svg{width:22px;height:22px;flex:0 0 auto;margin-top:1px;}
.ld-alert h3{font-size:16px;font-weight:800;margin-bottom:6px;}
.ld-alert p{font-size:14.5px;font-weight:500;line-height:1.6;margin:0;}
.ld-alert.info{background:var(--accent-soft);border-left-color:var(--accent);}
.ld-alert.info svg,.ld-alert.info h3{color:var(--accent-darker);}
.ld-alert.info p{color:#0f3a2e;}
.ld-alert.warn{background:#fef3e2;border-left-color:#e0942c;}
.ld-alert.warn svg,.ld-alert.warn h3{color:#a2650f;}
.ld-alert.warn p{color:#7a4d0c;}

/* Tabela (política de cookies) */
.ld-table-wrap{overflow-x:auto;margin-bottom:24px;border:1px solid var(--line);border-radius:12px;}
.ld-table{width:100%;border-collapse:collapse;font-size:14px;}
.ld-table th{text-align:left;font-weight:700;background:var(--bg);color:var(--ink);
  padding:12px 16px;border-bottom:1px solid var(--line);white-space:nowrap;}
.ld-table td{padding:12px 16px;border-bottom:1px solid var(--line);color:#3c4642;font-weight:500;
  vertical-align:top;}
.ld-table tr:last-child td{border-bottom:none;}

/* ---------- Contato ---------- */
.ld-contact-wrap{padding:56px 0 96px;}
.ld-contact{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
@media (max-width:860px){.ld-contact{grid-template-columns:1fr;}}
.ld-contact-info h2{font-size:22px;font-weight:800;margin-bottom:18px;}
.ld-contact-item{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px;}
.ld-contact-ic{width:42px;height:42px;border-radius:12px;background:var(--accent-soft);
  color:var(--accent-dark);display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.ld-contact-ic svg{width:20px;height:20px;}
.ld-contact-item h3{font-size:12.5px;font-weight:700;color:var(--muted);text-transform:uppercase;
  letter-spacing:.4px;margin-bottom:3px;}
.ld-contact-item p{font-size:15px;font-weight:600;color:var(--ink);}

.ld-form-card{background:#fff;border:1px solid var(--line);border-radius:20px;
  padding:clamp(22px,4vw,34px);box-shadow:0 3px 16px rgba(20,32,28,.05);}
.ld-field{margin-bottom:18px;}
.ld-field label{display:block;font-size:13.5px;font-weight:700;color:var(--ink);margin-bottom:6px;}
.ld-field input,.ld-field textarea{width:100%;padding:12px 14px;border:1px solid var(--line);
  border-radius:11px;font:inherit;font-size:14.5px;background:var(--bg);color:var(--ink);
  transition:border-color .15s ease,box-shadow .15s ease;}
.ld-field input:focus,.ld-field textarea:focus{outline:none;border-color:var(--accent);
  box-shadow:0 0 0 3px var(--accent-soft);}
.ld-field textarea{resize:vertical;min-height:120px;}
.ld-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.ld-form-msg{padding:14px 16px;border-radius:11px;font-size:14px;font-weight:600;margin-bottom:18px;}
.ld-form-msg.ok{background:var(--accent-soft);color:var(--accent-darker);}
.ld-form-msg.err{background:#fdeaea;color:#a3282c;}
.ld-field-errors{color:#c0272c;font-size:12.5px;font-weight:600;margin-top:5px;}

/* ---------- FAQ (tutorial) ---------- */
.ld-faq{display:flex;flex-direction:column;gap:14px;margin-top:44px;}
.ld-faq-item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 24px;}
.ld-faq-item h3{font-size:15.5px;font-weight:700;margin-bottom:6px;display:flex;gap:10px;align-items:flex-start;}
.ld-faq-item h3 svg{width:18px;height:18px;color:var(--accent-dark);flex:0 0 auto;margin-top:2px;}
.ld-faq-item p{font-size:14.5px;color:var(--muted);font-weight:500;line-height:1.6;padding-left:28px;}
