
/* =========================================================
   Overview Video Bridge (Scoped / UEESHOP Safe / V2.3)
   ========================================================= */
#ft-overview-video-bridge{
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  background:#fff;
}
#ft-overview-video-bridge,
#ft-overview-video-bridge *{ box-sizing:border-box; }

#ft-overview-video-bridge.ft-ovb{
  padding:44px 20px;
}
@media (max-width:768px){
  #ft-overview-video-bridge.ft-ovb{ padding:36px 20px; }
}

#ft-overview-video-bridge .ft-ovb__container{
  max-width:1100px;
  margin:0 auto;
  text-align:center;
}

/* Light guidance text (Type A) */
#ft-overview-video-bridge .ft-ovb__title{
  font-size:clamp(24px, 2.2vw, 28px);
  font-weight:650;
  line-height:1.25;
  letter-spacing:-0.01em;
  color:#1a2530;
  margin:0 auto 18px auto;
  max-width:62ch;
}

/* ===== Video Cover ===== */
#ft-overview-video-bridge .ft-ovb__cover{
  position:relative;
  width:100%;
  border-radius:14px;
  overflow:hidden;
  background:#000;
  cursor:pointer;
  user-select:none;
  outline:none;
  box-shadow:0 14px 40px rgba(0,0,0,.08);
}

/* 16:9 ratio */
#ft-overview-video-bridge .ft-ovb__cover::before{
  content:"";
  display:block;
  padding-top:56.25%;
}

#ft-overview-video-bridge .ft-ovb__img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.01);
}

/* subtle dark wash */
#ft-overview-video-bridge .ft-ovb__cover::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.14);
  pointer-events:none;
}

/* Play button */
#ft-overview-video-bridge .ft-ovb__play{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}
#ft-overview-video-bridge .ft-ovb__play::before{
  content:"";
  width:72px;
  height:72px;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  backdrop-filter:saturate(120%) blur(2px);
  box-shadow:0 10px 26px rgba(0,0,0,.22);
}
#ft-overview-video-bridge .ft-ovb__play::after{
  content:"";
  position:absolute;
  width:0;
  height:0;
  border-left:16px solid #111;
  border-top:10px solid transparent;
  border-bottom:10px solid transparent;
  transform:translateX(3px);
  opacity:.92;
}

/* Optional YouTube link */
#ft-overview-video-bridge .ft-ovb__yt{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:2;
  font-size:13px;
  font-weight:800;
  color:#fff;
  text-decoration:underline;
  text-underline-offset:3px;
  background:rgba(0,0,0,.35);
  padding:6px 10px;
  border-radius:10px;
}

/* Focus */
#ft-overview-video-bridge .ft-ovb__cover:focus-visible{
  outline:2px solid rgba(139,90,43,.55);
  outline-offset:4px;
}

/* Divider */
#ft-overview-video-bridge .ft-ovb__divider{
  margin:26px auto 0;
  width:min(860px, 92%);
  height:1px;
  background:rgba(0,0,0,.08);
}

/* ===== Modal ===== */
#ft-overview-video-bridge .ft-ovb__modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
}
#ft-overview-video-bridge .ft-ovb__modal.is-open{ display:block; }

#ft-overview-video-bridge .ft-ovb__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.62);
}

#ft-overview-video-bridge .ft-ovb__panel{
  position:relative;
  width:min(980px, calc(100vw - 32px));
  margin:6vh auto 0 auto;
  background:#111;
  border-radius:14px;
  overflow:hidden;
}

#ft-overview-video-bridge .ft-ovb__close{
  position:absolute;
  top:10px;
  right:10px;
  width:40px;
  height:40px;
  border-radius:10px;
  border:0;
  cursor:pointer;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:18px;
  line-height:40px;
  z-index:2;
}

/* Player */
#ft-overview-video-bridge .ft-ovb__player{
  position:relative;
  width:100%;
  padding-top:56.25%;
}
#ft-overview-video-bridge .ft-ovb__player iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

/* Modal actions */
#ft-overview-video-bridge .ft-ovb__actions{
  padding:12px 14px 16px;
  text-align:right;
  background:#0f0f0f;
}
#ft-overview-video-bridge .ft-ovb__yt2{
  font-size:14px;
  font-weight:800;
  color:#fff;
  text-decoration:underline;
  text-underline-offset:3px;
  opacity:.9;
}

/* Mobile */
@media (max-width:768px){
  #ft-overview-video-bridge .ft-ovb__title{
    font-size:clamp(22px, 5.2vw, 24px);
    letter-spacing:-0.01em;
  }
  #ft-overview-video-bridge .ft-ovb__yt{
    right:10px;
    bottom:10px;
    font-size:12px;
  }
}
