/* Media controls appear on hover; only slide dots occupy space below the asset. */
.company-gallery.gallery-docked { padding-bottom:0; }
.gallery-stage { position:relative; overflow:hidden; border-radius:inherit; }
.company-gallery.gallery-docked .gallery-slide>img,
.company-gallery.gallery-docked .gallery-slide>video { left:0; width:100%; height:100%; }
.gallery-docked .gallery-slide>.gallery-play { display:none!important; }
.gallery-hover-layer { position:absolute; inset:0; z-index:2; opacity:0; pointer-events:none; transition:opacity 160ms ease; }
.gallery-hover-layer button,.gallery-hover-layer input { pointer-events:none!important; }
.gallery-docked.controls-visible .gallery-hover-layer,
.gallery-hover-layer:has(:focus-visible) { opacity:1; }
.gallery-docked.controls-visible .gallery-hover-layer button,
.gallery-docked.controls-visible .gallery-hover-layer input,
.gallery-hover-layer:has(:focus-visible) button,
.gallery-hover-layer:has(:focus-visible) input { pointer-events:auto!important; }
@media (hover:hover) and (pointer:fine) {
  .gallery-stage:hover .gallery-hover-layer { opacity:1; }
  .gallery-stage:hover .gallery-hover-layer button,.gallery-stage:hover .gallery-hover-layer input { pointer-events:auto!important; }
}
.gallery-playback[hidden],.gallery-navigation[hidden],.gallery-docked .gallery-start[hidden],.gallery-toolbar[hidden] { display:none; }
.gallery-docked .gallery-video-ui { position:absolute; inset:0; color:#fff; pointer-events:none; }
.gallery-docked .gallery-video-controls { position:absolute; inset:auto 0 0; display:grid; grid-template-columns:40px auto minmax(30px,1fr) 40px 40px; gap:8px; padding:30px 12px 8px; background:linear-gradient(transparent,#0009); opacity:1; visibility:visible; transition:none; }
.gallery-docked .gallery-video-ui button { position:static; inset:auto; display:grid; place-items:center; width:40px; height:40px; margin:0; padding:0; border:0; border-radius:50%; background:#2228; color:#fff; transform:none; backdrop-filter:none; }
.gallery-docked .gallery-video-ui button:hover { background:#222c; }
.gallery-docked .gallery-video-ui button[hidden] { display:none; }
.gallery-docked .gallery-video-ui svg,.gallery-docked .gallery-start svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.gallery-docked .gallery-video-time { font-size:11px; color:#fff; align-self:center; text-shadow:0 1px 3px #0008; }
.gallery-docked .gallery-video-seek { align-self:center; width:100%; height:36px; min-width:0; margin:0; accent-color:#fff; }
.gallery-docked .gallery-start { position:absolute; left:50%; top:50%; display:flex; align-items:center; gap:8px; width:auto; min-height:44px; margin:0; padding:10px 16px; border:0; border-radius:28px; background:#fff; color:#222; transform:translate(-50%,-50%); font:500 14px/1.4 'DM Sans',sans-serif; letter-spacing:0; box-shadow:0 3px 18px #0002; }
.gallery-docked .gallery-navigation { position:absolute; inset:0; pointer-events:none; }
.company-gallery.gallery-docked .gallery-navigation .gallery-arrow { position:absolute; top:50%; display:grid; place-items:center; width:40px; height:40px; margin:0; padding:0; border-radius:50%; background:#fffffff2; color:#333; font:400 30px/1 'DM Sans',sans-serif; transform:translateY(-50%); box-shadow:0 2px 8px #0002; }
.company-gallery.gallery-docked .gallery-prev { left:14px; right:auto; }
.company-gallery.gallery-docked .gallery-next { right:14px; left:auto; }
.gallery-toolbar { display:flex; align-items:center; justify-content:center; padding:12px 8px 0; background:var(--paper); }
.company-gallery.gallery-docked .gallery-toolbar .gallery-dots { position:static; inset:auto; display:flex; justify-content:center; align-items:center; gap:0; padding:0; border-radius:0; background:none; transform:none; visibility:visible; }
.company-gallery.gallery-docked .gallery-toolbar .gallery-dot { width:28px; height:40px; }
.company-gallery.gallery-docked .gallery-toolbar .gallery-dot::before { background:var(--border); }
.company-gallery.gallery-docked .gallery-toolbar .gallery-dot[aria-current=true]::before { background:var(--ink); }
.gallery-docked .gallery-video-ui button:focus-visible,.gallery-docked .gallery-video-seek:focus-visible { outline:2px solid #fff; outline-offset:2px; }
.gallery-feedback { margin:0; padding:8px 14px; background:var(--paper); color:var(--secondary); font-size:13px; }
@media (min-width:761px) {
  #company-dialog .company-body { gap:28px; }
}
@media (min-width:761px) and (max-height:780px) {
  #company-dialog .company-body { gap:24px; }
}
@media (max-width:760px) {
  .gallery-toolbar { padding-top:8px; }
  #company-dialog .company-description { margin-top:24px; }
}
@container (max-width:420px) {
  .gallery-docked .gallery-video-controls { grid-template-columns:34px auto minmax(20px,1fr) 34px 34px; gap:5px; padding:24px 8px 7px; }
  .gallery-docked .gallery-video-ui button { width:34px; height:36px; }
  .gallery-docked .gallery-video-time { font-size:10px; }
  .company-gallery.gallery-docked .gallery-navigation .gallery-arrow { width:36px; height:36px; }
  .company-gallery.gallery-docked .gallery-prev { left:10px; }
  .company-gallery.gallery-docked .gallery-next { right:10px; }
}
.company-gallery.gallery-docked:fullscreen { display:flex!important; flex-direction:column; width:100vw!important; height:100dvh!important; max-height:none!important; border-radius:0!important; background:#111!important; }
.company-gallery.gallery-docked:fullscreen .gallery-stage { flex:1; min-height:0; display:flex; border-radius:0; }
#company-dialog .company-gallery.gallery-docked:fullscreen .gallery-track,.company-gallery.gallery-docked:fullscreen .gallery-track { flex:1; height:100%; min-height:0; aspect-ratio:auto; }
.company-gallery.gallery-docked:fullscreen .gallery-slide>img,.company-gallery.gallery-docked:fullscreen .gallery-slide>video { object-fit:contain; }
.company-gallery.gallery-docked:fullscreen .gallery-toolbar { flex:none; background:#111; padding-bottom:env(safe-area-inset-bottom); }
.company-gallery.gallery-docked:fullscreen .gallery-dot[aria-current=true]::before { background:#fff; }
@media (prefers-reduced-motion:reduce) { .gallery-hover-layer { transition:none; } }
