/* Portal da Transparência — custom.css
   Design: DataFull Tecnologia / Figma */

/* ── Fontes ── */
body {
  font-family: "Inter", sans-serif;
}
.font-poppins {
  font-family: "Poppins", sans-serif;
}

/* ── Remove seta nativa do <details> / <summary> ── */
details > summary {
  list-style: none;
}
details > summary::-webkit-details-marker {
  display: none;
}

/* ── Cores dos ícones de cada card — extraídas diretamente do Figma ── */

/* Módulos ATRICON */
.card-icon-institucional {
  color: #6b7280;
} /* cinza    — 2 - Informações Institucionais */
.card-icon-atos-normativos {
  color: #a16207;
} /* âmbar    — 2.6 - Atos Normativos */
.card-icon-receitas {
  color: #22c55e;
} /* verde    — 3 - Receitas */
.card-icon-despesas {
  color: #ef4444;
} /* vermelho — 4 - Despesas */
.card-icon-convenios {
  color: #2563eb;
} /* azul     — 5 - Convênios */
.card-icon-pessoas {
  color: #06b6d4;
} /* ciano    — 6 - Gestão de Pessoas */
.card-icon-concursos {
  color: #2563eb;
} /* azul     — 6.5 - Concursos */
.card-icon-diarias {
  color: #a855f7;
} /* roxo     — 7 - Diárias e Viagens */
.card-icon-licitacoes {
  color: #ca8a04;
} /* amarelo  — 8 - Licitações */
.card-icon-contratos {
  color: #eab308;
} /* amarelo2 — 9 - Contratos */
.card-icon-obras {
  color: #f97316;
} /* laranja  — 10 - Obras */
.card-icon-planejamento {
  color: #6366f1;
} /* índigo   — 11 - Planejamento */
.card-icon-sic {
  color: #14b8a6;
} /* teal     — 12.1 SIC / e-SIC */
.card-icon-acessibilidade {
  color: #111111;
} /* preto    — 14 - Acessibilidade */
.card-icon-ouvidoria {
  color: #ec4899;
} /* rosa     — 14.1 - Ouvidoria */
.card-icon-lgpd {
  color: #60a5fa;
} /* azul cla — 15 - LGPD */
.card-icon-renuncia {
  color: #84cc16;
} /* lima     — 16 - Renúncia */
.card-icon-emendas {
  color: #16a34a;
} /* verde e  — 17 - Emendas */
.card-icon-saude {
  color: #dc2626;
} /* vermelho — 18 - Saúde */
.card-icon-educacao {
  color: #1d4ed8;
} /* azul esc — 19 - Educação */

/* Extras */
.card-icon-opiniao-publica {
  color: #0d9488;
} /* verde-azulado */
.card-icon-compras {
  color: #1d4ed8;
}
.card-icon-audiencias {
  color: #b91c1c;
}
.card-icon-conselhos {
  color: #4b5563;
}
.card-icon-glossario {
  color: #9333ea;
}
.card-icon-resolucao-atricon {
  color: #a16207;
}
.card-icon-faq {
  color: #3b82f6;
}
.card-icon-carta-servicos {
  color: #db2777;
}
.card-icon-diario-oficial {
  color: #2563eb;
}
.card-icon-patrimonio {
  color: #ca8a04;
}
.card-icon-veiculos {
  color: #16a34a;
}

/* ── Sombra do card de categoria — igual ao Figma ── */
.card-categoria {
  box-shadow:
    0px 4px 6px 0px rgba(0, 0, 0, 0.1),
    0px 2px 4px 0px rgba(0, 0, 0, 0.06);
}
.card-categoria:hover {
  box-shadow: 0px 6px 16px 0px rgba(0, 59, 162, 0.15);
}

/* ── Responsivo: hero menor em mobile ── */
@media (max-width: 640px) {
  .hero-portal {
    height: 220px;
  }
}

/* ── Scrollbar discreta ── */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: #f4f6f9;
}
::-webkit-scrollbar-thumb {
  background: #b8c0cd;
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
  background: #8a9ab0;
}

/* ── Scrollbar oculta (swipe sem barra visível) ── */
.scrollbar-none {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.scrollbar-none::-webkit-scrollbar {
  display: none;
}

/* ── Alto Contraste (WCAG) ── */

/* Todos os elementos: fundo preto, texto amarelo neon */
html.alto-contraste body * {
  color: #ffff00 !important;
  background-color: #000000 !important;
  background-image: none !important;
  border-color: #ffff00 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

/* Imagens e mídias não recebem fundo */
html.alto-contraste body img,
html.alto-contraste body video,
html.alto-contraste body iframe,
html.alto-contraste body canvas {
  background-color: transparent !important;
  background-image: unset !important;
}

/* Links: ciano neon */
html.alto-contraste body a {
  color: #00ffff !important;
}
html.alto-contraste body a:hover,
html.alto-contraste body a:focus {
  color: #00ffff !important;
  text-decoration: underline !important;
  outline: 2px solid #00ffff !important;
}

/* Botão: invertido no hover para feedback visual */
html.alto-contraste body button:hover,
html.alto-contraste body button:focus {
  background-color: #ffff00 !important;
  color: #000000 !important;
  outline: 2px solid #ffff00 !important;
}

/* Inputs */
html.alto-contraste body input,
html.alto-contraste body textarea,
html.alto-contraste body select {
  border: 1px solid #ffff00 !important;
}
html.alto-contraste body input::placeholder,
html.alto-contraste body textarea::placeholder {
  color: rgba(255, 255, 0, 0.55) !important;
}

/* Dialog/modal */
html.alto-contraste body dialog {
  border: 2px solid #ffff00 !important;
}
html.alto-contraste body {
  background-color: #000000 !important;
}

/* Driver.js — ajustes visuais para o portal */
.driver-popover.tour-popover {
  border-radius: 12px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.22);
  max-width: 340px;
  min-width: 260px;
  font-family: "Inter", sans-serif;
  padding: 24px;
}

.driver-popover.tour-popover .driver-popover-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: #1e3a8a;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.driver-popover.tour-popover .driver-popover-description {
  font-size: 0.825rem;
  color: #374151;
  line-height: 1.55;
  margin-top: 0.35rem;
}

.driver-popover.tour-popover .driver-popover-progress-text {
  font-size: 0.75rem;
  color: #9ca3af;
}

.driver-popover.tour-popover .driver-popover-footer button {
  font-family: "Inter", sans-serif;
  font-size: 0.8rem;
  border-radius: 6px;
  margin-left: 8px;
  padding: 8px 16px;
}

.driver-popover.tour-popover .driver-popover-next-btn {
  background: #1d4ed8;
  border: none;
  color: #fff;
}
.driver-popover.tour-popover .driver-popover-next-btn:hover {
  background: #1e40af;
}

.driver-popover.tour-popover .driver-popover-prev-btn {
  border-color: #d1d5db;
  color: #374151;
}

@media print {
  .driver-popover,
  .driver-overlay {
    display: none !important;
  }
}

/* ── Impressão: preto e branco global ── */
@media print {
  [vw] {
    display: none !important;
  }

  *,
  *::before,
  *::after {
    color: #000 !important;
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  a,
  a:visited {
    color: #000 !important;
    text-decoration: underline !important;
  }

  border,
  [class*="border"] {
    border-color: #999 !important;
  }
}
