/* OK PULSE — 브랜드/레이아웃 오버라이드 (고해상도 워드마크 대응) */

/* 네비 로고: 원본 템플릿엔 크기 제한이 없어 고해상도 PNG가 거대하게 표시됨 → 높이 고정 */
.pa-navbar .navbar-brand { display: inline-flex; align-items: center; }
.pa-navbar .navbar-brand img { height: 60px; width: auto; transition: height .35s ease; }

/* 브랜드 표기: OKPULSE 에서 OK 를 굵게 */
.okb { font-weight: 900; }

/* 모바일 로고 */
.pa-mobile-main-logo img { height: 34px; width: auto; }
.pa-mobile-navbar-brand img { height: 42px; width: auto; }

/* 메뉴: 한글 라벨이 세로로 깨지지 않도록 한 줄 고정 */
.pa-navbar a.nav-link { white-space: nowrap; }

/* 히어로 중앙 로고: 화면에 맞게 적정 크기 */
.row.pa-hero-logo { width: 640px; max-width: 88%; }

/* 모바일에서 히어로 로고 더 축소 */
@media (max-width: 575.98px) {
  .row.pa-hero-logo { width: 320px; }
  .pa-navbar .navbar-brand img { height: 46px; }
}

/* ── 상단 네비: 스크롤 시 투명 스티키 (데스크톱) ── */
@media (min-width: 992px) {
  nav#main-nav.pa-navbar {
    position: fixed;
    top: 0; left: 0; right: 0;
    margin-top: 0;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    padding: 16px 34px;
    z-index: 9000;
    background: transparent;
    -webkit-transition: background-color .35s ease, padding .35s ease, box-shadow .35s ease;
            transition: background-color .35s ease, padding .35s ease, box-shadow .35s ease;
  }
  nav#main-nav.pa-navbar.navbar-dark .navbar-nav { margin-right: 0; }
  /* 스크롤 후: 투명 유지 + 살짝 어두운 글래스 처리로 가독성 확보 */
  nav#main-nav.pa-navbar.okp-nav-stuck {
    padding: 8px 34px;
    background: rgba(5,7,13,.45);
    -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
    box-shadow: 0 6px 24px rgba(0,0,0,.28);
  }
  nav#main-nav.pa-navbar.okp-nav-stuck .navbar-brand img { height: 50px; }
}

/* ── 히어로 풀스크린: 영상이 화면 전체를 꽉 채우도록 ── */
body.pa-homepage { background: #05070d; }
.pa-hero.pa-full-height { height: 100vh; min-height: 100vh; }
.pa-hero .pa-video-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.pa-hero video.pa-video {
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
  object-fit: cover;            /* 좌우 여백 없이 화면 전체 채움(상하 일부 크롭) */
  object-position: center;
  background: #05070d;
}
/* 영상 위 가독성용 살짝 어두운 오버레이 */
.pa-hero .pa-pattern-overlay { background: rgba(5,7,13,.28); }

/* 히어로 중앙 로고: 영상 배경 위에서 또렷하도록 그림자 (투명 PNG → 글자 모양대로) */
.pa-hero-logo img { filter: drop-shadow(0 6px 22px rgba(0,0,0,.55)); }

/* ── STORE: 맨 우측 CTA 버튼(다른 메뉴와 확실히 차별화) ── */
.pa-navbar .nav-item.okp-store { margin-left: 14px; display: flex; align-items: center; }
.pa-navbar .nav-item.okp-store .nav-link {
  background: rgba(228,50,43,.14);
  color: #ff9580 !important;
  border: 1px solid rgba(228,50,43,.5);
  border-radius: 999px;
  padding: 6px 16px !important;
  font-weight: 700;
  font-size: .92em;
  letter-spacing: .03em;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.pa-navbar .nav-item.okp-store .nav-link:hover { background: rgba(228,50,43,.85); border-color: rgba(228,50,43,.85); color: #fff !important; }
.pa-navbar .nav-item.okp-store .nav-link .bag { margin-left: 5px; font-size: .92em; vertical-align: -1px; opacity: .9; }
/* 버튼이므로 다른 메뉴의 밑줄 호버 효과 제거 */
.pa-navbar .nav-item.okp-store .nav-link::before,
.pa-navbar .nav-item.okp-store .nav-link::after { display: none !important; }
/* 모바일 슬라이드 메뉴에서도 버튼 형태 유지 */
@media (max-width: 991.98px) {
  .pa-navbar .nav-item.okp-store { margin: 10px 0 0; }
  .pa-navbar .nav-item.okp-store .nav-link { display: inline-block; }
}

/* ── 히어로 제품 누끼: 공중 플로팅 + 마우스 패럴랙스(자유 운동) ── */
.pa-hero .pa-hero-content { position: relative; z-index: 3; }
.okp-hero-products { position: absolute; inset: 0; z-index: 2; pointer-events: none; overflow: hidden; }
.okp-hero-products .hp {
  position: absolute;
  transform: translate(calc(-50% + var(--px,0px)), calc(-50% + var(--py,0px)));
  will-change: transform;
}
.okp-hero-products .hp img {
  display: block; width: auto; height: clamp(180px, 31vh, 360px);
  filter: drop-shadow(0 20px 34px rgba(0,0,0,.55));
  animation: okp-hpfloat 7s ease-in-out infinite;
}
.okp-hero-products .hp:nth-child(1) img { animation-duration: 7s;   animation-delay: 0s; }
.okp-hero-products .hp:nth-child(2) img { animation-duration: 8.5s; animation-delay: -3s; }
.okp-hero-products .hp:nth-child(3) img { animation-duration: 6.4s; animation-delay: -1.6s; }
@keyframes okp-hpfloat {
  0%,100% { transform: translateY(0) rotate(-1.4deg); }
  50%     { transform: translateY(-22px) rotate(1.4deg); }
}
@media (max-width: 767px) { .okp-hero-products .hp img { height: clamp(120px, 20vh, 200px); } }
@media (prefers-reduced-motion: reduce) { .okp-hero-products .hp img { animation: none; } }
