/* =============================================================
   GET RIGHT · Landing page v1
   O que é só da página (o resto vem da design system:
   tokens.css, componentes.css e lp-base.css).
   ============================================================= */

/* Saltar para o conteúdo: só aparece com o teclado. */
.saltar { position: absolute; left: var(--s-4); top: -100px; z-index: 100; padding: var(--s-3) var(--s-4); background: var(--azul-600); color: #FFFFFF; font-weight: var(--peso-right); text-decoration: none; }
.saltar:focus { top: var(--s-4); }

html { scroll-padding-top: 84px; }

/* Dados da empresa que ainda faltam. Bem visíveis, para não irem
   para o ar por engano. Retirar a classe quando estiverem certos. */
.por-preencher { background: #FFF3B0; outline: 1px dashed #B58A00; outline-offset: 1px; color: #5C4600; padding: 0 4px; }

/* ===== Rodapé azul com a assinatura animada =====
   Fundo azul da marca, texto branco. O logótipo vai a branco com a seta
   verde, como na versão sobre azul do ficheiro original. */
.rodape-lp { background: var(--azul-600); color: #FFFFFF; padding-block: var(--s-9) var(--s-6); overflow: hidden;
  --fio-c: rgb(255 255 255 / 0.16); --fio-f: rgb(255 255 255 / 0.32); --foco: #FFFFFF; }
.rodape-lp .contentor { display: grid; gap: var(--s-8); }
.rodape-assinatura { display: grid; gap: var(--s-4); justify-items: start; cursor: default; }
.rodape-assinatura svg { width: clamp(180px, 40vw, 320px); height: auto; overflow: visible; }
.rodape-lema { margin: 0; font-size: var(--t-lg); font-weight: var(--peso-get); letter-spacing: -0.01em; color: var(--azul-100); }
.rodape-lema b { color: #FFFFFF; font-weight: var(--peso-right); }

/* As letras sobem, "right" acende a verde, a seta dispara a 45°. */
.logo-anim .lg-l { fill: #FFFFFF; }
.logo-anim .lg-seta-g { fill: var(--verde-400); }
.logo-anim:not(.correr) .lg-l, .logo-anim:not(.correr) .lg-seta-g { opacity: 0; }
.logo-anim.correr .lg-l { animation: letra 700ms var(--e-sai) both; animation-delay: calc(var(--i) * 55ms); }
.logo-anim.correr .lg-right { animation-name: letra, acender; animation-duration: 700ms, 600ms; animation-delay: calc(var(--i) * 55ms), calc(700ms + var(--i) * 40ms); }
.logo-anim.correr .lg-seta-g { animation: disparo 900ms var(--e-seta) 820ms both; }
@keyframes letra { from { translate: 0 60%; opacity: 0; } }
@keyframes acender { 40% { fill: var(--verde-400); } }
@keyframes disparo { 0% { translate: -200px 200px; opacity: 0; } 30% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .logo-anim .lg-l, .logo-anim .lg-seta-g { opacity: 1 !important; } }

.rodape-colunas { display: grid; gap: var(--s-6); grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); padding-top: var(--s-6); border-top: var(--fio) solid rgb(255 255 255 / 0.24); }
.rodape-colunas h2 { font-size: var(--t-mono); color: var(--azul-100); margin-bottom: var(--s-3); }
.rodape-colunas ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-1); }
.rodape-colunas a { display: inline-flex; align-items: center; min-height: 40px; color: #FFFFFF; text-decoration: none; background: linear-gradient(var(--verde-400) 0 0) 0 85% / 0 2px no-repeat; transition: background-size var(--d-medio) var(--e-sai); }
.rodape-colunas a:hover { background-size: 100% 2px; }
.rodape-colunas li > span { display: inline-flex; align-items: center; min-height: 40px; }
.rodape-lp .rodape-base { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--s-3); padding-top: var(--s-5); border-top: var(--fio) solid rgb(255 255 255 / 0.16); color: var(--azul-100); }
.rodape-lp .ligacao { color: #FFFFFF; }
.rodape-lp .ligacao .seta { color: var(--verde-400); }
.rodape-lp :focus-visible { outline-color: #FFFFFF; }
.form-nota a { color: var(--claro-link); }

/* ===== Páginas legais ===== */
.legal-nav { position: sticky; top: 0; z-index: var(--z-nav); background: rgb(255 255 255 / 0.92); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: var(--fio) solid var(--claro-fio); }
.legal-nav .contentor { display: flex; align-items: center; justify-content: space-between; gap: var(--s-4); height: 68px; }
.legal-nav .logo-link { display: block; width: 116px; }
.legal-nav .logo-link svg { width: 100%; height: auto; }
.legal { padding-block: var(--s-8) var(--s-9); }
.legal .contentor { max-width: 860px; }
.legal-cab { display: grid; gap: var(--s-3); margin-bottom: var(--s-7); padding-bottom: var(--s-6); border-bottom: var(--fio) solid var(--claro-fio-forte); }
.legal-cab h1 { font-size: clamp(2rem, 1.2rem + 4vw, 4rem); font-weight: var(--peso-get); letter-spacing: var(--tr-titulo); line-height: 1; }
.legal-cab h1 b { font-weight: var(--peso-right); }
.legal-cab p { margin: 0; color: var(--claro-suave); }
.legal-aviso { padding: var(--s-4) var(--s-5); background: #FFF8D6; border-left: 4px solid #B58A00; color: #5C4600; font-size: var(--t-sm); margin-bottom: var(--s-7); }
.legal-corpo { counter-reset: sec; }
.legal-corpo section { display: grid; gap: var(--s-3); padding-block: var(--s-5); border-bottom: var(--fio) solid var(--claro-fio); }
.legal-corpo h2 { display: flex; gap: var(--s-3); align-items: baseline; font-size: var(--t-xl); font-weight: var(--peso-right); letter-spacing: -0.02em; line-height: 1.2; }
.legal-corpo h2::before { counter-increment: sec; content: counter(sec, decimal-leading-zero); font-family: var(--fonte-mono); font-size: var(--t-mono); font-weight: 500; color: var(--azul-600); }
.legal-corpo p, .legal-corpo li { max-width: 68ch; color: var(--claro-texto); }
.legal-corpo p { margin: 0; }
.legal-corpo ul { margin: 0; padding: 0; list-style: none; display: grid; gap: var(--s-2); }
.legal-corpo ul li { display: grid; grid-template-columns: 14px 1fr; gap: var(--s-3); }
.legal-corpo ul li::before { content: ""; width: 8px; height: 8px; margin-top: 0.6em; background: var(--verde-400); }
.legal-corpo a { color: var(--claro-link); }
.legal-corpo table { width: 100%; border-collapse: collapse; font-size: var(--t-sm); }
.legal-corpo th, .legal-corpo td { text-align: left; padding: var(--s-2) var(--s-3); border-bottom: var(--fio) solid var(--claro-fio); vertical-align: top; }
.legal-corpo th { font-family: var(--fonte-mono); font-size: var(--t-mono); letter-spacing: var(--tr-mono); text-transform: uppercase; color: var(--claro-suave); font-weight: 500; }
.legal-tabela { overflow-x: auto; }
.legal-tabela table { min-width: 520px; }
.legal-fim { margin-top: var(--s-7); display: flex; flex-wrap: wrap; gap: var(--s-4); align-items: center; justify-content: space-between; padding: var(--s-5); background: var(--azul-50); }
.legal-fim p { margin: 0; }
.legal-outras { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); margin-top: var(--s-6); }
.legal-rodape { border-top: var(--fio) solid var(--claro-fio); padding-block: var(--s-5); color: var(--claro-suave); }
.legal-rodape .contentor { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--s-3); }

/* ===== 404 ===== */
.erro-404 { min-height: calc(100svh - 68px); display: grid; place-items: center; text-align: center; padding: var(--s-8) var(--gutter); }
.erro-404 .seta-404 { width: 120px; height: 120px; margin: 0 auto var(--s-6); color: var(--verde-400); rotate: 135deg; }
.erro-404 h1 { font-size: var(--t-3xl); font-weight: var(--peso-get); letter-spacing: var(--tr-titulo); line-height: 1; margin-bottom: var(--s-4); }
.erro-404 h1 b { font-weight: var(--peso-right); }
.erro-404 p { color: var(--claro-suave); margin: 0 auto var(--s-6); max-width: 40ch; }
.legal-nav .btn { white-space: nowrap; min-height: 44px; padding: 0 var(--s-4); font-size: var(--t-sm); }

/* Rodapé em telemóvel: tudo centrado e compacto. As ligações de cada
   grupo correm em fila e partem de linha quando não cabem. */
@media (max-width: 700px) {
  .rodape-lp { padding-block: var(--s-8) var(--s-5); text-align: center; }
  .rodape-lp .contentor { gap: var(--s-6); }
  .rodape-assinatura { justify-items: center; }
  .rodape-lema { max-width: 24ch; }
  .rodape-colunas { grid-template-columns: 1fr; gap: var(--s-5); }
  .rodape-colunas h2 { margin-bottom: var(--s-2); }
  .rodape-colunas ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 var(--s-5); }
  .rodape-colunas a, .rodape-colunas li > span { min-height: 40px; font-size: var(--t-sm); }
  .rodape-lp .rodape-base { flex-direction: column; justify-content: center; gap: var(--s-2); }
}
