/* Full portrait image, discreet glass controls; one GPU transform handles dragging and edge snapping. */
.floating-video{--video-ratio:2.166667;--mini-width:clamp(136px,35vw,158px);position:fixed;z-index:130;left:0;top:0;width:var(--mini-width);height:calc(var(--mini-width) * var(--video-ratio,2.16667));transform:translate3d(var(--mini-x,calc(100vw - var(--mini-width) - 10px)),var(--mini-y,calc(100vh - var(--mini-width) * var(--video-ratio,2.16667) - 100px)),0);transition:transform .32s cubic-bezier(.22,.78,.25,1);border-radius:19px;overflow:hidden;isolation:isolate;touch-action:none;background:#151715;color:#fff;box-shadow:0 12px 38px #0003,0 2px 7px #0002}
.floating-video[hidden],.floating-video [hidden],.floating-video-back[hidden]{display:none!important}
.floating-video.is-dragging{transition:none;cursor:grabbing}
.floating-video-media,.floating-video-media>video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;transform:none!important;border:0!important;border-radius:inherit!important;opacity:1!important;filter:none!important}
.floating-video button{font:inherit;cursor:pointer;color:inherit;border:0;-webkit-tap-highlight-color:transparent}
.floating-video button:focus-visible,.floating-video-back:focus-visible{outline:2px solid #42a583;outline-offset:-4px}
.floating-video-return{position:absolute;inset:0;background:transparent;touch-action:none;cursor:grab!important}
.floating-video :is(.floating-video-play,.floating-video-close,.floating-video-sound,.floating-video-expand,.floating-video-replay){position:absolute;z-index:3;width:44px;height:44px;display:grid;place-items:center;padding:0;background:transparent;color:#fff;filter:drop-shadow(0 1px 2px #0007)}
.floating-video :is(.floating-video-play,.floating-video-close,.floating-video-sound,.floating-video-expand,.floating-video-replay):before{content:'';position:absolute;inset:8px;border-radius:50%;background:#42554d2b;box-shadow:inset 0 0 0 .5px #ffffff6b;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);z-index:-1}
.floating-video-play{left:1px;top:1px}.floating-video-close{right:1px;top:1px}.floating-video-sound,.floating-video-replay{left:1px;bottom:5px}.floating-video-expand{right:1px;bottom:5px}
.floating-video svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.floating-video-progress{position:absolute;z-index:4;bottom:0;left:0;right:0;height:2px;background:#ffffff38;pointer-events:none}
.floating-video-progress>span{display:block;width:100%;height:100%;transform:scaleX(var(--video-progress,0));transform-origin:left;background:linear-gradient(90deg,#135642,#43ae81);transition:transform .25s linear}
.floating-video-end{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:30px 10px 56px;background:linear-gradient(145deg,#ffffffec,#f0f6f1d4);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#151715}
.floating-video-end>img{width:26px;height:26px;object-fit:contain;flex:none}
.floating-video-end p{flex:none;margin:0;width:100%;font-size:clamp(13px,3.45vw,15px);line-height:1.2;letter-spacing:-.035em;text-wrap:balance}
.floating-video-end-title,.floating-video-end-subtitle{display:block;font-weight:600}
.floating-video-end-subtitle{margin-top:3px;background:linear-gradient(120deg,#0d4936,#42876d);background-clip:text;-webkit-background-clip:text;color:transparent}
.floating-video .floating-video-cta{position:relative;isolation:isolate;overflow:hidden;flex:none;min-height:44px;width:100%;border:4px solid transparent;border-radius:99px;padding:3px 2px;background:linear-gradient(135deg,#064e3b 0%,#047857 58%,#0b805b 100%) padding-box;color:#fff;font-size:11px;line-height:1.3;font-weight:550;box-shadow:inset 0 1px 0 #ffffff30,0 4px 12px #0d49361a;text-wrap:balance}
.floating-video.is-complete :is(.floating-video-close,.floating-video-expand,.floating-video-replay){color:#31493e;filter:none}
.floating-video.is-complete :is(.floating-video-close,.floating-video-expand,.floating-video-replay):before{background:#ffffff50;box-shadow:inset 0 0 0 .5px #496e5921}
.floating-video-back{position:fixed;z-index:130;right:12px;bottom:calc(98px + env(safe-area-inset-bottom));min-height:44px;max-width:calc(100vw - 24px);border-radius:18px;border:1px solid #9aafa24d;padding:10px 16px;background:#ffffffd9;color:#244c3a;font:500 12px/1.4 var(--font-sans, sans-serif);box-shadow:0 3px 16px #0002;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);cursor:pointer}
@media(min-width:821px){.floating-video{--mini-width:174px}.floating-video-back{bottom:24px;right:24px}}
@media(max-height:550px){.floating-video{--mini-width:118px}.floating-video-end{gap:6px;padding:24px 8px 50px}.floating-video-end>img{width:20px;height:20px}.floating-video-end p{font-size:12px;line-height:1.15}}
@media(prefers-reduced-motion:reduce){.floating-video,.floating-video-progress>span{transition:none}}
.gm-play .gm-pause-glyph{display:none}
.gm-play[data-playing=true] .gm-pause-glyph{display:block}
.gm-play[data-playing=true] .gm-play-glyph{display:none}

.video-fullview-open{overflow:hidden!important}
.video-fullview-open::after{content:"";position:fixed;inset:0;z-index:140;background:#0d1512b8;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.floating-video.is-expanded{inset:0;width:100vw;height:100dvh;aspect-ratio:auto;transform:none;border-radius:0;z-index:141;transition:none;background:#101713}
.floating-video.is-expanded .floating-video-return{cursor:pointer!important}
.floating-video.is-expanded .floating-video-media>video{object-fit:contain!important}
.floating-video.is-expanded svg{width:19px;height:19px}
.floating-video.is-expanded .floating-video-end{padding:70px 74px 90px 24px;gap:20px}
.floating-video.is-expanded .floating-video-end :is(p,.floating-video-cta,.floating-video-secondary){max-width:340px}
.floating-video.is-expanded .floating-video-play{top:calc(8px + env(safe-area-inset-top));left:8px}
.floating-video.is-expanded .floating-video-close{top:calc(8px + env(safe-area-inset-top));right:8px}
.floating-video.is-expanded :is(.floating-video-sound,.floating-video-replay,.floating-video-expand){bottom:calc(8px + env(safe-area-inset-bottom))}
.floating-video.is-expanded .floating-video-end p{font-size:clamp(22px,6vw,32px)}
.floating-video.is-expanded .floating-video-end>img{width:32px;height:32px}
.floating-video.is-expanded .floating-video-cta{font-size:15px;min-height:54px;padding:14px 18px;border:0;border-radius:99px}

@media(prefers-reduced-motion:reduce){.floating-video.is-expanded{transition:none}}

.floating-video .floating-video-secondary{flex:none;width:100%;min-height:44px;padding:7px 2px;background:transparent;color:#304c43;font-size:11px;line-height:1.3;font-weight:500;text-decoration:underline;text-underline-offset:3px;text-wrap:balance}
.floating-video.is-expanded .floating-video-secondary{font-size:14px;padding:10px}

@media(max-width:820px){.floating-video.is-expanded .floating-video-media>video{object-fit:cover!important}}

/* Shared CTA glyphs stay visible in the miniature and in Reel full view. */
.floating-video :is(.floating-video-cta,.floating-video-secondary){display:flex;align-items:center;justify-content:center;gap:4px}
.floating-video :is(.floating-video-cta,.floating-video-secondary)>svg{flex:none;width:11px;height:11px}
.floating-video .floating-video-cta[data-action=ticket]>.icon-play,.floating-video .floating-video-cta[data-action=video]>.icon-ticket{display:none}
.floating-video.is-expanded :is(.floating-video-cta,.floating-video-secondary)>svg{width:19px;height:19px}

/* Viewport changes fit immediately; dragging still settles smoothly. */
.floating-video.is-fitting{transition:none}

/* A full touch target for the thin timeline; dragging it never moves the player. */
.floating-video-seek{position:absolute;z-index:5;bottom:0;left:0;width:100%;height:44px;margin:0;padding:0;opacity:0;cursor:pointer;touch-action:pan-y}
.floating-video-seek-hint{position:absolute;z-index:6;bottom:48px;left:4px;right:4px;padding:5px 4px;border-radius:8px;background:#10251de0;color:#fff;font-size:10px;line-height:1.3;text-align:center;pointer-events:none;font-variant-numeric:tabular-nums}
.floating-video:has(.floating-video-seek:focus-visible) .floating-video-progress{height:5px;box-shadow:0 0 8px #55c29d80}
.floating-video:not(.is-complete) :is(.floating-video-sound,.floating-video-expand){bottom:44px}
.floating-video.is-expanded:not(.is-complete) :is(.floating-video-sound,.floating-video-expand){bottom:calc(44px + env(safe-area-inset-bottom))}
.floating-video.is-expanded .floating-video-seek{bottom:env(safe-area-inset-bottom)}
.floating-video.is-expanded .floating-video-progress{bottom:env(safe-area-inset-bottom)}
