/* Vídeo flutuante (assets/video-flutuante.js). Canto inferior esquerdo, acima
   do botão de cookies (48px em left/bottom 20px); o WhatsApp fica à direita. */
.vflut { position: fixed; left: 20px; bottom: 84px; z-index: 9997; width: 124px; aspect-ratio: 9 / 16; opacity: 0; transform: translateY(16px) scale(.96); transition: opacity .3s, transform .3s; }
.vflut.on { opacity: 1; transform: none; }
.vflut[hidden] { display: none; }
.vflut-open { all: unset; cursor: pointer; display: block; width: 100%; height: 100%; border-radius: 18px; overflow: hidden; position: relative; background: var(--navy-900); border: 3px solid var(--white); box-shadow: 0 14px 34px rgba(11,13,46,.35); transition: transform .2s, box-shadow .2s; }
.vflut-open:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(11,13,46,.45); }
.vflut-open:focus-visible { outline: 3px solid var(--green); outline-offset: 3px; }
.vflut-open video { width: 100%; height: 100%; object-fit: cover; display: block; }
.vflut-play { position: absolute; left: 50%; bottom: 10px; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; background: var(--green); color: var(--navy-900); font-size: 12.5px; font-weight: 700; padding: 6px 11px 6px 9px; border-radius: var(--pill); box-shadow: 0 4px 12px rgba(0,0,0,.25); }
.vflut-play svg { width: 13px; height: 13px; fill: currentColor; }
.vflut-x { all: unset; cursor: pointer; position: absolute; top: -9px; right: -9px; width: 26px; height: 26px; border-radius: 50%; background: var(--white); color: var(--navy); font-size: 18px; line-height: 26px; text-align: center; box-shadow: 0 4px 12px rgba(0,0,0,.25); }
.vflut-x:hover { background: var(--bg-soft); }
.vflut-x:focus-visible { outline: 3px solid var(--green); outline-offset: 2px; }

.vflut-modal { position: fixed; inset: 0; z-index: 99998; display: grid; place-items: center; padding: 24px; opacity: 0; transition: opacity .25s; }
.vflut-modal.on { opacity: 1; }
.vflut-modal[hidden] { display: none; }
.vflut-backdrop { position: absolute; inset: 0; background: rgba(11,13,46,.82); backdrop-filter: blur(4px); }
.vflut-frame { position: relative; height: min(84vh, 760px); aspect-ratio: 9 / 16; max-width: 100%; transform: scale(.94); transition: transform .25s; }
.vflut-modal.on .vflut-frame { transform: none; }
.vflut-frame video { width: 100%; height: 100%; object-fit: contain; background: #000; border-radius: var(--card); display: block; }
.vflut-close { all: unset; cursor: pointer; position: absolute; top: -14px; right: -14px; width: 40px; height: 40px; border-radius: 50%; background: var(--white); color: var(--navy); font-size: 26px; line-height: 40px; text-align: center; box-shadow: 0 6px 18px rgba(0,0,0,.35); z-index: 1; }
.vflut-close:focus-visible { outline: 3px solid var(--green); outline-offset: 2px; }
body.vflut-lock { overflow: hidden; }
body.menu-open .vflut { display: none; }

@media (max-width: 600px) {
  .vflut { width: 92px; left: 14px; bottom: 80px; }
  .vflut-play { font-size: 11px; padding: 5px 9px 5px 7px; bottom: 7px; }
  .vflut-frame { height: auto; width: min(100%, calc((100vh - 80px) * 9 / 16)); }
  .vflut-close { top: 8px; right: 8px; }
}
