/* RESET */
* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: #000;
  background: #fff;
  line-height: 1.5;
}

/* HERO */
.hero-img { width: 100%; display: block; object-fit: cover; }

/* 모든 제목 중앙 */
h1, h2, h3 { text-align: center; margin: 0 0 16px; }

/* ========= SNS (네임스페이스: #sns) ========= */
#sns { padding: 40px 16px; }
#sns h2 { font-size: 28px; margin-bottom: 28px; }

/* Grid 레이아웃 */
#sns .sns-grid {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  display: grid !important;
  grid-auto-rows: auto;
  justify-items: center;
  align-items: start;
  gap: 26px 32px;
}

/* PC: 5개 가로 한 줄 */
@media (min-width: 769px) {
  #sns .sns-grid {
    grid-template-columns: repeat(5, max-content) !important;
    justify-content: center;
  }
}

/* 모바일: 3개 + 2개 (왼쪽 정렬 자동 배치) */
@media (max-width: 768px) {
  #sns .sns-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    justify-content: center;
  }
}

/* 아이템 */
#sns .sns-grid li a {
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  font-weight: 600;   /* ✅ 글자 굵기 강화 */
}

/* 아이콘 기본 */
#sns .icon {
  width: 75px;
  height: 75px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#sns .icon img { width: 100%; height: 100%; }

/* 네이버 아이콘 */
#sns .icon.naver {
  background: #00dc00;
  color: #fff;
  font-weight: 800;
  font-size: 42px;
  border-radius: 12px;
}
#sns .icon.band {
  background: #1ecd41;
  color: #fff;
  font-weight: 800;
  font-size: 38px;
  border-radius: 50%;
}

/* 모바일 아이콘 축소 */
@media (max-width: 768px) {
  #sns .icon { width: 56px; height: 56px; }
  #sns .icon.naver { font-size: 30px; }
  #sns .icon.band { font-size: 28px; }
}

/* ========= 출판기념회 영상 ========= */
.main-video-section { padding: 40px 16px; }
.main-video-section iframe {
  width: 90%;
  max-width: 900px;
  height: 480px;
  border: 0;
  border-radius: 12px;
  display: block;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .main-video-section iframe { max-width: 100%; height: 260px; }
}

/* ========= 플래그 + 숏츠 ========= */
.content {
  display: flex;
  justify-content: center;
  gap: 40px;
  padding: 40px 16px;
  flex-wrap: wrap;
}

.profile { max-width: 420px; width: 100%; }
.flag-box {
  background: #f7f7f7;
  border: 1px solid #eee;
  border-radius: 12px;
  padding: 22px;
}
.flag-box h3 { margin: 0 0 6px; font-size: 18px; }
.flag-box p { margin: 0; color: #333; }

.videos { max-width: 420px; width: 100%; }
.videos iframe {
  width: 100%;
  max-width: 420px;
  aspect-ratio: 9 / 16;
  border: 0;
  border-radius: 12px;
  display: block;
  margin: 0 auto;
}

/* ========= PC에서 좌우 박스 크기·높이 동일하게 맞추기 ========= */
@media (min-width: 769px) {

  /* 두 박스를 같은 높이로 강제 */
  .content {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 40px;
  }

  /* 폭 동일 */
  .profile,
  .videos {
    width: 100%;
    max-width: 480px !important;
    display: flex;
    flex-direction: column;
  }

  /* 왼쪽 박스를 영상 높이에 맞추기 */
  .flag-box {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  /* 영상 높이 고정 → 전체 틀의 기준 */
  .videos iframe {
    max-width: 480px !important;
    height: 480px !important;
    flex-shrink: 0;
  }
}

/* ========= 푸터 ========= */
footer {
  text-align: center;
  padding: 30px 0 60px;
  color: #555;
}

/* ========= 스크롤 버튼 ========= */
.go-bottom, .go-top {
  position: fixed;
  right: 25px;
  width: 55px; height: 55px;
  background: #222; color: #fff;
  border: 0; border-radius: 50%;
  font-size: 24px;
  display: flex;
  align-items: center; justify-content: center;
  cursor: pointer; z-index: 999;
}
.go-bottom { bottom: 25px; }
.go-top { bottom: 90px; }
