/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   2026 리디자인 — 전용 스타일
   Toss SSOT: docs/design-md/toss.md · wh-tokens.css
   (wh-tokens.css는 index_2026.php에서 link)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* 기존 헤더 패딩 제거 */
body.index     { padding-top: 0 !important; }  /* style25.css의 13rem 오버라이드 */
.wh-root.index { padding-top: 0 !important; }
body.index,
.wh-root.index,
.r26-root {
  font-family: var(--wh-ff);
  letter-spacing: var(--wh-tracking-body, -0.02em);
}

/* HE-B02: 메인 헤드라인 타이포 (히어로 슬라이드 타이틀은 §hero 아래 별도) */
.r26-main-headline h1 {
  font-size: var(--wh-text-hero, 2rem);
  font-weight: 800;
  line-height: var(--wh-lh-tight, 1.14);
  letter-spacing: var(--wh-tracking-title, -0.03em);
  color: var(--wh-tx, #191f28);
}
.r26-main-headline p {
  font-size: var(--wh-text-lg, 1.0625rem);
  line-height: var(--wh-lh-body, 1.47);
  color: var(--wh-tx2, #4e5968);
}

/* ─── Motion (SSOT: motion.md · wh-tokens) ─── */
@media (prefers-reduced-motion: reduce) {
  .r26-root *, .r26-root *::before, .r26-root *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .r26-section {
    opacity: 1 !important;
    transform: none !important;
  }
  .r26-reviews-section {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* mobile search overlay → mobile-search-overlay.css */
@import url('/assets/css/mobile-search-overlay.css');

/* ─── 지도보기 플로팅 버튼 (critical — @import 실패·WebView 캐시 대비 인라인 동기화) ─── */
#btn-map-float {
  position: fixed;
  bottom: calc(var(--bottom-naverbar-height, 66px) + var(--safe-b, env(safe-area-inset-bottom, 0px)) + 16px);
  left: 50%;
  transform: translateX(-50%) translateY(30px);
  opacity: 0;
  transition: transform 0.38s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.28s ease;
  z-index: 1200;
  pointer-events: none;
  white-space: nowrap;
}
#btn-map-float.visible {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
  pointer-events: auto;
}
#btn-map-float button {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 13px 28px;
  background: var(--wh-brand-tint, #f3eefb);
  color: var(--wh-brand, #6800cd);
  border: 1px solid var(--wh-info-bd, #ddd0f5);
  border-radius: var(--wh-radius-pill, 999px);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  cursor: pointer;
  box-shadow: var(--wh-shadow-hover, 0 4px 12px rgba(0, 0, 0, 0.06));
  transition: transform 0.12s ease, box-shadow 0.12s ease;
  -webkit-appearance: none;
  appearance: none;
}
#btn-map-float button:active {
  transform: scale(0.96);
  box-shadow: var(--wh-shadow, 0 1px 3px rgba(0, 0, 0, 0.04));
}
#btn-map-float .map-btn-spinner {
  display: none;
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.4);
  border-top-color: #fff;
  border-radius: 50%;
  animation: mapBtnSpin 0.7s linear infinite;
}
@keyframes mapBtnSpin {
  to { transform: rotate(360deg); }
}

/* ══════════════════════════════════════════
   메인 페이지 인터랙션 애니메이션
══════════════════════════════════════════ */

/* ─── 히어로 검색바 (2025 search_box 사용으로 불필요) ─── */

/* ─── 빠른 칩 ─── */
.r26-chip {
  transition: transform 0.15s ease, background 0.15s ease, color 0.15s ease !important;
}
.r26-chip:active {
  transform: scale(0.91) !important;
}

/* ─── 버튼 ripple ─── */
@keyframes btnRipple {
  to { transform: scale(4); opacity: 0; }
}
.btn-ripple {
  position: absolute; border-radius: 50%;
  width: 36px; height: 36px;
  margin-top: -18px; margin-left: -18px;
  background: rgba(255,255,255,0.35);
  transform: scale(0);
  animation: btnRipple 0.45s ease-out forwards;
  pointer-events: none;
}
.r26-sticky-action-btn .btn-ripple {
  background: rgba(103,17,117,0.12);
}

/* ─── 하트 버튼 ─── */
@keyframes heartBeat {
  0%   { transform: scale(1); }
  30%  { transform: scale(1.45); }
  60%  { transform: scale(0.88); }
  100% { transform: scale(1); }
}
.r26-heart-btn {
  transition: background 0.15s ease !important;
}
.r26-heart-btn:active { transform: scale(var(--wh-scale-press-deep, 0.92)); }
.r26-heart-btn.heart-animate { animation: heartBeat 350ms var(--wh-ease-spring, cubic-bezier(0.34, 1.28, 0.64, 1)); }

/* ─── 지역·숙소 카드 ─── */
.r26-region-card {
  transition:
    transform var(--wh-motion-base, 260ms) var(--wh-ease-spring, cubic-bezier(0.34, 1.28, 0.64, 1)),
    box-shadow var(--wh-motion-base, 260ms) var(--wh-ease-out-smooth, cubic-bezier(0.16, 1, 0.3, 1));
}
.r26-region-card:active { transform: scale(var(--wh-scale-press, 0.96)) !important; }
.r26-prop-card:active { transform: translateY(0) scale(0.97) !important; }

/* ─── 탭바 탭 ─── */
.r26-tab {
  transition: color 0.2s ease !important;
  position: relative;
}
.r26-tab:active { transform: scale(0.9); }
.r26-tab-dot {
  transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1), opacity 0.2s ease;
  transform: scale(0);
  opacity: 0;
}
.r26-tab.active .r26-tab-dot {
  transform: scale(1);
  opacity: 1;
}

/* ─── 호스트 CTA 버튼 ─── */
.r26-host-cta-btn {
  transition: opacity 0.15s ease, transform 0.12s ease !important;
  -webkit-tap-highlight-color: transparent;
}
.r26-host-cta-btn:hover  { opacity: 0.88; }
.r26-host-cta-btn:active { transform: scale(0.98) !important; }

/* ─── Swiper 더보기 카드 ─── */
.r26-loadmore-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.r26-loadmore-card:hover { transform: scale(1.08); }

:root {
  --wh:       var(--wh-brand, #6800cd);
  --wh-dark:  var(--wh-brand-hover, #5700aa);
  --wh-light: var(--wh-brand-tint, #f3eefb);
  --txt:      var(--wh-tx, #191f28);
  --txt2:     var(--wh-tx2, #4e5968);
  --txt3:     var(--wh-tx3, #8b95a1);
  --bg:       var(--wh-bg, #f2f4f6);
  --card-r:   var(--wh-radius-md, 20px);
  --tab-h:    64px;
}

/* 전체 배경 — overflow-x: clip 으로 Swiper 카드 수평 삐져나감 방지 */
.r26-root { background: var(--bg); padding-bottom: calc(var(--tab-total-h, calc(var(--bottom-naverbar-height, 66px) + env(safe-area-inset-bottom, 0px))) + 12px); overflow-x: clip; }

/* ─── 투명 오버레이 헤더 ─── */
.r26-header {
  position: absolute;
  top: var(--safe-t, env(safe-area-inset-top, 0px));
  left: 0;
  right: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  box-sizing: border-box;
}
.r26-header-logo { position: absolute; left: 50%; transform: translateX(-50%); }
.r26-header-logo img { height: 28px; width: auto; filter: brightness(0) invert(1); }
.r26-header-actions  { display: flex; align-items: center; gap: 8px; }
.r26-header-btn {
  display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 50%;
  background: rgba(255,255,255,0.28);
  border: 1px solid rgba(255,255,255,0.22);
  cursor: pointer; color: #fff;
  overflow: hidden; position: relative;
  transition: transform 0.12s ease;
  -webkit-tap-highlight-color: transparent;
}
.r26-header-btn:active { transform: scale(0.85); }
.r26-header-btn svg { fill: #fff; }

/* ─── 언어 변경 드롭다운 ─────────────────────── */
.r26-lang-dropdown {
  display: none;
  position: fixed; /* body 직하위 고정 — 스태킹 컨텍스트 이슈 방지 */
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.18);
  min-width: 148px;
  z-index: 10000; /* 모든 요소 위 */
  overflow: hidden;
  padding: 4px 0;
}
.r26-lang-dropdown.open { display: block; }
.r26-lang-option {
  display: flex; align-items: center; justify-content: space-between;
  padding: 11px 16px;
  font-size: 14px; font-weight: 500;
  color: #222; text-decoration: none;
  white-space: nowrap;
  transition: background 0.12s;
  gap: 8px;
}
.r26-lang-option:hover { background: #f7f3f9; color: #6800cd; }
.r26-lang-option.active { color: #6800cd; font-weight: 700; }
.r26-lang-option .r26-lang-check {
  display: none;
  width: 8px; height: 8px;
  background: #6800cd;
  border-radius: 50%;
  flex-shrink: 0;
}
.r26-lang-option.active .r26-lang-check { display: block; }

/* ─── 프로필 드롭다운 ────────────────────── */
.r26-profile-dropdown {
  display: none; position: fixed;
  background: #fff; border-radius: 12px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.18);
  min-width: 160px; z-index: 10000;
  overflow: hidden; padding: 4px 0;
}
.r26-profile-dropdown.open { display: block; }
.r26-profile-option {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 16px; font-size: 14px; font-weight: 500;
  color: #222; text-decoration: none; white-space: nowrap;
  transition: background 0.12s; cursor: pointer; border: none;
  background: none; width: 100%; text-align: left;
}
.r26-profile-option:hover { background: #f7f3f9; color: #6800cd; }
.r26-profile-option svg { fill: #6800cd; flex-shrink: 0; }
.r26-profile-option.r26-logout { color: #e11d48; }
.r26-profile-option.r26-logout:hover { background: #fff1f2; }
.r26-profile-option.r26-logout svg { fill: #e11d48; }
.r26-profile-divider { height: 1px; background: #f0f0f0; margin: 4px 0; }

/* ─── 로그인 패널 오버레이 ────────────────── */
.r26-login-overlay {
  display: none; position: fixed; inset: 0;
  background: rgba(0,0,0,0.5); z-index: 10001;
  align-items: flex-end; justify-content: center;
}
.r26-login-overlay.open { display: flex; }
.r26-login-panel {
  background: #fff; border-radius: 20px 20px 0 0;
  width: 100%; max-width: 480px;
  padding: 24px 24px 40px;
  max-height: 90vh; overflow-y: auto;
}
.r26-login-panel-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 20px;
}
.r26-login-panel-title { font-size: 18px; font-weight: 700; color: #111; }
.r26-login-panel-close {
  width: 32px; height: 32px; border-radius: 50%;
  border: none; background: #f3f4f6; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}
.r26-login-panel-close:hover { background: #e5e7eb; }
.r26-login-panel-close svg { fill: #374151; }
.r26-lp-field { margin-bottom: 14px; }
.r26-lp-field label { display: block; font-size: 13px; font-weight: 600; color: #374151; margin-bottom: 6px; }
.r26-lp-field input {
  width: 100%; padding: 12px 14px; border: 1.5px solid #e5e7eb;
  border-radius: 10px; font-size: 15px; outline: none; box-sizing: border-box;
}
.r26-lp-field input:focus { border-color: #6800cd; }
.r26-lp-submit {
  width: 100%; padding: 14px;
  background: var(--wh-brand-tint, #f3eefb);
  color: var(--wh-brand, #6800cd);
  border: 1px solid var(--wh-info-bd, #ddd0f5);
  border-radius: var(--wh-radius-btn, 18px);
  font-size: 15px; font-weight: 700;
  cursor: pointer; margin-top: 4px;
}
.r26-lp-submit:active { opacity: 0.85; }
.r26-lp-links {
  display: flex; gap: 12px; justify-content: center;
  margin-top: 12px; font-size: 13px; flex-wrap: wrap;
}
.r26-lp-links a { color: #0071e3; font-weight: 500; text-decoration: none; }
.r26-lp-divider {
  display: flex; align-items: center; gap: 10px;
  text-align: center; margin: 16px 0; font-size: 13px; color: #9ca3af;
}
.r26-lp-divider::before, .r26-lp-divider::after { content: ''; flex: 1; height: 1px; background: #e5e7eb; }
.r26-social-login-btn {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  width: 100%; padding: 12px 16px; margin-bottom: 10px;
  border: 1.5px solid #e5e7eb; border-radius: 12px;
  font-size: 14px; font-weight: 600; cursor: pointer; background: #fff;
  text-decoration: none; color: #222; box-sizing: border-box;
}
.r26-social-login-btn:hover { background: #fafafa; }
.r26-social-login-btn img { width: 20px; height: 20px; }
.r26-social-kakao { background: #FEE500; border-color: #FEE500; color: #191919; }
.r26-social-kakao:hover { background: #f5da00; }
.r26-social-naver { background: #03C75A; border-color: #03C75A; color: #fff; }
.r26-social-naver:hover { background: #02b350; }
.r26-social-google { border-color: #e5e7eb; }
.r26-social-facebook { background: #1877F2; border-color: #1877F2; color: #fff; }
.r26-social-facebook:hover { background: #1567d3; }
.r26-social-facebook img { filter: brightness(0) invert(1); }
.r26-social-line { background: #06C755; border-color: #06C755; color: #fff; }
.r26-social-line:hover { background: #05b04c; }
.r26-social-apple { background: #000; border-color: #000; color: #fff; }
.r26-social-apple:hover { background: #222; }
.r26-social-apple img { filter: brightness(0) invert(1); }
@media (min-width: 768px) {
  .r26-login-overlay { align-items: center; }
  .r26-login-panel { border-radius: 20px; max-width: 420px; }
  /* 태블릿 이상에서 방패 아이콘 크기 확대 */
  .r26-prop-img-wrap div[style*="top:8px"][style*="left:8px"] {
    width: 32px !important;
    height: 35px !important;
  }
  .r26-prop-img-wrap div[style*="top:8px"][style*="left:8px"] svg {
    width: 32px !important;
    height: 35px !important;
  }
}

/* ─── 히어로 ─────────────────────────────── */
.r26-hero {
  position: relative;
  height: 520px;
  margin-bottom: 0;
  z-index: 10; /* 드롭다운이 아래 콘텐츠 위에 표시되도록 */
}
@media (max-width: 480px) { .r26-hero { height: 420px; } }

/* 배경 슬라이드 */
.r26-hero-slides {
  position: absolute; inset: 0;
  border-radius: 20px 20px 32px 32px;
  overflow: hidden;
}
.r26-hero-slide  {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  opacity: 0;
  transform: scale(1.06);
  transition:
    opacity var(--wh-motion-hero, 900ms) var(--wh-ease-in-out-smooth, cubic-bezier(0.45, 0, 0.55, 1)),
    transform calc(var(--wh-motion-hero, 900ms) * 1.15) var(--wh-ease-out-smooth, cubic-bezier(0.16, 1, 0.3, 1));
}
.r26-hero-slide.active {
  opacity: 1;
  transform: scale(1);
}

/* 히어로 스크림 — 전면 rgba (하단만 ::after 쓰면 상단 텍스트 대비 부족·Android 반쪽 렌더) */
.r26-hero-overlay {
  position: absolute;
  inset: 0;
  border-radius: 20px 20px 32px 32px;
  pointer-events: none;
  background: rgba(0, 0, 0, 0.42);
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.r26-hero-overlay::after {
  display: none;
}

/* 히어로 콘텐츠 — 검색창 위에 위치 */
.r26-hero-content {
  position: absolute; bottom: 160px; left: 0; right: 0;
  padding: 0 20px;
  z-index: 2;
}
@media (max-width: 480px) {
  .r26-hero-content { bottom: 90px; }
}
.r26-hero-title {
  color: #fff;
  font-size: 26px; font-weight: 800;
  line-height: 1.25; letter-spacing: -0.03em;
  margin: 0 0 4px;
  text-shadow: 0 2px 8px rgba(0,0,0,0.3);
  word-break: keep-all;
  transition:
    opacity var(--wh-motion-slow, 380ms) var(--wh-ease-out-smooth, cubic-bezier(0.16, 1, 0.3, 1)),
    transform var(--wh-motion-slow, 380ms) var(--wh-ease-spring-soft, cubic-bezier(0.22, 1.08, 0.36, 1));
}
@media (max-width: 400px) { .r26-hero-title { font-size: 22px; } }
.r26-hero-sub {
  color: rgba(255,255,255,0.82);
  font-size: 14px; font-weight: 500; margin: 0;
  transition: opacity var(--wh-motion-slow, 380ms) var(--wh-ease-out-smooth, cubic-bezier(0.16, 1, 0.3, 1));
}

/* ─── 히어로 내부 검색박스 ─── */
/* style25.css의 #search { position: relative } 오버라이드 필수 */
.r26-hero .r26-search-wrap {
  position: absolute !important;
  bottom: 20px !important;
  left: 20px;
  right: 20px;
  top: auto !important;
  z-index: 100;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  max-width: none !important;
  width: auto !important;
}
@media (max-width: 480px) {
  .r26-hero .r26-search-wrap { bottom: 16px !important; left: 16px; right: 16px; }
}
/* 모바일 검색 바 — 히어로 위에서 강조 */
.r26-search-wrap .mobile_search_bar {
  margin: 0;
  box-shadow: 0 8px 24px rgba(0,0,0,0.14);
  width: 100%;
  box-sizing: border-box;
  justify-content: space-between;
  gap: 12px;
  border-radius: var(--wh-radius-pill, 999px);
  border: 1px solid var(--wh-bd, rgba(0, 0, 0, 0.06));
  transition:
    transform var(--wh-motion-base, 260ms) var(--wh-ease-spring, cubic-bezier(0.34, 1.28, 0.64, 1)),
    box-shadow var(--wh-motion-base, 260ms) var(--wh-ease-out-smooth, cubic-bezier(0.16, 1, 0.3, 1));
  -webkit-tap-highlight-color: transparent;
}
.r26-search-wrap .mobile_search_bar:active {
  transform: scale(var(--wh-scale-press, 0.96));
  box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}
.r26-search-wrap .mobile_search_bar .text_group {
  flex: 1 1 auto;
  min-width: 0;
}
.r26-rolling-placeholder {
  display: inline-block;
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.r26-search-wrap .mobile_search_bar .search_btn_round {
  margin-left: auto !important;
  margin-right: 0 !important;
  flex: 0 0 auto;
}
/* PC 검색박스 — 히어로 위에서 그림자 강화 */
.r26-search-wrap .search_box_normal {
  box-shadow: 0 8px 26px rgba(0,0,0,0.14) !important;
}
.r26-search-wrap .search_box_container {
  display: block !important;
  position: relative !important;
  min-height: 120px !important;
  width: 100% !important;
}
.r26-search-wrap .search_box_new {
  background: #fff !important;
  border: 1px solid rgba(0,0,0,0.12) !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  width: 100% !important;
}
.r26-search-wrap .search_box_normal {
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
}
.r26-search-wrap .search_row {
  display: flex !important;
  align-items: center !important;
}
.r26-search-wrap .top_row {
  min-height: 58px !important;
  padding: 10px 15px !important;
  border-bottom: 1px solid #f0f0f0 !important;
}
.r26-search-wrap .bottom_row {
  min-height: 56px !important;
  padding: 10px 15px !important;
  gap: 10px !important;
}
.r26-search-wrap .search_col {
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
}
.r26-search-wrap .date_col,
.r26-search-wrap .guest_col {
  flex: 1 1 0 !important;
}
.r26-search-wrap .guest_col {
  justify-content: space-between !important;
}
.r26-search-wrap .icon-wrapper-small {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  margin-right: 10px !important;
  color: #4b5563 !important;
  flex: 0 0 auto !important;
}
.r26-search-wrap .text-wrapper {
  display: flex !important;
  align-items: center !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.r26-search-wrap .text-wrapper span,
.r26-search-wrap .search_input {
  display: block !important;
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.r26-search-wrap #filter-date,
.r26-search-wrap #filter-date-sticky,
.r26-search-wrap #filter-guest,
.r26-search-wrap #filter-guest-sticky {
  font-weight: 500 !important;
}
.r26-search-wrap .divider_vertical {
  width: 1px !important;
  height: 28px !important;
  background: #e5e7eb !important;
  flex: 0 0 auto !important;
}
.r26-search-wrap .divider_horizontal {
  display: none !important;
}
.r26-search-wrap .search_btn_round {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: var(--wh, #6800cd) !important;
  color: #fff !important;
  flex: 0 0 auto !important;
}
/* 드롭다운 컨테이너 위치 기준 */
#search_dropdown_container {
  position: relative;
}
.search_dropdown {
  position: absolute;
  top: 8px;
  left: 0;
  right: 0;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.12);
  z-index: 200;
}
#dropdown_guest {
  left: auto;
  right: 0;
  width: 300px;
}
/* 스티키 바 안의 드롭다운 — 바 바로 아래에 표시 */
#sticky_dropdown_anchor {
  position: relative;
  max-width: 720px;
  margin: 0 auto;
}
#sticky_dropdown_anchor .search_dropdown {
  top: 4px;
}
#sticky_dropdown_anchor #dropdown_guest {
  right: 16px;
}

/* 슬라이드 도트 — 비활성화 */
.r26-hero-dots { display: none; }

/* ─── 빠른 선택 칩 ─────────────────────────── */
.r26-chips-wrap {
  display: flex; gap: 7px;
  overflow-x: auto; scrollbar-width: none;
  padding: 14px 20px 8px;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  cursor: grab;
  user-select: none;
}
.r26-chips-wrap.is-dragging { cursor: grabbing; }
.r26-chips-wrap::-webkit-scrollbar { display: none; }
.r26-chip {
  flex-shrink: 0;
  display: flex; align-items: center; gap: 5px;
  padding: 8px 15px;
  border-radius: var(--wh-radius-sm, 16px);
  border: 1px solid var(--wh-bd, rgba(0,0,0,0.06));
  background: var(--wh-card, #fff);
  font-size: 13px; font-weight: 500; color: var(--txt);
  cursor: pointer;
  transition:
    border-color var(--wh-motion-fast, 180ms) var(--wh-ease-out-smooth, cubic-bezier(0.16, 1, 0.3, 1)),
    background var(--wh-motion-fast, 180ms) var(--wh-ease-out-smooth, cubic-bezier(0.16, 1, 0.3, 1)),
    color var(--wh-motion-fast, 180ms) var(--wh-ease-out-smooth, cubic-bezier(0.16, 1, 0.3, 1)),
    transform var(--wh-motion-base, 260ms) var(--wh-ease-spring, cubic-bezier(0.34, 1.28, 0.64, 1));
  white-space: nowrap;
  box-shadow: var(--wh-shadow, 0 1px 3px rgba(0,0,0,0.04));
  -webkit-tap-highlight-color: transparent;
}
.r26-chip:active { transform: scale(0.94); }
.r26-chip:hover  { border-color: var(--wh-brand, #6800cd); color: var(--wh-brand, #6800cd); background: var(--wh-light); }
.r26-chip.active { border-color: var(--wh-brand, #6800cd); color: var(--wh-brand, #6800cd); background: var(--wh-light); font-weight: 600; }
.r26-chip-icon {
  width: 16px; height: 16px;
  flex-shrink: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  color: var(--txt3, #8b95a1);
}

/* ─── 섹션 공통 ──────────────────────────────── */
.r26-section {
  padding: 24px 0 0;
  opacity: 0;
  transform: translateY(16px);
  transition:
    opacity var(--wh-motion-enter, 520ms) var(--wh-ease-out-smooth, cubic-bezier(0.16, 1, 0.3, 1)),
    transform var(--wh-motion-enter, 520ms) var(--wh-ease-spring-soft, cubic-bezier(0.22, 1.08, 0.36, 1));
}
.r26-section.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.r26-section:nth-of-type(1).is-visible { transition-delay: 0ms; }
.r26-section:nth-of-type(2).is-visible { transition-delay: 60ms; }
.r26-section:nth-of-type(3).is-visible { transition-delay: 120ms; }
.r26-section:nth-of-type(n+4).is-visible { transition-delay: 120ms; }
.r26-section-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 20px; margin-bottom: 14px;
}
.r26-section-title {
  font-size: 20px; font-weight: 800;
  color: var(--txt); letter-spacing: -0.03em; margin: 0;
  word-break: keep-all;
}
.r26-section-more {
  font-size: 13px; color: var(--wh-link, #0071e3); font-weight: 600;
  text-decoration: none; display: flex; align-items: center; gap: 2px;
}
.r26-section-more:hover,
.r26-section-more:focus,
.r26-section-more:active {
  text-decoration: none;
  color: var(--wh-link, #0071e3);
  opacity: 0.88;
}
.r26-section-more .material-symbols-outlined { text-decoration: none; }

/* ─── 지역 카드 (직사각형) ─────────────────── */
.r26-regions-swiper                  { padding: 0 20px 4px !important; overflow: visible !important; }
.r26-regions-swiper .swiper-wrapper  { overflow: visible; }
.r26-regions-swiper .swiper-slide    { width: auto !important; }
.r26-region-card {
  width: 130px !important;
  border-radius: var(--wh-radius-md, 20px);
  overflow: hidden;
  position: relative;
  cursor: pointer;
  aspect-ratio: 3/4;
  flex-shrink: 0;
  box-shadow: var(--wh-shadow, 0 1px 3px rgba(0,0,0,0.04));
  border: 1px solid var(--wh-bd, rgba(0,0,0,0.06));
}
.r26-region-img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.r26-region-card:hover .r26-region-img { transform: scale(1.06); }
.r26-region-overlay {
  position: absolute; inset: 0;
  pointer-events: none;
}
.r26-region-overlay::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 42%;
  background: rgba(0, 0, 0, 0.52);
}
.r26-region-name { color: #fff; font-size: 15px; font-weight: 800; display: block; }
.r26-region-info {
  position: absolute; bottom: 12px; left: 12px; right: 12px;
  z-index: 1;
}
.r26-region-count { color: rgba(255,255,255,0.75); font-size: 11px; margin-top: 2px; display: block; }

/* ─── 숙소 카드 ──────────────────────────────── */
.r26-cards-swiper                 { padding: 0 20px 4px !important; overflow: visible !important; }
.r26-cards-swiper .swiper-wrapper { overflow: visible; }
.r26-prop-slide   { width: 200px !important; }  /* width: auto 제거 — prop-slide의 200px 유지 */

.r26-prop-card {
  border-radius: var(--card-r);
  overflow: visible;
  background: var(--wh-card, #fff);
  border: 1px solid var(--wh-bd, rgba(0,0,0,0.06));
  box-shadow: var(--wh-shadow, 0 1px 3px rgba(0,0,0,0.04));
  transition:
    transform var(--wh-motion-base, 260ms) var(--wh-ease-spring, cubic-bezier(0.34, 1.28, 0.64, 1)),
    box-shadow var(--wh-motion-base, 260ms) var(--wh-ease-out-smooth, cubic-bezier(0.16, 1, 0.3, 1));
  -webkit-tap-highlight-color: transparent;
}
.r26-prop-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--wh-shadow-hover, 0 4px 12px rgba(0,0,0,0.06));
}
.r26-prop-card:active {
  transform: scale(0.98);
  box-shadow: var(--wh-shadow, 0 1px 3px rgba(0,0,0,0.04));
}

.r26-prop-img-wrap {
  position: relative;
  aspect-ratio: 4/3;
  overflow: visible;
}
.r26-prop-img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 600ms var(--wh-ease-out-smooth, cubic-bezier(0.16, 1, 0.3, 1));
  border-radius: var(--wh-radius-md, 20px) var(--wh-radius-md, 20px) 0 0;
  display: block;
}
.r26-prop-card:hover .r26-prop-img { transform: scale(1.05); }

/* 숙소 카드 뱃지 */
.r26-badges {
  position: absolute; bottom: 8px; left: 8px; right: 8px;
  display: flex; flex-direction: row; align-items: flex-end; flex-wrap: wrap; gap: 4px;
  z-index: 2;
}
.r26-badge {
  display: inline-block;
  font-size: 10px; font-weight: 700;
  padding: 3px 8px; border-radius: var(--wh-radius-pill, 999px);
  line-height: 1.25; white-space: nowrap;
  background: rgba(255,255,255,0.94);
  color: var(--wh-brand, #6800cd);
  border: 1px solid rgba(104,0,205,0.18);
}
.r26-badge-superhost,
.r26-badge-popular,
.r26-badge-new,
.r26-badge-instant,
.r26-badge-selfcheckin {
  background: rgba(255,255,255,0.94);
  color: var(--wh-brand, #6800cd);
  border: 1px solid rgba(104,0,205,0.18);
}

/* 하트 버튼 */
.r26-heart-btn {
  position: absolute; top: 10px; right: 10px;
  width: 32px; height: 32px;
  background: none; border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  padding: 0;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.4));
}
.r26-heart-btn .heart-line { display: block; fill: rgba(255,255,255,0.9); transition: all 0.2s; }
.r26-heart-btn .heart-fill { display: none; }
.r26-heart-btn.liked .heart-line { display: none; }
.r26-heart-btn.liked .heart-fill { display: block; fill: #ef4444; filter: drop-shadow(0 1px 2px rgba(239,68,68,0.4)); }

/* 카드 정보 */
.r26-prop-info { padding: 12px 14px 14px; }
.r26-prop-title {
  font-size: var(--card-fs-title); font-weight: 700; color: var(--txt);
  margin: 0 0 6px;
  display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden;
  letter-spacing: -0.02em;
}
.r26-prop-tags {
  display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 8px;
}
.r26-prop-tag {
  font-size: var(--card-fs-tag); color: var(--txt2);
  background: var(--wh-surface, #f4f5f7); border-radius: var(--wh-radius-xs, 12px);
  padding: 2px 6px;
}
.r26-prop-meta {
  display: flex; align-items: center; justify-content: space-between;
}
.r26-prop-loc { font-size: var(--card-fs-loc); color: var(--txt2); }
.r26-prop-rating {
  display: flex; align-items: center; gap: 3px;
  font-size: var(--card-fs-rating); font-weight: 600; color: var(--txt);
}
.r26-prop-rating svg { fill: #f59e0b; width: 13px; height: 13px; }
.r26-prop-price-wrap { margin-top: 8px; }
.r26-prop-price {
  font-size: var(--card-fs-price); font-weight: 700; color: var(--txt);
}
.r26-prop-price .unit { font-size: var(--card-fs-unit); font-weight: 400; color: var(--txt2); }

/* ─── 날짜 뱃지 (부산 주말) ─────────────────── */
.r26-date-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(0, 0, 0, 0.08);
  color: rgba(60, 60, 67, 0.72);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: -0.1px;
}
.r26-date-badge svg {
  color: var(--wh-brand, #6800cd);
  flex-shrink: 0;
}

/* ─── 마퀴 애니메이션 ───────────────────────────── */
@keyframes review-marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.animate-marquee {
  animation: review-marquee 80s linear infinite;
  width: max-content;
  display: flex;
  gap: 24px;
}
.animate-marquee:hover { animation-play-state: paused; }

/* ─── 실시간 후기 ─────────────────────────────── */
.r26-reviews-section {
  padding: 32px 0 36px;
  overflow: hidden;
  background: var(--wh-bg, #f2f4f6);
  position: relative;
  cursor: grab;
  user-select: none;
  touch-action: pan-y;
  -webkit-user-select: none;
  opacity: 0;
  transform: translateY(16px);
  transition:
    opacity var(--wh-motion-enter, 520ms) var(--wh-ease-out-smooth, cubic-bezier(0.16, 1, 0.3, 1)),
    transform var(--wh-motion-enter, 520ms) var(--wh-ease-spring-soft, cubic-bezier(0.22, 1.08, 0.36, 1));
}
.r26-reviews-section.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.r26-reviews-section:active { cursor: grabbing; }
.r26-reviews-head {
  display: flex; align-items: center; justify-content: center;
  margin: 0 0 32px;
  padding: 0 20px;
}
.r26-reviews-title {
  font-size: 20px; font-weight: 800;
  color: var(--txt); margin: 0; text-align: center;
  letter-spacing: -0.03em;
}
.r26-reviews-count {
  font-size: 12px; color: var(--txt3); font-weight: 500;
}
.r26-reviews-track {
  overflow: hidden;
}

/* ─── 후기 카드 ─── */
.r26-review-card {
  width: 240px; flex-shrink: 0;
  background: var(--wh-card, #fff);
  border-radius: var(--wh-radius-md, 20px);
  padding: 16px;
  margin: 0 6px;
  border: 1px solid var(--wh-bd, rgba(0,0,0,0.06));
  box-shadow: var(--wh-shadow, 0 1px 3px rgba(0,0,0,0.04));
  display: inline-flex; flex-direction: column;
  vertical-align: top;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  text-align: center;
}
.r26-review-card:hover {
  border-color: rgba(0,0,0,0.1);
  box-shadow: var(--wh-shadow-hover, 0 4px 12px rgba(0,0,0,0.06));
}
.r26-review-header {
  display: flex; align-items: center; gap: 8px; margin-bottom: 10px;
  justify-content: center; /* 헤더 중앙정렬 */
}
.r26-review-avatar {
  width: 32px; height: 32px; border-radius: 50%;
  object-fit: cover; flex-shrink: 0;
  border: 1px solid #f0f0f0;
}
.r26-review-meta { flex: 1; min-width: 0; text-align: left; }
.r26-review-reviewer {
  font-size: 12px; font-weight: 600; color: #222;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.r26-review-date {
  font-size: 11px; color: #aaa; margin-top: 1px;
}
.r26-review-score {
  display: flex; align-items: center; gap: 3px; flex-shrink: 0;
}
.r26-review-score-num {
  font-size: 13px; font-weight: 600; color: #222;
}
.r26-review-text {
  color: #333; font-size: 13px; line-height: 1.6;
  margin: 0 0 10px;
  display: -webkit-box;
  -webkit-line-clamp: 3; -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
  text-align: center;
}
.r26-review-photos {
  display: flex;
  gap: 4px;
  justify-content: center;
  margin-bottom: 10px;
}
.r26-review-photo-wrap {
  position: relative;
  flex: 1;
  min-width: 0;
  max-width: 72px;
}
.r26-review-photo {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 8px;
  object-fit: cover;
  display: block;
  border: 1px solid #ececec;
}
.r26-review-photo-more {
  position: absolute;
  inset: 0;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.r26-review-room-row {
  display: flex; align-items: center; gap: 8px;
  padding-top: 10px;
  border-top: 1px solid #f0f0f0;
  justify-content: center; /* 숙소 정보 중앙정렬 */
}
.r26-review-thumb {
  width: 28px; height: 28px; border-radius: 6px;
  object-fit: cover; flex-shrink: 0;
  border: 1px solid #f0f0f0;
}
.r26-review-room {
  font-size: 11px; color: #999;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  flex: 1;
  text-align: left;
}

@media (min-width: 768px) and (pointer: fine) {
  .r26-reviews-section {
    touch-action: pan-x pan-y;
  }

  .r26-reviews-section.is-dragging {
    cursor: grabbing;
    user-select: none;
  }

  .r26-reviews-track {
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .r26-reviews-track::-webkit-scrollbar {
    display: none;
  }

  .animate-marquee {
    animation: none !important;
    transform: none !important;
    padding: 0 20px;
    gap: 12px;
  }
}

@media (max-width: 767px), (pointer: coarse) {
  .r26-reviews-section {
    cursor: auto;
    touch-action: pan-y;
  }

  .r26-reviews-section::before,
  .r26-reviews-section::after {
    display: none;
  }

  .r26-reviews-track {
    overflow-x: auto;
    overflow-y: hidden;
    touch-action: pan-x pan-y;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .r26-reviews-track::-webkit-scrollbar {
    display: none;
  }

  .animate-marquee {
    animation: none !important;
    transform: none !important;
    padding: 0 16px;
    gap: 12px;
  }

  .animate-marquee > a {
    scroll-snap-align: start;
  }

  .r26-review-card {
    width: min(78vw, 280px);
    margin: 0;
  }
}

/* ─── 호스트 CTA 배너 ──────────────────────────────── */
.r26-host-cta-wrap {
  margin: 28px 20px 0;
  max-width: calc(100% - 40px);
  box-sizing: border-box;
}
.r26-host-cta-swiper {
  overflow: hidden;
  border-radius: 12px;
  opacity: 1 !important;
  transform: none !important;
  touch-action: pan-y pinch-zoom;
}
.r26-host-cta-swiper.is-swiping a.r26-host-cta-banner {
  pointer-events: none;
}
.r26-host-cta-swiper .swiper-wrapper {
  align-items: stretch;
  min-height: 156px;
}
.r26-host-cta-swiper .swiper-slide {
  height: auto;
  width: 100% !important;
  user-select: none;
}
.r26-host-cta-banner {
  display: block;
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  transition: box-shadow 0.2s ease, filter 0.2s ease;
}
.r26-host-cta-banner:hover {
  box-shadow: rgba(0, 0, 0, 0.16) 0 8px 26px 0;
  filter: brightness(0.99);
}
.r26-host-cta-banner:active {
  filter: brightness(0.96);
  transition-duration: 0.1s;
}

/* 템플릿형 배너 (좌 텍스트 / 우 이미지 — 레퍼런스 split) */
.r26-host-cta-banner.r26-host-cta-template {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch;
  position: relative;
  min-height: 156px;
  width: 100%;
  overflow: hidden;
  background: var(--cta-bg, #F5F0EB);
  color: var(--cta-text, #111827);
  text-decoration: none !important;
  -webkit-tap-highlight-color: transparent;
}
.r26-host-cta-banner.r26-host-cta-template:visited,
.r26-host-cta-banner.r26-host-cta-template:hover,
.r26-host-cta-banner.r26-host-cta-template:active,
.r26-host-cta-banner.r26-host-cta-template:focus,
.r26-host-cta-banner.r26-host-cta-template * {
  color: var(--cta-text, #111827);
  text-decoration: none !important;
}
.r26-host-cta-panel {
  position: relative;
  z-index: 2;
  flex: 0 0 66.667%;
  max-width: 66.667%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 22px 28px 22px 26px;
  box-sizing: border-box;
  min-width: 0;
  background: var(--cta-bg, #F5F0EB);
  clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%);
}
.r26-host-cta-template .r26-host-cta-kicker {
  display: block;
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--cta-text, #111827);
  opacity: 0.84;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.r26-host-cta-template .r26-host-cta-title {
  margin: 0;
  font-size: clamp(20px, 2.1vw, 28px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--cta-text, #111827);
  word-break: keep-all;
}
.r26-host-cta-template .r26-host-cta-more {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin-top: 12px;
  font-size: 13px;
  font-weight: 700;
  color: var(--cta-text, #111827);
  opacity: 0.9;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.r26-host-cta-visual {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 58%;
  z-index: 1;
  overflow: hidden;
  background: var(--cta-bg, #F5F0EB);
}
.r26-host-cta-visual::before {
  display: none;
}
.r26-host-cta-visual img {
  width: 100%;
  height: 100%;
  min-height: 0 !important;
  object-fit: cover;
  object-position: center right;
  display: block;
  transform-origin: center center;
}
.r26-host-cta-date {
  position: absolute;
  right: 16px;
  bottom: 14px;
  z-index: 2;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: #111827;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 4px 14px rgba(17, 24, 39, 0.12);
}

/* 합성 이미지 전체 배너 (마이그레이션/K-POPSTAY) */
.r26-host-cta-full {
  display: block;
  background: transparent;
}
.r26-host-cta-full picture {
  display: block;
  width: 100%;
}
.r26-host-cta-full .r26-host-cta-bg {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  border-radius: 12px;
}
@media (max-width: 767px) {
  .r26-host-cta-full .r26-host-cta-bg {
    border-radius: 22px;
  }
}

/* 레거시 합성 이미지 배너 */
.r26-host-cta-bg {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}
.r26-host-cta-copy {
  display: none;
}
.r26-host-cta-pagination {
  position: static;
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 8px;
  min-height: 10px;
}
.r26-host-cta-pagination .swiper-pagination-bullet {
  width: 7px;
  height: 7px;
  margin: 0 !important;
  background: rgba(17, 24, 39, 0.35) !important;
  opacity: 1 !important;
}
.r26-host-cta-pagination .swiper-pagination-bullet-active {
  width: 20px;
  border-radius: 999px;
  background: #6800cd !important;
  box-shadow: 0 0 0 2px rgba(103, 17, 117, 0.14);
}
@media (max-width: 767px) {
  .r26-host-cta-wrap {
    margin: 20px 16px 0;
    max-width: calc(100% - 32px);
  }
  .r26-host-cta-swiper {
    border-radius: 16px;
  }
  .r26-host-cta-swiper .swiper-wrapper {
    min-height: 118px;
  }
  .r26-host-cta-banner {
    border-radius: 16px;
  }
  .r26-host-cta-banner.r26-host-cta-template {
    min-height: 118px;
  }
  .r26-host-cta-panel {
    flex: 0 0 66%;
    max-width: 66%;
    padding: 12px 16px 12px 14px;
    clip-path: polygon(0 0, 100% 0, 86% 100%, 0 100%);
  }
  .r26-host-cta-visual {
    left: 52%;
  }
  .r26-host-cta-template .r26-host-cta-kicker {
    font-size: 10px;
    margin-bottom: 4px;
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  .r26-host-cta-template .r26-host-cta-title {
    font-size: 17px;
    line-height: 1.18;
  }
  .r26-host-cta-template .r26-host-cta-more {
    margin-top: 7px;
    font-size: 11px;
  }
  .r26-host-cta-legacy {
    position: relative;
    min-height: 164px;
    background: #161018;
    box-shadow: 0 16px 34px rgba(20, 14, 24, 0.16);
  }
  .r26-host-cta-legacy .r26-host-cta-bg {
    position: absolute;
    inset: 0;
    height: 100%;
    object-fit: cover;
    opacity: 0.74;
    transform: scale(1.04);
  }
  .r26-host-cta-legacy::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(22, 16, 24, 0.55);
    pointer-events: none;
  }
  .r26-host-cta-legacy .r26-host-cta-copy {
    position: relative;
    z-index: 1;
    display: flex;
    min-height: 164px;
    flex-direction: column;
    justify-content: flex-end;
    padding: 22px 20px 20px;
    box-sizing: border-box;
    color: #fff;
  }
  .r26-host-cta-legacy .r26-host-cta-kicker {
    width: fit-content;
    margin-bottom: 8px;
    padding: 5px 9px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    color: rgba(255, 255, 255, 0.88);
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
  }
  .r26-host-cta-legacy .r26-host-cta-title {
    max-width: 78%;
    margin: 0;
    color: #fff;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.22;
    word-break: keep-all;
  }
  .r26-host-cta-legacy .r26-host-cta-more {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 12px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 13px;
    font-weight: 700;
  }
}



/* ─── 스크롤 진입 애니메이션 ──────────────────── */
[data-r26-anim] {
  opacity: 0;
  transition-property: opacity, transform;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-duration: 0.65s;
}
[data-r26-anim="fade-up"]   { transform: translateY(36px); }
[data-r26-anim="fade-in"]   { /* opacity만 */ }
[data-r26-anim="scale-in"]  { transform: scale(0.92); }
[data-r26-anim="fade-left"] { transform: translateX(-28px); }
[data-r26-anim].r26-visible {
  opacity: 1;
  transform: none;
}
/* 접근성: 모션 감소 설정 */
@media (prefers-reduced-motion: reduce) {
  [data-r26-anim] { opacity: 1; transform: none; transition: none; }
}

/* 카드 더보기 */
.r26-loadmore-slide {
  width: 120px !important;
  display: flex; align-items: center; justify-content: center;
}
.r26-loadmore-card {
  width: 72px; height: 72px; border-radius: 50%;
  background: #fff; border: 2px solid #e5e7eb;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 4px; cursor: pointer; transition: all 0.2s;
}
.r26-loadmore-card:hover { border-color: var(--wh); color: var(--wh); }
.r26-loadmore-card span { font-size: 11px; font-weight: 600; color: var(--txt2); }

/* ─── 스티키 바 안의 search_box 오버라이드 ─── */
/* style25.css의 position:absolute, opacity crossfade 무력화 */
.r26-sticky-bar .r26-sticky-searchbox {
  position: relative !important;
  flex: 1 !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: none !important;
  transition: none !important;
  top: auto !important; left: auto !important;
  min-height: unset !important;
}

/* ─── 스티키 헤더 ─── */
.r26-sticky-bar {
  position: fixed;
  top: 0;
  padding-top: var(--safe-t, env(safe-area-inset-top, 0px));
  box-sizing: border-box;
  left: 0; right: 0;
  z-index: 990;
  overflow: visible;
  background: var(--wh-card, #fff);
  box-shadow: var(--wh-shadow, 0 1px 3px rgba(0,0,0,0.04));
  border-bottom: 1px solid var(--wh-bd, rgba(0,0,0,0.06));
  opacity: 0;
  pointer-events: none;
  will-change: opacity;
  /* transition 없음 — JS가 rAF로 직접 제어 */
}
/* 히어로 검색창 크로스페이드용 */
.r26-search-wrap {
  will-change: opacity;
}
.r26-sticky-inner {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 16px;
  max-width: 720px; margin: 0 auto;
}
.r26-sticky-logo { display: flex; align-items: center; flex-shrink: 0; }
.r26-sticky-logo img { height: 22px; width: auto; }
.r26-sticky-search {
  flex: 1; min-width: 0;
  display: flex; align-items: center; gap: 10px;
  padding: 8px 8px 8px 14px;
  border: 1.5px solid #e5e7eb; border-radius: 50px;
  cursor: pointer; background: #fff;
  transition: box-shadow 0.18s ease, border-color 0.18s ease, transform 0.12s ease;
}
.r26-sticky-search:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.12); border-color: #d1d5db; }
.r26-sticky-search:active { transform: scale(0.98); }
.r26-sticky-search > svg { flex-shrink: 0; fill: #374151; }
.r26-sticky-labels { flex: 1; min-width: 0; }
.r26-sticky-main {
  display: block; font-size: 13px; font-weight: 600; color: #111827;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.3;
}
.r26-sticky-sub {
  display: block; font-size: 11px; color: #6b7280;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.4;
}
.r26-sticky-btn {
  width: 30px; height: 30px; border-radius: 50%;
  background: var(--wh, #6800cd);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.r26-sticky-actions { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
.r26-sticky-action-btn {
  display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 50%;
  background: none; border: none; cursor: pointer;
  overflow: hidden; position: relative;
  transition: background 0.15s ease, transform 0.12s ease;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
.r26-sticky-action-btn:hover { background: #f3f4f6; }
.r26-sticky-action-btn:active { transform: scale(0.85); }
.r26-sticky-action-btn svg { fill: #374151; }

/* ─── 모바일 스티키 검색 pill ─── */
.r26-sticky-search-mobile {
  display: none; /* 기본: 숨김 (데스크톱) */
}
/* ────────────────────────────────────────────────────────
   반응형 공백 구간 수정
   ① 히어로 569~620px: search_box_container 숨김 + mobile pill 강제 표시
   ② 스티키 481~568px: style25.css가 .search_box_new 숨기므로 mobile pill 확장
   ──────────────────────────────────────────────────────── */
@media (max-width: 620px) {
  /* 히어로 내 PC 검색 컨테이너 숨김 (style25.css 620px 규칙 보강) */
  .r26-search-wrap .search_box_container {
    display: none !important;
  }
  /* 히어로 내 모바일 pill 강제 표시 (style25.css는 568px 이하에서만 표시 → 공백 발생) */
  .r26-search-wrap .mobile_search_bar {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid var(--wh-bd, rgba(0,0,0,0.06));
    border-radius: var(--wh-radius-pill, 999px) !important;
    padding: 10px 20px;
    box-shadow: var(--wh-shadow-hover, 0 4px 12px rgba(0,0,0,0.06));
    cursor: pointer;
    margin: 0;
  }
  .r26-search-wrap .mobile_search_bar .text_group {
    flex: 1 1 auto !important;
    min-width: 0;
  }
  .r26-search-wrap .mobile_search_bar .search_btn_round {
    margin-left: auto !important;
    margin-right: 0 !important;
  }
  /* 스티키: 569~620px 구간도 모바일 pill (기존 568px만 적용 시 공백) */
  .r26-sticky-bar #r26HamburgerBtnSticky,
  .r26-sticky-bar .r26-sticky-logo,
  .r26-sticky-bar .r26-sticky-searchbox {
    display: none !important;
  }
  .r26-sticky-search-mobile {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    background: var(--wh-card, #fff);
    border: 1px solid var(--wh-bd, rgba(0,0,0,0.06));
    border-radius: var(--wh-radius-sm, 16px);
    cursor: pointer;
    box-shadow: var(--wh-shadow, 0 1px 3px rgba(0,0,0,0.04));
    min-width: 0;
  }
  .r26-sticky-search-mobile span {
    font-size: 13px;
    font-weight: 500;
    color: var(--txt3, #8b95a1);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .r26-sticky-inner {
    padding: 8px 12px;
  }
}
/* 스티키 바: 481~568px 공백 해소 — 기존 480px → 568px 로 확장 */
@media (max-width: 568px) {
  /* 데스크톱 요소 숨김 (style25.css가 .search_box_new 숨기는 구간과 일치) */
  .r26-sticky-bar #r26HamburgerBtnSticky,
  .r26-sticky-bar .r26-sticky-logo,
  .r26-sticky-bar .r26-sticky-searchbox {
    display: none !important;
  }
  /* 모바일 pill 표시 */
  .r26-sticky-search-mobile {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    background: var(--wh-card, #fff);
    border: 1px solid var(--wh-bd, rgba(0,0,0,0.06));
    border-radius: var(--wh-radius-sm, 16px);
    cursor: pointer;
    box-shadow: var(--wh-shadow, 0 1px 3px rgba(0,0,0,0.04));
    min-width: 0;
  }
  .r26-sticky-search-mobile span {
    font-size: 13px;
    font-weight: 500;
    color: var(--txt3, #8b95a1);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .r26-sticky-inner {
    padding: 8px 12px;
  }
}

/* ─── 사이드 메뉴 — Toss surface ─── */
.r26-side-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.42);
  z-index: 9998;
  opacity: 0; visibility: hidden;
}
.r26-side-overlay.ready { transition: opacity 0.28s ease, visibility 0.28s ease; }
.r26-side-overlay.on { opacity: 1; visibility: visible; }

#r26SideMenu {
  position: fixed; top: 0; left: 0; right: auto;
  margin: 0;
  width: 292px; height: 100vh;
  background: var(--wh-bg, #f2f4f6);
  z-index: 9999;
  box-shadow: var(--wh-shadow-hover, 0 4px 12px rgba(0,0,0,0.06));
  border-radius: 0 var(--wh-radius-lg, 24px) var(--wh-radius-lg, 24px) 0;
  display: flex; flex-direction: column;
  overflow: hidden;
  transform: translateX(-100%);
  visibility: hidden;
  transition: transform 0.32s cubic-bezier(0.4,0,0.2,1), visibility 0s linear 0.32s;
}
#r26SideMenu.on {
  transform: translateX(0); visibility: visible;
  transition: transform 0.32s cubic-bezier(0.4,0,0.2,1), visibility 0s linear 0s;
}

/* 닫기 버튼 바 */
.r26-side-topbar {
  display: flex; justify-content: flex-end;
  padding: 12px 12px 0;
  flex-shrink: 0;
}
.r26-side-close {
  display: flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--wh-surface, #f4f5f7); border: none; cursor: pointer;
  transition: background 0.12s ease;
  -webkit-tap-highlight-color: transparent;
}
.r26-side-close:hover { background: var(--wh-bd, rgba(0,0,0,0.06)); }
.r26-side-close svg { fill: var(--txt2, #4e5968); }

/* 프로필 섹션 */
.r26-side-profile {
  display: flex; align-items: center; gap: 13px;
  padding: 12px 20px 20px;
  text-decoration: none;
  flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
}
.r26-side-avatar {
  width: 52px; height: 52px; border-radius: 50%;
  background: var(--wh-brand, #6800cd);
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; font-weight: 700; color: #fff;
  flex-shrink: 0; letter-spacing: 0;
}
.r26-side-avatar-guest { background: var(--wh-surface, #f4f5f7); }
.r26-side-avatar-guest svg { fill: var(--txt3, #8b95a1); }
.r26-side-avatar-photo {
  background: var(--wh-card, #fff);
  border: 2px solid var(--wh-brand, #6800cd);
  box-sizing: border-box;
}
.r26-side-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; display: block; }
.r26-side-user-info { flex: 1; min-width: 0; }
.r26-side-username {
  font-size: 17px; font-weight: 600; color: #111;
  letter-spacing: 0;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  margin-bottom: 2px;
}
.r26-side-profile:hover { text-decoration: none; }
.r26-side-user-sub {
  display: inline-flex; align-items: center; gap: 1px;
  font-size: 13px; color: var(--wh); font-weight: 500;
  padding: 3px 8px 3px 10px; border-radius: 20px;
  transition: background 0.18s ease;
  background: rgba(103, 17, 117, 0.1);
}
.r26-side-user-sub svg { fill: var(--wh); transition: transform 0.18s ease; }
.r26-side-profile:hover .r26-side-user-sub {

}
.r26-side-profile:hover .r26-side-user-sub svg { transform: translateX(2px); }
.r26-side-login-cta {
  display: inline-flex; align-items: center;
  padding: 9px 20px; border-radius: 22px;
  background: var(--wh); color: #fff;
  font-size: 14px; font-weight: 600;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

/* 스크롤 콘텐츠 */
.r26-side-content {
  flex: 1; overflow-y: auto;
  padding: 4px 0 12px;
  -webkit-overflow-scrolling: touch;
}
.r26-side-content::-webkit-scrollbar { display: none; }

/* 그룹 레이블 */
.r26-side-group-label {
  font-size: 12px; font-weight: 600; color: #8e8e93;
  padding: 14px 20px 5px;
  margin: 0;
}

/* 그룹 카드 (iOS grouped table) */
.r26-side-group {
  background: #fff;
  border-radius: 12px;
  margin: 0 12px 2px;
  overflow: hidden;
}

/* 메뉴 아이템 */
.r26-side-item {
  display: flex; align-items: center; justify-content: space-between;
  padding: 13px 16px;
  color: #111; text-decoration: none;
  font-size: 15px; font-weight: 400;
  border-bottom: 0.5px solid rgba(60,60,67,0.12);
  transition: background 0.1s ease;
  -webkit-tap-highlight-color: transparent;
}
.r26-side-item:last-child { border-bottom: none; }
.r26-side-item:hover { background: #f9f9fb; }
.r26-side-item:active { background: #ebebf0; }
.r26-side-chevron { fill: #c7c7cc; flex-shrink: 0; }

/* 하단 */
.r26-side-footer {
  padding: 14px 20px 24px;
  border-top: 0.5px solid rgba(60,60,67,0.18);
  flex-shrink: 0;
}
.r26-side-footer a { font-size: 12px; color: #8e8e93; text-decoration: none; }
.r26-side-footer a:hover { color: #636366; }

/* ─── 위홈킵 프로모 배너 ──────────────────────────────── */
.r26-keep-promo {
  margin: 28px 20px 12px;
}
.r26-keep-promo-below-search.r26-keep-promo {
  margin: 0 0 12px;
  padding: 0;
}
.r26-promo-mo-swiper {
  width: 100%;
  overflow: hidden;
  border-radius: 0;
}
.r26-promo-mo-swiper .swiper-slide {
  height: auto !important;
  width: 100% !important;
}
.r26-promo-mo-swiper .swiper-slide a {
  display: block;
  line-height: 0;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
.r26-promo-mo-swiper .r26-promo-banner-img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
html.index-force-desktop-ui .r26-promo-mo-swiper {
  display: none !important;
}
.r26-keep-banner-link {
  display: block; 
  width: 100%; 
  border-radius: 12px; 
  overflow: hidden; 
  box-shadow: rgba(0, 0, 0, 0.08) 0 4px 20px; 
  transition: opacity 0.15s ease, box-shadow 0.2s ease;
  position: relative;
  z-index: 5;
  cursor: pointer !important;
  pointer-events: auto !important;
}
.r26-keep-banner-link img {
  pointer-events: none !important; 
}
@media (hover: hover) {
  .r26-keep-banner-link:hover {
    transform: translateY(-2px); 
    box-shadow: rgba(0, 0, 0, 0.12) 0 8px 30px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }
}
.r26-keep-banner-link:active {
  opacity: 0.82; /* 터치 시 레이아웃 이동 없이 안전하게 투명도 피드백만 제공하여 터치 씹힘 원천 해결 */
}
.r26-keep-promo-inner,
.r26-keep-promo-inner:hover,
.r26-keep-promo-inner:active,
.r26-keep-promo-inner:focus {
  text-decoration: none !important; /* 마우스 오버 시 밑줄 방지 */
}
.r26-keep-promo-inner * {
  text-decoration: none !important; /* 자식 텍스트도 밑줄 방지 */
}
.r26-keep-promo-inner {
  position: relative;
  display: flex; 
  align-items: center; 
  justify-content: space-between; 
  gap: 16px;
  background: #faf5ff; /* 연한 파스텔 라벤더 보라색 */
  border: 1px solid rgba(103, 17, 117, 0.08); /* 미세한 연보라 테두리 */
  border-radius: 24px; 
  padding: 24px 22px;
  color: #111;
  overflow: hidden; /* 돌출 제거로 전체 디자인과 정합 */
  transition: transform 0.25s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.25s ease, background 0.22s ease;
  box-shadow: 0 4px 16px rgba(103,17,117,0.02), 0 2px 6px rgba(0,0,0,0.03); /* 아주 얇고 은은한 플랫 그림자 */
}
.r26-keep-promo-inner::before {
  display: none; /* 이전 그라데이션 광원 테두리 제거 */
}
.r26-keep-promo-inner:hover { 
  transform: translateY(-2px); 
  background: #f7effe; /* 마우스오버 시 약간의 딥 파스텔 효과 */
  box-shadow: 0 8px 24px rgba(103,17,117,0.06), 0 4px 10px rgba(0,0,0,0.04);
}
.r26-keep-promo-inner:active {
  transform: translateY(-0.5px);
  background: #f3e5fd;
  transition-duration: 0.1s;
}
.r26-keep-promo-text { 
  position: relative;
  z-index: 2;
  display: flex; 
  flex-direction: column; 
  gap: 6px; 
  flex: 1; 
  min-width: 0; 
  max-width: calc(100% - 130px); /* 우측 이미지 110px 및 여백 확보하여 겹침 원천 방지 */
}
.r26-keep-promo-eyebrow { 
  font-size: 10px; 
  font-weight: 800; 
  letter-spacing: 1.2px; 
  color: var(--wh, #6800cd); /* 시그니처 딥 바이올렛 */
  text-transform: uppercase; 
}
.r26-keep-promo-title { 
  font-size: 17px; 
  font-weight: 800; 
  line-height: 1.3; 
  letter-spacing: -0.4px; 
  color: #3b0764; /* 가독성 높은 다크 퍼플 */
}
.r26-keep-promo-desc { 
  font-size: 12.5px; 
  color: #6b21a8; /* 눈이 편안한 미디엄 퍼플 */
  line-height: 1.45; 
}
.r26-keep-promo-art {
  position: absolute;
  right: 18px;
  bottom: 0px;
  width: 110px;
  height: 100%;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  pointer-events: none;
}
.r26-keep-promo-art img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: translateY(12px) scale(0.95); /* 돌출 없이 배너 안착 */
  filter: drop-shadow(0 4px 10px rgba(103,17,117,0.06));
  transition: transform 0.25s cubic-bezier(0.25, 1, 0.5, 1);
}
.r26-keep-promo-inner:hover .r26-keep-promo-art img {
  transform: translateY(8px) scale(0.98);
}
.r26-keep-promo-cta {
  position: relative;
  z-index: 2;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
  align-self: flex-start;
  margin-top: 6px;
  background: var(--wh-brand-tint, #f3eefb);
  color: var(--wh-brand, #6800cd) !important;
  border: 1px solid var(--wh-info-bd, #ddd0f5);
  border-radius: var(--wh-radius-btn, 18px);
  padding: 7px 14px;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  transition: background 0.22s ease, border-color 0.22s ease;
  box-shadow: none;
}
.r26-keep-promo-inner:hover .r26-keep-promo-cta {
  background: var(--wh-brand-soft, rgba(104,0,205,0.12));
  color: var(--wh-brand, #6800cd) !important;
  border-color: var(--wh-brand, #6800cd);
  box-shadow: none;
}

@media (min-width: 768px) {
  .r26-keep-promo { 
    margin: 28px 20px 12px; 
    max-width: none; 
  }
  .r26-keep-promo-inner { 
    padding: 28px 36px; 
    border-radius: 28px;
  }
  .r26-keep-promo-text {
    max-width: calc(100% - 170px); /* 태블릿/PC 우측 이미지 140px 공간 확실히 확보 */
    gap: 8px;
  }
  .r26-keep-promo-eyebrow {
    font-size: 11px;
    letter-spacing: 1.5px;
  }
  .r26-keep-promo-title { 
    font-size: 21px; 
  }
  .r26-keep-promo-desc { 
    font-size: 14.5px; 
  }
  .r26-keep-promo-art {
    right: 36px;
    width: 140px;
  }
  .r26-keep-promo-art img {
    transform: translateY(16px) scale(0.95);
    filter: drop-shadow(0 6px 14px rgba(103,17,117,0.06));
  }
  .r26-keep-promo-inner:hover .r26-keep-promo-art img {
    transform: translateY(12px) scale(0.98);
  }
  .r26-keep-promo-cta { 
    font-size: 13.5px; 
    padding: 9px 18px; 
    margin-top: 10px;
  }
}

@media (max-width: 480px) {
  .r26-keep-promo {
    margin: 22px 14px 10px;
  }
  .r26-keep-promo-inner {
    padding: 20px 18px;
    border-radius: 20px;
  }
  .r26-keep-promo-text {
    max-width: calc(100% - 110px); /* 모바일 소형 이미지 90px 공간 확실히 확보 */
  }
  .r26-keep-promo-title {
    font-size: 15.5px;
  }
  .r26-keep-promo-desc {
    font-size: 11.5px;
  }
  .r26-keep-promo-art {
    right: 12px;
    width: 90px;
  }
  .r26-keep-promo-art img {
    transform: translateY(10px) scale(0.95);
  }
  .r26-keep-promo-inner:hover .r26-keep-promo-art img {
    transform: translateY(8px) scale(0.98);
  }
  .r26-keep-promo-cta {
    font-size: 11px;
    padding: 6px 11px;
    margin-top: 4px;
  }
}

@font-face {
  font-family: "GangwonEduPower";
  src: url("/assets/fonts/gangwon/gangwon-edu-power.ttf") format("truetype"),
       url("/assets/fonts/gangwon/gangwon-edu-power.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* 공유숙박 임시허가 안내 팝업 */
.r26-admin-popup {
  position: fixed;
  inset: 0;
  z-index: 30000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: max(18px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom));
  background: rgba(17, 17, 20, 0.46);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.r26-admin-popup.on { display: flex; }
.r26-admin-popup-panel {
  position: relative;
  width: min(88vw, 390px);
  max-height: calc(100dvh - 36px);
  border-radius: 22px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: #fff;
  box-shadow: 0 28px 80px rgba(0,0,0,0.26);
  transform: translateY(14px) scale(0.98);
  opacity: 0;
  transition: transform 0.24s cubic-bezier(0.22,1,0.36,1), opacity 0.18s ease;
}
.r26-admin-popup.on .r26-admin-popup-panel {
  transform: translateY(0) scale(1);
  opacity: 1;
}
.r26-admin-popup-art {
  position: relative;
  display: block;
  flex: 1 1 auto;
  min-height: 320px;
  overflow-y: auto;
  overflow-x: hidden;
  background: #1284e6;
  color: #fff;
  text-decoration: none;
}
.r26-admin-popup-art:hover,
.r26-admin-popup-art:focus,
.r26-admin-popup-art:active {
  color: #fff;
  text-decoration: none;
}
.r26-admin-popup-art *,
.r26-admin-popup-art:hover *,
.r26-admin-popup-art:focus *,
.r26-admin-popup-art:active * {
  text-decoration: none;
}
.r26-admin-popup-art img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  opacity: 1;
  filter: none;
  transform: none;
}
.r26-admin-popup-copy {
  position: relative;
  z-index: 1;
  height: auto;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 112px 39px 34px;
  color: #fff;
  font-family: var(--wh-ff);
  text-shadow: 0 3px 12px rgba(0, 67, 135, 0.16);
  box-sizing: border-box;
}
.r26-admin-popup-kicker {
  margin-bottom: 15px;
  color: #fff;
  font-size: 21px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}
.r26-admin-popup-title {
  margin: 0;
  color: #fff;
  font-size: 44px;
  line-height: 1.02;
  font-weight: 700;
  font-family: "GangwonEduPower", var(--wh-ff);
  letter-spacing: 0;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.r26-admin-popup-title .r26-admin-popup-title-accent {
  color: #ffd22e;
}
.r26-admin-popup-desc {
  margin: 23px 0 0;
  max-width: 330px;
  color: #fff;
  font-size: 17px;
  line-height: 1.42;
  font-weight: 700;
  letter-spacing: 0;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.r26-admin-popup-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  min-width: 194px;
  height: 46px;
  margin-top: 28px;
  padding: 0 24px;
  border-radius: 999px;
  background: #fff;
  color: #1284e6;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0;
  text-shadow: none;
}
.r26-admin-popup-badge {
  position: absolute;
  left: 16px;
  top: 16px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(255,255,255,0.84);
  color: #6800cd;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
}
.r26-admin-popup-actions {
  display: flex;
  align-items: center;
  justify-content: stretch;
  gap: 0;
  border-top: 1px solid rgba(60,60,67,0.12);
  background: #fff;
}
.r26-admin-popup-actions button {
  flex: 1;
  height: 58px;
  border: 0;
  background: #fff;
  color: #1d1d1f;
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0;
  cursor: pointer;
}
.r26-admin-popup-actions button + button {
  border-left: 1px solid rgba(60,60,67,0.12);
}
.r26-admin-popup-secondary,
.r26-admin-popup-primary {
  border-radius: 0;
}
body.r26-admin-popup-open #ch-plugin,
body.r26-admin-popup-open .ch-plugin,
body.r26-admin-popup-open iframe[id^="ch-plugin"],
body.r26-admin-popup-open iframe[src*="channel.io"],
body.r26-admin-popup-open iframe[src*="channel-talk"] {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
@media (max-width: 480px) {
  .r26-admin-popup {
    align-items: center;
    padding-left: 0;
    padding-right: 0;
  }
  .r26-admin-popup-panel {
    width: min(86vw, 336px);
    border-radius: 20px;
  }
  .r26-admin-popup-copy {
    padding: 94px 31px 28px;
  }
  .r26-admin-popup-kicker {
    margin-bottom: 12px;
    font-size: 19px;
  }
  .r26-admin-popup-title {
    font-size: 37px;
    line-height: 1.02;
  }
  .r26-admin-popup-desc {
    margin-top: 18px;
    font-size: 15.5px;
    line-height: 1.42;
  }
  .r26-admin-popup-cta {
    min-width: 156px;
    height: 40px;
    margin-top: 20px;
    font-size: 16px;
  }
  .r26-admin-popup-actions button {
    height: 50px;
    font-size: 15px;
  }
}
@media (max-width: 380px) {
  .r26-admin-popup-panel {
    width: min(86vw, 312px);
  }
  .r26-admin-popup-title {
    font-size: 34px;
  }
  .r26-admin-popup-copy {
    padding-left: 27px;
    padding-right: 27px;
  }
}
@media (max-height: 740px) and (max-width: 480px) {
  .r26-admin-popup-panel {
    width: min(82vw, 306px);
  }
  .r26-admin-popup-art {
    min-height: 240px;
  }
  .r26-admin-popup-copy {
    padding-top: 78px;
    padding-bottom: 22px;
  }
  .r26-admin-popup-title {
    font-size: 30px;
    line-height: 1.04;
  }
  .r26-admin-popup-kicker {
    font-size: 16px;
  }
  .r26-admin-popup-desc {
    margin-top: 14px;
    font-size: 13px;
    line-height: 1.34;
  }
  .r26-admin-popup-cta {
    min-width: 132px;
    height: 34px;
    margin-top: 14px;
    font-size: 13.5px;
  }
  .r26-admin-popup-actions button {
    height: 46px;
    font-size: 14px;
  }
}
.r26-admin-popup[data-lang="cn_s"] .r26-admin-popup-title,
.r26-admin-popup[data-lang="cn_t"] .r26-admin-popup-title,
.r26-admin-popup[data-lang="jp"] .r26-admin-popup-title {
  font-family: var(--wh-ff);
  font-size: 38px;
  line-height: 1.12;
  font-weight: 800;
}
@media (max-width: 480px) {
  .r26-admin-popup[data-lang="cn_s"] .r26-admin-popup-title,
  .r26-admin-popup[data-lang="cn_t"] .r26-admin-popup-title,
  .r26-admin-popup[data-lang="jp"] .r26-admin-popup-title {
    font-size: 31px;
    line-height: 1.14;
  }
  .r26-admin-popup[data-lang="cn_s"] .r26-admin-popup-desc,
  .r26-admin-popup[data-lang="cn_t"] .r26-admin-popup-desc,
  .r26-admin-popup[data-lang="jp"] .r26-admin-popup-desc {
    font-size: 14px;
    line-height: 1.42;
  }
}
@media (max-height: 740px) and (max-width: 480px) {
  .r26-admin-popup[data-lang="cn_s"] .r26-admin-popup-title,
  .r26-admin-popup[data-lang="cn_t"] .r26-admin-popup-title,
  .r26-admin-popup[data-lang="jp"] .r26-admin-popup-title {
    font-size: 25px;
  }
}
/* ── 공지 팝업 내부 ── */
.r26-notice-popup-inner {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 24px 24px 16px;
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
}
.r26-notice-popup-header { margin-bottom: 16px; }
.r26-notice-popup-title {
  font-size: 20px;
  font-weight: 800;
  color: #1d1d1f;
  line-height: 1.3;
  letter-spacing: -0.3px;
  word-break: keep-all;
  margin: 0 0 6px;
}
.r26-notice-popup-date {
  font-size: 12px;
  color: #8e8e93;
  margin: 0;
}
.r26-notice-popup-body {
  font-size: 15px;
  color: #3a3a3c;
  line-height: 1.7;
  letter-spacing: -0.2px;
  word-break: keep-all;
}
.r26-notice-popup-body img { max-width: 100%; border-radius: 8px; margin: 6px 0; display: block; }
.r26-notice-popup-body ul, .r26-notice-popup-body ol { padding-left: 20px; margin: 6px 0; }
.r26-notice-popup-body a { color: var(--wh-link, #0071e3); text-decoration: none; }
.r26-notice-popup-link {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  margin-top: 18px;
  border-radius: var(--wh-radius-btn, 18px);
  background: var(--wh-brand, #6800cd);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: -0.02em;
}
.r26-notice-popup-link:hover { color: #fff; text-decoration: none; opacity: .9; }

/* 검색 모달: 최근/인기 검색어 pill 칩 */
.wh_search_suggestions {
  margin-top: 4px;
}
.wh_search_suggestions.is-hidden {
  display: none !important;
}
.search_section_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0 0 8px 4px;
}
.wh_search_suggestions h6,
.search_section_header h6 {
  font-size: 11px;
  font-weight: 700;
  color: #aaa;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  margin: 0;
}
.btn_clear_recent {
  border: none;
  background: none;
  padding: 0;
  font-size: 12px;
  color: #6e6e73;
  cursor: pointer;
  font-family: inherit;
}
.btn_clear_recent:hover {
  color: var(--txt);
}
.popular_searches_section {
  margin-top: 16px;
}
.recent_searches_section {
  margin-top: 8px;
}
.search_chip_list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
#dropdown_region button.search_chip,
.mobile_search_overlay button.search_chip,
.search_chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  margin: 0;
  padding: 8px 14px;
  border: 1px solid var(--wh-bd, rgba(0,0,0,0.06));
  border-radius: var(--wh-radius-pill, 999px);
  background: var(--wh-surface, #f4f5f7);
  color: var(--txt);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  cursor: pointer;
  font-family: inherit;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
#dropdown_region button.search_chip:hover,
.mobile_search_overlay button.search_chip:hover,
.search_chip:hover {
  background: #ebebf0;
  border-color: #d2d2d7;
}
.search_chip:focus-visible {
  outline: 2px solid #0071e3;
  outline-offset: 2px;
}
.search_chip .chip_remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border: none;
  padding: 0;
  background: transparent;
  color: #8e8e93;
  cursor: pointer;
  flex-shrink: 0;
}
.search_chip .chip_remove:hover {
  color: #1d1d1f;
}
.mobile_search_overlay .wh_search_suggestions h6,
.mobile_search_overlay .search_section_header h6 {
  font-size: 14px !important;
  color: #1d1d1f !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.mobile_search_overlay .popular_searches_section {
  margin-top: 14px !important;
}
.mobile_search_overlay .search_chip {
  font-size: 15px !important;
  padding: 9px 16px !important;
}
.mobile_search_overlay .btn_clear_recent {
  font-size: 13px !important;
}

/* 프로모션 배너 스와이퍼 페이지네이션 */
.r26-promo-banner-pagination {
  bottom: 10px !important;
}
.r26-promo-banner-pagination .swiper-pagination-bullet {
  width: 7px;
  height: 7px;
  margin: 0 3px !important;
  background: rgba(255, 255, 255, 0.6) !important;
  opacity: 1 !important;
}
.r26-promo-banner-pagination .swiper-pagination-bullet-active {
  width: 20px;
  border-radius: 999px;
  background: #ffffff !important;
}

/* 모바일 UI — 호스트 CTA (PC 브라우저 + 720px 컬럼) */
@media (min-width: 721px) {
  html:not(.index-force-desktop-ui) .r26-host-cta-wrap {
    margin: 28px 20px 0;
    max-width: none;
  }
  html:not(.index-force-desktop-ui) .r26-host-cta-swiper .swiper-wrapper {
    min-height: 0;
    max-height: 188px;
  }
  html:not(.index-force-desktop-ui) .r26-host-cta-banner.r26-host-cta-template {
    min-height: 0;
    max-height: 188px;
  }
  html:not(.index-force-desktop-ui) .r26-host-cta-template .r26-host-cta-title {
    font-size: clamp(16px, 4.2vw, 20px);
  }
  html:not(.index-force-desktop-ui) .r26-host-cta-template .r26-host-cta-panel {
    padding: 16px 18px 16px 20px;
  }
  html:not(.index-force-desktop-ui) .r26-host-cta-full .r26-host-cta-bg {
    max-height: 188px;
    object-fit: cover;
  }
}

/* 포인트 이벤트 팝업 (이미지 배너) */
.r26-point-event-panel {
  width: min(92vw, 420px);
  padding: 0;
  background: var(--wh-bg, #f2f4f6);
}
.r26-point-event-close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 50%;
  background: rgba(255,255,255,0.92);
  color: #1d1d1f;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}
.r26-point-event-link {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  text-decoration: none;
}
.r26-point-event-link:hover,
.r26-point-event-link:focus,
.r26-point-event-link:active {
  text-decoration: none;
}
.r26-point-event-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  border-radius: 22px 22px 0 0;
}
.r26-point-event-popup .r26-admin-popup-actions {
  padding: 12px 16px 16px;
  background: #fff;
  border-radius: 0 0 22px 22px;
}

/* 메인 팝업 슬라이더 (site_main_popups 2건 이상) */
.r26-main-popup-slider-panel {
  width: min(92vw, 420px);
  padding: 0;
  background: var(--wh-bg, #f2f4f6);
  overflow: hidden;
}
.r26-main-popup-slider-viewport {
  position: relative;
  width: 100%;
  overflow: hidden;
  line-height: 0;
}
.r26-main-popup-slider-track {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  width: 100%;
  will-change: transform;
  transition: transform 0.45s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.r26-main-popup-slide {
  flex: 0 0 100%;
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.r26-main-popup-slide--image .r26-point-event-link {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 22px 22px 0 0;
}
.r26-main-popup-slide--image .r26-point-event-img {
  border-radius: 22px 22px 0 0;
}
.r26-main-popup-slide-text {
  max-height: min(60vh, 420px);
  overflow-y: auto;
  padding: 24px 20px 16px;
  background: #fff;
  line-height: 1.5;
}
.r26-main-popup-slide-text .r26-admin-popup-badge {
  position: static;
  display: inline-block;
  margin-bottom: 10px;
}
.r26-main-popup-slider-dots {
  position: absolute;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
  display: flex;
  gap: 6px;
  z-index: 3;
  pointer-events: none;
}
.r26-main-popup-slider-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  transition: background 0.2s, transform 0.2s;
}
.r26-main-popup-slider-dot.active {
  background: #fff;
  transform: scale(1.25);
}
.r26-main-popup-slider-arrow {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 32px;
  height: 32px;
  margin-top: -16px;
  border: none;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.22);
  color: #fff;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.r26-main-popup-slider-arrow:hover {
  background: rgba(0, 0, 0, 0.44);
}
.r26-main-popup-slider-prev { left: 10px; }
.r26-main-popup-slider-next { right: 10px; }
.r26-main-popup-slider-panel.r26-main-popup-slider-single .r26-main-popup-slider-dots,
.r26-main-popup-slider-panel.r26-main-popup-slider-single .r26-main-popup-slider-arrow {
  display: none;
}
.r26-main-popup-slider-panel .r26-admin-popup-actions {
  padding: 12px 16px 16px;
  background: #fff;
  border-radius: 0 0 22px 22px;
}

/* 모바일 링크 hover 밑줄 금지 (토스 §7) */
.r26-root a,
.r26-root a:hover,
.r26-root a:focus,
.r26-root a:active {
  text-decoration: none;
}
.r26-notice-popup-body a {
  color: var(--wh-link, #0071e3);
  text-decoration: none;
}
.r26-notice-popup-body a:hover {
  opacity: 0.88;
}
