*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  overscroll-behavior: none;
  background-color: #fbf9f3;
  color: #111;
  -webkit-text-size-adjust: 100%;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* 상단 로고 (모바일 기본: Safe Area 대응) */
.logo {
  position: fixed;
  top: calc(env(safe-area-inset-top, 0px) + 16px);
  left: calc(env(safe-area-inset-left, 0px) + 20px);
  z-index: 10;
  display: block;
  width: 22px;
  height: 22px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.logo img {
  display: block;
  width: 100%;
  height: 100%;
}

/* 중앙 무대 (전체 화면 수직/수평 정중앙 배치) */
.stage {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100vw;
  height: 100dvh;
  margin: 0;
  padding: 0;
}

/* 영상 + 버튼 묶음 컨테이너 */
.cluster {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
}

/* 9:16 비디오 프레임 (모바일 기준 세로 65dvh 시원하게 확보) */
.film-frame {
  height: 56dvh; /* 상단 로고와 하단 버튼 사이에서 안 겹치는 가장 완벽한 높이 */
  aspect-ratio: 9 / 16;
  width: auto;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
  flex-shrink: 0;
}

.film-frame video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  background: #000;
}

/* 하단 버튼 그룹 */
.actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 16px;
  padding: 0;
  flex-shrink: 0;
}

.store {
  display: block;
  height: 40px;
  line-height: 0;
}

.store img {
  display: block;
  height: 40px;
  width: auto;
}

.instagram {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
}

.instagram img {
  display: block;
  width: 40px;
  height: 40px;
}

/* PC 화면 전용 스타일 (가로 769px 이상) */
@media screen and (min-width: 769px) {
  .logo {
    top: 40px;
    left: 40px;
    width: 24px;
    height: 24px;
  }

  .film-frame {
    height: 70vh;
  }
}