/* [1194] Bloque "Video" (mod_flq_video) y reproductor de FlqVideoHelper::renderPlayer().
   Todo por variables del propio bloque (--fv-*), nada global. */
.flq-video{width:100vw;max-width:100%;}
/* Dentro de una seccion en fila, cada bloque mide su propio contenido: un video en % casi no tiene ancho propio
   y se encogia (probado en el lienzo). Pide todo el ancho y el max-width lo recorta al de su lugar. */
.flq-video__inner{display:grid;gap:14px;width:100%;}
.flq-video__text{display:grid;gap:8px;min-width:0;}
.flq-video__title{margin:0;font-family:var(--fv-title-f, inherit);color:var(--fv-title-c, inherit);font-size:var(--fv-title-s, clamp(1.15rem, 1rem + .8vw, 1.6rem));line-height:1.2;overflow-wrap:anywhere;}
.flq-video__caption{margin:0;font-size:.95rem;line-height:1.55;opacity:.85;overflow-wrap:anywhere;white-space:pre-line;}
.flq-video__stage{width:min(100%, var(--fv-w, 100%));min-width:0;position:relative;}
.flq-video--left .flq-video__stage{margin-right:auto;}
.flq-video--center .flq-video__stage{margin-left:auto;margin-right:auto;}
.flq-video--right .flq-video__stage{margin-left:auto;}
.flq-video__device{position:relative;transform:perspective(900px) rotate(calc(var(--fv-tilt, 0deg) + var(--fv-tilt-b, 0deg))) rotateX(var(--fv-rx, 0deg)) rotateY(var(--fv-ry, 0deg));transition:transform .2s ease;}
.flq-video__shape{position:relative;filter:var(--fv-shadow, none);transition:translate .25s ease, filter .25s ease;}
.flq-video__frame{position:relative;width:100%;overflow:hidden;background:#000;border-radius:var(--fv-radius, 12px) !important;clip-path:var(--fv-clip, none);box-shadow:inset 0 0 0 var(--fv-bw, 0) var(--fv-bc, #fff);}
.flq-video__frame video,.flq-video__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000;object-fit:var(--fv-fit, contain);object-position:var(--fv-fx, 50%) var(--fv-fy, 50%);filter:var(--fv-filter, none);transform-origin:var(--fv-fx, 50%) var(--fv-fy, 50%);transition:transform 12s linear, scale .4s ease;}
.flq-video.is-playing .flq-video__frame video{transform:scale(var(--fv-zoom, 1));}
.flq-video__frame::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 var(--fv-bw, 0) var(--fv-bc, #fff);pointer-events:none;z-index:4;}
.flq-video__tint,.flq-video__vig,.flq-video__grain{position:absolute;inset:0;pointer-events:none;border-radius:var(--fv-radius, 12px);clip-path:var(--fv-clip, none);z-index:2;}
.flq-video__tint{background:var(--fv-tint, transparent);opacity:var(--fv-tint-o, 0);}
.flq-video__vig{background:radial-gradient(ellipse at center, transparent 45%, #000 100%);opacity:var(--fv-vig, 0);}
.flq-video__grain{opacity:0;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:fv-grain .5s steps(4) infinite;}
.fv-grain .flq-video__grain{opacity:.5;}
@keyframes fv-grain{0%{background-position:0 0}25%{background-position:-40px 20px}50%{background-position:30px -30px}75%{background-position:-20px -10px}}
/* Texto encima del video */
.flq-video__over{position:absolute;inset:0;z-index:3;display:grid;padding:clamp(14px, 4%, 32px);pointer-events:none;color:#fff;}
.flq-video__over .flq-video__text{max-width:80%;}
.flq-video__over .flq-video__title{color:var(--fv-title-c, #fff);text-shadow:0 2px 12px rgba(0,0,0,.45);}
.fv-text-over-top .flq-video__over{align-content:start;}
.fv-text-over-center .flq-video__over{align-content:center;justify-items:center;text-align:center;}
.fv-text-over-center .flq-video__over .flq-video__text{justify-items:center;}
.fv-text-over-bottom .flq-video__over{align-content:end;padding-bottom:clamp(48px, 9%, 64px);}
.flq-video__over{transition:opacity .4s;}
.flq-video.is-started .flq-video__over{opacity:0;}
/* Boton de reproducir propio */
.flq-video__play{position:absolute;z-index:5;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 .95rem/1 inherit;background:var(--fv-pc, #fff);color:#111;box-shadow:0 6px 20px rgba(0,0,0,.35);scale:var(--fv-ps, 1);transition:opacity .2s, scale .2s;}
.flq-video__play svg{width:22px;height:22px;}
.flq-video__play span{display:none;}
.fv-pp-center .flq-video__play{left:50%;top:50%;translate:-50% -50%;}
.fv-pp-bl .flq-video__play{left:16px;bottom:16px;transform-origin:left bottom;}
.fv-pp-br .flq-video__play{right:16px;bottom:16px;transform-origin:right bottom;}
.fv-play-circle .flq-video__play{width:64px;height:64px;border-radius:50%;}
.fv-play-pill .flq-video__play{padding:12px 20px;border-radius:999px;}
.fv-play-pill .flq-video__play span{display:inline;}
.fv-play-square .flq-video__play{width:60px;height:60px;border-radius:12px;}
.fv-play-icon .flq-video__play{background:transparent;box-shadow:none;color:var(--fv-pc, #fff);width:72px;height:72px;}
.fv-play-icon .flq-video__play svg{width:56px;height:56px;filter:drop-shadow(0 3px 8px rgba(0,0,0,.5));}
.fv-play-ring .flq-video__play{background:rgba(0,0,0,.18);border:3px solid var(--fv-pc, #fff);color:var(--fv-pc, #fff);width:72px;height:72px;border-radius:50%;box-shadow:none;backdrop-filter:blur(3px);}
.fv-pa-pulse .flq-video__play{animation:fv-pulse 1.6s ease-out infinite;}
.fv-pa-glow .flq-video__play{animation:fv-glow 2s ease-in-out infinite alternate;}
@keyframes fv-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--fv-pc, #fff) 70%, transparent)}100%{box-shadow:0 0 0 22px transparent}}
@keyframes fv-glow{from{filter:drop-shadow(0 0 2px var(--fv-pc, #fff))}to{filter:drop-shadow(0 0 16px var(--fv-pc, #fff))}}
.flq-video.is-playing .flq-video__play,.flq-video.is-started .flq-video__play{opacity:0;pointer-events:none;}
/* Boton de sonido */
.flq-video__sound{position:absolute;z-index:5;background:rgba(0,0,0,.55);color:#fff;border:0;border-radius:999px;padding:6px 12px;font:700 .8rem/1 inherit;display:inline-flex;align-items:center;gap:6px;cursor:pointer;}
.flq-video__sound svg{width:15px;height:15px;}
.fv-sp-tr .flq-video__sound{top:12px;right:12px;} .fv-sp-br .flq-video__sound{bottom:52px;right:12px;} .fv-sp-bl .flq-video__sound{bottom:52px;left:12px;}
.flq-video.is-unmuted .flq-video__sound{display:none;}
/* Boton de accion */
.flq-video__cta{position:absolute;z-index:5;right:14px;bottom:56px;background:var(--fv-pc, #fff);color:#111;text-decoration:none;font-weight:700;font-size:.88rem;padding:9px 16px;border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .3s;}
.flq-video__cta.is-on{opacity:1;pointer-events:auto;}
.fv-ctl-none .flq-video__cta{bottom:14px;}
/* Marcos */
.fv-frame-phone .flq-video__stage{max-width:min(100%, 320px);}
.fv-frame-phone .flq-video__device{padding:10px;background:#0b0d10;border-radius:36px;box-shadow:0 12px 32px rgba(0,0,0,.35);}
.fv-frame-phone .flq-video__device::before{content:"";position:absolute;top:14px;left:50%;transform:translateX(-50%);width:30%;height:14px;background:#0b0d10;border-radius:0 0 10px 10px;z-index:6;}
.fv-frame-phone .flq-video__frame{border-radius:26px !important;}
.fv-frame-tablet .flq-video__device{padding:14px;background:#121418;border-radius:24px;}
.fv-frame-tablet .flq-video__frame{border-radius:6px !important;}
.fv-frame-laptop .flq-video__device{padding:10px 10px 0;background:#15181d;border-radius:12px 12px 0 0;margin-bottom:16px;}
.fv-frame-laptop .flq-video__device::after{content:"";position:absolute;left:-7%;right:-7%;bottom:-16px;height:16px;background:linear-gradient(#c9ced6,#9ba2ad);border-radius:0 0 14px 14px;}
.fv-frame-browser .flq-video__device{padding:30px 6px 6px;background:#e3e7ed;border-radius:10px;}
.fv-frame-browser .flq-video__device::before{content:"";position:absolute;left:12px;top:11px;width:44px;height:9px;background:radial-gradient(circle at 4px 4.5px,#ff5f57 4px,transparent 4.5px),radial-gradient(circle at 19px 4.5px,#febc2e 4px,transparent 4.5px),radial-gradient(circle at 34px 4.5px,#28c840 4px,transparent 4.5px);}
.fv-frame-tv .flq-video__device{padding:12px;background:#0a0a0a;border-radius:8px;margin-bottom:28px;}
.fv-frame-tv .flq-video__device::after{content:"";position:absolute;left:38%;right:38%;bottom:-26px;height:26px;background:linear-gradient(#2a2a2a,#111);clip-path:polygon(30% 0,70% 0,100% 100%,0 100%);}
.fv-frame-polaroid .flq-video__device{--fv-tilt-b:-2deg;background:#fafaf7;padding:10px 10px 46px;box-shadow:0 10px 24px rgba(0,0,0,.25);}
.fv-frame-laptop .flq-video__frame,.fv-frame-browser .flq-video__frame,.fv-frame-tv .flq-video__frame,.fv-frame-polaroid .flq-video__frame{border-radius:2px !important;}
/* Al pasar el mouse */
.fv-hover-zoom .flq-video__shape:hover video{scale:1.06;}
.fv-hover-lift .flq-video__shape:hover{translate:0 -8px;}
.fv-ctl-hover:not(.is-hovering) .flq-video__frame video::-webkit-media-controls-panel{opacity:0;}
/* Efecto al aparecer */
.fv-appear .flq-video__stage{opacity:0;}
.fv-appear.is-in .flq-video__stage{animation:var(--fv-ap-name, fv-fade) var(--fv-apd, .9s) cubic-bezier(.2,.7,.2,1) var(--fv-apl, 0s) both;}
.fv-ap-fade{--fv-ap-name:fv-fade} .fv-ap-zoom{--fv-ap-name:fv-zoom} .fv-ap-up{--fv-ap-name:fv-up} .fv-ap-side{--fv-ap-name:fv-side} .fv-ap-spin{--fv-ap-name:fv-spin}
@keyframes fv-fade{from{opacity:0}to{opacity:1}}
@keyframes fv-zoom{from{opacity:0;scale:.82}to{opacity:1;scale:1}}
@keyframes fv-up{from{opacity:0;translate:0 44px}to{opacity:1;translate:0 0}}
@keyframes fv-side{from{opacity:0;translate:-70px 0}to{opacity:1;translate:0 0}}
@keyframes fv-spin{from{opacity:0;rotate:-10deg;scale:.85}to{opacity:1;rotate:0deg;scale:1}}
/* Video flotante al bajar */
.flq-video__stage.is-floating{min-height:var(--fv-float-h, 0);}
.flq-video__stage.is-floating .flq-video__device{position:fixed;right:16px;bottom:16px;width:min(320px, 60vw);z-index:9990;transform:none;padding:0;background:none;margin:0;box-shadow:0 12px 30px rgba(0,0,0,.4);border-radius:10px;overflow:hidden;}
.flq-video__stage.is-floating .flq-video__device::before,.flq-video__stage.is-floating .flq-video__device::after{display:none;}
.flq-video__close{display:none;position:absolute;top:6px;right:6px;z-index:7;width:28px;height:28px;border-radius:50%;border:0;background:rgba(0,0,0,.65);color:#fff;font-size:18px;line-height:28px;cursor:pointer;}
.flq-video__stage.is-floating .flq-video__close{display:block;}
/* Candado y reproductor (FlqVideoHelper) */
.flq-video__lock{background:#111 center/cover no-repeat;display:grid;place-items:center;}
.flq-video__lock::before{content:"";position:absolute;inset:0;background:rgba(8,10,14,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}
.flq-video__lockbox{position:relative;display:grid;gap:10px;justify-items:center;text-align:center;color:#fff;padding:18px;max-width:440px;z-index:1;}
.flq-video__lockbox p{margin:0;font-size:1rem;line-height:1.45;font-weight:600;}
.flq-video__lockbtns{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;}
.flq-video__btn{display:inline-block;padding:9px 16px;border-radius:8px;border:1px solid rgba(255,255,255,.7);color:#fff;text-decoration:none;font-weight:700;font-size:.9rem;}
.flq-video__btn--main{background:#fff;color:#111;border-color:#fff;}
.flq-video__wm{position:absolute;right:6%;top:12%;font:600 .72rem/1 ui-monospace, monospace;color:rgba(255,255,255,.45);pointer-events:none;transform:rotate(-8deg);animation:flq-video-wm 18s linear infinite alternate;z-index:3;}
@keyframes flq-video-wm{0%{right:6%;top:12%}33%{right:58%;top:30%}66%{right:20%;top:72%}100%{right:64%;top:84%}}
.flq-video__empty{display:grid;place-items:center;aspect-ratio:16/9;border:2px dashed rgba(127,127,127,.45);border-radius:12px;color:inherit;opacity:.7;font-size:.95rem;text-align:center;padding:16px;}
@media (prefers-reduced-motion: reduce){.flq-video__wm,.flq-video__grain,.fv-pa-pulse .flq-video__play,.fv-pa-glow .flq-video__play{animation:none;}.fv-appear .flq-video__stage{opacity:1;animation:none !important;}.flq-video.is-playing .flq-video__frame video{transform:none;}}
/* Texto encima al centro + boton al centro: el boton baja para no taparse con el titulo. */
.fv-text-over-center.fv-pp-center .flq-video__play{top:auto;bottom:16%;translate:-50% 0;}
.fv-text-over-center.fv-shape-circle .flq-video__over{padding-bottom:30%;}
/* Video dentro de una nota (boton "Video" del editor) */
.flq-video-embed{margin:1.5rem 0;display:grid;gap:6px;}
.flq-video-embed .flq-video__frame{border-radius:10px !important;}
.flq-video-embed figcaption{font-size:.88rem;opacity:.75;line-height:1.45;}
