/* Layout principal - Fullscreen Video Section */
.fullscreen-video-section[data-qc="base"] {
  position: relative;
  width: 100%;
  height: calc(var(--qc-vh, 1vh) * 100);
  min-height: 100vh;
  overflow: hidden;
  font-family: var(--qc-font, inherit);
  background: #000;
}

.scroll-container {
  position: relative;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  scroll-snap-type: y mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  overscroll-behavior: none;
}

.scroll-container::-webkit-scrollbar {
  display: none;
}

.qc-slide {
  position: relative;
  width: 100%;
  height: calc(var(--qc-vh, 1vh) * 100);
  scroll-snap-align: start;
  scroll-snap-stop: always;
  overflow: hidden;
}

.qc-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.qc-title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(92vw, 1100px);
  padding: max(10px, env(safe-area-inset-top)) 16px max(10px, env(safe-area-inset-bottom));
  color: #fff;
  font-size: clamp(22px, 7vw, 72px);
  text-align: center;
  z-index: 2;
  pointer-events: none;
  line-height: 1.05;
  white-space: normal;
  word-break: normal;
  overflow-wrap: anywhere;
}

.qc-link {
  position: absolute;
  inset: 0;
}

@media (max-width: 768px) {
  .qc-title {
    font-size: clamp(18px, 8vw, 36px);
    width: min(94vw, 900px);
    padding: max(8px, env(safe-area-inset-top)) 14px max(8px, env(safe-area-inset-bottom));
  }
}