/* AETHERION, site oficial. Paleta do guia de marca do cliente (ver
   docs/ARTE_PROVISORIA.md): azul profundo, dourado metálico e luzes ciano.
   Tema escuro único. */

:root {
  --fundo: #070d1f;
  --fundo-2: #0b1530;
  --painel: #101c3b;
  --painel-2: #15244a;
  --linha: rgba(201, 162, 74, 0.28);
  --linha-forte: #c9a24a;
  --ouro: #e3bf6a;
  --ouro-claro: #f6e1a3;
  --ouro-escuro: #8a6a25;
  --ciano: #6fd8ff;
  --texto: #e7ecf7;
  --texto-suave: #a7b3d1;
  --perigo: #ff8d7a;
  --sucesso: #7fe0a8;
  --aviso: #f2c86b;
  --raio: 10px;
  --sombra: 0 10px 30px rgba(0, 0, 0, 0.45);
  --serifa: "Cinzel", "Trajan Pro", Georgia, "Times New Roman", serif;
  --texto-corrido: Georgia, "Times New Roman", serif;
  --interface: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --largura: 1180px;
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--fundo);
  background-image:
    radial-gradient(1200px 600px at 80% -10%, rgba(111, 216, 255, 0.08), transparent 60%),
    radial-gradient(900px 500px at 0% 0%, rgba(227, 191, 106, 0.06), transparent 60%);
  color: var(--texto);
  font-family: var(--interface);
  font-size: 1rem;
  line-height: 1.6;
}

main { flex: 1; outline: none; }
img { max-width: 100%; height: auto; display: block; }

a { color: var(--ouro); text-underline-offset: 3px; }
a:hover { color: var(--ouro-claro); }
:focus-visible { outline: 2px solid var(--ciano); outline-offset: 3px; border-radius: 4px; }

h1, h2, h3 {
  font-family: var(--serifa);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.02em;
  color: var(--ouro-claro);
  margin: 0 0 0.6em;
}
h1 { font-size: clamp(1.9rem, 4vw, 2.8rem); }
h2 { font-size: clamp(1.35rem, 2.6vw, 1.8rem); }
h3 { font-size: 1.15rem; }
p { margin: 0 0 1em; }

.visualmente-oculto {
  position: absolute !important;
  width: 1px; height: 1px;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%);
  white-space: nowrap;
}

.saltar {
  position: absolute; left: 1rem; top: -4rem; z-index: 100;
  background: var(--ouro); color: #1a1205; padding: 0.6rem 1rem; border-radius: var(--raio);
  font-weight: 600;
}
.saltar:focus { top: 1rem; }

/* Faixa de pré-lançamento */
.faixa-aviso {
  background: linear-gradient(90deg, #2a1f07, #3d2d0b, #2a1f07);
  color: var(--ouro-claro);
  text-align: center;
  font-size: 0.85rem;
  padding: 0.45rem 1rem;
  border-bottom: 1px solid var(--ouro-escuro);
}

/* Cabeçalho e navegação */
.cabecalho {
  position: sticky; top: 0; z-index: 50;
  background: rgba(7, 13, 31, 0.92);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--linha);
}
.cabecalho-interior {
  max-width: 1320px; margin: 0 auto;
  display: flex; align-items: center; gap: 1.25rem;
  padding: 0.6rem 16px;
}
.marca { display: flex; align-items: center; gap: 0.6rem; text-decoration: none; flex-shrink: 0; }
.marca img { border-radius: 8px; }
.marca-texto {
  font-family: var(--serifa); font-size: 1.3rem; letter-spacing: 0.12em;
  color: var(--ouro-claro);
}
.navegacao { display: flex; align-items: center; gap: 1rem; margin-left: auto; order: 2; }

/* Seletor de idioma */
.idiomas { order: 3; display: flex; border: 1px solid var(--linha-forte); border-radius: 999px; overflow: hidden; flex-shrink: 0; }
.idiomas a {
  display: flex; align-items: center; justify-content: center;
  min-width: 44px; min-height: 36px; padding: 0 0.7rem;
  color: var(--texto-suave); text-decoration: none; font: 600 0.85rem var(--interface); letter-spacing: 0.06em;
}
.idiomas a + a { border-left: 1px solid var(--linha); }
.idiomas a:hover { color: var(--ouro-claro); background: rgba(227, 191, 106, 0.08); }
.idiomas a[aria-current="true"] { background: var(--ouro); color: #1c1406; }

@media (max-width: 440px) {
  .cabecalho-interior { gap: 0.5rem; }
  .marca { gap: 0.45rem; min-width: 0; }
  .marca img { width: 34px; height: 34px; }
  .marca-texto { font-size: 1.02rem; letter-spacing: 0.08em; }
  .idiomas a { min-width: 40px; min-height: 40px; padding: 0 0.45rem; }
  .botao-menu { margin-left: 0.25rem; flex-shrink: 0; }
}
@media (max-width: 340px) {
  .marca-texto { display: none; }
}
.navegacao ul { list-style: none; display: flex; flex-wrap: wrap; gap: 0.15rem; margin: 0; padding: 0; }
.navegacao ul a {
  display: block; padding: 0.45rem 0.5rem; border-radius: 6px;
  color: var(--texto); text-decoration: none; font-size: 0.95rem;
}
.navegacao ul a:hover { color: var(--ouro-claro); background: rgba(227, 191, 106, 0.08); }
.navegacao ul a[aria-current="page"] { color: var(--ouro); box-shadow: inset 0 -2px 0 var(--ouro); }
.nav-conta a[aria-current="page"] { box-shadow: 0 0 0 2px var(--fundo), 0 0 0 4px var(--ouro); }
.nav-conta { display: flex; gap: 0.5rem; }

.botao-menu {
  display: none; order: 4; margin-left: 0.5rem;
  width: 44px; height: 44px; border-radius: 8px;
  background: transparent; border: 1px solid var(--linha); cursor: pointer;
  position: relative;
}
.botao-menu-barras, .botao-menu-barras::before, .botao-menu-barras::after {
  content: ""; position: absolute; left: 11px; right: 11px; height: 2px; background: var(--ouro);
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.botao-menu-barras { top: 21px; }
.botao-menu-barras::before { left: 0; right: 0; top: -7px; }
.botao-menu-barras::after { left: 0; right: 0; top: 7px; }
.botao-menu[aria-expanded="true"] .botao-menu-barras { background: transparent; }
.botao-menu[aria-expanded="true"] .botao-menu-barras::before { transform: translateY(7px) rotate(45deg); }
.botao-menu[aria-expanded="true"] .botao-menu-barras::after { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 1240px) {
  .idiomas { margin-left: auto; }
  .botao-menu { display: block; }
  .navegacao {
    display: none;
    position: absolute; left: 0; right: 0; top: 100%;
    flex-direction: column; align-items: stretch; gap: 0.75rem;
    background: var(--fundo-2); border-bottom: 1px solid var(--linha);
    padding: 0.75rem 16px 1rem;
    max-height: calc(100vh - 100px); overflow-y: auto;
  }
  .navegacao.aberta { display: flex; }
  .navegacao ul { flex-direction: column; }
  .navegacao ul a { padding: 0.7rem 0.5rem; font-size: 1.05rem; }
  .navegacao ul a[aria-current="page"] { box-shadow: inset 3px 0 0 var(--ouro); }
  .nav-conta { flex-direction: column; }
  .nav-conta .botao { width: 100%; }
  /* Sem JavaScript o menu fica sempre visível. */
  .sem-js .navegacao { display: flex; position: static; }
  .sem-js .botao-menu { display: none; }
  .sem-js .cabecalho-interior { flex-wrap: wrap; }
}

/* Botões */
.botao {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;
  min-height: 42px; padding: 0.5rem 1.1rem;
  border-radius: 8px; border: 1px solid transparent;
  font: 600 0.95rem var(--interface); text-decoration: none; cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.botao-primario {
  background: linear-gradient(180deg, #f0cf7c, #c79a3f);
  color: #1c1406; border-color: #f6e1a3;
}
.botao-primario:hover { background: linear-gradient(180deg, #f8dc92, #d6aa4c); color: #1c1406; }
.botao-secundario { background: rgba(16, 28, 59, 0.6); color: var(--ouro-claro); border-color: var(--linha-forte); }
.botao-secundario:hover { background: var(--painel-2); color: var(--ouro-claro); }
.botao-desativado, .botao:disabled {
  background: #1a2442; color: #7d89a8; border-color: #2a365a; cursor: not-allowed;
}
.botao-grande { min-height: 50px; padding: 0.7rem 1.6rem; font-size: 1.05rem; }
.botao-largo { width: 100%; }
.botao-discord { background: #5865f2; color: #fff; border-color: #7983f5; }
.botao-discord:hover { background: #4752c4; color: #fff; }
.botao-instagram { background: linear-gradient(45deg, #f09433, #dc2743 50%, #bc1888); color: #fff; border-color: #e1306c; }
.botao-instagram:hover { background: linear-gradient(45deg, #d8822a, #c21f3a 50%, #a31476); color: #fff; }
.icone-social { flex-shrink: 0; }
.botao-icone { width: 42px; padding: 0; border-radius: 50%; }
.redes { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1rem; }
.redes-chamada { margin-top: 0.75rem; }

/* Herói */
.heroi {
  position: relative;
  background:
    linear-gradient(180deg, rgba(7, 13, 31, 0.35) 0%, rgba(7, 13, 31, 0.75) 65%, var(--fundo) 100%),
    url("/assets/img/fundos/aetherion_fundo.webp") center 30% / cover no-repeat;
  border-bottom: 1px solid var(--linha);
}
.heroi-interior {
  max-width: 900px; margin: 0 auto; text-align: center;
  padding: clamp(2.5rem, 8vw, 6rem) 16px clamp(2.5rem, 6vw, 4.5rem);
}
.heroi-logo { margin: 0 auto 1.25rem; width: min(640px, 100%); filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.6)); }
/* O logotipo em inglês só existe com fundo preto: o modo screen torna o preto
   transparente sobre o fundo escuro. */
.logo-fundo-preto { mix-blend-mode: screen; }
.heroi-logo.logo-fundo-preto { filter: none; }
.heroi-texto {
  font-family: var(--texto-corrido); font-size: clamp(1.05rem, 2.2vw, 1.25rem);
  max-width: 680px; margin: 0 auto 1.75rem; color: #dfe6f5;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7);
}
.heroi-acoes { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; }
.heroi-estado { margin-top: 1.5rem; color: var(--texto-suave); font-size: 0.95rem; }

.ponto { display: inline-block; width: 10px; height: 10px; border-radius: 50%; vertical-align: middle; margin-right: 0.35rem; }
.ponto-dev { background: var(--aviso); box-shadow: 0 0 10px var(--aviso); }

/* Secções */
.secao { padding: clamp(2.5rem, 6vw, 4.5rem) 0; }
.secao-escura { background: linear-gradient(180deg, var(--fundo-2), var(--fundo)); border-block: 1px solid var(--linha); }
.secao-interior { max-width: var(--largura); margin: 0 auto; padding: 0 16px; }
.secao-titulo { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.5rem 1rem; margin-bottom: 1.25rem; }
.secao-titulo h2 { margin: 0; }
.ligacao-mais { font-weight: 600; }
.ligacao-mais::after { content: " \2192"; }

.cabeca-pagina {
  padding: clamp(2.25rem, 6vw, 4rem) 0 clamp(1.5rem, 4vw, 2.5rem);
  border-bottom: 1px solid var(--linha);
  background: linear-gradient(180deg, var(--fundo-2), var(--fundo));
}
.cabeca-pagina p { color: var(--texto-suave); max-width: 720px; font-size: 1.05rem; margin: 0; }
.cabeca-com-fundo {
  background:
    linear-gradient(90deg, rgba(7, 13, 31, 0.95) 30%, rgba(7, 13, 31, 0.55)),
    url("/assets/img/fundos/aetherion_fundo.webp") center / cover no-repeat;
}
.cabeca-com-fundo p { color: #dfe6f5; font-family: var(--texto-corrido); }

.texto-longo { max-width: 760px; }
.texto-longo p, .texto-longo li { color: #d5dcec; }
.texto-longo h2 { margin-top: 1.5em; }
.texto-longo > h2:first-child, .texto-longo > .aviso-demo + h2 { margin-top: 0; }
.nota { color: var(--texto-suave); font-size: 0.92rem; }
.destaque { color: var(--ouro-claro); font-weight: 600; word-break: break-all; }

/* Cartões */
.cartao {
  background: linear-gradient(180deg, var(--painel), #0c1631);
  border: 1px solid var(--linha);
  border-radius: var(--raio);
  padding: clamp(1.1rem, 3vw, 1.75rem);
  box-shadow: var(--sombra);
}

/* Aviso demonstrativo */
.aviso-demo {
  border: 1px dashed var(--aviso);
  background: rgba(242, 200, 107, 0.08);
  color: #f7e3b3;
  border-radius: 8px;
  padding: 0.75rem 1rem;
  margin-bottom: 1.25rem;
  font-size: 0.95rem;
}
.aviso-demo strong { color: var(--aviso); }

/* Notícias */
.grelha-noticias { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.25rem; }
.noticia {
  background: linear-gradient(180deg, var(--painel), #0c1631);
  border: 1px solid var(--linha); border-radius: var(--raio);
  padding: 1.25rem 1.35rem;
  border-top: 3px solid var(--ouro-escuro);
  scroll-margin-top: 90px;
}
.noticia-cabecalho { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; margin-bottom: 0.6rem; font-size: 0.85rem; color: var(--texto-suave); }
.noticia h3 { font-size: 1.2rem; }
.noticia h3 a { color: var(--ouro-claro); text-decoration: none; }
.noticia h3 a:hover { text-decoration: underline; }
.noticia p { color: #d0d8ea; }
.noticia p:last-child { margin-bottom: 0; }
.noticia-figura { margin: 0 0 1rem; }
.noticia-figura img {
  display: block; width: 100%; height: auto; image-rendering: pixelated;
  border: 1px solid var(--linha); border-radius: 8px; background: #0b1530;
}
.etiqueta {
  display: inline-block; padding: 0.1rem 0.55rem; border-radius: 999px;
  border: 1px solid rgba(111, 216, 255, 0.45); color: var(--ciano); font-size: 0.78rem; letter-spacing: 0.04em;
}
.lista-noticias { display: grid; gap: 1.25rem; max-width: 820px; }
.lista-noticias .noticia h3 { font-size: 1.4rem; }

/* Regiões */
.grelha-regioes { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.25rem; }
.grelha-regioes-4 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.regiao { background: var(--painel); border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; }
.regiao img { width: 100%; aspect-ratio: 5 / 3; object-fit: cover; border-bottom: 1px solid var(--linha); }
.regiao-texto { padding: 1rem 1.15rem 1.15rem; }
.regiao-texto p { color: #cfd7e9; margin: 0; font-size: 0.95rem; }

/* Página O mundo: capítulos com título ornamentado e cartão de imagem */
.lore-heroi {
  min-height: min(78vh, 720px); display: flex; align-items: center; text-align: center;
  padding: clamp(3rem, 10vw, 6rem) 0;
  background:
    radial-gradient(ellipse at 50% 45%, rgba(7, 13, 31, 0.55), rgba(7, 13, 31, 0.75) 75%),
    linear-gradient(180deg, transparent 60%, var(--fundo)),
    url("/assets/img/fundos/aetherion_fundo.webp") center / cover no-repeat;
  border-bottom: 1px solid var(--linha);
}
.lore-heroi .secao-interior { width: 100%; }
.lore-heroi h1 {
  font-size: clamp(2.2rem, 7vw, 4rem); margin: 0.2em 0 0.4em;
  text-shadow: 0 0 24px rgba(111, 216, 255, 0.35), 0 2px 0 #1a1205;
}
.lore-sobretitulo {
  margin: 0; color: var(--ciano); font: 600 0.85rem var(--interface);
  letter-spacing: 0.28em; text-transform: uppercase;
}
.lore-heroi-texto {
  max-width: 680px; margin: 0 auto 2rem; color: #e3e9f6;
  font-family: var(--texto-corrido); font-size: clamp(1.05rem, 2.4vw, 1.3rem);
}
.lore-capitulo {
  padding: clamp(3rem, 8vw, 5.5rem) 0;
  background: radial-gradient(900px 380px at 50% 0%, rgba(111, 216, 255, 0.07), transparent 70%), var(--fundo);
}
.lore-capitulo-escuro {
  background: radial-gradient(900px 380px at 50% 0%, rgba(227, 191, 106, 0.08), transparent 70%), var(--fundo-2);
  border-block: 1px solid var(--linha);
}
.lore-capitulo-arte {
  background:
    linear-gradient(180deg, rgba(7, 13, 31, 0.9), rgba(28, 18, 6, 0.88)),
    url("/assets/img/fundos/aetherion_fundo.webp") center / cover no-repeat;
}
.lore-titulo {
  text-align: center; text-transform: uppercase; letter-spacing: 0.14em;
  font-size: clamp(1.5rem, 4.5vw, 2.3rem); margin: 0;
}
.lore-titulo::after {
  content: ""; display: block; width: min(260px, 70%); height: 14px; margin: 0.7rem auto 0;
  background: url("/assets/img/ornamento-titulo.svg") center / contain no-repeat;
}
.lore-subtitulo {
  text-align: center; color: var(--texto-suave); margin: 0.6rem auto 2rem;
  font-family: var(--texto-corrido); font-style: italic; font-size: 1.05rem;
}
.lore-cartao {
  max-width: 880px; margin: 0 auto; overflow: hidden;
  border: 1px solid var(--linha-forte); border-radius: var(--raio);
  background: rgba(7, 13, 31, 0.85); box-shadow: var(--sombra);
}
.lore-cartao img { display: block; width: 100%; aspect-ratio: 2 / 1; object-fit: cover; border-bottom: 1px solid var(--linha); }
.lore-cartao img.pixelado { image-rendering: pixelated; background: #0b1530; }
.lore-cartao-texto { padding: clamp(1.25rem, 4vw, 2rem); }
.lore-cartao-texto p { color: #d5dcec; font-size: 1.02rem; }
.lore-cartao-texto p:last-child { margin-bottom: 0; }
.lore-cartao-texto strong { color: var(--ouro-claro); }
.lore-faccoes {
  list-style: none; margin: 0 auto; padding: 0; max-width: 980px;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.25rem;
}
.lore-faccao {
  text-align: center; padding: 1.75rem 1.25rem; border-radius: var(--raio);
  border: 1px solid var(--linha); border-top: 3px solid var(--ouro-escuro);
  background: rgba(7, 13, 31, 0.7);
}
.lore-faccao img { margin: 0 auto 0.75rem; }
.lore-faccao p { color: #cfd7e9; margin: 0; font-size: 0.95rem; }
.lore-linha { list-style: none; margin: 0 auto; padding: 0; max-width: 760px; border-left: 2px solid var(--ouro-escuro); }
.lore-linha li { position: relative; padding: 0 0 1.4rem 1.5rem; }
.lore-linha li::before {
  content: ""; position: absolute; left: -7px; top: 0.35rem; width: 12px; height: 12px;
  background: var(--ouro); transform: rotate(45deg); box-shadow: 0 0 10px rgba(227, 191, 106, 0.6);
}
.lore-linha li:last-child { padding-bottom: 0; }
.lore-linha li:last-child::before { background: var(--ciano); box-shadow: 0 0 10px rgba(111, 216, 255, 0.7); }
.lore-data { display: block; color: var(--ouro-claro); font: 600 0.9rem var(--interface); letter-spacing: 0.06em; }
.lore-linha p { margin: 0.2rem 0 0; color: #d5dcec; }
.lore-nota { text-align: center; max-width: 760px; margin: 2rem auto 0; }
.heroi-inicio .heroi-logo { margin-bottom: 1rem; }
.lore-cartao-acao { margin-top: 1.5rem; }
.lore-mais { text-align: center; margin: 2rem 0 0; }
.lore-faccoes-4 { max-width: none; }
.lore-capitulo .chamada { margin: 0 auto; }
.lore-capitulo .chamada > p:not(.lore-subtitulo) { color: #dfe6f5; }

/* Funcionalidades */
.grelha-funcionalidades { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1.25rem; }
.funcionalidade { padding: 1.25rem; border: 1px solid var(--linha); border-radius: var(--raio); background: rgba(16, 28, 59, 0.5); }
.funcionalidade img { margin-bottom: 0.75rem; }
.funcionalidade p { color: #cfd7e9; margin: 0; font-size: 0.95rem; }

.secao-chamada { background: radial-gradient(600px 240px at 50% 0%, rgba(227, 191, 106, 0.12), transparent 70%); border-top: 1px solid var(--linha); }
.chamada { text-align: center; max-width: 720px; }
.chamada p { color: var(--texto-suave); }

/* Estado do servidor */
.cartao-estado { max-width: 640px; margin-bottom: 2rem; }
.cartao-estado-topo { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.75rem; }
.cartao-estado-topo h2 { margin: 0; }
.tabela-dados { margin: 0 0 1rem; }
.tabela-dados .linha { display: flex; justify-content: space-between; gap: 1rem; padding: 0.55rem 0; border-bottom: 1px solid rgba(201, 162, 74, 0.15); }
.tabela-dados dt { color: var(--texto-suave); }
.tabela-dados dd { margin: 0; text-align: right; font-weight: 600; }
.sem-dados { color: #7d89a8; font-weight: 400; font-style: italic; }

/* Regras */
.lista-regras { padding-left: 1.4rem; margin: 0 0 2rem; }
.lista-regras li { margin-bottom: 1.25rem; padding-left: 0.25rem; }
.lista-regras li::marker { color: var(--ouro); font-family: var(--serifa); font-weight: 700; }
.lista-regras h2 { font-size: 1.2rem; margin: 0 0 0.3rem; }
.lista-regras p { margin: 0; }

/* Informações */
.grelha-dupla { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
@media (max-width: 860px) { .grelha-dupla { grid-template-columns: 1fr; } }
.passos { padding-left: 1.4rem; }
.passos li { margin-bottom: 0.4rem; }
.cartao-descarga { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.cartao-descarga div { flex: 1 1 200px; }
.cartao-descarga h3, .cartao-descarga p { margin: 0; }
.cartao-descarga p { color: var(--texto-suave); }
.pergunta { border-bottom: 1px solid var(--linha); padding: 0.75rem 0; }
.pergunta summary { cursor: pointer; font-weight: 600; color: var(--ouro-claro); list-style-position: outside; }
.pergunta p { margin: 0.5rem 0 0; }
.lista-simples { padding-left: 1.2rem; margin: 0; }
.lista-simples li { margin-bottom: 0.35rem; color: #d0d8ea; }

/* Formulários */
.formulario { display: flex; flex-direction: column; gap: 0.35rem; }
.formulario h1, .formulario h2 { margin-bottom: 0.5rem; }
.formulario label { font-weight: 600; font-size: 0.92rem; margin-top: 0.5rem; }
.formulario input:not([type="checkbox"]), .formulario select, .formulario textarea, .filtros input, .filtros select {
  width: 100%; min-height: 44px; padding: 0.55rem 0.75rem;
  background: #0a1328; color: var(--texto);
  border: 1px solid #2c3b66; border-radius: 8px;
  font: inherit;
}
.formulario textarea { resize: vertical; }
.formulario input:focus, .formulario select:focus, .formulario textarea:focus, .filtros input:focus, .filtros select:focus {
  border-color: var(--ouro); outline: none; box-shadow: 0 0 0 3px rgba(227, 191, 106, 0.2);
}
.formulario [aria-invalid="true"] { border-color: var(--perigo); }
.formulario .botao { margin-top: 1rem; }
.ajuda { margin: 0; font-size: 0.85rem; color: var(--texto-suave); }
.caixa { display: flex; align-items: flex-start; gap: 0.6rem; font-weight: 400 !important; }
.caixa input { width: 20px; height: 20px; margin-top: 0.15rem; accent-color: var(--ouro); flex-shrink: 0; }
.resultado-demo { margin: 0.75rem 0 0; padding: 0.7rem 0.9rem; border-radius: 8px; font-size: 0.93rem; }
.resultado-demo.ok { background: rgba(111, 216, 255, 0.08); border: 1px solid rgba(111, 216, 255, 0.4); color: #cdefff; }
.resultado-demo.erro { background: rgba(255, 141, 122, 0.08); border: 1px solid rgba(255, 141, 122, 0.45); color: #ffd2c9; }
.formulario-rodape { margin: 1rem 0 0; text-align: center; color: var(--texto-suave); font-size: 0.92rem; }
.formulario-rodape span { margin: 0 0.4rem; }

.secao-conta {
  background:
    linear-gradient(180deg, rgba(7, 13, 31, 0.6), var(--fundo) 90%),
    url("/assets/img/fundos/aetherion_fundo.webp") center top / cover no-repeat;
  min-height: 70vh;
}
.conta-interior { display: grid; gap: 1.5rem; max-width: 480px; }
.painel-previa h2 { font-size: 1.15rem; }
#recuperar { scroll-margin-top: 100px; }

/* Loja */
.abas { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.25rem; }
.aba {
  min-height: 40px; padding: 0.4rem 1rem; border-radius: 999px;
  background: transparent; color: var(--texto); border: 1px solid #2c3b66;
  font: 600 0.9rem var(--interface); cursor: pointer;
}
.aba[aria-selected="true"] { background: var(--ouro); color: #1c1406; border-color: var(--ouro-claro); }
.grelha-produtos { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1.25rem; margin-bottom: 2rem; }
.produto {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  background: linear-gradient(180deg, var(--painel), #0c1631);
  border: 1px solid var(--linha); border-radius: var(--raio); padding: 1.25rem;
}
.produto img { width: 120px; height: 120px; margin-bottom: 0.75rem; }
.produto h3 { font-size: 1.05rem; }
.produto p { color: var(--texto-suave); font-size: 0.9rem; flex: 1; }
.preco { font-family: var(--serifa); font-size: 1.3rem; color: var(--ouro); margin-bottom: 0.75rem; }
.preco small { font-family: var(--interface); font-size: 0.75rem; color: var(--texto-suave); }
.preco-indef { font-size: 1rem; color: var(--texto-suave); }
.produto .botao { width: 100%; }
.produto[hidden] { display: none; }
.loja-saldo { max-width: 640px; }

/* Mercado */
.filtros { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 0.35rem 1rem; margin-bottom: 1.25rem; }
.filtros label { grid-row: 1; font-weight: 600; font-size: 0.9rem; }
.filtros input, .filtros select { grid-row: 2; }
@media (max-width: 640px) {
  .filtros { grid-template-columns: 1fr; }
  .filtros label, .filtros input, .filtros select { grid-row: auto; }
  .filtros label { margin-top: 0.4rem; }
}
.tabela-rolavel { overflow-x: auto; border: 1px solid var(--linha); border-radius: var(--raio); margin-bottom: 0.75rem; }
.tabela { width: 100%; border-collapse: collapse; min-width: 640px; font-size: 0.95rem; }
.tabela th, .tabela td { padding: 0.7rem 0.9rem; text-align: left; border-bottom: 1px solid rgba(201, 162, 74, 0.14); }
.tabela thead th { background: var(--painel-2); color: var(--ouro-claro); font-weight: 600; font-size: 0.85rem; letter-spacing: 0.03em; position: sticky; top: 0; }
.tabela tbody tr:nth-child(even) { background: rgba(16, 28, 59, 0.45); }
.tabela tbody tr:hover { background: rgba(227, 191, 106, 0.06); }
.tabela .num { text-align: right; font-variant-numeric: tabular-nums; }
.tipo { display: inline-block; padding: 0.05rem 0.5rem; border-radius: 999px; font-size: 0.8rem; font-weight: 600; }
.tipo-venda { color: var(--sucesso); border: 1px solid rgba(127, 224, 168, 0.45); }
.tipo-compra { color: var(--ciano); border: 1px solid rgba(111, 216, 255, 0.45); }

/* Rodapé */
.rodape { border-top: 1px solid var(--linha); background: #050a18; margin-top: auto; }
.rodape-interior {
  max-width: var(--largura); margin: 0 auto; padding: 2.5rem 16px 1.5rem;
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 2rem;
}
.rodape-marca img { width: 240px; margin-bottom: 0.5rem; }
.rodape-marca p { color: var(--texto-suave); font-size: 0.92rem; }
.rodape-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.rodape-links h2 { font-size: 0.95rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ouro); }
.rodape-links ul { list-style: none; margin: 0; padding: 0; }
.rodape-links li { margin-bottom: 0.35rem; }
.rodape-links a { color: var(--texto-suave); text-decoration: none; }
.rodape-links a:hover { color: var(--ouro-claro); text-decoration: underline; }
.rodape-estudio { text-align: center; padding: 1.25rem 16px 1.5rem; border-top: 1px solid rgba(201, 162, 74, 0.12); }
.rodape-estudio img { display: block; width: 150px; height: auto; margin: 0 auto 0.6rem; }
.rodape-direitos { text-align: center; color: #6f7a98; font-size: 0.85rem; margin: 0; }
@media (max-width: 760px) {
  .rodape-interior { grid-template-columns: 1fr; }
  .rodape-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 420px) {
  .rodape-links { grid-template-columns: 1fr; }
}

.secao-404 { min-height: 55vh; display: flex; align-items: center; }
