/* =========================================================
   YEON WEDDING HEADER - 전체 덮어쓰기용
   위치: /web/css/style.css 맨 아래에 그대로 붙여넣기
========================================================= */

.site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 1000 !important;
  width: 100% !important;
  height: 80px !important;
  background: rgba(0, 0, 0, 0.28) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.28) !important;
  backdrop-filter: blur(1px) !important;
  -webkit-backdrop-filter: blur(1px) !important;
  transform: none !important;
  transition: none !important;
}

.site-header.hide {
  transform: none !important;
}

.site-header .inner,
.site-header .header-inner {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 34px 0 39px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 30px !important;
}

/* 로고 */
.site-header .logo {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  flex: 0 0 auto !important;
}

.site-header .logo a {
  position: relative !important;
  display: block !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0.24em !important;
  color: #ffffff !important;
  white-space: nowrap !important;
}

/* 기존 a 안에 텍스트가 있으면 중복 방지용 */
.site-header .logo a {
  font-size: 0 !important;
}

.site-header .logo a::before {
  font-size: 22px !important;
}

/* 우측 메뉴 영역 */
.site-header .right {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex: 1 1 auto !important;
  width: auto !important;
}

.site-header .gnb {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
  color: #ffffff !important;
}

.site-header .gnb a {
  position: relative !important;
  display: block !important;
  height: 61px !important;
  line-height: 61px !important;
  color: #ffffff !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  letter-spacing: -0.04em !important;
  white-space: nowrap !important;
  opacity: 1 !important;
  text-decoration: none !important;
}

.site-header .gnb a::after {
  display: none !important;
}

.site-header .gnb a:hover {
  color: #c7d1ff !important;
}

/* 기존 전화번호/버튼 숨김 */
.site-header .header-right,
.site-header .header-tel,
.site-header .header-cta {
  display: none !important;
}

/* 모바일 메뉴 버튼 숨김 또는 초기화 */
.site-header .menu-btn {
  display: none !important;
}

/* =========================================================
   HEADER 반응형
========================================================= */

@media (max-width: 1280px) {
  .site-header .header-inner {
    padding: 0 24px !important;
  }

  .site-header .gnb {
    gap: 28px !important;
  }

  .site-header .gnb a {
    font-size: 14px !important;
  }

  .site-header .logo a::before {
    font-size: 20px !important;
    letter-spacing: 0.22em !important;
  }
}

@media (max-width: 1024px) {
  .site-header {
    height: 58px !important;
  }

  .site-header .header-inner {
    padding: 0 18px !important;
  }

  .site-header .logo a::before {
    font-size: 18px !important;
    letter-spacing: 0.18em !important;
  }

  .site-header .gnb {
    gap: 18px !important;
  }

  .site-header .gnb a {
    height: 58px !important;
    line-height: 58px !important;
    font-size: 13px !important;
  }
}

@media (max-width: 900px) {
  .site-header {
    height: 56px !important;
    background: rgba(0, 0, 0, 0.46) !important;
  }

  .site-header .header-inner {
    justify-content: center !important;
    padding: 0 16px !important;
  }

  .site-header .logo a::before {
    font-size: 18px !important;
    letter-spacing: 0.2em !important;
  }

  .site-header .right,
  .site-header .gnb {
    display: none !important;
  }
}

/* =========================================================
   YEON WEDDING HERO - 전체 덮어쓰기용
   위치: /web/css/style.css 맨 아래 추가
========================================================= */

.hero {
  position: relative !important;
  width: 100% !important;
  height: 670px !important;
  min-height: 670px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  color: #fff !important;
  background: #111 !important;
}

.hero .hero-video,
.hero-video {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transform: translate(-50%, -50%) !important;
}

/* 어둡고 고급스러운 딤 처리 */
.hero .hero-overlay,
.hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  background: #00000055;
}

.hero .hero-inner,
.hero-inner {
  position: relative !important;
  z-index: 3 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 68px 20px 0 !important;
  text-align: center !important;
}

/* 상단 작은 문구 */
.hero .hero-sub,
.hero-sub {
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-size: 30px !important;
  font-weight: normal !important;
  line-height: 1.35 !important;
  letter-spacing: -0.04em !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35) !important;
}

/* 메인 타이틀 */
.hero h2 {
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  line-height: 1.18 !important;
  font-weight: 500 !important;
  letter-spacing: -0.07em !important;
  text-shadow: 0 3px 12px rgba(0, 0, 0, 0.38) !important;
}

.hero h2 span {
  display: block !important;
  color: #ffffff !important;
  font-size: 55px !important;
  font-weight: 500 !important;
  line-height: 1.22 !important;
}

.hero h2 strong {
  display: block !important;
  margin-top: 5px !important;
  color: #bfc9ff !important;
  font-size: 85px !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.05em !important;
}

/* 날짜 */
.hero .hero-date,
.hero-date {
  margin: 18px 0 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  color: #ffffff !important;
  line-height: 1 !important;
}
.hero .hero-date .left,
.hero .hero-date .right {
  display: flex;
  align-items: flex-start;
}
.hero .hero-date span,
.hero-date span {
  display: inline-block !important;
  color: #ffffff !important;
  font-size: 95px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -0.045em !important;
  text-shadow: 0 3px 12px rgba(0, 0, 0, 0.35) !important;
}

.hero .hero-date i,
.hero-date i {
  display: inline-block !important;
  color: #ffffff !important;
  font-style: normal !important;
  font-size: 42px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  opacity: 0.95 !important;
  transform: translateY(-1px) !important;
}

.hero .hero-date em,
.hero-date em {
  width: 45px !important;
  height: 45px !important;
  margin-left: -5px !important;
  border-radius: 50% !important;
  background: #050505 !important;
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-style: normal !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  transform: translateY(-1px) !important;
}

/* 장소 */
.hero .hero-place,
.hero-place {
  margin: 11px 0 0 !important;
  padding: 0 !important;
  color: #f4f4f4 !important;
  font-size: 30px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.03em !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35) !important;
}

.hero .hero-place::before,
.hero-place::before {
  content: "" !important;
  display: inline-block !important;
  width: 30px !important;
  height: 30px !important;
  margin-right: 1px !important;
  background: #c0ccff !important;
  flex: 0 0 14px !important;
  transform: translateY(4px) !important;

  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 0 12 6.5a2.5 2.5 0 0 0 0 5z'/%3E%3C/svg%3E")
    no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 0 12 6.5a2.5 2.5 0 0 0 0 5z'/%3E%3C/svg%3E")
    no-repeat center / contain;
}
/* INVITATION 버튼 */
.hero .hero-btn,
.hero-btn {
  width: 220px !important;
  height: 50px !important;
  margin: 27px auto 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0px !important;
  background: #c0ccff !important;
  color: #212121 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 28px !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0.02em !important;
  box-shadow: none !important;
}

.hero .hero-btn b,
.hero-btn b {
  display: inline-block !important;
  color: #545b72 !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  transform: translateY(-1px) !important;
}

/* 기존 우측 배지/버튼 숨김 */
.hero-fixed-badges,
.hero .hero-fixed-badges,
.hero-floating,
.quick-form {
  display: none !important;
}

/* =========================================================
   HERO 반응형
========================================================= */

@media (max-width: 1024px) {
  .hero {
    height: 620px !important;
    min-height: 620px !important;
  }

  .hero .hero-inner,
  .hero-inner {
    padding-top: 66px !important;
  }

  .hero .hero-sub,
  .hero-sub {
    font-size: 18px !important;
  }

  .hero h2 span {
    font-size: 36px !important;
  }

  .hero h2 strong {
    font-size: 52px !important;
  }

  .hero .hero-date span,
  .hero-date span {
    font-size: 88px !important;
  }

  .hero .hero-date i,
  .hero-date i {
    font-size: 36px !important;
  }
}

@media (max-width: 768px) {
  .hero {
    height: 580px !important;
    min-height: 580px !important;
  }

  .hero .hero-inner,
  .hero-inner {
    width: 100% !important;
    padding: 60px 18px 0 !important;
  }

  .hero .hero-sub,
  .hero-sub {
    font-size: 15px !important;
    margin-bottom: 8px !important;
  }

  .hero h2 span {
    font-size: 28px !important;
  }

  .hero h2 strong {
    margin-top: 6px !important;
    font-size: 42px !important;
  }

  .hero .hero-date,
  .hero-date {
    gap: 6px !important;
    margin-top: 17px !important;
  }

  .hero .hero-date span,
  .hero-date span {
    font-size: clamp(51px, 16vw, 88px) !important;
  }

  .hero .hero-date i,
  .hero-date i {
    font-size: 30px !important;
  }

  .hero .hero-date em,
  .hero-date em {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    font-size: clamp(12px, 2.5vw, 18px) !important;
    transform: translateY(-2%) !important;
    font-weight: 400 !important;
    padding: 7px;
    margin-left: -4% !important;
  }

  .hero .hero-place,
  .hero-place {
    font-size: 14px !important;
  }

  .hero .hero-btn,
  .hero-btn {
    width: 186px !important;
    height: 38px !important;
    margin-top: 24px !important;
    font-size: 14px !important;
  }
}

@media (max-width: 480px) {
  .hero {
    height: 540px !important;
    min-height: 540px !important;
  }

  .hero .hero-sub,
  .hero-sub {
    font-size: 13px !important;
  }

  .hero h2 span {
    font-size: 23px !important;
  }

  .hero h2 strong {
    font-size: 34px !important;
  }

  .hero .hero-date span,
  .hero-date span {
    /* font-size: 49px !important; */
  }

  .hero .hero-date i,
  .hero-date i {
    font-size: 26px !important;
  }

  .hero .hero-place,
  .hero-place {
    font-size: 24px !important;
  }
}
