/* v48: video blocks + loader spinner (no poster fallback) */

.hero-video-section{padding-top:14px;padding-bottom:8px}

.zs-video-shell{
  position:relative;
  width:100%;
  overflow:hidden;
  border-radius:24px;
  background:#000;
}

/* Keep layout stable on slow networks */
.zs-video-shell[data-ratio="home"],
.zs-video-shell[data-ratio="delivery"],
.zs-video-shell[data-ratio="service"]{aspect-ratio: 16/7;}

.zs-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  background:#000;
  pointer-events:none;
  user-select:none;
  -webkit-user-select:none;
}

/* Spinner overlay */
.zs-video-shell .zs-spinner{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.35);
  opacity:0;
  transition:opacity .18s ease;
}

.zs-video-shell.loading .zs-spinner{opacity:1;}

.zs-video-shell .zs-spinner:before{
  content:"";
  width:42px;
  height:42px;
  border-radius:999px;
  border:4px solid rgba(255,255,255,.25);
  border-top-color: rgba(255,255,255,.95);
  animation: zsSpin .9s linear infinite;
}

@keyframes zsSpin{to{transform:rotate(360deg)}}

/* When loaded, hide overlay */
.zs-video-shell.loaded .zs-spinner{opacity:0;}

@media (max-width: 768px){
  .zs-video-shell{border-radius:18px}
}

/* Hard-hide any native controls UI (webkit) */
video.zs-video::-webkit-media-controls,
video.zs-video::-webkit-media-controls-enclosure,
video.zs-video::-webkit-media-controls-panel,
video.zs-video::-webkit-media-controls-overlay-enclosure,
video.zs-video::-webkit-media-controls-play-button,
video.zs-video::-webkit-media-controls-start-playback-button{
  display:none !important;
  -webkit-appearance:none;
}
