/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   2026 리디자인 — 전용 스타일
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* 기존 헤더 패딩 제거 */
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: 히어로 타이포 토큰 */
.r26-hero-title,
.r26-main-headline h1 {
  font-size: var(--wh-text-hero, 2.5rem);
  font-weight: 700;
  line-height: var(--wh-lh-tight, 1.14);
  letter-spacing: -0.03em;
  color: var(--wh-label, #1c1c1e);
}
.r26-hero-sub,
.r26-main-headline p {
  font-size: var(--wh-text-lg, 1.0625rem);
  line-height: var(--wh-lh-body, 1.47);
  color: var(--wh-label-2, #3c3c43);
}

/* ─── 검색 오버레이: 바텀시트 애니메이션 + PC 720px 제한 ─── */

/* 백드롭 */
.r26-search-backdrop {
  display: none;
  position: fixed; inset: 0;
  background: rgba(0,0,0,0);
  z-index: 9999;
  transition: background 0.22s ease;
}
.r26-search-backdrop.active {
  display: block;
  background: rgba(0,0,0,0.45);
}
.r26-search-backdrop.entering { background: rgba(0,0,0,0); }

/* 오버레이 — 위에서 페이드인 (검색창이 상단에 있으므로 자연스러운 방향) */
.mobile_search_overlay {
  display: none !important;
  flex-direction: column !important;
  position: fixed !important;
  top: 0 !important;
  bottom: 0 !important;
  max-width: 720px !important;
  left: 50% !important;
  width: 100% !important;
  height: 100dvh !important;
  background: #fff !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  z-index: 10000 !important;

  /* 닫힌 상태: 살짝 위에 있다가 fade out */
  pointer-events: none !important;
  transform: translateX(-50%) translateY(-10px) !important;
  transition:
    transform 0.26s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.22s ease !important;
  opacity: 0 !important;
}

/* 열린 상태: 제자리로 fade in */
.mobile_search_overlay.active {
  display: flex !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) !important;
  opacity: 1 !important;
}

/* 닫힘 애니메이션 */
.mobile_search_overlay.closing {
  display: flex !important;
  transform: translateX(-50%) translateY(-10px) !important;
  opacity: 0 !important;
}


/* ══════════════════════════════════════════
   검색 오버레이 내부 애니메이션
══════════════════════════════════════════ */

/* ─── 에어비앤비 스타일: flex 방식으로 교체 ─── */
/* style25.css의 flex 레이아웃이 주도함 — 인라인 오버라이드 최소화 */
.m_accordion_item.active .m_content {
  display: flex !important;
  flex: 1 !important;
  flex-direction: column !important;
  overflow-y: auto !important;
  min-height: 0 !important;
  opacity: 1 !important;
}

/* 아코디언 헤더 전환 */
.m_accordion_item {
  transition:
    box-shadow 0.3s ease,
    border-color 0.3s ease,
    background 0.2s ease !important;
}
.m_header {
  cursor: pointer;
  transition: background 0.15s ease;
  border-radius: 12px;
}
.m_header:active { background: rgba(0,0,0,0.03); }

/* 아코디언 라벨 전환 */
.m_accordion_item .m_label {
  transition: font-size 0.3s ease, font-weight 0.3s ease, color 0.2s ease;
}
.m_accordion_item .m_summary {
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.m_accordion_item.active .m_summary {
  opacity: 0 !important;
  transform: translateX(6px) !important;
  pointer-events: none !important;
}

/* ─── 지역 추천 리스트 아이템 ─── */
.region_list .region {
  transition: background 0.15s ease, transform 0.15s ease;
  border-radius: 10px;
  cursor: pointer;
}
.region_list .region:hover { background: #f9fafb; }
.region_list .region:active {
  background: var(--wh-light, #f3e8f8);
  transform: scale(0.98);
}

/* ─── 달력 날짜 셀 ─── */
.mobile_search_overlay li.cal_day {
  transition: transform 0.1s ease;
}
/* 날짜 숫자를 감싸는 고정 40×40 원형 (li 너비에 무관하게 항상 정원) */
.mobile_search_overlay li.cal_day .cal-day-n {
  display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 50%;
  transition: background 0.12s ease;
  position: relative; z-index: 2; flex-shrink: 0;
}
.mobile_search_overlay li.cal_day:not(.notavail):hover .cal-day-n {
  background: #f3e8f8;
}
.mobile_search_overlay li.cal_day:not(.notavail):active {
  transform: scale(0.88);
}
/* ─── 날짜 선택 스타일 (calendar_dual_wrapper 통일) ─── */
.mobile_search_overlay li.cal_day.is-selected .cal-day-n {
  background: #6800cd !important;
  color: #fff !important;
}
.mobile_search_overlay li.cal_day.in-range .range_bg,
.mobile_search_overlay li.cal_day.is-start .range_bg,
.mobile_search_overlay li.cal_day.is-end .range_bg {
  display: block !important;
}
.mobile_search_overlay li.cal_day.is-start .range_bg {
  left: 50%;
  border-top-left-radius: 50%;
  border-bottom-left-radius: 50%;
}
.mobile_search_overlay li.cal_day.is-end .range_bg {
  right: 50%;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
}
.mobile_search_overlay li.cal_day.is-start.is-end .range_bg {
  display: none !important;
}
.mobile_search_overlay li.cal_day.in-range .cal-day-n {
  color: #6800cd;
}

/* 달력 월 슬라이드 전환 */
@keyframes calSlideIn  { from { opacity:0; transform:translateX(20px);  } to { opacity:1; transform:translateX(0); } }
@keyframes calSlideOut { from { opacity:1; transform:translateX(0);      } to { opacity:0; transform:translateX(-20px); } }

/* ─── 지도보기 플로팅 버튼 ─── */
#btn-map-float {
  position: fixed;
  bottom: calc(var(--tab-h, 64px) + 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: 500;
  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, #6800cd);
  color: #fff; border: none; border-radius: 999px;
  font-size: 14px; font-weight: 600; letter-spacing: 0;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(103,17,117,0.28), 0 1px 4px rgba(0,0,0,0.10);
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}
#btn-map-float button:active {
  transform: scale(0.96);
  box-shadow: 0 4px 14px rgba(103,17,117,0.24);
}
#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); } }
.cal-entering { animation: calSlideIn  0.24s ease forwards; }
.cal-exiting  { animation: calSlideOut 0.18s ease forwards; }

/* ─── 인원 카운터 버튼 ─── */
.mobile_search_overlay .btn_circle {
  transition: transform 0.12s ease, background 0.15s ease, opacity 0.15s ease;
}
.mobile_search_overlay .btn_circle:not(:disabled):active {
  transform: scale(0.84) !important;
}

/* 모바일 검색 오버레이 필수 레이아웃: 외부 CSS 캐시/누락 시에도 깨지지 않게 고정 */
.mobile_search_overlay .m_top_nav {
  position: relative !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 14px 20px !important;
  min-height: 56px !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}
.mobile_search_overlay .m_top_nav .close_m {
  position: absolute !important;
  right: 20px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 34px !important;
  height: 34px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #1d1d1f !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 1px 6px rgba(0,0,0,0.08) !important;
  padding: 0 !important;
}
.mobile_search_overlay .m_search_container {
  position: relative !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 0 16px !important;
  overflow: hidden !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
}
.mobile_search_overlay .m_accordion_item {
  list-style: none !important;
  background: #fff !important;
  border: 1px solid #e5e5ea !important;
  border-radius: 14px !important;
  margin: 0 0 10px !important;
  box-shadow: 0 1px 5px rgba(0,0,0,0.06) !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}
.mobile_search_overlay .m_accordion_item.active {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  border-color: transparent !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
}
.mobile_search_overlay .m_header {
  min-height: 56px !important;
  padding: 14px 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
}
.mobile_search_overlay .m_label {
  font-size: 12px !important;
  line-height: 1.2 !important;
  color: #6e6e73 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}
.mobile_search_overlay .m_accordion_item.active .m_label {
  font-size: 18px !important;
  color: #1d1d1f !important;
  font-weight: 700 !important;
}
.mobile_search_overlay .m_summary {
  color: #8e8e93 !important;
  font-size: 14px !important;
  white-space: nowrap !important;
}
.mobile_search_overlay .m_content {
  display: none !important;
  padding: 0 16px 16px !important;
  box-sizing: border-box !important;
}
.mobile_search_overlay .m_accordion_item.active .m_content {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 12px 16px 16px !important;
}
.mobile_search_overlay .recommended_list h6 {
  margin: 14px 0 10px !important;
  font-size: 14px !important;
  color: #1d1d1f !important;
  font-weight: 600 !important;
}
.mobile_search_overlay .region_list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.mobile_search_overlay .region_list .region {
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 54px !important;
  padding: 8px 4px !important;
  border-radius: 12px !important;
  box-sizing: border-box !important;
}
.mobile_search_overlay .region_list .region::marker {
  content: "" !important;
}
.mobile_search_overlay .region-icon {
  width: 28px !important;
  height: 28px !important;
  flex: 0 0 28px !important;
  color: #1d1d1f !important;
}
.mobile_search_overlay .text_box {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
}
.mobile_search_overlay .text_box .main_text {
  font-size: 15px !important;
  color: #1d1d1f !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}
.mobile_search_overlay .text_box .sub_text {
  margin-top: 3px !important;
  font-size: 13px !important;
  color: #6e6e73 !important;
  line-height: 1.25 !important;
}
.mobile_search_overlay #m_calendar_view {
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  min-height: 0 !important;
}
.mobile_search_overlay .week_name,
.mobile_search_overlay .cal {
  list-style: none !important;
}
.mobile_search_overlay .week_name li,
.mobile_search_overlay .cal li {
  list-style: none !important;
}
.mobile_search_overlay .month_name {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #1d1d1f !important;
}
.mobile_search_overlay .m_search_footer {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 20 !important;
  flex-shrink: 0 !important;
  background: #fff !important;
  border-top: 1px solid #e5e5ea !important;
  padding: 14px 20px calc(20px + env(safe-area-inset-bottom, 24px)) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}
.mobile_search_overlay .btn_all_clear,
.mobile_search_overlay .btn_m_search {
  height: 48px !important;
  border-radius: 12px !important;
  padding: 0 18px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}
.mobile_search_overlay .btn_all_clear {
  background: #fff !important;
  color: #3a3a3c !important;
  border: 1px solid #d1d1d6 !important;
}
.mobile_search_overlay .btn_m_search {
  background: var(--wehome-color, #6800cd) !important;
  color: #fff !important;
  border: 0 !important;
}

/* 숫자 변경 애니메이션 */
@keyframes countPop { 0%{transform:scale(1)} 40%{transform:scale(1.35)} 100%{transform:scale(1)} }
.count-pop { animation: countPop 0.22s cubic-bezier(0.34,1.56,0.64,1); }

/* ─── 검색/삭제 버튼 ─── */
.btn_m_search {
  transition: transform 0.15s ease, box-shadow 0.15s ease !important;
  touch-action: manipulation !important;
  cursor: pointer !important;
}
.btn_m_search:active { transform: scale(0.95) !important; }
.btn_all_clear {
  transition: background 0.15s ease, transform 0.15s ease !important;
}
.btn_all_clear:active { transform: scale(0.95) !important; }

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

/* ─── 히어로 검색바 (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(0.88); }
.r26-heart-btn.heart-animate { animation: heartBeat 0.35s cubic-bezier(0.34,1.56,0.64,1); }

/* ─── 지역·숙소 카드 ─── */
.r26-region-card { transition: transform 0.25s ease, box-shadow 0.25s ease; }
.r26-region-card:active { transform: scale(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:       #6800cd;
  --wh-dark:  #4a0c54;
  --wh-light: #f3e8f8;
  --txt:      #111827;
  --txt2:     #6b7280;
  --bg:       #f5f5f7;
  --card-r:   12px;
  --tab-h:    64px;
}

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

/* ─── 투명 오버레이 헤더 ─── */
.r26-header {
  position: absolute; top: 0; left: 0; right: 0;
  z-index: 100;
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 20px;
}
.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.20);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: none; 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: #6800cd; color: #fff;
  border: none; border-radius: 12px; 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: 20px;
  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; transition: opacity 1.2s ease;
}
.r26-hero-slide.active { opacity: 1; }

/* 그라디언트 오버레이 */
.r26-hero-overlay {
  position: absolute; inset: 0;
  border-radius: 20px 20px 32px 32px;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.05) 0%,
    rgba(0,0,0,0.25) 35%,
    rgba(0,0,0,0.65) 70%,
    rgba(0,0,0,0.85) 100%
  );
}

/* 히어로 콘텐츠 — 검색창 위에 위치 */
.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: 700;
  line-height: 1.25; letter-spacing: 0;
  margin: 0 0 4px;
  text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
@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;
}

/* ─── 히어로 내부 검색박스 ─── */
/* 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;
}
.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: 50px;
  border: 1px solid #e2e2e7;
  background: #fff;
  font-size: 13px; font-weight: 500; color: var(--txt);
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
  white-space: nowrap;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04);
  -webkit-tap-highlight-color: transparent;
}
.r26-chip:hover  { border-color: var(--wh); color: var(--wh); background: var(--wh-light); }
.r26-chip.active { border-color: var(--wh); color: var(--wh); background: var(--wh-light); font-weight: 500; }
.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: #666;
}

/* ─── 섹션 공통 ──────────────────────────────── */
.r26-section { padding: 24px 0 0; }
.r26-section-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 20px; margin-bottom: 14px;
}
.r26-section-title {
  font-size: 18px; font-weight: 600;
  color: var(--txt); letter-spacing: 0; margin: 0;
}
.r26-section-more {
  font-size: 13px; color: var(--wh); font-weight: 600;
  text-decoration: none; display: flex; align-items: center; gap: 2px;
}
.r26-section-more:hover { text-decoration: none; }
.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: 12px;
  overflow: hidden;
  position: relative;
  cursor: pointer;
  aspect-ratio: 3/4;
  flex-shrink: 0;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08);
}
.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;
  background: linear-gradient(to bottom, transparent 40%, rgba(0,0,0,0.75) 100%);
}
.r26-region-info {
  position: absolute; bottom: 12px; left: 12px; right: 12px;
}
.r26-region-name { color: #fff; font-size: 15px; font-weight: 700; display: block; }
.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: #fff;
  box-shadow: 0 2px 10px rgba(0,0,0,0.06);
  transition: transform 0.2s, box-shadow 0.2s;
}
.r26-prop-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.10); }

.r26-prop-img-wrap {
  position: relative;
  aspect-ratio: 4/3;
  overflow: visible;
}
.r26-prop-img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.4s;
  border-radius: 12px 12px 0 0;
  display: block;
}
.r26-prop-card:hover .r26-prop-img { transform: scale(1.04); }

/* 숙소 카드 뱃지 */
.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: 11px; font-weight: 600;
  padding: 4px 8px; border-radius: 50px;
  line-height: 1; white-space: nowrap;
  backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
}
/* property_badges 테이블 색상 기준 */
.r26-badge-superhost   { background: rgba(245,158,11,.92);  color: #fff; } /* #F59E0B */
.r26-badge-popular     { background: rgba(255,56,92,.92);   color: #fff; } /* #FF385C */
.r26-badge-new         { background: rgba(16,185,129,.92);  color: #fff; } /* #10B981 */
.r26-badge-instant     { background: rgba(59,130,246,.92);  color: #fff; } /* #3B82F6 */
.r26-badge-selfcheckin { background: rgba(139,92,246,.92);  color: #fff; } /* #8B5CF6 */

/* 하트 버튼 */
.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: 600; color: var(--txt);
  margin: 0 0 6px;
  display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden;
}
.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: #f3f4f6; border-radius: 20px;
  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;
  background: #fff7ed; color: #c2410c;
  font-size: 12px; font-weight: 600;
  padding: 4px 10px; border-radius: 50px;
  margin-left: 8px;
}

/* ─── 마퀴 애니메이션 ───────────────────────────── */
@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: #f0f0f5;
  position: relative;
  cursor: grab;
  user-select: none;
  touch-action: pan-y;
  -webkit-user-select: none;
}
.r26-reviews-section:active { cursor: grabbing; }
/* 좌우 페이드 엣지 */
.r26-reviews-section::before,
.r26-reviews-section::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 40px;
  z-index: 2;
  pointer-events: none;
}
.r26-reviews-section::before {
  left: 0;
  background: linear-gradient(to right, #f0f0f5, transparent);
}
.r26-reviews-section::after {
  right: 0;
  background: linear-gradient(to left, #f0f0f5, transparent);
}
.r26-reviews-head {
  display: flex; align-items: center; justify-content: center;
  margin: 0 0 32px;
  padding: 0 20px;
}
.r26-reviews-title {
  font-size: 16px; font-weight: 600;
  color: #111; margin: 0; text-align: center;
}
.r26-reviews-count {
  font-size: 12px; color: #888; font-weight: 400;
}
.r26-reviews-track {
  overflow: hidden;
}

/* ─── 후기 카드 ─── */
.r26-review-card {
  width: 240px; flex-shrink: 0;
  background: #fff;
  border-radius: 10px;
  padding: 16px;
  margin: 0 6px;
  border: 1px solid #e8e8e8;
  display: inline-flex; flex-direction: column;
  vertical-align: top;
  transition: border-color 0.15s ease;
  text-align: center; /* 카드 내 텍스트 중앙정렬 */
}
.r26-review-card:hover {
  border-color: #ccc;
}
.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 12px;
  display: -webkit-box;
  -webkit-line-clamp: 3; -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
  text-align: 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 (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-swiper {
  margin: 28px 20px 0;
  overflow: hidden;
  border-radius: 12px;
  max-width: calc(100% - 40px);
  box-sizing: border-box;
}
.r26-host-cta-swiper .swiper-wrapper {
  align-items: stretch;
}
.r26-host-cta-swiper .swiper-slide {
  height: auto;
  width: 100% !important;
}
.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;
}
.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: 480px) {
  .r26-host-cta-swiper {
    margin: 24px 12px 0;
    max-width: calc(100% - 24px);
    border-radius: 22px;
  }
  .r26-host-cta-banner {
    position: relative;
    min-height: 164px;
    border-radius: 22px;
    background: #161018;
    box-shadow: 0 16px 34px rgba(20, 14, 24, 0.16);
  }
  .r26-host-cta-bg {
    position: absolute;
    inset: 0;
    height: 100%;
    object-fit: cover;
    opacity: 0.74;
    transform: scale(1.04);
  }
  /* K-POPSTAY 배너: <picture>로 모바일/PC 이미지 분기,
     기존 다크 오버레이(::after)·텍스트 copy 구조 그대로 사용 */
  .r26-host-cta-banner.r26-kpopstay-slide {
    min-height: 164px;
    background: #0a0118;
  }
  .r26-kpopstay-slide picture {
    display: block;
    position: absolute;
    inset: 0;
    overflow: hidden;
  }
  .r26-kpopstay-slide .r26-host-cta-bg {
    position: absolute;
    inset: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
    opacity: 0.74;
    transform: scale(1.04);
  }
  .r26-host-cta-banner::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(90deg, rgba(22, 16, 24, 0.9) 0%, rgba(22, 16, 24, 0.48) 58%, rgba(22, 16, 24, 0.1) 100%),
      linear-gradient(180deg, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.34) 100%);
    pointer-events: none;
  }
  .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-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;
    letter-spacing: 0;
  }
  .r26-host-cta-title {
    max-width: 78%;
    margin: 0;
    color: #fff;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.22;
    letter-spacing: 0;
    word-break: keep-all;
  }
  .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; left: 0; right: 0;
  z-index: 990;
  overflow: visible;
  background: rgba(255,255,255,0.84);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 1px 0 rgba(60,60,67,0.12);
  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: 0.5px solid #ddd;
    border-radius: 40px;
    padding: 10px 20px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
    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: #fff;
    border: 1.5px solid #e5e7eb;
    border-radius: 999px;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,0.07);
    min-width: 0;
  }
  .r26-sticky-search-mobile span {
    font-size: 13px;
    font-weight: 500;
    color: #9ca3af;
    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: #fff;
    border: 1.5px solid #e5e7eb;
    border-radius: 999px;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,0.07);
    min-width: 0;
  }
  .r26-sticky-search-mobile span {
    font-size: 13px;
    font-weight: 500;
    color: #9ca3af;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .r26-sticky-inner {
    padding: 8px 12px;
  }
}

/* ─── 사이드 메뉴 — Apple MD ─── */
.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: #f2f2f7;
  z-index: 9999;
  box-shadow: 8px 0 40px rgba(0,0,0,0.16);
  border-radius: 0 24px 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: #e5e5ea; border: none; cursor: pointer;
  transition: background 0.12s ease;
  -webkit-tap-highlight-color: transparent;
}
.r26-side-close:hover { background: #d1d1d6; }
.r26-side-close svg { fill: #636366; }

/* 프로필 섹션 */
.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: linear-gradient(140deg, #6800cd, #9b3dbf);
  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: #e5e5ea; }
.r26-side-avatar-guest svg { fill: #8e8e93; }
.r26-side-avatar-photo {
  background: linear-gradient(#f2f2f7, #f2f2f7) padding-box,
              linear-gradient(140deg, #6800cd, #9b3dbf) border-box;
  border: 2.5px solid transparent;
}
.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-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, #6800cd); /* 위홈 테마의 메인 보라색 */
  color: #fff !important;
  border: none;
  border-radius: 22px; 
  padding: 7px 14px; 
  display: inline-flex; 
  align-items: center; 
  gap: 3px;
  transition: all 0.22s ease;
  box-shadow: 0 2px 6px rgba(103,17,117,0.12);
}
.r26-keep-promo-inner:hover .r26-keep-promo-cta {
  background: #581c87; /* 약간 더 짙은 바이올렛 */
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(103,17,117,0.20);
}

@media (min-width: 768px) {
  .r26-keep-promo { 
    margin: 36px auto 16px; 
    max-width: 900px; 
  }
  .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: #0071e3; text-decoration: underline; }
.r26-notice-popup-link {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  margin-top: 18px;
  border-radius: 10px;
  background: #6800cd;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: -0.2px;
}
.r26-notice-popup-link:hover { color: #fff; text-decoration: none; opacity: .9; }
