/* Demos do bdOpenData e do bdPrivacy, e as telas reais dentro do site.
   A tela é o app de verdade (apps/) num iframe de 1280 × 800, encolhido com
   transform. Nada dentro dela é clicável; os botões da visita ficam fora. */

/* ---------- Tela real (telas.js) ---------- */
figure.tela { margin: 0; position: relative; overflow: hidden; background: #F4F5F8; border: 1px solid var(--linha); border-radius: 6px; height: 0; padding-bottom: 62.5%; }
figure.tela.is-pronta { padding-bottom: 0; }
.tela__palco { position: absolute; left: 0; top: 0; width: 1280px; height: 800px; transform-origin: 0 0; pointer-events: none; opacity: 0; transition: opacity .45s ease; }
.is-pronta > .tela__palco { opacity: 1; }
.is-passeio .tela__palco { transition: transform 1.6s cubic-bezier(.65,0,.35,1); }
.tela__app { border: 0; display: block; width: 1280px; height: 800px; background: #fff; }
figure.tela::after { content: ""; position: absolute; inset: 0; }
.bd-sec--tinta figure.tela, .bd-painel figure.tela { border-color: transparent; }

.bd-demo { display: grid; gap: 18px; }
.bd-demo__caixa { position: relative; width: 100%; }
.bd-demo__caixa figure.tela { box-shadow: none; }
.bd-sec--tinta .bd-demo__caixa { border-color: var(--linha-escura); }
.bd-demo__escudo { position: absolute; inset: 0; cursor: pointer; }
.bd-demo__pe { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.bd-sec--tinta 
/* ---------- Visita guiada ---------- */
html.bd-tour-aberto { overflow: hidden; }
.bd-tour { position: fixed; inset: 0; z-index: 80; background: rgba(15, 13, 31, .86); display: grid; grid-template-rows: 1fr auto; }
.bd-tour__palco { position: relative; overflow: hidden; }
.bd-tour__tela { position: absolute; left: 0; top: 0; width: 1280px; height: 800px; transform-origin: 0 0; border-radius: 4px; overflow: hidden; background: var(--branco); pointer-events: none; }
.bd-tour__carregando { position: absolute; left: 50%; top: 50%; width: 28px; height: 28px; margin: -14px; border: 3px solid rgba(255,255,255,.25); border-top-color: var(--branco); border-radius: 50%; opacity: 0; animation: gira .8s linear infinite; }
.is-carregando .bd-tour__carregando { opacity: 1; }
@keyframes gira { to { transform: rotate(360deg); } }
.bd-tour--anima .bd-tour__tela { transition: transform .9s cubic-bezier(.65,0,.35,1); }
.bd-tour__foco { position: absolute; border: 2px solid var(--roxo-claro); border-radius: 6px; pointer-events: none; box-shadow: 0 0 0 9999px rgba(23, 20, 46, .42); opacity: 0; transition: opacity .3s; }
.bd-tour--anima .bd-tour__foco { transition: opacity .4s .9s, left .9s, top .9s, width .9s, height .9s; }
.bd-tour__foco.is-on { opacity: 1; }
.bd-tour__cartao {
  width: min(620px, calc(100% - 32px)); margin: 0 auto 24px; background: var(--tinta); color: var(--branco);
  border: 1px solid var(--linha-escura); border-radius: var(--r); padding: 22px 24px; display: grid; gap: 10px; position: relative;
}
.bd-tour__passo { font: 500 .75rem/1 var(--mono); color: var(--roxo-claro); }
.bd-tour__titulo { font-size: 1.375rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.2; padding-right: 32px; }
.bd-tour__texto { color: #CFCBE6; font-size: 1rem; line-height: 1.5; }
.bd-tour__pe { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 8px; flex-wrap: wrap; }
.bd-tour__pontos { display: flex; gap: 6px; }
.bd-tour__pontos i { width: 18px; height: 3px; background: var(--linha-escura); }
.bd-tour__pontos i.is-on { background: var(--roxo-claro); }
.bd-tour__nav { display: flex; gap: 8px; }
.bd-tour__x { position: absolute; right: 14px; top: 14px; width: 32px; height: 32px; border: 1px solid var(--linha-escura); border-radius: var(--r); background: transparent; color: var(--branco); cursor: pointer; display: grid; place-items: center; }
.bd-tour__x svg { width: 14px; height: 14px; }
.bd-tour__x:hover { border-color: var(--branco); }
@media (max-width: 620px) { .bd-tour__cartao { margin-bottom: 12px; padding: 18px; } .bd-tour__titulo { font-size: 1.1875rem; } .bd-tour__texto { font-size: .9375rem; } }
