/* ============================================================
   1º Ofício RTD da Capital — estilo do site
   Paleta derivada da logo oficial (wwwroot/img/Logo.png)
   ============================================================ */
:root{
  --primaria:#3A6829;        /* verde da logo */
  --primaria-escura:#2B4E1E; /* rodapé, hovers */
  --apoio:#4F7840;           /* links, ícones */
  --tom-claro:#EDF3EA;       /* fundos suaves */
  --dourado:#7A5A1F;         /* contraste AA com texto branco */
  --dourado-escuro:#5E4316;
  --dourado-claro:#F2D79C;
  --fundo:#FBFDFA;
  --borda:#E5EBE2;
  --texto:#26313D;
  --texto-suave:#5B6875;
}
body{font-family:'Inter',sans-serif;color:var(--texto);font-size:16px;line-height:1.55;background:var(--fundo);}
h1,h2,h3{font-family:'Merriweather',serif;color:var(--primaria);}
a{color:var(--apoio);}
.texto-suave{color:var(--texto-suave);}

/* Barra de topo */
.topbar{background:var(--primaria);color:#fff;font-size:.83rem;}
.topbar a{color:#fff;text-decoration:none;}
.topbar a:hover{color:var(--dourado-claro);}

/* Cabeçalho */
.navbar-brand img{object-fit:contain;}
.marca-texto{line-height:1.15;color:var(--primaria);}
.marca-texto strong{font-family:'Merriweather',serif;font-size:.95rem;}
.marca-texto small{color:var(--texto-suave);font-size:.7rem;font-weight:600;letter-spacing:.02em;}
.navbar .nav-link{color:var(--primaria);font-weight:600;font-size:.92rem;}
.navbar .nav-link:hover,.navbar .nav-link.active{color:var(--dourado-escuro);}
.sticky-top{box-shadow:0 1px 0 var(--borda);background:#fff;}

/* Botões */
.btn-dourado{background:var(--dourado);border:none;color:#fff;font-weight:600;border-radius:8px;padding:.6rem 1.2rem;}
.btn-dourado:hover{background:var(--dourado-escuro);color:#fff;}
.btn-primario{background:var(--primaria);border:none;color:#fff;font-weight:600;border-radius:8px;padding:.6rem 1.2rem;}
.btn-primario:hover{background:var(--primaria-escura);color:#fff;}
.btn-leve{background:var(--tom-claro);border:none;color:var(--primaria);font-weight:600;border-radius:8px;padding:.6rem 1.2rem;}
.btn-leve:hover{background:#DEE9D8;color:var(--primaria);}

/* Hero */
.hero{background:linear-gradient(180deg,#fff 0%,var(--tom-claro) 100%);border-bottom:1px solid var(--borda);}
.hero h1{font-weight:900;letter-spacing:-.01em;}
.hero .destaque{color:var(--dourado-escuro);}
.selo-confianca{display:inline-flex;align-items:center;gap:.45rem;background:#fff;border:1px solid var(--borda);
  border-radius:999px;padding:.35rem .9rem;font-size:.82rem;font-weight:600;color:var(--primaria);}
.selo-confianca i{color:var(--dourado);}

/* Painel de acesso rápido */
.painel{background:#fff;border:1px solid var(--borda);border-radius:16px;box-shadow:0 18px 48px rgba(43,78,30,.10);}
.painel .cabecalho{background:var(--primaria);color:#fff;border-radius:16px 16px 0 0;}
.painel label{font-weight:600;font-size:.85rem;color:var(--primaria);}
.painel .form-control{border-radius:8px;border-color:var(--borda);padding:.65rem .9rem;}
.painel .form-control:focus{border-color:var(--dourado);box-shadow:0 0 0 .2rem rgba(122,90,31,.18);}
.consulta-orientada{background:var(--tom-claro);border:1px solid var(--borda);border-radius:12px;padding:1rem;}
.consulta-orientada strong{color:var(--primaria);}
.consulta-orientada p{font-size:.82rem;}
.acesso{display:flex;align-items:center;gap:.7rem;padding:.7rem .85rem;border:1px solid var(--borda);border-radius:10px;
  text-decoration:none;color:var(--primaria);font-weight:600;font-size:.88rem;transition:.15s;background:#fff;}
.acesso:hover{border-color:var(--dourado);background:#FDFAF4;color:var(--primaria);}
.acesso i{color:var(--dourado);font-size:1.15rem;}
.indicador-externo{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;flex:0 0 auto;
  width:1.75rem;height:1.75rem;border-radius:50%;background:var(--tom-claro);}
.acesso .indicador-externo i{font-size:.82rem;}

/* Passos */
.passo{position:relative;background:#fff;border:1px solid var(--borda);border-radius:14px;height:100%;}
.passo .num{position:absolute;top:-14px;left:1.25rem;background:var(--dourado);color:#fff;font-weight:700;
  width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.9rem;}
.passo h3{font-size:1rem;}

/* Serviços */
.servico{display:flex;gap:1rem;padding:1.25rem;border-radius:14px;transition:.15s;height:100%;border:1px solid transparent;}
.servico:hover{background:#fff;border-color:var(--borda);box-shadow:0 10px 26px rgba(43,78,30,.07);}
.servico .icone{flex:0 0 48px;width:48px;height:48px;border-radius:12px;background:var(--tom-claro);
  display:flex;align-items:center;justify-content:center;}
.servico .icone i{font-size:1.35rem;color:var(--primaria);}
.servico h3{font-size:1rem;margin-bottom:.3rem;}
.servico p{font-size:.9rem;color:var(--texto-suave);margin-bottom:.35rem;}
.servico a{font-size:.86rem;font-weight:600;color:var(--dourado-escuro);text-decoration:none;}

/* Faixa destaque */
.faixa{background:var(--primaria);color:#fff;border-radius:18px;}
.faixa h2{color:#fff;}
.faixa .texto-suave{color:#C6D6BE;}

/* Atendimento */
.cartao-atend{background:#fff;border:1px solid var(--borda);border-radius:16px;}
.info-atend i{color:var(--dourado);font-size:1.15rem;width:1.9rem;flex-shrink:0;}
.icone-canal{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;
  background:var(--tom-claro);color:var(--primaria);font-size:1.35rem;}
.mapa{min-height:360px;}
.mapa iframe{display:block;border:0;border-radius:16px;width:100%;height:100%;min-height:360px;}
.mapa-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:360px;
  border:1px solid var(--borda);border-radius:16px;background:linear-gradient(145deg,#fff 0%,var(--tom-claro) 100%);}
.mapa-placeholder > i{font-size:2.25rem;color:var(--primaria);}
.mapa-placeholder p{max-width:460px;}

/* FAQ */
.accordion-item{border:1px solid var(--borda);border-radius:12px !important;overflow:hidden;margin-bottom:.6rem;background:#fff;}
.accordion-button{font-weight:600;color:var(--primaria);background:#fff;}
.accordion-button:not(.collapsed){background:var(--tom-claro);color:var(--primaria);box-shadow:none;}
.accordion-button:focus{box-shadow:0 0 0 .2rem rgba(122,90,31,.18);}

/* Páginas internas */
.pagina-cabecalho{background:linear-gradient(180deg,#fff 0%,var(--tom-claro) 100%);border-bottom:1px solid var(--borda);}
.pagina-cabecalho h1{font-weight:900;font-size:1.9rem;}
.conteudo-estreito{max-width:860px;}

/* Consulta pública de recibo CERD */
.consulta-recibo{box-shadow:0 18px 48px rgba(43,78,30,.08);}
.consulta-recibo-icone{display:inline-flex;align-items:center;justify-content:center;flex:0 0 52px;width:52px;height:52px;
  border-radius:14px;background:var(--tom-claro);color:var(--primaria);font-size:1.35rem;}
.consulta-recibo .input-group-text{background:var(--tom-claro);border-color:var(--borda);color:var(--primaria);}
.consulta-recibo .form-control{border-color:var(--borda);}
.consulta-recibo .form-control:focus{border-color:var(--dourado);box-shadow:0 0 0 .2rem rgba(122,90,31,.18);}
.consulta-recibo .input-group .btn{min-width:130px;}
.consulta-recibo-nota{font-size:.86rem;border-top:1px solid var(--borda);padding-top:1rem;}
.resultado-recibo{border:1px solid var(--borda);border-left-width:5px;border-radius:12px;padding:1.15rem;background:#fff;}
.resultado-recibo-icone{font-size:1.35rem;margin-top:.15rem;}
.resultado-rotulo{display:block;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:700;margin-bottom:.15rem;}
.resultado-sucesso{border-left-color:var(--primaria);background:var(--tom-claro);}
.resultado-sucesso .resultado-recibo-icone,.resultado-sucesso .resultado-rotulo{color:var(--primaria);}
.resultado-andamento{border-left-color:var(--dourado);background:#FDFAF4;}
.resultado-andamento .resultado-recibo-icone,.resultado-andamento .resultado-rotulo{color:var(--dourado-escuro);}
.resultado-alerta{border-left-color:#A33A3A;background:#FFF5F5;}
.resultado-alerta .resultado-recibo-icone,.resultado-alerta .resultado-rotulo{color:#8F2F2F;}
.resultado-neutro{border-left-color:#6C757D;background:#F7F8F9;}
.resultado-neutro .resultado-recibo-icone{color:#5C6670;}
.historico-andamentos{border-top:1px solid var(--borda);padding-top:1.25rem;}
.historico-total{display:inline-flex;align-items:center;white-space:nowrap;background:var(--tom-claro);color:var(--primaria);
  border-radius:999px;padding:.25rem .7rem;font-size:.76rem;font-weight:700;}
.linha-tempo{list-style:none;padding:0;margin:0;}
.linha-tempo-item{position:relative;display:grid;grid-template-columns:18px 1fr;gap:.8rem;padding-bottom:1.15rem;}
.linha-tempo-item:not(:last-child)::before{content:"";position:absolute;left:8px;top:18px;bottom:0;width:2px;background:var(--borda);}
.linha-tempo-item:last-child{padding-bottom:0;}
.linha-tempo-marcador{position:relative;z-index:1;width:18px;height:18px;border:4px solid var(--tom-claro);border-radius:50%;
  background:var(--primaria);box-shadow:0 0 0 1px var(--borda);}
.linha-tempo-conteudo{min-width:0;padding-bottom:.1rem;}
.linha-tempo-conteudo time{color:var(--texto-suave);font-size:.8rem;font-weight:700;}
.linha-tempo-conteudo p{color:var(--texto);}
.historico-atual{display:inline-flex;align-items:center;border-radius:999px;padding:.15rem .55rem;background:var(--primaria);
  color:#fff;font-size:.7rem;font-weight:700;}
.horario-atendimento{font-size:.86rem;}

/* Páginas de erro */
.erro-pagina{background:linear-gradient(180deg,#fff 0%,var(--tom-claro) 100%);min-height:55vh;display:flex;align-items:center;}
.erro-cartao{max-width:680px;background:#fff;border:1px solid var(--borda);border-radius:18px;box-shadow:0 18px 48px rgba(43,78,30,.10);}
.erro-cartao > p{max-width:540px;}
.erro-codigo{display:inline-block;color:var(--dourado-escuro);background:#FDFAF4;border:1px solid #E9D5AD;
  border-radius:999px;padding:.3rem .8rem;font-size:.82rem;font-weight:700;}
.erro-icone{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:16px;
  background:var(--tom-claro);color:var(--primaria);font-size:1.75rem;}

/* Rodapé */
footer{background:var(--primaria);color:#CCDAC4;font-size:.9rem;}
footer h5{color:#fff;font-size:.98rem;font-family:'Merriweather',serif;}
footer a{color:#CCDAC4;text-decoration:none;}
footer a:hover{color:var(--dourado-claro);}
.copy{background:#22421A;color:#94AB89;font-size:.8rem;}

/* Cookies */
.cookies{display:none;position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:1060;background:#fff;color:var(--texto);
  border:1px solid var(--borda);border-radius:14px;box-shadow:0 16px 40px rgba(43,78,30,.18);max-width:760px;margin-inline:auto;font-size:.87rem;}
.cookies.is-visible{display:block;}
.cookies-acoes{justify-content:flex-end;}

/* Grid de transparência: leitura horizontal preservando a semântica da tabela */
.largura-total{width:100vw;position:relative;left:50%;margin-left:-50vw;padding-inline:1.5rem;}
.tabela-ajuda{font-size:.84rem;}
.tabela-rolagem{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable;}
.tabela-transp{min-width:1500px;}
.tabela-transp caption{caption-side:top;padding-top:0;}
.tabela-transp th{font-size:.72rem;line-height:1.25;vertical-align:bottom;padding:.4rem .45rem;}
.tabela-transp td,.tabela-transp tbody th{font-size:.85rem;white-space:nowrap;padding:.45rem .55rem;}
.tabela-transp thead th{position:sticky;top:0;z-index:2;background:var(--tom-claro);}
.tabela-transp tr > :first-child{position:sticky;left:0;z-index:1;background:#fff;box-shadow:1px 0 0 var(--borda);}
.tabela-transp thead tr > :first-child{z-index:3;background:var(--tom-claro);}

/* Demonstrativo da calculadora */
.tabela-demo th{background:var(--tom-claro);color:var(--primaria);}
.tabela-demo .secao td{background:#fff !important;border:0;color:var(--primaria);}

/* Impressão: só o demonstrativo */
@media print{
  .topbar,.navbar,footer,.cookies,.nao-imprimir{display:none !important;}
  body{background:#fff;}
  .cartao-atend{border:0;box-shadow:none;padding:0 !important;}
  main{padding:0;}
}

/* Acessibilidade */
.skip-link{position:absolute;left:-999px;top:0;background:#fff;color:var(--primaria);padding:.5rem 1rem;z-index:2000;}
.skip-link:focus{left:0;}
:focus-visible{outline:3px solid var(--dourado);outline-offset:2px;}

@media (max-width:767.98px){
  .topbar .container{justify-content:center !important;text-align:center;}
  .cookies-conteudo{flex-wrap:wrap;}
  .cookies-acoes{width:100%;}
  .largura-total{width:auto;position:static;margin-left:0;padding-inline:0;}
  .tabela-rolagem{border-radius:12px;}
}

@media (max-width:575.98px){
  .cookies{left:.5rem;right:.5rem;bottom:.5rem;}
  .cookies-acoes .btn{flex:1 1 150px;}
  .erro-acoes .btn{width:100%;}
  .consulta-recibo .input-group{display:grid;grid-template-columns:auto 1fr;}
  .consulta-recibo .input-group .form-control{min-width:0;border-radius:0 .5rem .5rem 0;}
  .consulta-recibo .input-group .btn{grid-column:1 / -1;width:100%;margin-top:.65rem;border-radius:.5rem !important;}
}
