/* Estilos comuns mínimos (escritos do zero) */
[hidden] { display: none !important; }

/* Tela cheia para ampliar imagens */
.zoom {
  position: fixed; inset: 0; z-index: 1000;
  display: grid; place-items: center; padding: 56px 12px 16px;
  background: rgba(10, 10, 10, .88);
}
.zoom img { max-width: 100%; max-height: 100%; border-radius: 10px; background: #fff; box-shadow: 0 10px 40px rgba(0, 0, 0, .5); }
.zoom-fechar {
  position: absolute; top: 10px; right: 12px; width: 40px; height: 40px;
  border: 0; border-radius: 50%; background: #fff; color: #111;
  font-size: 26px; line-height: 1; cursor: pointer;
}

/* Trilho de carrossel: rolagem lateral com encaixe, sem barra visível */
[data-trilho] { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
[data-trilho]::-webkit-scrollbar { display: none; }
[data-trilho] > * { scroll-snap-align: center; flex: 0 0 auto; }

/* Pontos do carrossel (cores ajustadas por página via --ponto e --ponto-ativo) */
[data-pontos] { display: flex; justify-content: center; gap: 7px; margin-top: 10px; }
[data-pontos] button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: var(--ponto, #cfd6d1); cursor: pointer; }
[data-pontos] button[aria-current="true"] { background: var(--ponto-ativo, #333); width: 18px; border-radius: 6px; }

/* Perguntas frequentes com <details> */
details > summary { cursor: pointer; list-style: none; }
details > summary::-webkit-details-marker { display: none; }
