/* ÍNDICE «NESTA PÁGINA» DAS PÁGINAS LEGAIS (17/09/2026, pedido do dono:
   «as 5 páginas legais devem ter este índice igual ao do criador de sites»).
   A mesma peça, com os mesmos valores do criador-de-sites.php; o guião
   legal-indice.js monta-a a partir dos títulos do documento. Carregada pelo
   menu lateral (sidemenu-company) só nas páginas legais. */
.lx-nav { position: sticky; top: var(--lx-topo, 0px); z-index: 20; margin: 0 0 28px;
  background: rgba(255,255,255,.94); -webkit-backdrop-filter: saturate(140%) blur(8px);
  backdrop-filter: saturate(140%) blur(8px); border-bottom: 1px solid #e3e7ec; }
.lx-nav-caixa { position: relative; max-width: 1140px; margin: 0 auto; }
.lx-nav-in { display: flex; align-items: center; gap: 8px; padding: 10px 15px;
  overflow-x: auto; scrollbar-width: none; position: relative; scroll-behavior: auto; }
.lx-nav-in::-webkit-scrollbar { display: none; }
.lx-nav-rot { flex: 0 0 auto; margin-right: 4px; color: #5f6b78; font-size: 12px;
  letter-spacing: .06em; text-transform: uppercase; }
.lx-nav a { flex: 0 0 auto; max-width: 300px; overflow: hidden; text-overflow: ellipsis;
  padding: 7px 14px; border-radius: 999px; color: #1d2733; font-size: 14px; line-height: 20px;
  font-weight: 600; text-decoration: none; white-space: nowrap;
  transition: background .2s ease, color .2s ease; }
.lx-nav a:hover, .lx-nav a:focus { background: #f3f5f7; color: #1d2733; text-decoration: none; }
.lx-nav a.lx-aqui, .lx-nav a.lx-aqui:hover { background: #1d2733; color: #fff; }
.lx-nav .lx-nav-cta { margin-left: auto; background: #d60037; color: #fff; }
.lx-nav .lx-nav-cta:hover, .lx-nav .lx-nav-cta:focus { background: #b30030; color: #fff; }
.lx-nav a:focus-visible, .lx-nav-seta:focus-visible { outline: 2px solid #d60037; outline-offset: 3px; }
/* quanto falta para o fim da página */
.lx-nav-fio { position: absolute; left: 0; bottom: -1px; height: 2px; width: 0; background: #d60037;
  transition: width .1s linear; }

/* HÁ MAIS DO QUE CABE: os termos têm quase vinte secções. Esbatido do lado
   onde há mais, e setas para lá chegar sem trackpad. */
.lx-nav-caixa.lx-mais-dir .lx-nav-in { -webkit-mask-image: linear-gradient(90deg, #000 88%, transparent);
  mask-image: linear-gradient(90deg, #000 88%, transparent); }
.lx-nav-caixa.lx-mais-esq .lx-nav-in { -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%);
  mask-image: linear-gradient(90deg, transparent, #000 12%); }
.lx-nav-caixa.lx-mais-esq.lx-mais-dir .lx-nav-in {
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.lx-nav-seta { position: absolute; top: 50%; z-index: 2; width: 32px; height: 32px; margin-top: -16px;
  display: none; align-items: center; justify-content: center; padding: 0; border: 1px solid #e3e7ec;
  border-radius: 50%; background: #fff; color: #1d2733; box-shadow: 0 4px 12px rgba(29,39,51,.14);
  cursor: pointer; transition: background .2s ease, transform .2s ease; }
.lx-nav-seta:hover { background: #f3f5f7; }
.lx-nav-seta svg { width: 16px; height: 16px; }
.lx-nav-seta-esq { left: 2px; }
.lx-nav-seta-dir { right: 2px; }
.lx-mais-esq .lx-nav-seta-esq, .lx-mais-dir .lx-nav-seta-dir { display: inline-flex; }
@media (max-width: 767px) {
  .lx-nav { margin-left: -15px; margin-right: -15px; }
  .lx-nav-seta { display: none !important; }        /* no telemóvel desliza-se com o dedo */
  .lx-nav a { max-width: 220px; }
}

/* os títulos não ficam debaixo do menu e desta barra */
#content-legal h4[id] { scroll-margin-top: calc(var(--lx-topo, 70px) + var(--lx-alto, 56px) + 16px); }
/* o menu lateral, que também é colado, desce a altura da barra */
@media (min-width: 768px) {
  #content-legal #sidemenu { top: calc(var(--rlx-topo-menu, 92px) + var(--lx-alto, 0px)) !important;
    max-height: calc(100vh - var(--rlx-topo-menu, 92px) - var(--lx-alto, 0px) - var(--rlx-fundo-menu, 20px)) !important; }
}
