/* Mandacaru Virtual — identidade: branco, amarelo, laranja, vermelho e vinho (marca.json) */
:root {
  --vinho: #7a0e18; --vermelho: #c8102e; --laranja: #f47920; --amarelo: #ffc20e; --grafite: #3b3532;
  --fundo: #faf6f0; --cartao: #ffffff; --texto: #2a2422; --suave: #6f6560; --linha: #e8dfd5;
  --ok: #1d7a46; --alerta: #b45309; --ruim: #b91c1c;
  --raio: 10px; --sombra: 0 1px 2px rgba(60, 30, 20, .06), 0 4px 16px rgba(60, 30, 20, .06);
  --titulo: Georgia, "Times New Roman", serif;
  --corpo: "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body { background: var(--fundo); color: var(--texto); font: 16px/1.5 var(--corpo); }
a { color: var(--vermelho); }
img, svg { max-width: 100%; }

/* topo */
.topo { background: #fff; border-bottom: 1px solid var(--linha); position: sticky; top: 0; z-index: 1000; }
.topo .faixa { height: 5px; background: linear-gradient(90deg, var(--amarelo) 0 33%, var(--laranja) 33% 66%, var(--vermelho) 66%); }
.topo nav { max-width: 1180px; margin: 0 auto; padding: 10px 16px; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.marca { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--vinho); margin-right: auto; }
.marca svg { width: 42px; height: 42px; }
.marca b { font: italic 700 26px/1 var(--titulo); }
.marca small { display: block; font: 600 11px/1.2 var(--corpo); letter-spacing: .18em; text-transform: uppercase; color: var(--laranja); }
.menu { display: flex; gap: 4px; flex-wrap: wrap; }
.menu a { text-decoration: none; color: var(--grafite); padding: 7px 11px; border-radius: 8px; font-weight: 600; font-size: 15px; }
.menu a:hover, .menu a.ativo { background: #fbeee4; color: var(--vinho); }
.menu a.botao { background: var(--vermelho); color: #fff; }
.menu a.botao:hover { background: var(--vinho); color: #fff; }

/* layout */
main { max-width: 1180px; margin: 0 auto; padding: 24px 16px 48px; }
h1, h2, h3 { font-family: var(--titulo); color: var(--vinho); line-height: 1.15; }
h1 { font-size: clamp(28px, 4vw, 40px); margin: 8px 0 16px; }
h2 { font-size: 24px; margin: 32px 0 12px; }
h3 { font-size: 18px; margin: 0 0 8px; }
.sub { color: var(--suave); margin-top: -8px; }
.grade { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.cartao { background: var(--cartao); border: 1px solid var(--linha); border-radius: var(--raio); padding: 18px; box-shadow: var(--sombra); }
.cartao.destaque { border-top: 4px solid var(--laranja); }
.numero { font: 700 34px/1 var(--titulo); color: var(--vermelho); font-variant-numeric: lining-nums; }
h1, h2, h3 { font-variant-numeric: lining-nums; }
.largo { grid-column: 1 / -1; }
.rotulo { color: var(--suave); font-size: 14px; }
.linha { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.direita { margin-left: auto; }
.oculto { display: none !important; }

/* herói */
.heroi { position: relative; overflow: hidden; border-radius: 16px; background: var(--vinho); color: #fff; padding: 48px 32px; margin-bottom: 24px; }
.heroi::after { content: ""; position: absolute; right: -80px; top: -40px; bottom: -40px; width: 44%;
  background: linear-gradient(115deg, transparent 0 14%, var(--amarelo) 14% 24%, var(--laranja) 24% 36%, var(--vermelho) 36% 100%);
  transform: skewX(-12deg); opacity: .95; }
.heroi > * { position: relative; z-index: 1; max-width: min(560px, 54%); }
.heroi h1 { color: #fff; font-size: clamp(34px, 5vw, 54px); font-style: italic; margin: 0 0 6px; }
.heroi p { font-size: 18px; opacity: .92; }
.heroi .logo-grande { position: absolute; z-index: 2; right: 5%; top: 50%; transform: translateY(-50%); width: min(220px, 24%); max-width: none; }
@media (max-width: 700px) { .heroi { padding: 32px 20px; } .heroi::after { width: 40%; opacity: .35; } .heroi > * { max-width: 100%; } .heroi .logo-grande { display: none; } }
#numeros { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }

/* botões e formulários */
button, .btn { font: 600 15px var(--corpo); border: 0; border-radius: 8px; padding: 9px 16px; cursor: pointer; background: var(--vermelho); color: #fff; text-decoration: none; display: inline-block; }
button:hover, .btn:hover { background: var(--vinho); }
button.sec, .btn.sec { background: #fff; color: var(--vinho); border: 1px solid var(--linha); }
button.sec:hover, .btn.sec:hover { background: #fbeee4; }
button.ok { background: var(--ok); } button.ruim { background: var(--ruim); }
button.mini { padding: 5px 10px; font-size: 13px; }
button:disabled { opacity: .5; cursor: default; }
form.campos { display: grid; gap: 12px; max-width: 520px; }
label { display: grid; gap: 4px; font-weight: 600; font-size: 14px; color: var(--grafite); }
input, select, textarea { font: 15px var(--corpo); padding: 9px 11px; border: 1px solid #d6cabd; border-radius: 8px; background: #fff; color: var(--texto); width: 100%; }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--laranja); border-color: var(--laranja); }
.duas { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; }
@media (max-width: 520px) { .duas { grid-template-columns: 1fr; } }
.aviso { padding: 10px 14px; border-radius: 8px; background: #fff7e0; border: 1px solid #f3d27a; margin: 12px 0; }
.aviso.erro { background: #fde8e8; border-color: #f5a5a5; }
.aviso.ok { background: #e6f5ec; border-color: #9fd5b4; }

/* tabelas */
.tabela { overflow-x: auto; background: #fff; border: 1px solid var(--linha); border-radius: var(--raio); }
table { border-collapse: collapse; width: 100%; font-size: 15px; }
th, td { text-align: left; padding: 9px 12px; border-bottom: 1px solid var(--linha); white-space: nowrap; }
th { background: #fbf3ea; color: var(--vinho); font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }
tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: #fffaf4; }
.icao { font-family: Consolas, monospace; font-weight: 700; }
.selo { display: inline-block; padding: 2px 8px; border-radius: 99px; font-size: 12px; font-weight: 700; }
.selo.aprovado { background: #e6f5ec; color: var(--ok); } .selo.pendente { background: #fff4d6; color: var(--alerta); }
.selo.rejeitado { background: #fde8e8; color: var(--ruim); } .selo.em_voo { background: #e8f0fe; color: #1a56db; }
.selo.tipo { background: #fbeee4; color: var(--vinho); }

/* mapa */
.mapa { height: 420px; border-radius: var(--raio); border: 1px solid var(--linha); z-index: 1; }
.aviao-icone svg { filter: drop-shadow(0 1px 2px rgba(0,0,0,.4)); }
.barra { height: 10px; border-radius: 99px; background: #f1e6da; overflow: hidden; }
.barra > i { display: block; height: 100%; background: linear-gradient(90deg, var(--amarelo), var(--laranja), var(--vermelho)); }
.chave { font-family: Consolas, monospace; background: #fbf3ea; padding: 8px 10px; border-radius: 8px; word-break: break-all; }

/* rodapé */
footer { border-top: 1px solid var(--linha); color: var(--suave); font-size: 14px; }
footer div { max-width: 1180px; margin: 0 auto; padding: 18px 16px; display: flex; gap: 12px; flex-wrap: wrap; }
