/* ===== Site 2ª Cia / 5º BPM — PMMS ===== */
:root{
  --azul:#0d3b8c;
  --azul-escuro:#092a63;
  --verde:#1d7a34;
  --verde-escuro:#155c27;
  --dourado:#d4a017;
  --cinza:#f4f6f9;
  --texto:#22293a;
  --branco:#ffffff;
  --sombra:0 2px 10px rgba(9,42,99,.12);
  --raio:10px;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Segoe UI',Arial,Helvetica,sans-serif;color:var(--texto);background:var(--cinza);line-height:1.6}
img{max-width:100%}
a{color:var(--azul)}

/* ---- Barra superior ---- */
.topbar{background:var(--azul-escuro);color:#cfd9ee;font-size:.8rem;padding:.35rem 1rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
.topbar strong{color:#fff}

/* ---- Cabeçalho ---- */
header.site{background:linear-gradient(135deg,var(--azul) 0%,var(--azul-escuro) 60%);color:#fff;padding:1.2rem 1rem;box-shadow:var(--sombra)}
.header-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.header-inner img{width:74px;height:auto}
.header-title h1{font-size:1.45rem;line-height:1.2}
.header-title p{font-size:.9rem;color:#c9d6f2}

/* ---- Navegação ---- */
nav.menu{background:var(--verde);box-shadow:var(--sombra);position:sticky;top:0;z-index:50}
nav.menu ul{max-width:1100px;margin:0 auto;list-style:none;display:flex;flex-wrap:wrap}
nav.menu a{display:block;padding:.75rem 1.1rem;color:#fff;text-decoration:none;font-weight:600;font-size:.92rem;transition:background .15s}
nav.menu a:hover{background:var(--verde-escuro)}
nav.menu a.ativo{background:var(--verde-escuro);box-shadow:inset 0 -3px 0 var(--dourado)}

/* ---- Layout ---- */
main{max-width:1100px;margin:1.6rem auto;padding:0 1rem}
.grid{display:grid;gap:1.2rem}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.card{background:#fff;border-radius:var(--raio);box-shadow:var(--sombra);padding:1.4rem}
.card h2,.card h3{color:var(--azul);margin-bottom:.6rem}
.card.destaque{border-top:4px solid var(--dourado)}

/* ---- Hero ---- */
.hero{background:linear-gradient(rgba(9,42,99,.88),rgba(9,42,99,.88)),var(--azul);color:#fff;border-radius:var(--raio);padding:2.4rem 1.8rem;margin-bottom:1.6rem;text-align:center}
.hero h2{font-size:1.7rem;margin-bottom:.5rem}
.hero p{max-width:720px;margin:0 auto .5rem;color:#dbe4f7}
.hero .lema{font-style:italic;color:var(--dourado);font-weight:600}

/* ---- Botões ---- */
.btn{display:inline-block;background:var(--verde);color:#fff;border:none;border-radius:6px;padding:.6rem 1.3rem;font-size:.95rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s}
.btn:hover{background:var(--verde-escuro)}
.btn.azul{background:var(--azul)} .btn.azul:hover{background:var(--azul-escuro)}
.btn.contorno{background:transparent;border:2px solid var(--verde);color:var(--verde)}
.btn.contorno:hover{background:var(--verde);color:#fff}
.btn.pequeno{padding:.35rem .8rem;font-size:.82rem}
.btn.vermelho{background:#b02a2a}.btn.vermelho:hover{background:#8c1f1f}

/* ---- Formulários ---- */
form label{display:block;font-weight:600;font-size:.88rem;margin:.8rem 0 .25rem;color:var(--azul-escuro)}
form input,form select,form textarea{width:100%;padding:.55rem .7rem;border:1px solid #c6cede;border-radius:6px;font-size:.95rem;font-family:inherit;background:#fff}
form input:focus,form select:focus,form textarea:focus{outline:2px solid var(--azul);border-color:var(--azul)}
form textarea{min-height:110px;resize:vertical}
.form-linha{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.acoes{margin-top:1.1rem;display:flex;gap:.6rem;flex-wrap:wrap}

/* ---- Saída de documento gerado ---- */
.doc-saida{background:#fff;border:1px dashed #9fb0cc;border-radius:var(--raio);padding:1.6rem;margin-top:1.2rem;white-space:pre-wrap;font-family:'Times New Roman',serif;font-size:1rem;line-height:1.7}
.doc-saida:empty{display:none}

/* ---- Tabelas ---- */
table{width:100%;border-collapse:collapse;background:#fff;font-size:.9rem}
th{background:var(--azul);color:#fff;padding:.6rem;text-align:left}
td{padding:.55rem .6rem;border-bottom:1px solid #e3e8f0}
tr:nth-child(even) td{background:#f7f9fc}
td[contenteditable="true"]{outline:none;min-width:70px}
td[contenteditable="true"]:focus{background:#fff8e0}
.tabela-scroll{overflow-x:auto}

/* ---- Serviços (cards do menu) ---- */
.servico-card{text-align:center;text-decoration:none;color:var(--texto);display:block;transition:transform .15s}
.servico-card:hover{transform:translateY(-4px)}
.servico-card .icone{font-size:2.4rem;display:block;margin-bottom:.5rem}
.servico-card h3{color:var(--azul)}
.servico-card p{font-size:.87rem;color:#5a6478}

/* ---- Avisos ---- */
.alerta{border-left:4px solid var(--dourado);background:#fff9e8;padding:.9rem 1.1rem;border-radius:6px;font-size:.9rem;margin:1rem 0}
.emergencia{background:#b02a2a;color:#fff;text-align:center;border-radius:var(--raio);padding:1.1rem;font-size:1.05rem}
.emergencia strong{font-size:1.9rem;display:block}

/* ---- Rodapé ---- */
footer.site{background:var(--azul-escuro);color:#c9d6f2;margin-top:2.5rem;padding:1.8rem 1rem;font-size:.85rem}
.footer-inner{max-width:1100px;margin:0 auto;display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
footer.site h4{color:#fff;margin-bottom:.5rem}
footer.site a{color:#c9d6f2}
.copy{text-align:center;margin-top:1.4rem;border-top:1px solid rgba(255,255,255,.15);padding-top:1rem;font-size:.78rem}

/* ---- Impressão ---- */
@media print{
  .topbar,nav.menu,header.site,footer.site,.acoes,form,.nao-imprimir,.hero{display:none!important}
  body{background:#fff}
  main{margin:0;max-width:none}
  .card{box-shadow:none;padding:0}
  .doc-saida{border:none;padding:0;font-size:12pt}
  table{font-size:10pt}
}
@media(max-width:640px){
  .header-inner{justify-content:center;text-align:center}
  nav.menu a{padding:.65rem .8rem;font-size:.85rem}
}
