/* ===== Tour virtual por drone (/visitaguiada/#tour-virtual) ===== */
.tv{position:relative;padding:clamp(70px,9vw,130px) 0;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(201,162,75,.08),transparent 70%),#05070b;overflow:hidden}
.tv .sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tv-palco{margin-top:40px}
.tv-abas{display:flex;gap:10px;margin-bottom:14px}
.tv-abas button{flex:1;max-width:280px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 18px;text-align:left;cursor:pointer;color:var(--texto-dim);background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.1);font:inherit;transition:border-color .35s,background .35s,color .35s}
.tv-abas button b{font-family:var(--ff-display);font-weight:400;font-size:22px;color:#f3eddf}
.tv-abas button small{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase}
.tv-abas button[aria-pressed="true"]{border-color:rgba(232,199,122,.6);background:linear-gradient(160deg,rgba(232,199,122,.14),rgba(232,199,122,.03));color:var(--ouro-claro)}

.tv-tela{position:relative;aspect-ratio:16/9;overflow:hidden;background:#000;border:1px solid rgba(232,199,122,.22);box-shadow:0 50px 120px -40px rgba(0,0,0,.9);cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;outline:none}
.tv-tela:focus-visible{box-shadow:0 0 0 2px var(--ouro-claro),0 50px 120px -40px rgba(0,0,0,.9)}
.tv-tela.arrasta{cursor:grabbing}
.tv-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:scale(1.02);transition:filter .6s}
.tv-tela.parado .tv-v{filter:brightness(.82)}
.tv-vinheta{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 85% 75% at 50% 50%,transparent 55%,rgba(0,0,0,.55) 100%),linear-gradient(180deg,rgba(0,0,0,.35),transparent 18%,transparent 78%,rgba(0,0,0,.55))}
.tv-tela::before,.tv-tela::after{content:"";position:absolute;left:0;right:0;height:7%;background:#000;z-index:4;pointer-events:none;transition:transform 1.4s cubic-bezier(.7,0,.2,1)}
.tv-tela::before{top:0}.tv-tela::after{bottom:0}
.tv-tela.aberta::before{transform:translateY(-100%)}.tv-tela.aberta::after{transform:translateY(100%)}

/* pontos dourados com linha até o rótulo. Fora da janela do ponto: invisível DE VERDADE
   (visibility:hidden tira o toque, o Tab e o leitor de tela; a troca espera o fade terminar) */
.tv-linhas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:visible}
.tv-linhas line{stroke:rgba(240,213,144,.85);stroke-width:1.2;stroke-dasharray:3 3}
.tv-pts{position:absolute;inset:0;z-index:3;pointer-events:none}
.tv-pt{position:absolute;left:0;top:0;width:30px;height:30px;margin:-15px 0 0 -15px;padding:0;border:0;border-radius:50%;background:none;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s,visibility 0s .35s}
.tv-pt.vis{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .35s}
.tv-pt i{position:absolute;inset:8px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6d6,#f0d590 45%,#b8913f);box-shadow:0 0 0 2px rgba(10,12,18,.45),0 0 16px rgba(240,213,144,.95)}
.tv-pt::before,.tv-pt::after{content:"";position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(240,213,144,.9);animation:tvOnda 2.2s ease-out infinite}
.tv-pt::after{animation-delay:1.1s}
.tv-pt:not(.vis)::before,.tv-pt:not(.vis)::after{animation:none}
@keyframes tvOnda{0%{transform:scale(.55);opacity:1}100%{transform:scale(2);opacity:0}}
.tv-rot{position:absolute;left:0;top:0;z-index:3;cursor:pointer;padding:7px 12px 7px 10px;white-space:nowrap;font:600 11.5px/1 var(--ff-body);letter-spacing:.08em;color:#f7f1e3;background:rgba(8,10,16,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(240,213,144,.55);border-left:2px solid #f0d590;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s,background .3s,visibility 0s .35s}
.tv-rot.vis{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .35s,background .3s}
.tv-rot:hover,.tv-rot.on{background:rgba(232,199,122,.92);color:#14100a}

/* dica de arrastar (anima transform, não left: sem layout por quadro; para quando some) */
.tv-dica{position:absolute;left:50%;bottom:16%;z-index:3;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:10px 16px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:rgba(8,10,16,.55);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.18);pointer-events:none;transition:opacity .6s}
.tv-dica.some{opacity:0}
.tv-dica .mao{position:relative;width:26px;height:2px;background:rgba(240,213,144,.8)}
.tv-dica .mao::after{content:"";position:absolute;left:0;top:-5px;width:12px;height:12px;border-radius:50%;background:#f0d590;animation:tvMao 1.8s ease-in-out infinite}
.tv-dica.some .mao::after{animation:none}
@keyframes tvMao{0%,100%{transform:translateX(-4px)}50%{transform:translateX(18px)}}

/* controles */
.tv-hud{position:absolute;right:14px;bottom:12%;z-index:5;display:flex;gap:8px}
.tv-hud button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;min-width:40px;padding:0 12px;color:#fff;background:rgba(8,10,16,.6);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.22);cursor:pointer;font:600 11px/1 var(--ff-body);letter-spacing:.16em;text-transform:uppercase;transition:border-color .3s,background .3s}
.tv-hud button:hover{border-color:var(--ouro-claro)}
.tv-hud svg{width:16px;height:16px}
.tv-hud .tv-demo{color:#14100a;background:linear-gradient(90deg,#b8913f,#e8c77a);border-color:#f0d590}
.tv-hud .tv-demo.on{background:rgba(8,10,16,.6);color:var(--ouro-claro)}
/* cada botão traz os dois rótulos (o tradutor do site traduz os dois uma vez só) e alterna por classe */
.tv-demo .b,.tv-demo .st,.tv-demo.on .a,.tv-demo.on .pl,
.tv-play .b,.tv-play .pa,.tv-play.on .a,.tv-play.on .pl,
.tv-tela-cheia .b,.tv-tela-cheia .sai,.tv-tela-cheia.on .a,.tv-tela-cheia.on .ent,
.tv-ouvir .b,.tv-ouvir.on .a{display:none}
.tv-demo.on .b,.tv-ouvir.on .b{display:inline}
.tv-demo.on .st,.tv-play.on .pa,.tv-tela-cheia.on .sai{display:block}
.tv-play.on .b,.tv-tela-cheia.on .b{display:inline}

/* cartão do ponto (à direita; quando o ponto está à direita, abre à esquerda para não cobri-lo) */
.tv-card{position:absolute;z-index:6;top:9%;right:2.4%;bottom:9%;width:min(380px,44%);display:flex;flex-direction:column;background:rgba(8,10,16,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(232,199,122,.45);box-shadow:0 30px 80px rgba(0,0,0,.6);overflow:hidden;animation:tvCard .55s cubic-bezier(.16,1,.3,1)}
.tv-card[hidden]{display:none}
@keyframes tvCard{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes tvCardE{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
@media (min-width:761px){.tv-card.esq{right:auto;left:2.4%;animation-name:tvCardE}}
.tv-x{position:absolute;top:10px;right:10px;z-index:2;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(8,10,16,.6);border:1px solid rgba(255,255,255,.2);color:#fff;cursor:pointer}
.tv-x svg{width:16px;height:16px}
.tv-ci{flex:none;height:38%;background-size:cover;background-position:center;border-bottom:1px solid rgba(232,199,122,.3)}
.tv-ct{flex:1;overflow:auto;padding:18px 22px 20px}
.tv-ct small{display:block;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--ouro)}
.tv-ct h4{margin-top:6px;font-family:var(--ff-display);font-weight:400;font-size:clamp(22px,2.2vw,30px);line-height:1.1;color:#f7f1e3}
.tv-ct h4:focus{outline:none}
.tv-ct p{margin-top:12px;font-size:14px;line-height:1.65;color:var(--texto-dim)}
.tv-ca{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}
.tv-ouvir{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;color:#14100a;background:linear-gradient(90deg,#b8913f,#e8c77a);border:0;cursor:pointer;font:700 11px/1 var(--ff-body);letter-spacing:.16em;text-transform:uppercase}
.tv-ouvir svg{width:18px;height:18px}
.tv-ouvir.on{background:#f7f1e3}
.tv-ouvir.on svg{animation:tvFala 1s ease-in-out infinite}
@keyframes tvFala{50%{transform:scale(1.15)}}
.tv-mais,.tv-seguir{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ouro-claro);text-decoration:none;background:none;border:0;cursor:pointer;padding:0}
.tv-mais svg,.tv-seguir svg{width:14px;height:14px}

/* trilha do voo com as paradas */
.tv-trilha{position:relative;margin-top:16px;padding-bottom:34px}
.tv-r{width:100%;height:28px;margin:0;background:none;-webkit-appearance:none;appearance:none;cursor:pointer}
.tv-r::-webkit-slider-runnable-track{height:2px;background:linear-gradient(90deg,var(--ouro) var(--p,0%),rgba(255,255,255,.15) var(--p,0%))}
.tv-r::-moz-range-track{height:2px;background:rgba(255,255,255,.15)}
.tv-r::-moz-range-progress{height:2px;background:var(--ouro)}
.tv-r::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;margin-top:-7px;border-radius:50%;background:#f0d590;box-shadow:0 0 12px rgba(240,213,144,.8)}
.tv-r::-moz-range-thumb{width:16px;height:16px;border:0;border-radius:50%;background:#f0d590}
.tv-marcas{position:absolute;left:8px;right:8px;top:22px;height:30px;pointer-events:none}
.tv-marcas button{position:absolute;top:0;width:22px;height:22px;transform:translateX(-50%);pointer-events:auto;padding:0;border:0;background:none;cursor:pointer}
.tv-marcas button.baixo{top:13px}
.tv-marcas button::before{content:"";position:absolute;left:50%;top:0;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:var(--ouro);transition:transform .3s,box-shadow .3s}
.tv-marcas button span{position:absolute;left:50%;top:13px;transform:translateX(-50%);font:600 10px/1 var(--ff-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ouro-claro);white-space:nowrap;opacity:0;transition:opacity .3s;pointer-events:none}
.tv-marcas button:first-child span{left:0;transform:none}
.tv-marcas button:last-child span{left:auto;right:0;transform:none}
.tv-marcas button:hover span,.tv-marcas button:focus-visible span,.tv-marcas button.on span{opacity:1}
.tv-marcas button:hover::before,.tv-marcas button.on::before{transform:scale(1.5);box-shadow:0 0 10px rgba(240,213,144,.9)}
.tv-textos{display:none}
.tv [hidden]{display:none!important}

@media (max-width:760px){
  .tv-abas button{padding:10px 12px}.tv-abas button b{font-size:18px}
  .tv-tela{aspect-ratio:4/3;margin:0 calc(50% - 50vw);border-left:0;border-right:0}
  .tv-hud{bottom:10px;right:10px;gap:6px}
  .tv-hud button{height:36px;min-width:36px;padding:0 10px}
  .tv-hud .tv-demo{font-size:10px;letter-spacing:.08em}
  .tv-dica{bottom:auto;top:50%;transform:translate(-50%,-50%);padding:8px 12px;font-size:10px;white-space:nowrap}
  .tv-rot{font-size:10px;padding:5px 8px}
  .tv-card{position:fixed;inset:auto 0 0 0;top:auto;width:auto;max-height:72vh;border-left:0;border-right:0;border-bottom:0;animation-name:tvSobe}
  @keyframes tvSobe{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
  .tv-ci{height:170px}
  .tv-marcas button span{display:none}
}
@media (max-width:760px){body.tv-card-aberto .vg-fab{opacity:0!important;pointer-events:none!important}}

/* tela cheia: o palco inteiro (vídeo + trilha com os marcadores por cima do vídeo) */
.tv-palco:fullscreen{display:flex;flex-direction:column;justify-content:center;margin:0;padding:0;background:#000}
.tv-palco:fullscreen .tv-abas{display:none}
.tv-palco:fullscreen .tv-tela{flex:1;min-height:0;aspect-ratio:auto;margin:0;border:0;box-shadow:none}
.tv-palco:fullscreen .tv-card{position:absolute;bottom:calc(1% + 72px)}
.tv-palco:fullscreen .tv-hud{bottom:calc(1% + 72px)}
.tv-palco:fullscreen .tv-trilha{position:absolute;left:3%;right:3%;bottom:1%;z-index:7;margin:0}
.tv-palco:-webkit-full-screen{display:flex;flex-direction:column;justify-content:center;margin:0;padding:0;background:#000}
.tv-palco:-webkit-full-screen .tv-abas{display:none}
.tv-palco:-webkit-full-screen .tv-tela{flex:1;min-height:0;aspect-ratio:auto;margin:0;border:0;box-shadow:none}
.tv-palco:-webkit-full-screen .tv-card{position:absolute;bottom:calc(1% + 72px)}
.tv-palco:-webkit-full-screen .tv-hud{bottom:calc(1% + 72px)}
.tv-palco:-webkit-full-screen .tv-trilha{position:absolute;left:3%;right:3%;bottom:1%;z-index:7;margin:0}
@media (prefers-reduced-motion:reduce){.tv-pt::before,.tv-pt::after,.tv-dica .mao::after{animation:none}.tv-tela::before,.tv-tela::after{display:none}}

/* ===== idioma do tour (09/11/2026): seletor no canto do vídeo e no cartão ===== */
.tv-lg{position:relative;display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 10px 0 11px;color:#fff;background:rgba(8,10,16,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.22);cursor:pointer;transition:border-color .3s}
.tv-lg:hover,.tv-lg:focus-within{border-color:var(--ouro-claro)}
.tv-lg svg{width:16px;height:16px;flex:none;color:var(--ouro-claro)}
.tv-lgs{-webkit-appearance:none;appearance:none;margin:0;padding:0 18px 0 0;border:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23e8c77a' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right center/10px 7px;color:inherit;font:600 11px/1 var(--ff-body);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;outline:none}
.tv-lgs option{color:#14100a;background:#f7f1e3;text-transform:none;letter-spacing:0;font-weight:500}
.tv-lgs{line-height:1.6}                                   /* 10/11: com altura de linha 1 o acento de PORTUGUÊS, ESPAÑOL e o Ç de FRANÇAIS eram cortados */
.tv-lg-card{height:38px;border-color:rgba(232,199,122,.45);background:rgba(232,199,122,.06)}
.tv-card[lang="zh-CN"] .tv-ct p,.tv-card[lang="ja"] .tv-ct p,.tv-card[lang="ko"] .tv-ct p{line-height:1.8}
@media (max-width:760px){
  .tv-lg{height:36px;padding:0 8px}
  .tv-lg-hud svg{display:none}
  .tv-lg-hud .tv-lgs{font-size:10px;letter-spacing:.06em;max-width:96px}
}

/* ===== 09/11/2026: visita guiada de cinema — capa com o play, abertura narrada e encerramento com o WhatsApp ===== */
.tv-tela.com-capa .tv-hud,.tv-tela.com-capa .tv-dica,.tv-tela.com-capa .tv-pts,.tv-tela.com-capa .tv-linhas{opacity:0;pointer-events:none}
.tv-dica{display:none}                                     /* o convite para arrastar agora está na capa */
.tv-capa{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;text-align:center;padding:8% 6%;pointer-events:none;background:radial-gradient(ellipse 65% 70% at 50% 55%,rgba(5,7,11,.25),rgba(5,7,11,.72) 72%,rgba(5,7,11,.9));transition:opacity .7s}
.tv-capa[hidden]{display:none}
.tv-capa.sai{opacity:0}
.tv-capa-in{display:flex;flex-direction:column;align-items:center;max-width:620px}
.tv-capa .eb,.tv-cena .eb{font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--ouro)}
.tv-capa .t{margin-top:12px;font-family:var(--ff-display);font-weight:400;font-size:clamp(32px,4.6vw,64px);line-height:1;color:#f7f1e3;text-shadow:0 6px 40px rgba(0,0,0,.6)}
.tv-capa .s{margin-top:10px;font-size:clamp(13px,1.3vw,16px);color:rgba(239,233,219,.85)}
.tv-iniciar{position:relative;margin-top:26px;width:86px;height:86px;border-radius:50%;border:0;padding:0;cursor:pointer;pointer-events:auto;color:#14100a;background:radial-gradient(circle at 35% 30%,#fff3cf,#e8c77a 55%,#b8913f);box-shadow:0 0 0 1px rgba(255,243,207,.6),0 18px 50px rgba(0,0,0,.55),0 0 40px rgba(232,199,122,.45);transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s}
.tv-iniciar svg{position:relative;z-index:1;width:34px;height:34px;margin-left:5px}
.tv-iniciar:hover{transform:scale(1.07);box-shadow:0 0 0 1px rgba(255,243,207,.8),0 22px 60px rgba(0,0,0,.6),0 0 60px rgba(232,199,122,.65)}
.tv-iniciar:focus-visible{outline:2px solid #fff3cf;outline-offset:5px}
.tv-iniciar .aro,.tv-iniciar::after{content:"";position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(240,213,144,.85);animation:tvAro 2.6s ease-out infinite}
.tv-iniciar::after{animation-delay:1.3s}
@keyframes tvAro{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.9);opacity:0}}
.tv-capa .bt{margin-top:16px;font:600 11.5px/1 var(--ff-body);letter-spacing:.22em;text-transform:uppercase;color:#f3e3b6}
.tv-lg-capa{margin-top:16px;pointer-events:auto;height:36px;border-color:rgba(232,199,122,.45);background:rgba(8,10,16,.55)}
.tv-capa small{margin-top:14px;font-size:11px;letter-spacing:.12em;color:rgba(239,233,219,.6)}

/* cena de abertura e de encerramento: barras de cinema, título que acende em ouro, linha que se desenha */
.tv-tela.cinema::before,.tv-tela.cinema::after{transform:none!important;height:10%}
.tv-tela.cinema .tv-pts,.tv-tela.cinema .tv-linhas,.tv-tela.cinema .tv-hud{opacity:0;pointer-events:none;transition:opacity .6s}
.tv-cena{position:absolute;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;text-align:center;padding:10% 7%;background:radial-gradient(ellipse 70% 62% at 50% 50%,rgba(5,7,11,.42),rgba(5,7,11,.84) 70%,rgba(5,7,11,.95));opacity:0;transition:opacity 1s}
.tv-cena[hidden]{display:none}
.tv-cena.on{opacity:1}
.tv-cena.sai{opacity:0;transition:opacity .75s}
.tv-cena-in{max-width:min(900px,94%);display:flex;flex-direction:column;align-items:center}
.tv-cena .eb{opacity:0}
.tv-cena.on .eb{animation:tvEb 1.8s cubic-bezier(.16,1,.3,1) .2s forwards}
@keyframes tvEb{from{opacity:0;letter-spacing:.9em}to{opacity:1;letter-spacing:.34em}}
.tv-cena .linha{display:block;width:140px;height:1px;margin:16px auto 18px;background:linear-gradient(90deg,transparent,#f0d590,transparent);transform:scaleX(0)}
.tv-cena.on .linha{animation:tvLinha 1.4s cubic-bezier(.16,1,.3,1) .55s forwards}
@keyframes tvLinha{to{transform:scaleX(1)}}
.tv-cena .t{display:block;font-family:var(--ff-display);font-weight:400;font-size:clamp(34px,5.6vw,80px);line-height:1.02;background:linear-gradient(100deg,#c9a24b 0%,#fff3cf 38%,#e8c77a 52%,#b8913f 100%);background-size:240% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent;opacity:0;filter:blur(10px);transform:translateY(16px) scale(.985)}
.tv-cena.on .t{animation:tvTit 1.7s cubic-bezier(.16,1,.3,1) .75s forwards,tvOuro 3.6s ease-in-out 2.2s infinite}
@keyframes tvTit{to{opacity:1;filter:blur(0);transform:none}}
@keyframes tvOuro{0%,100%{background-position:100% 0}50%{background-position:0 0}}
.tv-cena .s{display:block;margin-top:16px;max-width:560px;font-size:clamp(14px,1.55vw,20px);line-height:1.5;color:#efe9db;opacity:0;transform:translateY(10px)}
.tv-cena.on .s{animation:tvSobe2 1.3s cubic-bezier(.16,1,.3,1) 1.35s forwards}
@keyframes tvSobe2{to{opacity:1;transform:none}}
.tv-cena-fim{display:flex;flex-direction:column;align-items:center;margin-top:22px;opacity:0;transform:translateY(10px)}
.tv-cena-fim[hidden]{display:none}
.tv-cena.on .tv-cena-fim{animation:tvSobe2 1.2s cubic-bezier(.16,1,.3,1) 2s forwards}
.tv-cena-bt{display:flex;gap:22px;margin-top:30px}
.tv-cena-bt button{display:inline-flex;align-items:center;gap:7px;padding:6px 2px;border:0;background:none;color:rgba(239,233,219,.78);font:600 11px/1 var(--ff-body);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border-bottom:1px solid transparent;transition:color .3s,border-color .3s}
.tv-cena-bt button:hover{color:var(--ouro-claro);border-color:rgba(232,199,122,.5)}
.tv-cena-bt svg{width:15px;height:15px}

/* WhatsApp no encerramento: só o ícone e o número, soltos (sem caixa); a linha dourada se estende ao passar o mouse */
.tv-wa{position:relative;display:inline-flex;align-items:center;gap:16px;padding:8px 4px 12px;text-decoration:none;color:#f7f1e3;background:none;border:0}
.tv-wa .ic{display:flex;color:#e8c77a;filter:drop-shadow(0 0 16px rgba(232,199,122,.45));transition:transform .5s cubic-bezier(.16,1,.3,1),color .4s}
.tv-wa .ic svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.4}
.tv-wa .num{font-family:var(--ff-display);font-weight:400;font-size:clamp(28px,3.2vw,44px);line-height:1;letter-spacing:.02em;color:#f7f1e3;transition:color .4s;text-shadow:0 4px 30px rgba(0,0,0,.6)}
.tv-wa::after{content:"";position:absolute;left:52px;right:4px;bottom:2px;height:1px;background:linear-gradient(90deg,#f0d590,rgba(240,213,144,0));transform:scaleX(.3);transform-origin:left;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.tv-wa:hover .num,.tv-wa:focus-visible .num{color:#fff3cf}
.tv-wa:hover .ic,.tv-wa:focus-visible .ic{transform:scale(1.08) rotate(-6deg);color:#f0d590}
.tv-wa:hover::after,.tv-wa:focus-visible::after{transform:scaleX(1)}
.tv-wa:focus-visible{outline:none}
.tv-cena.on .tv-wa::after{animation:tvTraco 1.6s cubic-bezier(.16,1,.3,1) 2.4s both}
@keyframes tvTraco{from{transform:scaleX(0)}to{transform:scaleX(.3)}}
@media (max-width:760px){.tv-wa{gap:12px}.tv-wa .ic svg{width:26px;height:26px}.tv-wa .num{font-size:24px}.tv-wa::after{left:38px}}

/* a mãozinha que indica o número (ícone "touch_app" do Material Icons, Apache 2.0): toca com um anel de luz */
.tv-wa .mao{position:absolute;right:-30px;bottom:-30px;width:40px;height:40px;color:#fff7e2;filter:drop-shadow(0 6px 12px rgba(0,0,0,.65)) drop-shadow(0 0 10px rgba(240,213,144,.5));pointer-events:none;opacity:0;transition:opacity .4s}
.tv-wa .mao svg{display:block;width:100%;height:100%;fill:currentColor}
.tv-wa .mao::before{content:"";position:absolute;left:11px;top:0;width:16px;height:16px;border-radius:50%;border:1.5px solid rgba(240,213,144,.95);box-shadow:0 0 12px rgba(240,213,144,.6);opacity:0}
.tv-cena.on .tv-wa .mao{animation:tvMaoWa 2.3s cubic-bezier(.45,0,.25,1) 2.9s infinite}
.tv-cena.on .tv-wa .mao::before{animation:tvToqueWa 2.3s ease-out 2.9s infinite}
@keyframes tvMaoWa{0%{opacity:0;transform:translate(12px,16px)}14%{opacity:1}42%{transform:translate(0,0)}52%{transform:translate(0,1px) scale(.9)}64%{transform:translate(0,0)}100%{opacity:1;transform:translate(0,0)}}
@keyframes tvToqueWa{0%,48%{transform:scale(.4);opacity:0}53%{opacity:1}100%{transform:scale(2.3);opacity:0}}
.tv-wa:hover .mao,.tv-wa:focus-visible .mao{animation:none!important;opacity:0}
@media (max-width:760px){.tv-wa .mao{width:30px;height:30px;right:-22px;bottom:-22px}.tv-wa .mao::before{left:8px;width:12px;height:12px}}
@media (prefers-reduced-motion:reduce){.tv-cena.on .tv-wa .mao{animation:none;opacity:1}.tv-cena.on .tv-wa .mao::before{animation:none}}

/* o botão flutuante do WhatsApp sai da frente da trilha enquanto o tour está na tela */
body.tv-na-tela .vg-fab{opacity:0!important;pointer-events:none!important;transition:opacity .4s}

/* cartão entre 761 e 1200 px: a imagem encolhe e os botões ficam sempre à vista no pé do cartão */
@media (min-width:761px) and (max-width:1200px){.tv-ci{height:28%}}
.tv-ca{position:sticky;bottom:-20px;margin-bottom:-20px;padding:12px 0 20px;background:linear-gradient(180deg,rgba(8,10,16,0),rgba(8,10,16,.96) 30%)}

@media (max-width:760px){
  .tv-capa{padding:6% 5%}
  .tv-capa .eb{display:none}
  .tv-capa .t{font-size:28px;margin-top:0}
  .tv-capa .s{font-size:12.5px;margin-top:6px}
  .tv-iniciar{margin-top:14px;width:64px;height:64px}
  .tv-iniciar svg{width:26px;height:26px}
  .tv-capa .bt{margin-top:10px;font-size:10px}
  .tv-lg-capa{margin-top:10px;height:32px}
  .tv-capa small{display:none}
  .tv-cena{padding:12% 5% 10%}
  .tv-tela.cinema::before,.tv-tela.cinema::after{height:6%}
  .tv-cena .eb{font-size:9.5px}
  .tv-cena .linha{margin:8px auto 10px}
  .tv-cena .t{font-size:30px}
  .tv-cena .s{margin-top:8px;font-size:13px}
  .tv-cena-fim{margin-top:12px}
  .tv-wa{padding:9px 18px 9px 14px;gap:10px}
  .tv-wa svg{width:22px;height:22px}
  .tv-wa b{font-size:10px}
  .tv-wa .num{font-size:16px}
  .tv-cena-bt{margin-top:10px;gap:14px}
  .tv-cena-bt button{font-size:9.5px}
}
@media (prefers-reduced-motion:reduce){
  .tv-iniciar .aro,.tv-iniciar::after{animation:none}
  .tv-cena .eb,.tv-cena .t,.tv-cena .s,.tv-cena-fim,.tv-cena .linha{animation:none!important;opacity:1;filter:none;transform:none}
}
