/* loja-base.css — reset global, tipografia e páginas/elementos genéricos (dividido de loja.css na Etapa 9) */


body { background: var(--fundo); }

a { transition: color 0.15s; }
.container-loja { max-width: 1200px; margin: 0 auto; padding: 28px 24px 60px; }
.pagina-em-breve { max-width: 480px; margin: 60px auto 80px; text-align: center; }
.icone-em-breve {
  width: 72px; height: 72px; border-radius: 50%; background: var(--superficie);
  border: 1px solid var(--borda); color: var(--dourado-escuro);
  display: flex; align-items: center; justify-content: center; margin: 0 auto 20px;
}
.pagina-em-breve h1 { font-size: 21px; font-weight: 800; margin-bottom: 8px; }
.pagina-em-breve p { color: var(--texto-suave); font-size: 14px; margin-bottom: 24px; }
.botao-em-breve { display: inline-block; }
.pagina-politicas { max-width: 820px; margin: 0 auto; }
.pagina-politicas h1 { font-family: var(--fonte-titulo); font-size: 24px; margin-bottom: 6px; }
.pagina-politicas > p.intro { color: var(--texto-suave); margin-bottom: 24px; }
.indice-politicas { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0 0 32px; }
.indice-politicas a {
  display: inline-block; padding: 7px 14px; border-radius: 999px; border: 1px solid var(--borda);
  background: var(--superficie); color: var(--texto); font-size: 13px; text-decoration: none;
}
.indice-politicas a:hover { border-color: var(--navy-800); }
.secao-politica {
  background: var(--superficie); border: 1px solid var(--borda); border-radius: var(--raio);
  padding: 24px; margin-bottom: 18px; scroll-margin-top: 90px;
}
.secao-politica h2 { font-family: var(--fonte-titulo); font-size: 18px; margin: 0 0 12px; }
.secao-politica h3 { font-size: 14.5px; margin: 16px 0 6px; }
.secao-politica p, .secao-politica li { font-size: 14px; line-height: 1.6; color: var(--texto); }
.secao-politica ul, .secao-politica ol { margin: 8px 0; padding-left: 20px; }
.secao-politica .nota-atualizacao { color: var(--texto-suave); font-size: 12.5px; margin-top: 10px; }

@media (max-width: 640px) {
  .secao-politica { padding: 18px; }
}
.imgentraga{
  object-fit: cover;
  width: 100%;
  height: 100%;
  animation: flutuar 3s ease-in-out infinite;
}

@keyframes flutuar {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-14px); }
}

@media (prefers-reduced-motion: reduce) {
  .imgentraga { animation: none; }
}

/* Popup de boas-vindas exibido logo após o cadastro (ver layout.js) */
.travar-scroll-boas-vindas { overflow: hidden; }

.overlay-boas-vindas {
  position: fixed; inset: 0; z-index: 1000;
  display: flex; align-items: center; justify-content: center;
  background: rgba(6, 34, 55, 0.55);
  padding: 20px;
}

.modal-boas-vindas {
  position: relative;
  width: 100%; max-width: 380px;
  background: var(--superficie);
  border-radius: var(--raio);
  box-shadow: var(--sombra);
  padding: 32px 28px 28px;
  text-align: center;
}

.fechar-boas-vindas {
  position: absolute; top: 12px; right: 12px;
  width: 30px; height: 30px;
  display: flex; align-items: center; justify-content: center;
  background: transparent; border: none; border-radius: 50%;
  color: var(--texto-suave);
}
.fechar-boas-vindas:hover { background: var(--fundo); color: var(--texto); }

.icone-boas-vindas {
  width: 56px; height: 56px; margin: 0 auto 16px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: rgba(47, 158, 110, 0.12);
  color: var(--verde);
}

.modal-boas-vindas h2 {
  font-family: var(--fonte-titulo);
  font-size: 21px;
  margin-bottom: 8px;
}

.modal-boas-vindas p {
  color: var(--texto-suave);
  font-size: 14px;
  line-height: 1.55;
  margin: 0 0 22px;
}

.botao-boas-vindas {
  width: 100%;
  padding: 12px 18px;
  border: none;
  border-radius: 999px;
  background: var(--navy-900);
  color: #fff;
  font-family: var(--fonte-corpo);
  font-size: 14.5px;
  font-weight: 600;
}
.botao-boas-vindas:hover { background: var(--navy-800); }

@media (max-width: 420px) {
  .modal-boas-vindas { padding: 26px 20px 22px; }
}
