/* La misma tarjeta flotante de las fotos, con portadas y controles de vídeo. */
.property-video-dialog.video-gallery{
  width:min(1400px,92vw);height:min(86dvh,900px);max-width:92vw;max-height:90dvh;
  position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);
  margin:0;padding:0;border:1px solid #ffffff80;border-radius:15px;
  background:#10271f;color:#f1f5ef;box-shadow:0 25px 100px #00190f70;overflow:hidden;
}
.property-video-dialog.video-gallery[open]{display:grid;grid-template-rows:65px minmax(0,1fr)}
.property-video-dialog.video-gallery::backdrop{background:#102b225e;backdrop-filter:blur(4px)}
.video-gallery-header{display:flex;align-items:center;gap:18px;padding:0 78px 0 25px;min-width:0;background:#10271f;border-bottom:1px solid #ffffff16}
.video-gallery .video-gallery-title{font:500 17px/1.35 var(--sans,sans-serif);letter-spacing:-.02em;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.video-gallery-position{font-size:11px;color:#c4d3c8;white-space:nowrap}
.property-video-dialog.video-gallery .popup-close{top:10px;right:12px;color:#e9f2e8;background:#ffffff0e;width:44px;height:44px;font-size:28px}
.video-gallery-content{display:grid;grid-template-columns:minmax(0,1fr) 200px;min-width:0;min-height:0}
.video-gallery-view{display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;background:#081b14;padding:16px 16px 0}
.video-gallery-stage{position:relative;min-height:0;min-width:0;overflow:hidden;border-radius:5px;background:#102219}
.property-video-dialog.video-gallery video{display:block;width:100%;height:100%;max-height:100%;margin:0;object-fit:contain;background:#102219;border-radius:0}
.video-gallery-caption{margin:0;padding:13px 5px;color:#e0e9df;font-size:11px;line-height:1.5;text-align:center}
.video-gallery button:focus-visible{outline:3px solid #549dcf;outline-offset:3px}
.video-gallery-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:72px;height:72px;padding:0;border:1px solid #ffffff80;border-radius:50%;background:#fafaf5ee;color:#012d20;box-shadow:0 4px 25px #0004}
.video-gallery-play:hover{background:#fff}
.video-gallery-play svg{width:32px;height:32px;fill:currentColor;margin-left:3px}
.video-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#f9faf5ed;color:#173b28;box-shadow:0 2px 12px #0003;font:400 29px/1 var(--sans,sans-serif)}
.video-gallery-arrow.previous{left:12px}.video-gallery-arrow.next{right:12px}
.video-gallery-thumbnails{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0;overflow:auto;padding:19px 15px;background:#10271f;border-left:1px solid #ffffff16;scrollbar-width:thin;scrollbar-color:#567467 transparent;overscroll-behavior:contain}
.video-gallery-thumbnail{position:relative;flex:none;width:100%;aspect-ratio:4/3;padding:0;border:2px solid transparent;border-radius:6px;background:#dce5d8;overflow:hidden;opacity:.75;transition:opacity .15s,border-color .15s}
.video-gallery-thumbnail img{display:block;width:100%;height:100%;margin:0;object-fit:cover}
.video-gallery-thumbnail:hover,.video-gallery-thumbnail[aria-current=true]{opacity:1}
.video-gallery-thumbnail[aria-current=true]{border-color:#78b6df;box-shadow:0 0 0 2px #10271f,0 0 0 3px #78b6df}
.video-thumbnail-number,.video-thumbnail-duration{position:absolute;bottom:5px;padding:3px 5px;border-radius:3px;background:#082c20dc;color:white;font-size:10px;line-height:1.2}
.video-thumbnail-number{left:5px}.video-thumbnail-duration{right:5px}
.video-thumbnail-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:29px;height:29px;padding-left:2px;border-radius:50%;background:#092b20a8;color:white;font-size:11px}
.video-gallery-status{position:absolute;bottom:55px;left:50%;transform:translateX(-50%);margin:0;padding:8px 12px;border-radius:5px;background:#092b20ec;color:white;font-size:12px;white-space:nowrap}
.video-gallery-error{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:20px;background:#102219ed;text-align:center;color:#fff;font-size:14px}
.video-gallery-error p{margin:0}.video-gallery-error button{padding:10px 16px;border:1px solid #c7d6c1;border-radius:5px;background:#f9faf5;color:#012d20}
.video-gallery [hidden]{display:none!important}
.video-gallery-single .video-gallery-content{grid-template-columns:minmax(0,1fr)}
.video-gallery-header .video-gallery-title{color:#f1f5ef}
.page-ficha .video-gallery-play,.page-ficha .video-gallery-arrow,.page-ficha .video-gallery-error button{color:#012d20}
.video-controls{position:absolute;left:16px;right:16px;bottom:14px;z-index:3;padding:8px 15px 5px;border:1px solid #ffffff24;border-radius:13px;background:#09251ee8;backdrop-filter:blur(18px);color:#f2f6ef;transition:opacity .2s;box-shadow:0 8px 32px #0003}
.video-controls-row{display:flex;align-items:center;gap:6px;min-width:0}
.video-controls-spacer{flex:1}
.page-ficha .video-control-button{display:grid;place-items:center;flex:none;width:40px;height:40px;padding:9px;border:0;border-radius:8px;background:transparent;color:#f2f6ef}
.video-control-button:hover{background:#ffffff17}
.video-control-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.video-control-button[aria-label=Reproducir] svg{fill:currentColor;stroke:none}
.video-time{flex:none;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap;color:#f2f6ef}
.video-controls input[type=range]{display:block;height:24px;padding:0;min-height:0;border:0;border-radius:20px;appearance:none;cursor:pointer;touch-action:pan-y}
.video-controls .video-seek{width:100%;margin:0 0 2px;background:linear-gradient(to right,#78b6df 0 var(--played,0%),#91a99f var(--played,0%) var(--buffered,0%),#ffffff35 var(--buffered,0%) 100%) center/100% 4px no-repeat}
.video-controls input[type=range]::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border:0;border-radius:50%;background:#f4f8f1;box-shadow:0 0 0 3px #78b6df30}
.video-controls input[type=range]::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:#f4f8f1}
.video-controls .video-volume{width:65px;flex:none;margin:0 8px 0 0;background:linear-gradient(#ffffff48,#ffffff48) center/100% 3px no-repeat;accent-color:#78b6df}
.video-speed select{width:58px;min-height:36px;padding:5px 3px;border:0;border-radius:6px;background:#123d30;color:#f2f6ef;font:500 11px var(--sans,sans-serif);cursor:pointer}
.video-control-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.video-controls input:focus-visible,.video-speed select:focus-visible{outline:2px solid #78b6df;outline-offset:5px}
.video-gallery-stage.is-playing:not(.controls-visible):not(:focus-within) .video-controls,.video-gallery-stage.is-playing:not(.controls-visible):not(:focus-within) .video-gallery-arrow{opacity:0;pointer-events:none}
.video-gallery-stage.is-playing:not(.controls-visible):not(:focus-within){cursor:none}
.video-gallery-stage:focus-visible{outline:2px solid #78b6df;outline-offset:-3px}
.video-gallery-stage:fullscreen{width:100vw;height:100dvh;border-radius:0;background:#06140f}
html.video-player-fullscreen{scrollbar-gutter:auto}
.video-gallery-stage:fullscreen video{background:#06140f}
.video-gallery-stage:fullscreen .video-controls{left:max(20px,calc((100vw - 1000px)/2));right:max(20px,calc((100vw - 1000px)/2));bottom:max(20px,env(safe-area-inset-bottom))}
.video-gallery-status{bottom:115px;z-index:4}.video-gallery-error{z-index:5}
@media(max-width:900px){
  .video-gallery-content{grid-template-columns:minmax(0,1fr) 160px}
  .video-gallery-thumbnails{padding:15px 12px}
}
@media(max-width:650px){
  .property-video-dialog.video-gallery{width:92vw;height:min(80dvh,680px);border-radius:12px}
  .property-video-dialog.video-gallery[open]{grid-template-rows:62px minmax(0,1fr)}
  .video-gallery-header{padding:0 65px 0 15px;gap:10px}
  .video-gallery .video-gallery-title{font-size:13px}.video-gallery-position{font-size:10px}
  .property-video-dialog.video-gallery .popup-close{top:9px;right:9px}
  .video-gallery-content{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 105px}
  .video-gallery-view{padding:8px 8px 0}
  .video-gallery-thumbnails{flex-direction:row;gap:10px;padding:12px;border-left:0;border-top:1px solid #ffffff16}
  .video-gallery-thumbnail{height:100%;width:auto;aspect-ratio:4/3}
  .video-gallery-caption{padding:10px 4px;font-size:10px}
  .video-gallery-play{width:60px;height:60px}.video-gallery-play svg{width:28px;height:28px}
  .video-gallery-arrow.previous{left:7px}.video-gallery-arrow.next{right:7px}
  .video-gallery-single .video-gallery-content{grid-template-rows:minmax(0,1fr)}
  .video-controls{left:8px;right:8px;bottom:8px;padding:6px 7px 3px;border-radius:10px}
  .video-controls-row{gap:2px}.page-ficha .video-control-button{width:34px;height:36px;padding:7px}
  .video-time{font-size:10px}.video-controls input.video-volume{display:none}.video-speed select{width:48px;font-size:10px}
}
@media(max-height:520px){
  .property-video-dialog.video-gallery{height:92dvh;max-height:92dvh}
  .property-video-dialog.video-gallery[open]{grid-template-rows:52px minmax(0,1fr)}
  .property-video-dialog.video-gallery .popup-close{top:4px}
  .video-gallery-view{padding:7px 7px 0}.video-gallery-caption{padding:7px 4px}
}
@media(prefers-reduced-motion:reduce){.video-gallery-thumbnail,.video-controls{transition:none}}
