/* Switzer (Indian Type Foundry/Fontshare, self-hosted em apps/site/public/fonts/ — ver
   LICENSE-Switzer.txt) — caminho relativo a partir de projetos/assets/, dois níveis acima
   até à raiz pública. */
@font-face {
  font-family: "Switzer";
  src: url("../../fonts/Switzer-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
  font-style: normal;
}
* { box-sizing: border-box; }
html { scrollbar-width: none; -ms-overflow-style: none; }
html::-webkit-scrollbar { display: none; }
html, body { margin: 0; height: 100%; background: #000; color: #fff; font-family: "Switzer", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.aviso { position: fixed; top: 0; left: 0; right: 0; z-index: 6; text-align: center; background: #B08D5C; color: #211E18; font-size: 0.78rem; padding: 6px 12px; }
.ecra { position: relative; width: 100%; height: 100vh; height: 100dvh; min-height: 560px; overflow: hidden; }
.slide-viewport { position: absolute; inset: 0; }
.slide-viewport .slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1s ease; }
.slide-viewport .slide.ativa { opacity: 1; }
.slide-viewport .fundo { position: absolute; inset: -30px; background-size: cover; background-position: center; filter: blur(35px) brightness(0.65); transform: scale(1.15); }
.slide-viewport .principal { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.seta { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; background: none; border: none; color: #fff; font-size: 2rem; cursor: pointer; padding: 12px; opacity: 0.75; line-height: 1; filter: drop-shadow(0 1px 4px rgba(0,0,0,0.6)); }
.seta:hover { opacity: 1; }
.seta.anterior { left: 8px; }
.seta.seguinte { right: 8px; }
.voltar { position: absolute; top: 20px; left: 24px; z-index: 4; color: #fff; text-decoration: none; font-size: 0.86rem; text-shadow: 0 1px 4px rgba(0,0,0,0.7); }
.dados, .descricao { position: absolute; bottom: 24px; z-index: 2; max-width: 320px; transition: color 0.4s ease, text-shadow 0.4s ease; color: #fff; text-shadow: 0 1px 6px rgba(0,0,0,0.55); }
.dados.escura, .descricao.escura { color: #211E18; text-shadow: 0 1px 6px rgba(255,255,255,0.55); }
.dados { left: 24px; }
.dados h1 { font-size: 1.3rem; font-weight: 600; margin: 0 0 14px; line-height: 1.25; }
.dados dl { margin: 0; font-size: 0.86rem; }
.dados dt { opacity: 0.75; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; margin-top: 10px; }
.dados dd { margin: 2px 0 0; }
.descricao { right: 24px; text-align: right; }
.descricao p { margin: 0; font-size: 0.94rem; line-height: 1.55; font-style: italic; }
.descricao .rotulo { display: block; font-style: normal; text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.68rem; font-weight: 600; opacity: 0.85; margin-bottom: 8px; }
.contador { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 2; font-size: 0.78rem; color: #fff; text-shadow: 0 1px 4px rgba(0,0,0,0.6); opacity: 0.8; }
@media (max-width: 760px) {
  .ecra { height: auto; min-height: 100vh; padding-bottom: 40px; }
  .slide-viewport { position: relative; height: 60vh; min-height: 340px; width: 100%; }
  .dados, .descricao { position: static; bottom: auto; max-width: none; padding: 0 20px; color: #fff !important; text-shadow: none; }
  .dados { left: auto; margin-top: 22px; }
  .descricao { right: auto; text-align: left; margin-top: 18px; }
}