/* Shout In & Out – loading video overlay */
.sl-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #efefef;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.45s ease, visibility 0.45s ease;
}

.sl-overlay.sl-hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.sl-overlay video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #efefef;
}

/* Portrait phones: show the whole logo and fade the video edges into the background */
@media (max-aspect-ratio: 1/1) {
  .sl-overlay video {
    height: auto;
    max-height: 100%;
    object-fit: contain;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 12%, #000 88%, transparent 100%);
            mask-image: linear-gradient(to bottom, transparent 0, #000 12%, #000 88%, transparent 100%);
  }
}

html.sl-lock,
html.sl-lock body {
  overflow: hidden !important;
}

@media (prefers-reduced-motion: reduce) {
  .sl-overlay { transition: none; }
}
