.mg-home-video { position: relative; width: 100%; background: #111; }
.mg-home-video > video { display: block; width: 100%; height: auto; aspect-ratio: var(--mg-video-ratio, 16/9); object-fit: contain; }
.mg-home-video .plyr { width: 100%; aspect-ratio: var(--mg-video-ratio, 16/9); }
.mg-home-video .mg-video-link { position: absolute; inset: 0; z-index: 1; }
.mg-home-video .mg-video-start { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; padding: 0; border: 0; border-radius: 50%; color: #333; background: #fff; box-shadow: 0 2px 16px #0006; z-index: 3; cursor: pointer; }
.mg-home-video .mg-video-start[hidden], .mg-home-video .mg-video-message[hidden] { display: none; }
.mg-home-video .mg-video-start:focus-visible { outline: 3px solid #d71920; outline-offset: 5px; }
.mg-home-video .mg-video-start:disabled { cursor: wait; opacity: .7; }
.mg-home-video .mg-video-start[aria-busy="true"] svg { animation: mg-video-pulse 1s ease-in-out infinite alternate; }
.mg-home-video .mg-video-message { position: absolute; bottom: 64px; left: 50%; transform: translateX(-50%); width: max-content; max-width: 90%; margin: 0; padding: 8px 12px; border-radius: 4px; background: #000c; color: #fff; font-size: 14px; line-height: 1.5; text-align: center; z-index: 3; }
@keyframes mg-video-pulse { to { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .mg-home-video .mg-video-start[aria-busy="true"] svg { animation: none; } }
/* Keep touch controls below the fixed mobile header on short video slides. */
@media (max-width: 575.98px) { .mg-home-slideshow > .swiper-button-next, .mg-home-slideshow > .swiper-button-prev { top: max(50%, 145px); width: 44px; height: 44px; margin-top: -22px; } }
