/* Identidade visual · Âmbar Energia (template institucional: azul-marinho + laranja sobre fundo claro) */
:root {
  --marinho: #0e3b5c;
  --marinho-2: #164d74;
  --marinho-escuro: #0a2c45;
  --laranja: #ec6b24;
  --laranja-claro: #f39a4a;
  --laranja-suave: #fdf0e7;
  --fundo: #f4f6f8;
  --fundo-2: #eaeef2;
  --branco: #ffffff;
  --linha: #dfe5eb;
  --texto: #1d2b36;
  --texto-suave: #5f6f7c;
  --cinza-arte: #c9d0d6;
  --verde: #1f9d57;
  --vermelho: #d93a2b;
  --raio: 14px;
  --sombra: 0 12px 32px -16px rgba(14, 59, 92, .28);
  --fonte: 'Nunito Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --fonte-titulo: 'Montserrat', 'Nunito Sans', system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: var(--fonte); color: var(--texto); background: var(--fundo); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { font-family: var(--fonte-titulo); margin: 0; color: var(--marinho); }
a { color: inherit; }
button { font: inherit; cursor: pointer; }
input, select, textarea { font: inherit; }
[hidden] { display: none !important; }

/* Logotipo tipográfico */
.logo { display: inline-flex; flex-direction: column; line-height: .95; text-decoration: none; }
.logo b { font-family: var(--fonte-titulo); font-weight: 600; font-size: 1.7rem; color: var(--marinho); letter-spacing: -.01em; }
.logo small { font-family: var(--fonte-titulo); font-weight: 700; font-size: .66rem; letter-spacing: .12em; color: var(--laranja); margin-left: 2px; }
.logo.claro b { color: #fff; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  border: 0; border-radius: 10px; padding: .8rem 1.4rem; font-weight: 700;
  text-decoration: none; transition: transform .15s ease, box-shadow .15s ease, background .15s;
}
.btn:hover { transform: translateY(-1px); }
.btn:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.btn-laranja { background: var(--laranja); color: #fff; box-shadow: 0 10px 22px -12px rgba(236, 107, 36, .9); }
.btn-laranja:hover { background: #d95d18; }
.btn-marinho { background: var(--marinho); color: #fff; }
.btn-marinho:hover { background: var(--marinho-2); }
.btn-claro { background: #fff; color: var(--marinho); border: 1px solid var(--linha); }
.btn-claro:hover { border-color: var(--marinho); }
.btn-perigo { background: #fff; color: var(--vermelho); border: 1px solid #f3c7c2; }
.btn-sm { padding: .45rem .85rem; font-size: .85rem; border-radius: 8px; }

.campo {
  width: 100%; padding: .75rem 1rem; border-radius: 10px; border: 1px solid var(--linha);
  background: #fff; color: var(--texto); outline: none; transition: border-color .15s, box-shadow .15s;
}
.campo:focus { border-color: var(--marinho); box-shadow: 0 0 0 3px rgba(14, 59, 92, .14); }

/* Elementos decorativos do template */
.onda { position: absolute; pointer-events: none; }
.pontilhado {
  position: absolute; pointer-events: none;
  background-image: radial-gradient(rgba(14, 59, 92, .22) 1.2px, transparent 1.3px); background-size: 14px 14px;
  -webkit-mask-image: linear-gradient(225deg, #000 20%, transparent 75%); mask-image: linear-gradient(225deg, #000 20%, transparent 75%);
}
.contorno { position: absolute; pointer-events: none; border: 1px solid rgba(236, 107, 36, .35); }

.toast {
  position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%) translateY(20px); opacity: 0;
  background: var(--marinho); color: #fff; padding: .8rem 1.2rem; border-radius: 10px; z-index: 100;
  box-shadow: var(--sombra); transition: all .25s ease; pointer-events: none; max-width: calc(100% - 32px);
}
.toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
.toast.erro { background: var(--vermelho); }
