/* ==========================================================================
   Registro institucional — janela global (componente compartilhado)
   --------------------------------------------------------------------------
   O estilo da janela que o rodapé dispara em qualquer página do site (PT e
   EN). Vive em arquivo próprio para não misturar com o rodapé: o rodapé é
   aprovado e não muda; a janela é um componente novo, linkado por todas as
   páginas.

   A janela é branca, de cantos arredondados, com título em azul-marinho,
   ícones azuis discretos e os dados em duas colunas no desktop. A
   sobreposição escurece o fundo sem competir com o conteúdo.
   ========================================================================== */

/* --- Travamento da rolagem do fundo -------------------------------------
   Com a janela aberta a página ao fundo não rola. O padding-right devolve a
   largura perdida com a barra de rolagem, para o conteúdo não pular. */
html.registro-aberto {
  overflow: hidden;
  padding-right: var(--registro-scrollbar, 0px);
}

/* --- A janela ------------------------------------------------------------
   <dialog> nativo: o navegador centraliza, prende o foco e aplica o
   backdrop. As regras abaixo cobrem também o caminho sem suporte nativo
   (caixa fixa sobre um fundo próprio). */
.registro:not([open]) { display: none; }

.registro {
  position: fixed;
  inset: 0;
  margin: auto;
  width: min(42rem, calc(100vw - 2rem));
  max-height: min(85vh, 46rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
  color: var(--ink);
  font-family: var(--font);
  box-shadow: 0 30px 70px rgba(4, 32, 79, .26);
}
.registro::backdrop {
  background: rgba(3, 32, 79, .55);
  backdrop-filter: blur(2px);
}
/* O foco fica na própria janela ao abrir, para o leitor de tela anunciar o
   título. O anel de foco pertence aos controles dentro dela. */
.registro:focus,
.registro:focus-visible { outline: none; }

/* Fundo do caminho sem <dialog> nativo. */
.registro__fundo {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: rgba(3, 32, 79, .55);
}
body.registro-simples .registro { z-index: 91; }

/* --- Cabeçalho: título, razão social e botão X ------------------------- */
.registro__topo {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: clamp(1rem, 1.8vw, 1.5rem);
  border-bottom: 1px solid var(--line-soft);
}
.registro__identidade { min-width: 0; }
.registro__titulo {
  margin: 0;
  color: var(--navy);
  font-size: clamp(1.05rem, 1.4vw, 1.3rem);
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.3;
  text-transform: uppercase;
}
.registro__razao {
  margin: .6rem 0 0;
  color: var(--navy);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
}
.registro__marca {
  margin: .15rem 0 0;
  color: var(--muted);
  font-size: .95rem;
  line-height: 1.4;
}
.registro__x {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--bg-alt);
  color: var(--navy);
  cursor: pointer;
  transition: background-color .16s ease, color .16s ease;
}
.registro__x:hover {
  background: var(--bg-alt-2);
  color: var(--blue-strong);
}
.registro__x svg { width: 18px; height: 18px; }

/* --- Dados em duas colunas ---------------------------------------------- */
.registro__dados {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 1.8vw, 1.5rem);
  margin: clamp(1.25rem, 2.2vw, 1.75rem) 0 0;
  padding: 0;
}
.registro__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .75rem;
  align-items: start;
}
.registro__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: var(--bg-alt-2);
  color: var(--blue);
}
.registro__icon svg { width: 21px; height: 21px; }
.registro__texto { min-width: 0; }
.registro__texto dt {
  margin: 0;
  color: var(--blue-strong);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .1em;
  line-height: 1.35;
  text-transform: uppercase;
}
.registro__texto dd {
  margin: .25rem 0 0;
  color: var(--navy);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

/* --- Ações --------------------------------------------------------------- */
.registro__acoes {
  display: flex;
  justify-content: flex-end;
  margin-top: clamp(1.5rem, 2.4vw, 2rem);
  padding-top: clamp(1.25rem, 2vw, 1.5rem);
  border-top: 1px solid var(--line-soft);
}

/* --- Celular: uma coluna, margens respeitadas e rolagem interna -------- */
@media (max-width: 640px) {
  .registro {
    width: calc(100vw - 1.5rem);
    max-height: calc(100vh - 1.5rem);
    padding: 1.25rem;
    border-radius: var(--radius);
  }
  .registro__dados { grid-template-columns: 1fr; }
  .registro__acoes { justify-content: stretch; }
  .registro__acoes .btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .registro__x { transition: none; }
}
