/* sp-mobile-desktop-upgrade.css — template auto-inject sp pages (inbox, travel, hosting, login, listing) */
.itin-pay-bar__info {
  display: none;
}

/* PC 2단 패널 — 기본은 숨김, PC 조건에서만 표시 */
.ib-dt-thread-panel {
  display: none;
}

@media (min-width: 1024px) {
  html.sp-force-desktop-ui,
  html.sp-force-desktop-ui body,
  html.sp-force-desktop-ui body#body {
    background: #f2f4f6 !important;
  }

  html.sp-force-desktop-ui nav#bottom_nav,
  html.sp-force-desktop-ui #body footer:not(.sp-dt-footer),
  html.sp-force-desktop-ui .wh-page-nav-wrap {
    display: none !important;
  }

  html.sp-force-desktop-ui .sp-dt-footer {
    display: block !important;
  }

  /* ── 메시지 inbox ── */
  html.sp-force-desktop-ui body:has(.ib-dt-page) #content.ib-dt-page,
  html.sp-force-desktop-ui body:has(.ib-tabs-wrap) #content {
    /* 좌측 목록 + 우측 대화창 2단 레이아웃이라 다른 sp 페이지보다 넓게 사용 */
    max-width: min(1400px, calc(100vw - 80px)) !important;
    margin: 0 auto !important;
    padding: calc(var(--r26-dt-base-header-h, 108px) + 24px) 0 56px !important;
    background: transparent !important;
    box-sizing: border-box;
  }

  html.sp-force-desktop-ui .ib-dt-page .sp-dt-page-head {
    margin-bottom: 20px;
    padding: 0 24px;
  }

  /* 2단 분할 컨테이너 — 모바일 마크업 순서를 그대로 좌측 컬럼으로 감싸고 우측에 대화창 패널 추가 */
  html.sp-force-desktop-ui .ib-dt-split {
    display: flex;
    align-items: flex-start;
    gap: 20px;
  }
  html.sp-force-desktop-ui .ib-dt-left-col {
    flex: 0 0 400px;
    min-width: 0;
  }
  html.sp-force-desktop-ui .ib-dt-thread-panel {
    flex: 1 1 auto;
    min-width: 0;
    position: sticky;
    top: calc(var(--r26-dt-base-header-h, 108px) + 24px);
    height: calc(100vh - var(--r26-dt-base-header-h, 108px) - 48px);
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.04);
    border-radius: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  html.sp-force-desktop-ui .ib-dt-thread-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    color: #8b95a1;
    font-size: 14px;
    font-weight: 600;
  }
  html.sp-force-desktop-ui .ib-dt-thread-frame {
    width: 100%;
    height: 100%;
    border: 0;
  }
  html.sp-force-desktop-ui .ib-item-wrap.ib-dt-active {
    background: var(--wh-brand-tint, #F3EEFA);
  }
  html.sp-force-desktop-ui .ib-item-wrap.ib-dt-active .ib-item {
    position: relative;
  }

  html.sp-force-desktop-ui .ib-tabs-wrap,
  html.sp-force-desktop-ui .ib-list,
  html.sp-force-desktop-ui .ib-agoda-section {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  html.sp-force-desktop-ui .ib-tabs-wrap {
    background: #fff;
    border-radius: 20px 20px 0 0;
    border: 1px solid rgba(0, 0, 0, 0.04);
    border-bottom: none;
    padding: 12px 24px 8px;
  }

  html.sp-force-desktop-ui #ib-search-panel {
    display: block !important;
    position: static !important;
    transform: none !important;
    left: auto !important;
    width: auto !important;
    max-width: none !important;
    background: #fff !important;
    border: 1px solid rgba(0, 0, 0, 0.04);
    border-top: none;
    border-bottom: 1px solid #f2f4f6;
    box-shadow: none !important;
    z-index: auto !important;
  }

  html.sp-force-desktop-ui #ib-search-panel .ib-search-wrap {
    padding: 12px 24px 16px;
  }

  html.sp-force-desktop-ui .ib-list {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.04);
    border-top: none;
    border-radius: 0 0 20px 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    overflow: hidden;
    padding: 0 0 8px !important;
  }

  html.sp-force-desktop-ui .ib-item-wrap {
    margin-bottom: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    border-bottom: 1px solid #f2f4f6;
    transition: background 0.12s ease;
  }

  html.sp-force-desktop-ui .ib-item-wrap:last-child {
    border-bottom: none;
  }

  html.sp-force-desktop-ui .ib-item-wrap:hover {
    background: #fafbfc;
  }

  html.sp-force-desktop-ui .ib-item {
    padding: 16px 20px 16px 24px !important;
  }

  html.sp-force-desktop-ui .ib-item-wrap[data-unread="1"]::before {
    left: 10px;
  }

  html.sp-force-desktop-ui .ib-name {
    font-size: 16px !important;
  }

  html.sp-force-desktop-ui .ib-preview {
    font-size: 14px !important;
    color: #4e5968 !important;
  }

  html.sp-force-desktop-ui .ib-time {
    font-size: 12px !important;
    color: #8b95a1 !important;
  }

  /* ── 메시지 대화 (/trips/conversation) ── */
  html.sp-force-desktop-ui.wh-conversation-page,
  html.sp-force-desktop-ui.wh-conversation-page body,
  html.sp-force-desktop-ui.wh-conversation-page body#body,
  html.sp-force-desktop-ui.wh-conversation-page body#body.bgr-for-mobile-only-mode,
  html.sp-force-desktop-ui body:has(.msg-dt-shell),
  html.sp-force-desktop-ui body#body.bgr-for-mobile-only-mode:has(.msg-dt-shell) {
    overflow: auto !important;
    height: auto !important;
    min-height: 100% !important;
    background: #f2f4f6 !important;
    background-color: #f2f4f6 !important;
  }

  html.sp-force-desktop-ui .msg-dt-shell {
    max-width: min(1120px, calc(100vw - 80px));
    margin: calc(var(--r26-dt-base-header-h, 108px) + 16px) auto 32px;
    background: #fff;
    border-radius: 20px;
    border: 1px solid rgba(0, 0, 0, 0.04);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    display: flex;
    flex-direction: column;
    height: calc(100vh - var(--r26-dt-base-header-h, 108px) - 48px);
    max-height: calc(100vh - var(--r26-dt-base-header-h, 108px) - 48px);
    overflow: hidden;
    box-sizing: border-box;
  }

  html.sp-force-desktop-ui .msg-dt-shell .sp-dt-page-head {
    margin: 0 !important;
    padding: 16px 24px !important;
    border-bottom: 1px solid #f2f4f6;
    flex-shrink: 0;
    border-radius: 20px 20px 0 0;
    max-width: none !important;
  }

  html.sp-force-desktop-ui .sp-dt-head-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 1.5px solid rgba(0, 0, 0, 0.06);
  }

  html.sp-force-desktop-ui .msg-dt-shell .sp-dt-page-head .sp-dt-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 36px !important;
  }

  html.sp-force-desktop-ui .msg-dt-refresh .material-symbols-rounded {
    font-size: 22px;
  }

  html.sp-force-desktop-ui .msg-dt-shell #content.inbox.list {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
  }

  html.sp-force-desktop-ui .msg-dt-shell #content.inbox.list > ul.messages {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 24px 40px !important;
    background: #f8f9fb !important;
  }

  html.sp-force-desktop-ui .msg-dt-shell #content.inbox.list .room-ctx,
  html.sp-force-desktop-ui .msg-dt-shell #content.inbox.list .resv-ctx {
    margin: 16px 24px 0 !important;
    width: auto !important;
    border-radius: 14px;
    flex-shrink: 0;
  }

  html.sp-force-desktop-ui .msg-dt-shell #content.inbox.list .write_cont {
    position: relative !important;
    flex: 0 0 auto !important;
    background: #fff !important;
    border-top: 1px solid #f2f4f6 !important;
    padding: 16px 24px 20px !important;
    border-radius: 0 0 20px 20px;
  }

  html.sp-force-desktop-ui .msg-dt-shell #content.inbox.list div.write_cont #sendbox {
    min-height: 48px !important;
    height: 48px !important;
    font-size: 15px !important;
  }

  html.sp-force-desktop-ui .msg-dt-shell ul.messages li.msg-row .msg-content {
    max-width: min(520px, 62%) !important;
  }

  html.sp-force-desktop-ui .msg-dt-shell ul.messages .msg-bubble {
    font-size: 15px !important;
    line-height: 1.55 !important;
    padding: 12px 16px !important;
  }

  html.sp-force-desktop-ui .msg-dt-shell img.msg_img {
    max-width: min(360px, 100%) !important;
    border-radius: 12px !important;
  }

  html.sp-force-desktop-ui .msg-dt-shell ul.messages li.msg-date-sep span {
    background: rgba(255, 255, 255, 0.92);
    font-size: 12px;
    padding: 6px 14px;
  }

  html.sp-force-desktop-ui .msg-dt-shell .wh-noreply-bar {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    max-width: none !important;
    margin: 0 !important;
    border-radius: 0 0 20px 20px;
  }

  /* ── 여행 목록 ── */
  html.sp-force-desktop-ui #content.tl-page,
  html.sp-force-desktop-ui #content.page.travel {
    max-width: min(1120px, calc(100vw - 80px)) !important;
    margin: 0 auto !important;
    padding: calc(var(--r26-dt-base-header-h, 108px) + 24px) 0 56px !important;
    background: transparent !important;
    box-sizing: border-box;
  }

  html.sp-force-desktop-ui #content.tl-page .wh-tabs {
    background: #fff;
    border-radius: 20px 20px 0 0;
    border: 1px solid rgba(0, 0, 0, 0.04);
    border-bottom: none;
    margin: 0;
  }

  html.sp-force-desktop-ui #content.tl-page .tl-body {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.04);
    border-top: none;
    border-radius: 0 0 20px 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    padding: 16px;
  }

  /* 여행 카드는 이미지가 큰 세로형 카드라 PC에서는 2열로 배치해 화면 폭을 활용 */
  html.sp-force-desktop-ui #content.tl-page .year-group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-items: start;
  }
  html.sp-force-desktop-ui #content.tl-page .trip-card {
    margin-bottom: 0 !important;
  }

  /* ── 여행일정표 / 결제상세 / 영수증 / 취소 ── */
  html.sp-force-desktop-ui body:has(#content.itinerary) .wh-page-nav-wrap,
  html.sp-force-desktop-ui body:has(#content.idet-page) .wh-page-nav-wrap,
  html.sp-force-desktop-ui body:has(#content.guest-receipt) .wh-page-nav-wrap,
  html.sp-force-desktop-ui body:has(#gc-main-content) .gc-page-header {
    display: none !important;
  }

  html.sp-force-desktop-ui body:has(#content.itinerary) .sp-dt-page-head,
  html.sp-force-desktop-ui body:has(#content.idet-page) .sp-dt-page-head,
  html.sp-force-desktop-ui body:has(#content.guest-receipt) .sp-dt-page-head,
  html.sp-force-desktop-ui body:has(#gc-main-content) .sp-dt-page-head {
    max-width: min(1120px, calc(100vw - 80px));
    margin: calc(var(--r26-dt-base-header-h, 108px) + 16px) auto 0;
    padding: 0 0 12px;
    box-sizing: border-box;
  }

  html.sp-force-desktop-ui body:has(#content.itinerary) .itin-listing-wrap {
    max-width: min(1120px, calc(100vw - 80px)) !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  html.sp-force-desktop-ui body:has(#content.itinerary) .itin-image-wrap {
    border-radius: 20px 20px 0 0;
    overflow: hidden;
  }

  html.sp-force-desktop-ui body:has(#content.itinerary) .itin-listing-info {
    border-radius: 0 0 16px 16px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.07);
  }

  html.sp-force-desktop-ui body:has(#content.itinerary) #content.itinerary {
    max-width: min(1120px, calc(100vw - 80px)) !important;
    margin: 36px auto 56px !important;
    padding: 0 0 16px !important;
    background: transparent !important;
    box-sizing: border-box;
    border-left: none !important;
    border-right: none !important;
  }

  html.sp-force-desktop-ui body:has(#content.itinerary) #content.itinerary .itin-res-card,
  html.sp-force-desktop-ui body:has(#content.itinerary) #content.itinerary .wh-card,
  html.sp-force-desktop-ui body:has(#content.itinerary) #content.itinerary .itin-section {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
  }

  html.sp-force-desktop-ui body:has(#content.itinerary) #content.itinerary .itin-res-card {
    margin-top: 0 !important;
  }

  html.sp-force-desktop-ui body:has(#content.itinerary) .itin-checkinout {
    padding: 26px 24px 22px !important;
  }

  /* host_itinerary — PC: 콘텐츠 1120 + 하단 CTA는 itinerary_host.css SSOT */
  html.sp-force-desktop-ui body:has(#content.host-itinerary) #content.host-itinerary {
    max-width: min(1120px, calc(100vw - 80px)) !important;
    margin: calc(var(--r26-dt-base-header-h, 108px) + 24px) auto 0 !important;
    padding: 0 0 8px !important;
    background: transparent !important;
    box-sizing: border-box;
  }
  html.sp-force-desktop-ui body:has(#content.host-itinerary) .wh-page-nav-wrap {
    display: none !important;
  }

  /* 「예약 자세히보기」 — PC에서 모바일 list-item 톤 완화 */
  html.sp-force-desktop-ui body:has(#content.itinerary) .itin-detail-entry {
    margin: 0 0 28px !important;
  }
  html.sp-force-desktop-ui body:has(#content.itinerary) a.itin-detail-link {
    padding: 20px 24px !important;
    border-radius: 20px !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    box-shadow: var(--wh-shadow-listing, 0 1px 3px rgba(0, 0, 0, 0.04), 0 8px 24px rgba(0, 0, 0, 0.04)) !important;
    background: #fff !important;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
  }
  html.sp-force-desktop-ui body:has(#content.itinerary) a.itin-detail-link:hover {
    box-shadow: var(--wh-shadow-hover, 0 4px 12px rgba(0, 0, 0, 0.06)) !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
    text-decoration: none !important;
  }
  html.sp-force-desktop-ui body:has(#content.itinerary) .itin-detail-link__icon {
    width: 40px !important;
    height: 40px !important;
    border-radius: 12px !important;
  }
  html.sp-force-desktop-ui body:has(#content.itinerary) .itin-detail-link__chevron {
    font-size: 22px !important;
    color: var(--wh-tx3, #8b95a1) !important;
  }

  /* 여행일정표 하단 결제/영수증 CTA — 모바일 sticky 해제 */
  html.sp-force-desktop-ui body:has(#content.idet-page) #content.idet-page {
    padding-bottom: 16px !important;
  }

  html.sp-force-desktop-ui body:has(#content.itinerary) .wh-bottom-bar.itin-pay-bar,
  html.sp-force-desktop-ui body:has(#content.idet-page) .wh-bottom-bar.itin-pay-bar {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: auto !important;
    max-width: min(1120px, calc(100vw - 80px)) !important;
    width: 100% !important;
    margin: 0 auto 56px !important;
    padding: 20px 24px !important;
    min-height: 0 !important;
    background: #fff !important;
    border: 1px solid rgba(0, 0, 0, 0.04) !important;
    border-radius: 16px !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.07) !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 24px !important;
    box-sizing: border-box;
  }

  html.sp-force-desktop-ui .itin-pay-bar__info {
    display: flex !important;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    flex: 1;
  }

  html.sp-force-desktop-ui .itin-pay-bar__label {
    font-size: 13px;
    font-weight: 600;
    color: #888;
    line-height: 1.4;
  }

  html.sp-force-desktop-ui .itin-pay-bar__amount {
    font-size: 24px;
    font-weight: 800;
    color: #111;
    line-height: 1.2;
    letter-spacing: -0.02em;
  }

  html.sp-force-desktop-ui body:has(#content.itinerary) .itin-pay-bar .wh-bottom-btn,
  html.sp-force-desktop-ui body:has(#content.idet-page) .itin-pay-bar .wh-bottom-btn {
    width: auto !important;
    min-width: 200px !important;
    max-width: 280px !important;
    padding: 14px 24px !important;
    height: 52px !important;
    border-radius: 14px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    background: var(--wehome-color, #681DC7) !important;
    color: #fff !important;
    box-shadow: none !important;
    flex-shrink: 0;
  }

  html.sp-force-desktop-ui body:has(#content.itinerary) .itin-pay-bar .wh-bottom-btn.wh-full,
  html.sp-force-desktop-ui body:has(#content.idet-page) .itin-pay-bar .wh-bottom-btn.wh-full {
    flex: 0 0 auto !important;
  }

  html.sp-force-desktop-ui #content.gep-page,
  html.sp-force-desktop-ui #content.gpr-page {
    max-width: min(1120px, calc(100vw - 80px)) !important;
    margin: 0 auto 56px !important;
    padding: 0 0 56px !important;
    background: transparent !important;
    box-sizing: border-box;
    border-left: none !important;
    border-right: none !important;
  }

  html.sp-force-desktop-ui body:has(#content.gep-page) .wh-page-nav-wrap,
  html.sp-force-desktop-ui body:has(#content.gpr-page) .wh-page-nav-wrap {
    display: none !important;
  }

  html.sp-force-desktop-ui body:has(#content.gep-page) .sp-dt-page-head,
  html.sp-force-desktop-ui body:has(#content.gpr-page) .sp-dt-page-head {
    max-width: min(1120px, calc(100vw - 80px));
    margin: calc(var(--r26-dt-base-header-h, 108px) + 16px) auto 0;
    padding: 0 0 12px;
    box-sizing: border-box;
  }

  html.sp-force-desktop-ui #content.idet-page,
  html.sp-force-desktop-ui #content.guest-receipt {
    max-width: min(1120px, calc(100vw - 80px)) !important;
    margin: 0 auto 56px !important;
    padding: 0 0 56px !important;
    background: transparent !important;
    box-sizing: border-box;
  }

  html.sp-force-desktop-ui body:has(#content.idet-page) .sp-dt-page-head,
  html.sp-force-desktop-ui body:has(#content.guest-receipt) .sp-dt-page-head {
    margin-top: calc(var(--r26-dt-base-header-h, 108px) + 16px);
  }

  html.sp-force-desktop-ui #gc-main-content.gc-page-wrap {
    max-width: min(1120px, calc(100vw - 80px)) !important;
    margin: 0 auto 56px !important;
    padding: 0 16px 56px !important;
    box-sizing: border-box;
  }

  html.sp-force-desktop-ui body:has(#gc-main-content) .sp-dt-page-head {
    margin-top: calc(var(--r26-dt-base-header-h, 108px) + 16px);
    padding-left: 0;
    padding-right: 0;
  }

  /* ── 숙소 등록 ── */
  html.sp-force-desktop-ui #content.lc1-page {
    max-width: min(1120px, calc(100vw - 80px)) !important;
    margin: 0 auto !important;
    padding: calc(var(--r26-dt-base-header-h, 108px) + 24px) 24px 56px !important;
    background: #fff !important;
    border-radius: 20px;
    border: 1px solid rgba(0, 0, 0, 0.04);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    box-sizing: border-box;
  }

  /* ── 호스팅 모바일 뷰 공통 ── */
  html.sp-force-desktop-ui #content.hr-page,
  html.sp-force-desktop-ui #content.hosting-page,
  html.sp-force-desktop-ui #content.hc-page-cert,
  html.sp-force-desktop-ui #content[class*="hosting"] {
    max-width: min(1120px, calc(100vw - 80px)) !important;
    margin: 0 auto !important;
    padding: calc(var(--r26-dt-base-header-h, 108px) + 24px) 24px 56px !important;
    box-sizing: border-box;
  }

  /* ── 로그인 ── */
  html.sp-force-desktop-ui #content.signup-wrap.login-toss-flat {
    max-width: min(480px, calc(100vw - 80px)) !important;
    margin: calc(var(--r26-dt-base-header-h, 108px) + 48px) auto 56px !important;
    padding: 32px 24px !important;
    background: #fff !important;
    border-radius: 20px;
    border: 1px solid rgba(0, 0, 0, 0.04);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    box-sizing: border-box;
    min-height: auto !important;
  }

  html.sp-force-desktop-ui #content.hr-wrap,
  html.sp-force-desktop-ui #content.hf-page,
  html.sp-force-desktop-ui #content.faq-page {
    max-width: min(1120px, calc(100vw - 80px)) !important;
    margin: 0 auto !important;
    padding: calc(var(--r26-dt-base-header-h, 108px) + 24px) 24px 56px !important;
    box-sizing: border-box;
  }

  html.sp-force-desktop-ui body:has(#content.hr-wrap) .wh-page-nav-wrap,
  html.sp-force-desktop-ui body:has(#content.faq-page) .wh-page-nav-wrap,
  html.sp-force-desktop-ui body:has(#content.write_review_new) .wh-page-nav-wrap,
  html.sp-force-desktop-ui body:has(#content.hc-page-cert) .wh-page-nav-wrap {
    display: none !important;
  }

  /* ── 리뷰 작성 (write_review_*) ── */
  html.sp-force-desktop-ui #content.write_review_new {
    max-width: min(640px, calc(100vw - 80px)) !important;
    margin: calc(var(--r26-dt-base-header-h, 108px) + 24px) auto 56px !important;
    padding: 24px 0 calc(24px + env(safe-area-inset-bottom, 0px)) !important;
    background: #f2f4f6 !important;
    border-radius: 20px;
    box-sizing: border-box;
    min-height: auto !important;
  }

  html.sp-force-desktop-ui #content.write_review_new .review_property_card,
  html.sp-force-desktop-ui #content.write_review_new .review_section {
    margin-left: 24px;
    margin-right: 24px;
  }

  /* ── 특례 신청 (wh_cert_*) ── */
  html.sp-force-desktop-ui #content.hc-page-cert {
    max-width: min(1120px, calc(100vw - 80px)) !important;
    margin: 0 auto !important;
    padding: calc(var(--r26-dt-base-header-h, 108px) + 24px) 24px 56px !important;
    box-sizing: border-box;
  }

  /* ── 호스팅 숙소 목록 ── */
  html.sp-force-desktop-ui .hl-page-frame #content.hl-page,
  html.sp-force-desktop-ui #content.hl-page {
    max-width: min(1120px, calc(100vw - 80px)) !important;
    margin: 0 auto !important;
    padding: 0 24px 56px !important;
    box-sizing: border-box;
  }

  html.sp-force-desktop-ui .hl-page-frame {
    max-width: none !important;
    width: 100%;
    margin: 0 auto;
    padding-top: calc(var(--r26-dt-base-header-h, 108px) + 8px);
    background: transparent !important;
    border-left: none !important;
    border-right: none !important;
    min-height: auto;
  }

  html.sp-force-desktop-ui body:has(#content.hl-page) .wh-page-nav-wrap,
  html.sp-force-desktop-ui body:has(#content.hcal-v2) .wh-page-nav-wrap,
  html.sp-force-desktop-ui body:has(#content.hi-page) .wh-page-nav-wrap,
  html.sp-force-desktop-ui body:has(#content.edit-room) .wh-page-nav-wrap {
    display: none !important;
  }

  html.sp-force-desktop-ui #content.hcal-v2 {
    max-width: min(1120px, calc(100vw - 80px)) !important;
    margin: 0 auto !important;
    padding: 0 24px 56px !important;
    box-sizing: border-box;
  }

  html.sp-force-desktop-ui #content.hi-page,
  html.sp-force-desktop-ui #hi-wrap {
    max-width: min(1120px, calc(100vw - 80px)) !important;
    margin: 0 auto !important;
    box-sizing: border-box;
  }

  html.sp-force-desktop-ui #content.hi-page {
    padding: 0 0 56px !important;
    background: transparent !important;
  }

  /* ── 숙소 편집 overview ── */
  html.sp-force-desktop-ui #content.edit-room {
    max-width: min(720px, calc(100vw - 80px)) !important;
    margin: calc(var(--r26-dt-base-header-h, 108px) + 24px) auto 56px !important;
    padding: 24px !important;
    background: #fff !important;
    border-radius: 20px;
    border: 1px solid rgba(0, 0, 0, 0.04);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    box-sizing: border-box;
  }

  html.sp-force-desktop-ui #content.edit-room > h2 {
    display: none;
  }

  html.sp-force-desktop-ui #content.page.travel > h1 {
    display: none;
  }

  /* ── 숙소 설정 (rooms/setup · edit_listinfo) ── */
  html.sp-force-desktop-ui body:has(#content.rs-wrap) .wh-page-nav-wrap {
    display: block !important;
    max-width: min(720px, calc(100vw - 80px));
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0 !important;
  }

  html.sp-force-desktop-ui body:has(#content.rs-wrap) .rs-tabs {
    display: none !important;
  }

  html.sp-force-desktop-ui .rs-page-frame {
    max-width: min(720px, calc(100vw - 80px));
    margin: 0 auto;
    background: #f2f4f6;
    border-left: 1px solid var(--bottom-naverbar-border-side-color, #e5e7eb);
    border-right: 1px solid var(--bottom-naverbar-border-side-color, #e5e7eb);
  }

  html.sp-force-desktop-ui #content.rs-wrap {
    max-width: none !important;
    margin: 0 !important;
    padding: 12px 16px 56px !important;
    box-sizing: border-box;
    background: transparent !important;
    min-height: auto !important;
    overflow-y: visible !important;
  }

  /* ── 메시지 설정 (빠른답변·예약전송) ── */
  html.sp-force-desktop-ui body:has(#content.ms-page) #content.ms-page {
    max-width: min(1120px, calc(100vw - 80px)) !important;
    margin: 0 auto !important;
    padding: calc(var(--r26-dt-base-header-h, 108px) + 28px) 24px 64px !important;
    background: transparent !important;
    border: 0 !important;
    border-left: none !important;
    border-right: none !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    min-height: auto !important;
  }

  html.sp-force-desktop-ui body:has(#content.ms-page) .wh-page-nav-wrap {
    display: none !important;
  }
}
