@charset "utf-8";
/* ============================================================
   ACT · ARCONTEC — Módulos BuildV (LGPD): banner de cookies,
   páginas institucionais e formulários de Fornecedores/RH.
   ============================================================ */

/* ---------- BANNER DE COOKIES ---------- */
.cookies {
  position: fixed; left: 0; right: 0; bottom: 0;
  z-index: var(--z-cookie);
  background: var(--act-azul-900);
  color: var(--cor-inv);
  border-top: 3px solid var(--act-vermelho);
  box-shadow: 0 -8px 24px rgba(8, 26, 49, .28);
}
.cookies[hidden] { display: none; }
.cookies__inner {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: var(--sp-2) var(--sp-4);
  padding-block: var(--sp-3);
}
.cookies__texto {
  flex: 1 1 340px;
  min-width: 0;
  font-size: var(--txt-sm);
  color: var(--cor-inv-suave);
}
.cookies__texto a { color: #8FBBF0; text-decoration: underline; }
.cookies__texto a:hover { color: var(--act-branco); }
.cookies__acoes { display: flex; flex-wrap: wrap; gap: var(--sp-1); }
.cookies__acoes .btn { padding: .7rem 1.15rem; font-size: var(--txt-sm); }

@media (max-width: 35em) {
  .cookies__acoes { width: 100%; }
  .cookies__acoes .btn { flex: 1 1 100%; }
}

/* ---------- PÁGINA INTERNA ---------- */
.pagina-topo {
  background: var(--act-azul);
  color: var(--cor-inv);
  /* compensa o header fixo, que sobrepõe esta faixa (ela é a primeira do fluxo) */
  padding-top: calc(var(--h-cab-real, var(--h-cabecalho)) + clamp(2rem, 4vw, 3.5rem));
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
}
.pagina-topo h1 { font-size: var(--txt-3xl); color: var(--cor-inv); max-width: 40ch; }
.pagina-topo p {
  margin-top: var(--sp-2);
  max-width: 70ch;
  color: var(--cor-inv-suave);
}

.doc { padding-block: var(--sp-secao); }
.doc__corpo { max-width: 78ch; }
.doc__corpo h2 {
  font-size: var(--txt-xl);
  color: var(--act-azul);
  margin: var(--sp-6) 0 var(--sp-2);
  padding-top: var(--sp-2);
  border-top: 2px solid var(--act-azul);
}
.doc__corpo h2:first-of-type { margin-top: 0; }
.doc__corpo h3 {
  font-size: var(--txt-base);
  color: var(--act-azul-2);
  margin: var(--sp-3) 0 .5rem;
}
.doc__corpo p, .doc__corpo li { color: var(--cor-texto-suave); }
.doc__corpo p { margin-bottom: var(--sp-2); }
.doc__corpo ul { margin: 0 0 var(--sp-2); display: grid; gap: .4rem; }
.doc__corpo ul li { position: relative; padding-left: 1.15rem; }
.doc__corpo ul li::before {
  content: ""; position: absolute; left: 0; top: .62em;
  width: 6px; height: 6px; background: var(--act-azul-2);
}
.doc__corpo dl { display: grid; gap: var(--sp-2); margin-bottom: var(--sp-3); }
.doc__corpo dt { font-family: var(--fonte-titulo); font-weight: 700; color: var(--act-azul); }
.doc__corpo dd { color: var(--cor-texto-suave); }
.doc__meta {
  margin-top: var(--sp-6);
  padding-top: var(--sp-3);
  border-top: var(--fio);
  font-size: var(--txt-sm);
  color: var(--act-cinza);
}
.doc__voltar { display: inline-block; margin-bottom: var(--sp-4); font-weight: 600; }

/* ---------- FORMULÁRIO (Fornecedores / Trabalhe Conosco) ---------- */
.form {
  max-width: 720px;
  padding: var(--sp-4);
  background: var(--act-branco);
  border: var(--fio);
  border-top: 3px solid var(--act-azul);
  border-radius: var(--raio-2);
}
.form__grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3); }
.campo { display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.campo--largo { grid-column: 1 / -1; }
.campo label {
  font-family: var(--fonte-titulo);
  font-size: var(--txt-sm);
  font-weight: 600;
  color: var(--act-azul);
}
.campo .obrig { color: var(--act-vermelho); }
.campo input, .campo select, .campo textarea {
  width: 100%;
  min-height: var(--alvo-min);
  padding: .7rem .85rem;
  font-family: var(--fonte-corpo);
  font-size: var(--txt-base);
  color: var(--cor-texto);
  background: var(--act-branco);
  border: 1px solid #C9D1DC;
  border-radius: var(--raio-2);
  transition: border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);
}
.campo textarea { min-height: 132px; resize: vertical; }
.campo input:focus, .campo select:focus, .campo textarea:focus {
  border-color: var(--act-azul-2);
  box-shadow: 0 0 0 3px rgba(30, 90, 168, .16);
}
.campo input[aria-invalid="true"], .campo textarea[aria-invalid="true"], .campo select[aria-invalid="true"] {
  border-color: var(--act-vermelho);
}
.campo__dica { font-size: var(--txt-xs); color: var(--act-cinza); }
.campo__erro { font-size: var(--txt-xs); font-weight: 600; color: var(--act-vermelho); min-height: 1.1em; }

.consentimento {
  display: flex; align-items: flex-start; gap: .65rem;
  grid-column: 1 / -1;
  padding: var(--sp-2);
  background: var(--act-cinza-claro);
  border-radius: var(--raio-2);
}
.consentimento input[type="checkbox"] {
  width: 20px; height: 20px; min-height: 0;
  margin-top: .15rem; flex: 0 0 auto;
  accent-color: var(--act-azul-2);
}
.consentimento label { font-family: var(--fonte-corpo); font-weight: 400; font-size: var(--txt-sm); color: var(--cor-texto-suave); }

.form__aviso {
  grid-column: 1 / -1;
  padding: var(--sp-2);
  border-radius: var(--raio-2);
  font-size: var(--txt-sm);
  font-weight: 600;
}
.form__aviso[hidden] { display: none; }
.form__aviso--ok { background: #E6F4EC; color: #14663A; border: 1px solid #A9DBC1; }
.form__aviso--erro { background: #FDECEC; color: #97141A; border: 1px solid #F3B9BB; }

@media (max-width: 35em) {
  .form { padding: var(--sp-3); }
  .form__grade { grid-template-columns: minmax(0, 1fr); }
}
