/* ==========================================================================
   hero.css — 히어로 섹션 (메인 페이지)
   전체 너비 배경 이미지 + 어두운 그라디언트 오버레이
   WYD 로고 + 부제목 + D-Day 카운트다운 + CTA 버튼
   ========================================================================== */

/* ------------------------------------------------------------------
   히어로 섹션 컨테이너
   ------------------------------------------------------------------ */
.hero {
  position: relative;
  width: 100%;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
  background-color: var(--wyd-primary-dark);
}

/* 배경 이미지 */
.hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 1;
}

/* 어두운 그라디언트 오버레이 */
.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.4) 0%,
    rgba(29, 72, 161, 0.6) 50%,
    rgba(0, 0, 0, 0.7) 100%
  );
  z-index: 2;
}

/* ------------------------------------------------------------------
   히어로 콘텐츠 (로고 + 텍스트 + 카운트다운 + CTA)
   ------------------------------------------------------------------ */
.hero-content {
  position: relative;
  z-index: 3;
  max-width: 800px;
  padding: var(--wyd-space-xl) var(--wyd-space-md);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--wyd-space-lg);
}

/* ------------------------------------------------------------------
   WYD 로고
   ------------------------------------------------------------------ */
.hero-logo {
  width: auto;
  max-width: 320px;
  height: auto;
  margin-bottom: var(--wyd-space-md);
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.3));
  animation: heroFadeIn 1s ease-out;
}

/* ------------------------------------------------------------------
   히어로 텍스트 영역
   ------------------------------------------------------------------ */
.hero-title {
  font-family: var(--wyd-font-heading);
  font-size: var(--wyd-fs-hero);
  font-weight: var(--wyd-fw-extrabold);
  color: var(--wyd-text-inverse);
  line-height: var(--wyd-lh-tight);
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  animation: heroFadeIn 1s ease-out 0.2s both;
}

/* 골드 강조 텍스트 */
.hero-title .highlight {
  color: var(--wyd-accent);
}

.hero-subtitle {
  font-family: var(--wyd-font-body);
  font-size: var(--wyd-fs-xl);
  font-weight: var(--wyd-fw-regular);
  color: rgba(255, 255, 255, 0.9);
  max-width: 600px;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  animation: heroFadeIn 1s ease-out 0.4s both;
}

/* 히어로 내 부가 설명 */
.hero-description {
  font-size: var(--wyd-fs-md);
  color: rgba(255, 255, 255, 0.75);
  max-width: 500px;
}

/* ------------------------------------------------------------------
   D-Day 카운트다운 박스
   4개 박스: 일(Days) / 시(Hours) / 분(Min) / 초(Sec)
   ------------------------------------------------------------------ */
.hero-countdown {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--wyd-space-md);
  animation: heroFadeIn 1s ease-out 0.6s both;
}

.countdown-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 90px;
  height: 100px;
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--wyd-radius-lg);
  transition: transform var(--wyd-transition-base),
              background var(--wyd-transition-base);
}

.countdown-box:hover {
  transform: translateY(-4px);
  background: rgba(255, 255, 255, 0.18);
}

/* 숫자 */
.countdown-number {
  font-family: var(--wyd-font-heading);
  font-size: var(--wyd-fs-3xl);
  font-weight: var(--wyd-fw-bold);
  color: var(--wyd-text-inverse);
  line-height: 1;
}

/* 라벨 (DAYS, HOURS 등) */
.countdown-label {
  font-size: var(--wyd-fs-xs);
  font-weight: var(--wyd-fw-medium);
  color: rgba(255, 255, 255, 0.7);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-top: var(--wyd-space-xs);
}

/* 카운트다운 구분자 (:) */
.countdown-separator {
  font-size: var(--wyd-fs-2xl);
  font-weight: var(--wyd-fw-bold);
  color: rgba(255, 255, 255, 0.5);
  align-self: center;
  margin-top: -12px;
}

/* ------------------------------------------------------------------
   CTA 버튼 (호버 시 글로우 효과)
   ------------------------------------------------------------------ */
.hero-cta {
  display: inline-flex;
  align-items: center;
  gap: var(--wyd-space-sm);
  padding: var(--wyd-space-md) var(--wyd-space-2xl);
  font-family: var(--wyd-font-heading);
  font-size: var(--wyd-fs-lg);
  font-weight: var(--wyd-fw-semibold);
  color: var(--wyd-primary-dark);
  background-color: var(--wyd-accent);
  border: none;
  border-radius: var(--wyd-radius-full);
  cursor: pointer;
  text-decoration: none;
  transition: all var(--wyd-transition-base);
  box-shadow: 0 4px 16px rgba(255, 215, 0, 0.3);
  animation: heroFadeIn 1s ease-out 0.8s both;
}

.hero-cta:hover {
  background-color: var(--wyd-accent-light);
  color: var(--wyd-primary-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(255, 215, 0, 0.5),
              0 0 60px rgba(255, 215, 0, 0.2);
}

.hero-cta:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(255, 215, 0, 0.3);
}

/* CTA 보조 버튼 (아웃라인) */
.hero-cta-secondary {
  display: inline-flex;
  align-items: center;
  gap: var(--wyd-space-sm);
  padding: var(--wyd-space-md) var(--wyd-space-xl);
  font-family: var(--wyd-font-heading);
  font-size: var(--wyd-fs-base);
  font-weight: var(--wyd-fw-medium);
  color: var(--wyd-text-inverse);
  background: transparent;
  border: 2px solid rgba(255, 255, 255, 0.5);
  border-radius: var(--wyd-radius-full);
  cursor: pointer;
  text-decoration: none;
  transition: all var(--wyd-transition-base);
}

.hero-cta-secondary:hover {
  border-color: var(--wyd-text-inverse);
  background: rgba(255, 255, 255, 0.1);
  color: var(--wyd-text-inverse);
}

/* CTA 버튼 그룹 */
.hero-cta-group {
  display: flex;
  align-items: center;
  gap: var(--wyd-space-md);
  flex-wrap: wrap;
  justify-content: center;
}

/* ------------------------------------------------------------------
   스크롤 다운 인디케이터
   ------------------------------------------------------------------ */
.hero-scroll-indicator {
  position: absolute;
  bottom: var(--wyd-space-xl);
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--wyd-space-sm);
  color: rgba(255, 255, 255, 0.6);
  font-size: var(--wyd-fs-xs);
  text-transform: uppercase;
  letter-spacing: 2px;
  animation: scrollBounce 2s ease-in-out infinite;
}

.hero-scroll-indicator i {
  font-size: var(--wyd-fs-lg);
}

/* ------------------------------------------------------------------
   애니메이션 (Animations)
   ------------------------------------------------------------------ */
@keyframes heroFadeIn {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes scrollBounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(8px); }
}

/* ------------------------------------------------------------------
   반응형: 태블릿 (768px ~ 1023px)
   ------------------------------------------------------------------ */
@media (max-width: 1023.98px) {
  .hero {
    min-height: 80vh;
  }

  .hero-title {
    font-size: var(--wyd-fs-3xl);
  }

  .hero-subtitle {
    font-size: var(--wyd-fs-lg);
  }

  .hero-logo {
    max-width: 240px;
  }

  .countdown-box {
    width: 78px;
    height: 88px;
  }

  .countdown-number {
    font-size: var(--wyd-fs-2xl);
  }
}

/* ------------------------------------------------------------------
   반응형: 모바일 (<768px) — 세로 정렬
   ------------------------------------------------------------------ */
@media (max-width: 767.98px) {
  .hero {
    min-height: 100svh;
    padding-top: var(--wyd-header-height-mobile);
  }

  .hero-content {
    padding: var(--wyd-space-md);
    gap: var(--wyd-space-md);
  }

  .hero-logo {
    max-width: 180px;
    margin-bottom: var(--wyd-space-sm);
  }

  .hero-title {
    font-size: var(--wyd-fs-2xl);
  }

  .hero-subtitle {
    font-size: var(--wyd-fs-base);
  }

  /* 카운트다운 박스 모바일 최적화 */
  .hero-countdown {
    gap: var(--wyd-space-sm);
  }

  .countdown-box {
    width: 64px;
    height: 76px;
  }

  .countdown-number {
    font-size: var(--wyd-fs-xl);
  }

  .countdown-label {
    font-size: 10px;
  }

  .countdown-separator {
    font-size: var(--wyd-fs-lg);
  }

  /* CTA 버튼 모바일 */
  .hero-cta {
    padding: var(--wyd-space-sm) var(--wyd-space-xl);
    font-size: var(--wyd-fs-base);
    width: 100%;
    justify-content: center;
  }

  .hero-cta-secondary {
    width: 100%;
    justify-content: center;
  }

  .hero-cta-group {
    flex-direction: column;
    width: 100%;
  }

  /* 스크롤 인디케이터 숨김 */
  .hero-scroll-indicator {
    display: none;
  }
}
