/* 20260917-repair-03: scoped to the landing video; keep the original b2g.css. */
.gb-landing .gb-demo-player-wrap { width: 100%; min-width: 0; overflow: hidden; border-radius: 20px; background: #07090b; border: 1px solid rgba(255,255,255,.12); }
.gb-landing .gb-demo-inline-video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; max-height: none; object-fit: contain; background: #07090b; }
.gb-landing .gb-demo-inline-video:focus-visible { outline: 3px solid #89a9cb; outline-offset: -4px; }
.gb-landing .gb-demo-caption-row { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 12px 24px; margin-top: 16px; }
.gb-landing .gb-demo-caption-row .gb-demo-disclosure { margin: 0; flex: 1 1 280px; }
.gb-landing .gb-demo-direct { display: inline-flex; align-items: center; gap: 7px; color: #c0c7ce; font-size: 12px; line-height: 1.7; flex: 0 0 auto; }
.gb-landing .gb-demo-direct:hover { color: #fff; }
.gb-landing .gb-video-failure { margin-top: 14px; color: #e7c3ac; font-size: 13px; line-height: 1.7; }
.gb-landing .gb-video-failure[hidden] { display: none !important; }
.gb-landing .gb-demo-block { scroll-margin-top: 110px; }
@media (max-width: 767px) {
  .gb-landing .gb-demo-player-wrap { border-radius: 12px; }
  .gb-landing .gb-demo-caption-row { margin-top: 12px; gap: 10px; }
  .gb-landing .gb-demo-direct { font-size: 12px; }
}

.gb-landing .gb-demo-player-wrap { position: relative; }
.gb-landing .gb-demo-inline-play { position: absolute; z-index: 2; top: 50%; left: 50%; transform: translate(-50%,-50%); display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 17px 25px; border: 1px solid rgba(255,255,255,.5); border-radius: 999px; color: #fff; background: rgba(18,23,29,.88); box-shadow: 0 8px 30px rgba(0,0,0,.22); font: inherit; font-size: 15px; font-weight: 600; line-height: 1.5; white-space: nowrap; cursor: pointer; }
.gb-landing .gb-demo-inline-play:hover { background: #354e67; }
.gb-landing .gb-demo-inline-play[hidden] { display: none !important; }
@media(max-width: 767px) { .gb-landing .gb-demo-inline-play { padding: 12px 18px; gap: 8px; font-size: 13px; } }
