/* ========================
   BODY / CONTAINER VISUAL
   ======================== */

/* Fundo geral: tom azul suave e agradável */
body {
  background: linear-gradient(180deg, #e9f1fb 0%, #dbe8ff 100%);
  min-height: 100vh;
  color: #212529;
}

/* ========================
   HEADER / NAV CUSTOMIZADO
   ======================== */
header .navbar {
  background-color: #08529cff !important;
  box-shadow: 0 0 12px rgba(0,0,0,.25);
  border-bottom: 3px solid #063a72;
  transition: background-color .3s ease, box-shadow .3s ease;
}
header .navbar:hover { background-color: #0a63bd; box-shadow: 0 2px 8px rgba(0,0,0,.4); }

/* Marca (título + ícone) */
header .navbar-brand {
  color: #fff !important;
  font-weight: 600;
  letter-spacing: .3px;
  text-decoration: none;
  transition: opacity .2s ease;
}
header .navbar-brand:hover { opacity: .9; text-decoration: none; }

/* Botão hamburguer */
header .navbar-toggler { border-color: rgba(255,255,255,.3); }
header .navbar-toggler:focus { box-shadow: 0 0 0 .15rem rgba(255,255,255,.4); }

/* Menu colapsável */
#navbarHeader { background-color: #063a72 !important; transition: max-height .3s ease; }

/* Título “Menu” */
#navbarHeader h4 {
  font-weight: 600;
  border-bottom: 1px solid rgba(255,255,255,.2);
  padding-bottom: .5rem;
  margin-bottom: .75rem;
}

/* Links da lista */
#navbarHeader ul li a {
  display: block;
  padding: .4rem 0;
  color: #cfe2ff;
  text-decoration: none;
  font-weight: 500;
  transition: color .2s ease, transform .2s ease;
}
#navbarHeader ul li a:hover { color: #fff; transform: translateX(4px); text-decoration: none; }

/* Active state opcional */
#navbarHeader ul li a.active { color: #fff; font-weight: 600; position: relative; }
#navbarHeader ul li a.active::before {
  content: ""; position: absolute; left: -10px; top: 50%;
  width: 5px; height: 5px; background: #fff; border-radius: 50%;
  transform: translateY(-50%);
}

/* Ícone da marca */
header .navbar-brand img { stroke: #fff; margin-right: .2rem; }

header .navbar strong {
  font-family: "Segoe UI","Roboto","Helvetica Neue",Arial,sans-serif;
  color: #fff; font-size: 1.0rem; letter-spacing: -0.02em; font-weight: 700;
}

/* Responsivo */
@media (max-width: 768px) {
  #navbarHeader ul li a { padding: .6rem 0; font-size: 1rem; }
}

/* ===== BOTÃO DO MENU MOBILE ===== */
.navbar-toggler {
  width: 42px; height: 42px; background-color: #0d6efd;
  border: 2px solid #fff; border-radius: 8px;
  padding: 8px; padding-top: 4px;
  box-shadow: 0 2px 6px rgba(0,0,0,.25);
  transition: all .3s ease-in-out;
}
.navbar-toggler:hover, .navbar-toggler:focus {
  background-color: #0b5ed7; box-shadow: 0 3px 8px rgba(0,0,0,.35); outline: none;
}

/* Linhas brancas do ícone */
.navbar-toggler-icon {
  background-image: none; position: relative;
  width: 22px; height: 2px; background-color: #fff;
  display: inline-block; vertical-align: middle; transition: all .3s ease-in-out;
}
.navbar-toggler-icon::before,
.navbar-toggler-icon::after {
  content: ''; position: absolute; left: 0; width: 22px; height: 2px; background-color: #fff; transition: all .3s ease-in-out;
}
.navbar-toggler-icon::before { top: -6px; }
.navbar-toggler-icon::after  { top: 6px; }

/* Menu aberto */
.navbar-toggler.active .navbar-toggler-icon { background-color: transparent; }
.navbar-toggler.active .navbar-toggler-icon::before { transform: rotate(45deg); top: 0; }
.navbar-toggler.active .navbar-toggler-icon::after  { transform: rotate(-45deg); top: 0; }

/* Navbar fixa no topo sem alterar a cor normal */
#mainNavbar {
  /* sua cor original já vem de .bg-dark ou do seu header .navbar {...} */
  transition: background-color .35s ease, box-shadow .35s ease, backdrop-filter .35s ease;
  will-change: background-color, box-shadow, backdrop-filter;
}

/* Quando rolar: aplica leve transparência + blur (glass) */
#mainNavbar.scrolled {
  /* mesma cor do tema com alpha suave */
  background-color: rgba(8, 82, 156, 0.88) !important; /* #08529c com ~88% opacidade */
  backdrop-filter: saturate(120%) blur(6px);
  box-shadow: 0 4px 14px rgba(0,0,0,.18);
  border-bottom: 2px solid rgba(6, 58, 114, .35);
}

/* Evita que o conteúdo fique por baixo do header fixo */
body { padding-top: 80px; } /* ajuste conforme a altura real da sua navbar */

/* ========================
   CONTAINER PRINCIPAL
   ======================== */
/* Container principal (área de conteúdo) */
body > .container,
main > .container,
section > .container {
  background: #fff;
  border-radius: 14px;
  border: 2px solid #c5d8f5; /* azul claro que contrasta levemente */
  box-shadow: 0 4px 10px rgba(0, 0, 0, .05);
  padding: 2rem 2.5rem;
  margin-top: 2rem;
  margin-bottom: 2rem;
  transition: box-shadow .3s ease, transform .2s ease;
}

/* Efeito hover sutil para o container */
body > .container,
main > .container,
section > .container:hover {
  box-shadow: 0 6px 16px rgba(0, 0, 0, .08);
  transform: translateY(-2px);
}

/* Ajuste do espaçamento interno para telas menores */
@media (max-width: 768px) {
    body > .container,
    main > .container,
    section > .container {
        padding: 1.5rem;
    }
}

/* HR */
hr {
  border: none; height: 1px;
  background: linear-gradient(to right, rgba(3,32,95,.511), rgba(2,26,77,.517), rgba(5,25,179,.437));
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  margin: 5px 0; border-radius: 2px;
}

/* Títulos */
h1, h2, h3, h4, h5, h6 {
  font-family: "Segoe UI","Roboto","Helvetica Neue",Arial,sans-serif;
  color: #0d6efd; margin-top: 1.2rem; margin-bottom: .6rem;
  line-height: 1.25; letter-spacing: -0.02em;
  text-shadow: 0 1px 2px rgba(13,110,253,.1);
}
h1 { font-size: 2rem;   font-weight: 700; color: #0b5ed7; }
h2 { font-size: 1.75rem; font-weight: 600; }
h3 { font-size: 1.5rem;  font-weight: 600; color: #227aff; }
h4 { font-size: 1.25rem; font-weight: 600; color: #3a8bff; }
h5 { font-size: 1.1rem;  font-weight: 500; color: #4f9aff; }
h6 { font-size: .95rem;  font-weight: 500; color: #6daaff; letter-spacing: .03em; }

/* Links utilitários */
.link {
  color: #0d6efd; text-decoration: none; font-weight: 500;
  transition: color .2s ease, text-shadow .2s ease;
}
.link:hover, .link:focus { color: #0b5ed7; text-shadow: 0 0 6px rgba(13,110,253,.25); text-decoration: none; }
.link:active { color: #084298; }

.link-gb {
  color: #fff; text-decoration: none; font-weight: 500;
  transition: color .2s ease, text-shadow .2s ease;
}
.link-gb:hover, .link:focus { color: #f2f5f9; text-shadow: 0 0 6px rgba(239, 244, 250, 0.25); text-decoration: none; }
.link-gb:active { color: #fff; }

/* ========================
   LISTAGENS / VOTAÇÃO
   ======================== */

/* Badges do cabeçalho do resultado */
.result-header-badges {
  display: flex; flex-wrap: wrap; gap: .5rem; align-items: center;
}

/* Progress mais confortável */
.progress { height: 16px; }
.progress .progress-bar { font-size: .85rem; }

/* Imagens nunca estouram */
.result-banner { max-width: 100%; height: auto; }

/* ========== VOTAÇÃO (cards reutilizados) ========== */

/* garante tap confiável no mobile */
.card-row .js-open-profile{
  cursor: zoom-in; touch-action: manipulation;
  -webkit-tap-highlight-color: transparent; user-select: none;
}

.card-row{
  display:flex; align-items:center; gap:1rem;
  border:2px solid #e9ecef; border-radius:14px;
  padding:.85rem 1rem; background:#fff;
  transition:background-color .2s, box-shadow .2s, border-color .2s;
  cursor:pointer;
}
.card-row:hover {
  background:#f8f9fa; border-color:#cfe2ff;
  box-shadow:0 0 0 .2rem rgba(13,110,253,.15);
}
.card-row:focus-within {
  outline:none; border-color:#9ec5fe;
  box-shadow:0 0 0 .25rem rgba(13,110,253,.25);
}
.card-row:active { transform:scale(.996); }

.cell-left { flex:0 0 auto; overflow:hidden; border-radius:50%; }
.cell-middle { flex:1 1 auto; min-width:0; }
.cell-right { flex:0 0 auto; margin-left:auto; }

.foto{
  width:120px; height:120px; border-radius:50%;
  object-fit:cover; display:block; border:3px solid #e9ecef; background:#fff;
  transition:transform .3s ease;
}
.card-row:hover .foto { transform:scale(1.12); }

.item-title{ font-weight:600; color:#333; line-height:1.2; }
.item-sub{ color:#6c757d; font-size:.9rem; margin-top:.125rem; }

/* textos do card não estouram em linha única */
.item-title,.item-sub{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* rádio + pílula (votação) */
.vote-radio{ position:absolute !important; opacity:0 !important; width:0; height:0; pointer-events:none; }

.select-pill{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  border:3px solid #16a34a; color:#16a34a;
  border-radius:999px; padding:.35rem 1rem;
  font-weight:600; line-height:1; user-select:none; white-space:nowrap;
  transition:background-color .15s, color .15s, border-color .15s;
  min-width:9.5rem; text-align:center;
}
.select-pill .icon{ display:none; font-weight:900; }
.select-pill .text::before{ content:"Selecionar"; }

.card-row:has(.vote-radio:checked){
  border-color:#16a34a; background:#f3fbf4;
  box-shadow:0 0 0 .18rem rgba(22,163,74,.15);
}
.card-row:has(.vote-radio:checked) .select-pill{ background:#16a34a; color:#fff; }
.card-row:has(.vote-radio:checked) .select-pill .icon{ display:inline-block; }
.card-row:has(.vote-radio:checked) .select-pill .text::before{ content:"Selecionado"; }

/* toque confiável no mobile */
.card-row, .card-row .js-open-profile{
  touch-action: manipulation; -webkit-tap-highlight-color: transparent; user-select: none;
}

@media (max-width:576px){
  .item-title{ font-size:1rem; }
  .select-pill{ min-width:auto; padding:.35rem .75rem; }
}

/* ===== Votação: nome sempre sem abreviação ===== */
.card-row .item-title{
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

/* Se quiser a bio sem abreviação também, descomente:
.card-row .item-sub{
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
*/

/* ===== Votação: foto em linha separada no mobile (≤576px) ===== */
@media (max-width:576px){
  /* A linha vira coluna, tudo centralizado (como na tela de resultados) */
  .card-row{
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: .6rem !important;
  }

  /* Wrapper da foto ocupa a linha toda */
  .card-row .cell-left{
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }

  /* Foto maior, redonda, sem deformar */
  .card-row .foto{
    width: 200px !important;
    height: 200px !important;
    border-width: 3px !important;
    object-fit: cover !important;
    border-radius: 50% !important;
  }

  /* Texto centralizado para casar com o layout da página de resultados */
  .card-row .cell-middle{
    width: 100% !important;
    text-align: center !important;
  }

  /* Botão de seleção permanece embaixo, centralizado */
  .card-row .cell-right{
    margin-left: 0 !important;
  }
}

/* Utilitário para bio com \n no modal */
.bio-preline { white-space: pre-line; }

/* ================================
   Resultado — harmonizado com votar
   (escopado para não afetar votar.php)
   ================================ */

/* Mobile (foto em linha separada, quebra normal) */
@media (max-width: 575.98px) {
  .resultado-list .card-row {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: .6rem;
  }
  .resultado-list .foto {
    width: 200px !important;
    height: 200px !important;
    border-width: 3px !important;
    margin-bottom: .5rem;
    object-fit: cover;
    border-radius: 50%;
  }
  .resultado-list .item-title,
  .resultado-list .item-sub {
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
  }
}

/* Desktop (tudo em 1 linha + bio abreviada) */
@media (min-width: 576px) {
  .resultado-list .card-row {
    flex-wrap: nowrap !important;
    align-items: center;
    gap: .75rem;
  }
  .resultado-list .cell-middle { min-width: 0; }
  .resultado-list .item-title,
  .resultado-list .item-sub {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .resultado-list .item-title {
    font-weight: 600;
    color: #333;
    max-width: 25ch; /* limite do nome */
    margin-right: .5rem;
  }
  .resultado-list .item-sub { color: #6c757d; }
  .resultado-list .cell-right { white-space: nowrap; }
}

/* ========================
   INTERAÇÃO / ACESSIBILIDADE
   ======================== */

/* Clicável e responsivo */
.js-open-profile { pointer-events: auto; cursor: zoom-in; }

/* Modal imagem */
#perfilModal img { max-width: 100%; height: auto; border-radius: 12px; }

/* Assegura a ordem: backdrop < modal < dialog */
.modal-backdrop { z-index: 2000 !important; }
.modal           { z-index: 2050 !important; }
.modal-dialog    { z-index: 2060 !important; }

/* Evita stacking contexts indesejados */
header, main, footer { transform: none !important; filter: none !important; }

/* ========================
   FORMULÁRIO DE VOTAÇÃO
   ======================== */
@media (max-width: 470px) {
  .btn-ctrl { flex-direction: column !important; align-items: stretch !important; }
  .btn-ctrl > .btn { width: 100% !important; margin-bottom: 10px !important; }
  .btn-ctrl > .btn:last-child { margin-bottom: 0 !important; }
}

/* ========================
   FOOTER PERSONALIZADO
   ======================== */
footer {
  background-color: #08529cff; color: #e6f0ff; padding: 2.5rem 0;
  border-top: 3px solid #063a72; box-shadow: 0 -2px 8px rgba(0,0,0,.25);
  margin-top: 30px;
}
footer p { margin-bottom: .5rem; color: #dbe8ff; font-size: .95rem; }
footer a {
  color: #cfe2ff; text-decoration: none; font-weight: 500;
  transition: color .2s ease, transform .2s ease;
}
footer a:hover { color: #fff; text-decoration: none; transform: translateY(-2px); }
footer strong { color: #fff; font-weight: 600; }

@media (max-width: 576px) {
  footer .float-end { float: none !important; display: block; margin-bottom: 1rem; text-align: center; }
  footer p { text-align: center; }
}

/* ========================
   BREADCRUMB PERSONALIZADO
   ======================== */
nav[aria-label="breadcrumb"] {
  background: #e9f1fb; border: 2px solid #c5d8f5; border-radius: 12px;
  padding: .6rem 1rem; margin-bottom: 1.25rem;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .05); line-height: 1.3;
}

/* Links normais */
.breadcrumb a {
  color: #0a63bd; text-decoration: none; font-weight: 500;
  transition: color .2s ease, transform .2s ease;
}
.breadcrumb a:hover { color: #bd130a; transform: translateX(2px); text-decoration: none; }

/* Ícone divisor */
.breadcrumb-item + .breadcrumb-item::before { color: #0a63bd; opacity: .7; }

/* Item ativo do breadcrumb (página atual) com ícone "olho" */
.breadcrumb-item.active[aria-current="page"]{
  color:#434344; font-weight:600; display:inline-flex; align-items:center; line-height:1.3;
}
.breadcrumb-item.active[aria-current="page"]::after{
  content:""; width:1rem; height:1rem; margin-left:.45rem; display:inline-block;
  background-repeat:no-repeat; background-size:contain; background-position:center;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2308529c'%3E%3Cpath d='M8 3c-3.314 0-6 2.239-7.5 5 1.5 2.761 4.186 5 7.5 5s6-2.239 7.5-5C14 5.239 11.314 3 8 3zm0 8a3 3 0 1 1 0-6 3 3 0 0 1 0 6z'/%3E%3Ccircle cx='8' cy='8' r='1.5'/%3E%3C/svg%3E");
}

/* Zera margem inferior padrão do breadcrumb */
nav[aria-label="breadcrumb"] .breadcrumb { margin-bottom: 0; }

@media (max-width: 576px) {
  nav[aria-label="breadcrumb"] { padding: .5rem .75rem; font-size: .9rem; line-height: 1.25; }
}

/* ========================
   BANNERS
   ======================== */
.banner { width:100%; height:300px; object-fit:cover; background:#f3f3f3; }

/* ================================
   Resultado — destaque do líder
   (espelha o estilo do card selecionado em votar)
   ================================ */

.resultado-list .card.is-leader {
  border-color:#16a34a;            /* mesmo verde da seleção */
  background:#f3fbf4;              /* mesmo fundo suave da seleção */
  box-shadow:0 0 0 .18rem rgba(22,163,74,.15);
}

/* Opcional: se estiver em EMPATE na liderança, usar um tom "warning" */
.resultado-list .card.is-leader.is-tie {
  border-color:#facc15;            /* amarelo (aprox. tailwind amber-400 / bootstrap warning) */
  background:#fff8e1;              /* fundo amarelado suave */
  box-shadow:0 0 0 .18rem rgba(250, 204, 21, .25);
}

/* (Opcional) leve ênfase na foto quando líder */
.resultado-list .card.is-leader .foto {
  border-color:#16a34a;
}

.resultado-list .card-row.is-leader {
  border-color:#c9f4d9;            /* mesmo verde da seleção */
  background:#e8fbef;              /* mesmo fundo suave da seleção */
  box-shadow:0 0 0 .18rem rgba(22,163,74,.15);
}

/* Opcional: se estiver em EMPATE na liderança, usar um tom "warning" */
.resultado-list .card-row.is-leader.is-tie {
  border-color:#faebb2;            /* amarelo (aprox. tailwind amber-400 / bootstrap warning) */
  background:#fff8e1;              /* fundo amarelado suave */
  box-shadow:0 0 0 .18rem rgba(250, 204, 21, .25);
}

@media (max-width: 576px) {
  .btn-lg-sm {
    padding: 0.75rem 1.25rem;  /* equivalente ao btn-lg */
    font-size: 1.125rem;
    border-radius: 0.5rem;
  }
}

/* Mantém responsividade mobile já definida — nada a alterar.
   Se quiser que no mobile o realce fique idêntico, isso já cobre.
*/
/* Banner fixo no rodapé */
#lgpd-consent{
  position: fixed; left: 0; right: 0; bottom: 0;
  z-index: 20150; /* acima do resto */
  padding: .75rem .75rem 1rem;
  background: transparent; /* deixamos a caixa interna controlar o fundo */
}

/* Caixa do banner (azul translúcido com blur) */
.lgpd-consent__box{
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .75rem 1rem;
  align-items: start;

  background: rgba(6, 49, 142, 0.734);          /* azul translúcido */
  color: #eaf2ff;
  border: 2px solid rgba(197, 216, 245, .7);  /* tom claro */
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(0,0,0,.22);
  backdrop-filter: blur(6px);
  padding: 1rem 1rem;
}

/* Ícone do biscoito */
.lgpd-consent__icon{
  font-size: 1.8rem;
  line-height: 1;
  color: #fff;
  display: flex; align-items: center; justify-content: center;
}

/* Texto e links */
.lgpd-consent__content h6{ color: #fff; margin: 0; }
.lgpd-consent__content p{ margin: 0; color: #f1f6ff; }

.lgpd-consent__link{
  color: #ffd76a; text-decoration: underline;
}
.lgpd-consent__link:hover{ color: #ffe08e; }

/* Ações */
.lgpd-consent__actions{
  display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .5rem;
}
#lgpd-accept{
  border: 2px solid #ffffff;
  box-shadow: 0 2px 6px rgba(0,0,0,.25);
  font-weight: 600;
}
#lgpd-decline {
  border: 2px solid rgba(255,255,255,.9);
  color: #fff;
  background: transparent;
  transition: all .3s ease-in-out;
}

#lgpd-decline:hover,
#lgpd-decline:focus {
  color: #083a7a;                  /* azul escuro do texto */
  background: rgba(255,255,255,.95); /* fundo branco suave */
  border-color: #ffffff;
  box-shadow: 0 2px 8px rgba(0,0,0,.25);
}

/* Mobile: botões em linhas separadas < 470px */
@media (max-width: 470px){
  .lgpd-consent__actions{ flex-direction: column; }
  .lgpd-consent__actions .btn{ width: 100%; margin-bottom: .5rem; }
  .lgpd-consent__actions .btn:last-child{ margin-bottom: 0; }
}

/* Maior toque nos botões */
.lgpd-consent__actions .btn{ min-height: 38px; }

/* Respeita tema já usado no site */
.lgpd-consent__box.container{ max-width: 900px; }

/* =========================================
   Impressão amigável (não quebra o layout existente)
   ========================================= */
@media print {
  /* Página e fundo */
  @page {
    margin-top: 0.5cm;
    margin-right: 10mm;
    margin-bottom: 10mm;
    margin-left: 10mm;
  }
  html, body {
    background: #fff !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* Esconde tudo que é supérfluo na impressão */
  header, footer,
  nav[aria-label="breadcrumb"],
  #lgpd-consent,
  .btn-ctrl,
  .modal,
  .modal-backdrop,
  .no-print {
    display: none !important;
  }

  /* Contêiner ocupa toda a largura e sem sombras/bordas coloridas */
  body > .container,
  main > .container,
  section > .container {
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    background: #fff !important;
  }

  /* Títulos e cores mais neutros/legíveis no papel */
  h1, h2, h3, h4, h5, h6 {
    color: #000 !important;
    text-shadow: none !important;
    margin-top: 0 !important;
  }
  .text-muted { color: #444 !important; }
  a, .link { color: #000 !important; text-decoration: none !important; }

  /* Cards e listas: evitar quebras estranhas entre páginas */
  .card, .card-body, .card-row {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .resultado-list { gap: .6rem !important; }

  /* Banners/imagens com largura total segura */
  .banner, img, .foto {
    max-width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    box-shadow: none !important;
  }

  /* Badges/progress: suaviza cores e garante legibilidade */
  .badge {
    border: 1px solid #999 !important;
    background: #eee !important;
    color: #000 !important;
  }
  .progress {
    height: 10px !important;
    background: #ddd !important;
  }
  .progress .progress-bar {
    background: #888 !important;
  }

  /* Cabeçalho específico da impressão */
  #print-header,
  #print-footer {
    display: block !important;
  }
  #print-header .ph-inner {
    text-align: center;
    margin-bottom: 1px;
  }
  #print-header .ph-logo {
    max-height: 64px;
    margin: 0 auto 5px auto;
    display: block;
  }
  #print-header .ph-instituicao {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 2px;
  }
  #print-header .ph-meta {
    font-size: 12px;
    color: #333;
    margin-bottom: 6px;
  }
  #print-header .ph-titulo {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 6px;
  }
  #print-header .ph-hr {
    border: 0;
    height: 1px;
    background: #000;
    margin: 8px 0 12px 0;
  }

  /* Rodapé da impressão */
  #print-footer .pf-hr {
    border: 0;
    height: 1px;
    background: #000;
    margin: 12px 0 8px 0;
  }
  #print-footer .pf-inner {
    font-size: 12px;
    color: #000;
    text-align: center;
  }
  #print-footer .pf-line {
    margin: 2px 0;
  }

  /* Evita saltos esquisitos no título e no bloco inicial */
  h2, h3, .result-header-badges { page-break-inside: avoid; }
}
@media print {
  /* Remove qualquer fundo ou sombra do topo */
  html, body, header, #print-header, #print-header .ph-inner {
    background: #fff !important;
    box-shadow: none !important;
  }

  /* Remove possíveis bordas coloridas do header */
  header, nav, #print-header {
    border: none !important;
  }

  /* Garantir que o conteúdo comece colado ao topo */
  body {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Remove backgrounds herdados de gradientes */
  * {
    background-image: none !important;
  }
}
@media print {
  .foto {
    aspect-ratio: 1 / 1 !important;
    width: 50px !important;
    height: 50px !important;
    object-fit: cover !important;
    border-radius: 50% !important;
    background: #fff !important;
    page-break-inside: avoid;
  }
  .item-title { font-size: 12px !important; }
  .item-sub   { font-size: 10px !important; }
}

/* Destaque rápido no botão original */
.focus-ring-once { box-shadow: 0 0 0 .25rem rgba(13,110,253,.25) !important; outline: 0; }

/* Zona do toast (topo, centralizada) */
.toast-zone {
  inset: env(safe-area-inset-top) auto auto 50%;
  backdrop-filter: blur(4px);
  background: transparent;           /* garante que não “pinte” nada */
  backdrop-filter: none;             /* <- sem blur por padrão */
}

/* Popup maior, com cantos arredondados e overflow para a fita */
.toast {
  --toast-radius: 18px;
  max-width: min(840px, calc(100vw - 24px));
  border: none;
  border-radius: var(--toast-radius);
  box-shadow: 0 14px 36px rgba(0,0,0,.28);
  background: #fff;
  padding: 0;
  overflow: hidden;            /* <- deixa a fita arredondar junto */
  position: relative;
  animation: toastPop .25s ease-out;
}

/* Fita lateral integrada ao raio do card */
.toast::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;          /* top/right/bottom/left */
  width: 10px;
  background: linear-gradient(180deg, rgba(13,110,253,.95), rgba(13,110,253,.65));
}

/* Cores da fita por status */
.toast-status-success::before { background: linear-gradient(180deg,#198754,#34c38f); }
.toast-status-danger::before  { background: linear-gradient(180deg,#dc3545,#f1748c); }

/* Conteúdo interno */
.toast .toast-body { padding: 1.1rem 1.25rem 1.1rem 1.25rem; }
.toast-icon { font-size: 1.75rem; line-height: 1; margin-top: .1rem; }
.toast-title { font-size: 1.15rem; }
.toast-text  { font-size: .97rem; color: #495057; }

/* zona do toast: sem blur por padrão */
.toast-zone {
  inset: env(safe-area-inset-top) auto auto 50%;
  /* backdrop-filter: blur(4px);  <- remove daqui */
  pointer-events: none; /* evita capturar cliques fora do toast */
}

/* aplica o blur só enquanto o toast está ativo */
.toast-zone.active {
  backdrop-filter: blur(4px);
}

/* o próprio toast pode aceitar cliques */
.toast { pointer-events: auto; }

/* Animação sutil */
@keyframes toastPop {
  from { transform: translateY(-10px); opacity: 0; }
  to   { transform: translateY(0);     opacity: 1; }
}

.toast-zone{ inset: env(safe-area-inset-top) auto auto 50%; pointer-events:none; }
.toast-zone.active{ backdrop-filter: blur(4px); }
.toast{ pointer-events:auto; --toast-radius:18px; max-width:min(840px,calc(100vw - 24px)); border:none; border-radius:var(--toast-radius); box-shadow:0 14px 36px rgba(0,0,0,.28); background:#fff; overflow:hidden; position:relative; animation:toastPop .25s ease-out; }
.toast::before{ content:""; position:absolute; inset:0 auto 0 0; width:10px; background:linear-gradient(180deg, rgba(13,110,253,.95), rgba(13,110,253,.65)); }
.toast-status-success::before{ background:linear-gradient(180deg,#198754,#34c38f); }
.toast-status-danger::before { background:linear-gradient(180deg,#dc3545,#f1748c); }
.toast .toast-body{ padding:1.1rem 1.25rem; }
.toast-icon{ font-size:1.75rem; line-height:1; margin-top:.1rem; }
.toast-title{ font-size:1.15rem; }
.toast-text { font-size:.97rem; color:#495057; }
@keyframes toastPop{ from{ transform:translateY(-10px); opacity:0; } to{ transform:translateY(0); opacity:1; } }
