/* Correções pontuais, sem alteração da identidade visual. */
/* A onda móvel não atravessa o cabeçalho translúcido na saída pelo topo. */
@media (max-width: 860px) {
  html body #tituloBarra.fixa {
    clip-path: inset(var(--tbar-clip-top, calc(var(--nav-h) + 30px)) -12px -12px -12px);
  }
}
/* Base branca em relevo, como no rodapé; mantém dimensões e animação do topo. */
html body nav#navbar .nav-logo > img,
html body nav#navbar .nav-logo > .nav-logo-anim {
  border-radius: 50%;
  background-color: #fff;
  outline: 3px solid #fff;
  outline-offset: 0;
  /* Cerca de 1px nos diâmetros de 46–54px, sem alterar a área do link. */
  transform: scale(.98);
  transform-origin: center;
  box-shadow: 0 6px 16px rgba(2, 12, 22, .24), 0 2px 0 rgba(255, 255, 255, .95) inset, 0 -2px 4px rgba(4, 24, 43, .12) inset;
}
html body nav#navbar .nav-logo > img {
  box-sizing: border-box;
  padding: 3px;
  object-fit: contain;
}
html body nav#navbar .nav-logo:focus-visible {
  outline: 3px solid #0066a6;
  outline-offset: 6px;
  border-radius: 8px;
}
html body nav#navbar.nav-negativo .nav-logo:focus-visible { outline-color: #fff; }
:focus-visible { outline: 3px solid #0066a6; outline-offset: 4px; }
.privacy-note { color: #374151; font-size: .875rem; line-height: 1.5; margin: 10px 0 0; }
.privacy-note a { color: #00568c; text-decoration: underline; text-underline-offset: 3px; }
.footer-legal { line-height: 1.65; }
.footer-legal a { color: inherit; text-decoration: underline; }
/* Rodapé: ícone e texto partilham a mesma linha e centro vertical. */
html body footer .footer-col { min-width: 0; }
html body footer .footer-contact-items { gap: 8px; }
html body footer .footer-contact-item {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 44px;
  line-height: 1.5;
}
html body footer .footer-contact-icon {
  display: grid;
  place-items: center;
  align-self: center;
  width: 20px;
  margin: 0;
}
html body footer .footer-contact-icon svg { display: block; width: 20px; height: 20px; }
html body footer .footer-contact-item > div { min-width: 0; overflow-wrap: anywhere; }
html body footer .footer-contact-item a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 0 !important;
  margin: 0 !important;
  line-height: 1.5;
  white-space: normal;
  overflow-wrap: anywhere;
}
html body footer .footer-bottom { flex-wrap: wrap; align-items: flex-start; gap: 16px 28px; }
html body footer .footer-bottom > p { flex: 1 1 240px; }
html body footer .footer-legal-block { flex: 1 1 420px; min-width: 0; text-align: right; }
html body footer .footer-legal { font-size: .8125rem; color: #fff; }
html body footer .footer-legal-links { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 8px 20px; margin-top: 10px; }
html body footer .footer-legal-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  max-width: 100%;
  color: #fff;
  font-size: .875rem;
  line-height: 1.4;
  text-decoration: underline;
  text-underline-offset: 3px;
}
html body footer .footer-legal-links .footer-complaints {
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 8px;
  background: rgba(255,255,255,.08);
  text-align: left;
  font-weight: 600;
  text-decoration: none;
}
html body footer .footer-complaints svg { flex: 0 0 20px; }
html body footer .footer-complaints span { min-width: 0; overflow-wrap: anywhere; }
html body footer .footer-complaints:hover { background: rgba(255,255,255,.18); }
html body footer a:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
@media (max-width: 860px) {
  html body footer .footer-legal-block { text-align: left; }
  html body footer .footer-legal-links { justify-content: flex-start; }
}
.map-loaded { position: relative; width: 100%; height: 100%; min-height: 290px; }
.map-loaded iframe { width: 100%; height: 100%; min-height: 290px; border: 0; }
.map-unload { position: absolute; top: 8px; right: 8px; z-index: 2; padding: 10px 12px; border-radius: 8px; border: 1px solid #0066a6; background: #fff; color: #00568c; cursor: pointer; font: inherit; min-height: 44px; }
.nav-dropdown > a { padding-right: 36px; }
.nav-dropdown > .nav-drop-toggle { position: absolute; top: 0; right: 0; height: 44px; margin: 0; }
.nav-dropdown:focus-within:not(.is-open) > .nav-drop-menu { display: none; }
@media (max-width: 1200px) { .nav-dropdown > a { padding-right: 44px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto !important; } }

/* Não aguardar o script de empilhamento para remover separadores do fluxo.
   Mesmo resultado final desde o primeiro desenho; respeitar movimento reduzido. */
@media (min-width: 861px) and (prefers-reduced-motion: no-preference) {
  body > #avaliacoes ~ .section-sep { display: none !important; }
}

/* Ajuda: conservar a grelha exterior e os 120px de altura dos três botões. */
@media (min-width: 861px) {
  #faq #faqLista .faq-cta-t3 {
    box-sizing: border-box;
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
    height: 120px;
    min-width: 0;
    padding: 14px 10px !important;
    row-gap: 0 !important;
    column-gap: 8px !important;
  }
  #faq #faqLista .faq-cta-t3 > .faq-t3-ico {
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: center;
    justify-self: center;
  }
  #faq #faqLista .faq-cta-t3 > .faq-t3-title {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    justify-self: end;
    min-width: 0;
    text-align: right;
    overflow-wrap: anywhere;
  }
  #faq #faqLista .faq-cta-t3::after {
    left: auto !important;
    right: 14px;
    bottom: 16px !important;
    margin-left: 0 !important;
  }
}
