/* ==========================================================================
   (주)투어수다 - 상품 상세 개편 1단계 (skin/shop/basic/suda_item_detail.skin.php). SUDA CUSTOM (2026-10-24), 신규 파일.
   배치는 하나투어 상세 참고(폭 1200 = 본문 870 + 간격 45 + 예약 박스 285, 섹션 제목 22px · 섹션 간격 60px),
   색·글꼴·버튼은 투어수다(css/gnb.css 변수). 1024px 이하: 한 줄 배치 + 하단 고정 바 + 예약 시트.
   ========================================================================== */

#sit.sdt-wrap{ max-width: 1200px; margin: 0 auto; padding: 0; background: none; border: 0; }
.sdt{ --sdt-top: calc(var(--suda-header-h, 96px) + 16px); color: var(--suda-gray-900); font-size: 15px; }
.sdt *, .sdt *::before, .sdt *::after{ box-sizing: border-box; }
.sdt h1, .sdt h2, .sdt h3{ letter-spacing: -0.02em; }

/* 경로 (작게) */
.sdt-crumb{ display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin: 0 0 16px; font-size: 13px; color: var(--suda-gray-500); }
.sdt-crumb a{ color: var(--suda-gray-500); }
.sdt-crumb a:hover{ color: var(--suda-gray-900); }
.sdt-crumb svg{ width: 12px; height: 12px; color: var(--suda-gray-400); }

/* ---------- 맨 위: 이미지 674 / 정보 490 ---------- */
.sdt-top{ display: grid; grid-template-columns: 674px minmax(0, 1fr); gap: 36px; align-items: start; }
.sdt-gallery{ position: relative; aspect-ratio: 674 / 454; border-radius: 16px; overflow: hidden; background: var(--suda-gray-900); }
.sdt-gallery-track{ display: flex; height: 100%; transition: transform .35s ease; }
.sdt-slide{ flex: 0 0 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.sdt-slide img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.sdt-slide.is-video > *{ width: 100%; height: 100%; }
.sdt-slide.is-video video, .sdt-slide.is-video iframe{ width: 100%; height: 100%; object-fit: cover; border: 0; }
.sdt-gallery-nav{ position: absolute; top: 50%; width: 44px; height: 44px; margin-top: -22px; border: 0; border-radius: 50%; background: rgba(255,255,255,.9); color: var(--suda-gray-900); display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 2px 8px rgba(0,0,0,.15); }
.sdt-gallery-nav svg{ width: 22px; height: 22px; }
.sdt-gallery-nav.is-prev{ left: 16px; }
.sdt-gallery-nav.is-next{ right: 16px; }
.sdt-gallery-count{ position: absolute; right: 16px; bottom: 16px; padding: 4px 12px; border-radius: 999px; background: rgba(17,24,39,.6); color: #fff; font-size: 13px; }

.sdt-summary{ min-width: 0; }
.sdt-tags{ display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.sdt-tag{ display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border: 1px solid var(--suda-gray-200); border-radius: 6px; font-size: 13px; font-weight: 600; color: var(--suda-gray-700); }
.sdt-tag.is-type{ border-color: var(--suda-blue); color: var(--suda-blue); }
.sdt-tag.is-ok{ border-color: #16a34a; color: #16a34a; }
.sdt-code{ margin-left: auto; font-size: 13px; color: var(--suda-gray-400); }
.sdt-title{ margin: 14px 0 0; font-size: 26px; font-weight: 700; line-height: 1.4; word-break: keep-all; overflow-wrap: anywhere; }
.sdt-basic{ margin: 8px 0 0; font-size: 15px; line-height: 1.6; color: var(--suda-gray-500); }
.sdt-hashtags{ display: flex; flex-wrap: wrap; gap: 4px 10px; margin: 22px 0 0; padding-top: 18px; border-top: 1px solid var(--suda-gray-200); font-size: 14px; color: var(--suda-blue); }
.sdt-meta{ display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; }
.sdt-rating{ display: inline-flex; align-items: center; gap: 4px; font-size: 14px; color: var(--suda-gray-700); }
.sdt-rating svg{ width: 16px; height: 16px; color: #f59e0b; }
.sdt-rating a{ margin-left: 6px; color: var(--suda-gray-500); text-decoration: underline; }
.sdt-actions{ position: relative; display: inline-flex; align-items: center; gap: 6px; }
.sdt-icon-btn{ display: inline-flex; align-items: center; justify-content: center; gap: 3px; min-width: 40px; height: 40px; padding: 0 10px; border: 1px solid var(--suda-gray-200); border-radius: 10px; background: #fff; color: var(--suda-gray-700); font-size: 13px; font-weight: 700; cursor: pointer; }
.sdt-icon-btn svg{ width: 18px; height: 18px; }
.sdt-icon-btn:hover{ border-color: var(--suda-gray-400); }
.sdt-share-pop{ position: absolute; top: calc(100% + 8px); right: 0; z-index: 30; display: flex; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid var(--suda-gray-200); border-radius: 10px; background: #fff; box-shadow: 0 8px 24px rgba(17,24,39,.12); white-space: nowrap; }
.sdt-share-pop[hidden]{ display: none; }
.sdt-share-pop img{ width: 28px; height: 28px; }
.sdt-copy-link{ height: 30px; padding: 0 10px; border: 1px solid var(--suda-gray-200); border-radius: 6px; background: #fff; font-size: 12px; cursor: pointer; }

.sdt-keys{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 20px 0 0; padding: 0; list-style: none; }
.sdt-keys li{ display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 12px 6px; border-radius: 12px; background: var(--suda-gray-50); text-align: center; }
.sdt-key-icon{ display: inline-flex; color: var(--suda-blue); }
.sdt-key-icon svg{ width: 22px; height: 22px; }
.sdt-key-label{ font-size: 12px; color: var(--suda-gray-500); }
.sdt-keys b{ font-size: 13px; font-weight: 700; color: var(--suda-gray-900); }

.sdt-price{ display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--suda-gray-200); }
.sdt-price s{ width: 100%; font-size: 14px; color: var(--suda-gray-400); }
.sdt-price-label{ font-size: 15px; color: var(--suda-gray-500); }
.sdt-price strong{ font-size: 32px; font-weight: 800; color: var(--suda-gray-900); }
.sdt-price-won{ font-size: 18px; font-weight: 700; }
.sdt-price-note{ margin: 6px 0 0; font-size: 13px; color: var(--suda-gray-500); }

/* ---------- 본문 870 + 예약 박스 285 ---------- */
.sdt-body{ display: grid; grid-template-columns: 870px 285px; gap: 45px; margin-top: 60px; padding-top: 40px; border-top: 2px solid var(--suda-gray-900); align-items: stretch; }
.sdt-main{ min-width: 0; }
.sdt-sec{ margin-top: 60px; scroll-margin-top: calc(var(--suda-header-h, 96px) + 76px); }
.sdt-main > .sdt-sec:first-child{ margin-top: 0; }
.sdt-sec-title{ margin: 0 0 20px; font-size: 22px; font-weight: 600; line-height: 1.4; }
.sdt-sec-title small{ margin-left: 6px; font-size: 16px; font-weight: 600; color: var(--suda-gray-500); }
.sdt-sub-title{ margin: 28px 0 12px; font-size: 17px; font-weight: 700; }
.sdt-text{ font-size: 15px; line-height: 1.75; color: var(--suda-gray-700); overflow-wrap: anywhere; }
.sdt-text + .sdt-text{ margin-top: 8px; }
.sdt-notes{ margin: 12px 0 0; padding: 0; list-style: none; font-size: 13px; color: var(--suda-gray-500); }
.sdt-notes li::before{ content: "· "; }
.sdt-btn-line{ display: inline-flex; align-items: center; gap: 6px; height: 44px; margin-top: 16px; padding: 0 18px; border: 1px solid var(--suda-gray-200); border-radius: 10px; background: #fff; font-size: 14px; font-weight: 700; color: var(--suda-gray-900); cursor: pointer; }
.sdt-btn-line svg{ width: 16px; height: 16px; color: var(--suda-blue); }
.sdt-btn-line:hover{ border-color: var(--suda-blue); color: var(--suda-blue); }

/* 주요일정 */
.sdt-sched{ margin: 0; border-top: 1px solid var(--suda-gray-900); }
.sdt-sched > div{ display: flex; gap: 16px; padding: 14px 4px; border-bottom: 1px solid var(--suda-gray-200); }
.sdt-sched > div[hidden]{ display: none; }
.sdt-sched dt{ flex: 0 0 90px; font-size: 14px; font-weight: 700; color: var(--suda-gray-500); }
.sdt-sched dd{ margin: 0; font-size: 15px; font-weight: 600; }
.sdt-sched-sub{ margin-left: 8px; font-weight: 400; color: var(--suda-gray-500); }

/* 표 */
.sdt-table-wrap{ overflow-x: auto; }
.sdt-table{ width: 100%; border-collapse: collapse; border-top: 1px solid var(--suda-gray-900); font-size: 14px; }
.sdt-table th, .sdt-table td{ padding: 14px 12px; border-bottom: 1px solid var(--suda-gray-200); text-align: center; }
.sdt-table thead th{ background: var(--suda-gray-50); font-weight: 700; color: var(--suda-gray-700); }
.sdt-table tbody th{ font-weight: 600; color: var(--suda-gray-900); white-space: nowrap; }
.sdt-table td{ color: var(--suda-gray-700); }
.sdt-table .is-left{ text-align: left; }
.sdt-price-table td:nth-child(2){ font-weight: 700; color: var(--suda-gray-900); }
.sdt-price-table tr.is-current{ background: rgba(65,84,255,.05); }
.sdt-table em.is-soldout{ margin-left: 4px; padding: 1px 6px; border-radius: 4px; background: var(--suda-gray-100); font-style: normal; font-size: 12px; color: var(--suda-gray-500); }

/* 포함/불포함 */
.sdt-inc{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.sdt-inc-box{ padding: 20px 22px; border: 1px solid var(--suda-gray-200); border-radius: 12px; }
.sdt-inc-box h3{ margin: 0 0 12px; font-size: 16px; font-weight: 700; }
.sdt-inc-box.is-in h3{ color: var(--suda-blue); }
.sdt-inc-box.is-out h3{ color: var(--suda-red); }
.sdt-inc-box ul{ margin: 0; padding: 0; list-style: none; }
.sdt-inc-box li{ position: relative; padding-left: 14px; font-size: 14px; line-height: 1.7; color: var(--suda-gray-700); }
.sdt-inc-box li::before{ content: ""; position: absolute; left: 2px; top: 10px; width: 4px; height: 4px; border-radius: 50%; background: var(--suda-gray-400); }

/* 여행지 정보 (컨시어지: 섹션 제목이 따로 있어 안쪽 제목·테두리는 뺀다) */
#sdt-dest .suda-concierge{ margin: 0; padding: 0; border: 0; box-shadow: none; background: none; }
#sdt-dest .suda-concierge-title{ display: none; }

/* 섹션 탭 - 요약 섹션 다음, 스크롤하면 상단 고정 */
.sdt-tabs{ position: sticky; top: var(--suda-header-h, 96px); z-index: 60; margin-top: 60px; background: #fff; }
.sdt-tabs ul{ display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); margin: 0; padding: 0; list-style: none; border: 1px solid var(--suda-gray-200); border-radius: 12px; overflow: hidden; background: #fff; }
.sdt-tabs li + li{ border-left: 1px solid var(--suda-gray-200); }
.sdt-tabs a{ display: flex; align-items: center; justify-content: center; gap: 4px; height: 56px; font-size: 17px; font-weight: 500; color: var(--suda-gray-700); white-space: nowrap; }
.sdt-tabs a span{ font-size: 14px; color: var(--suda-gray-400); }
.sdt-tabs a:hover{ color: var(--suda-blue); }
.sdt-tabs a.is-active{ background: var(--suda-blue); color: #fff; font-weight: 700; }
.sdt-tabs a.is-active span{ color: rgba(255,255,255,.8); }
.sdt-tabs.is-stuck ul{ border-radius: 0 0 12px 12px; box-shadow: 0 6px 16px rgba(17,24,39,.08); }
.sdt-tabs + .sdt-sec{ margin-top: 40px; }

/* 여행일정 */
.sdt-itin{ margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--suda-gray-900); }
.sdt-day{ border-bottom: 1px solid var(--suda-gray-200); }
.sdt-day summary{ display: flex; align-items: center; gap: 14px; padding: 18px 4px; cursor: pointer; list-style: none; }
.sdt-day summary::-webkit-details-marker{ display: none; }
.sdt-day summary svg{ margin-left: auto; width: 20px; height: 20px; color: var(--suda-gray-400); transition: transform .2s ease; }
.sdt-day details[open] summary svg{ transform: rotate(180deg); }
.sdt-day-no{ flex-shrink: 0; display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border-radius: 999px; background: var(--suda-blue); color: #fff; font-size: 13px; font-weight: 700; }
.sdt-day-title{ font-size: 17px; font-weight: 700; }
.sdt-day-body{ padding: 0 4px 20px 4px; }
.sdt-day-place{ display: flex; align-items: center; gap: 6px; margin: 0 0 10px; font-size: 14px; font-weight: 600; color: var(--suda-gray-700); }
.sdt-day-place svg{ width: 16px; height: 16px; color: var(--suda-blue); }
.sdt-day-meta{ display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 14px 0 0; padding: 12px 16px; border-radius: 10px; background: var(--suda-gray-50); font-size: 14px; }
.sdt-day-meta > div{ display: flex; gap: 8px; }
.sdt-day-meta dt{ font-weight: 700; color: var(--suda-gray-500); }
.sdt-day-meta dd{ margin: 0; }

/* 상품설명 (에디터 이미지는 본문 폭에 맞춰 길게) */
.sdt-explan{ font-size: 15px; line-height: 1.75; overflow-wrap: anywhere; }
.sdt-explan img{ max-width: 100% !important; height: auto !important; }
.sdt-legal{ margin-top: 24px; border-top: 1px solid var(--suda-gray-200); }
.sdt-legal summary{ display: flex; align-items: center; gap: 6px; padding: 16px 4px; font-size: 15px; font-weight: 700; cursor: pointer; list-style: none; }
.sdt-legal summary::-webkit-details-marker{ display: none; }
.sdt-legal summary svg{ width: 18px; height: 18px; color: var(--suda-gray-400); }
#sdt-desc .suda-item-extras{ margin: 0 0 24px; }

/* ---------- 예약 박스 285 (스크롤하면 따라다님) ---------- */
.sdt-side{ min-width: 0; }
.sdt-booking{ position: sticky; top: var(--sdt-top); max-height: calc(100vh - var(--suda-header-h, 96px) - 32px); overflow-y: auto; border: 1px solid var(--suda-gray-200); border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(17,24,39,.06); }
.sdt-booking-head{ display: flex; align-items: center; justify-content: space-between; padding: 18px 20px 0; }
.sdt-booking-head strong{ font-size: 20px; font-weight: 700; }
.sdt-booking-close{ display: none; width: 36px; height: 36px; border: 0; background: none; color: var(--suda-gray-500); cursor: pointer; }
.sdt-booking-body{ padding: 12px 20px 20px; }
/* 기존 구매폼에서 상단(이미지·제목·가격표)과 형제상품은 맨 위 영역에 있으므로 숨김 */
.sdt-booking #sit_ov_from{ border: 0; border-radius: 0; background: none; padding: 0; margin: 0; }
.sdt-booking #sit_ov_wrap{ display: block; width: auto; margin: 0; padding: 0; }
.sdt-booking #sit_pvi, .sdt-booking #sit_title, .sdt-booking #sit_desc, .sdt-booking #sit_opt_info,
.sdt-booking #sit_star_sns, .sdt-booking .sit_info, .sdt-booking #sit_siblings{ display: none !important; }
.sdt-booking #sit_ov{ float: none; position: static; width: auto; margin: 0; padding: 0; border: 0; }
.sdt-booking .suda_dep_widget{ margin: 0 0 12px; }
.sdt-booking .suda_dep_widget > h3{ margin: 0 0 10px; font-size: 15px; font-weight: 700; }
.sdt-booking .suda_dep_cal_head strong{ font-size: 14px; }
.sdt-booking .suda_dep_cal_head button{ padding: 4px 8px; font-size: 12px; }
.sdt-booking .suda_dep_cal_tbl th{ font-size: 11px; padding: 4px 0; }
.sdt-booking .suda_dep_day_btn{ padding: 5px 0 6px; }
.sdt-booking .suda_dep_daynum{ font-size: 12px; }
.sdt-booking .suda_dep_price{ display: none; } /* 좁은 박스 - 출발일별 요금은 본문 "상품가격"과 인원 선택에 */
.sdt-booking .suda_dep_remain{ font-size: 9px; padding: 0 2px; }
.sdt-booking .suda_dep_persons h4{ margin: 14px 0 6px; font-size: 14px; }
.sdt-booking #sit_tot_price{ margin: 12px 0 0; padding: 14px 0 0; border-top: 1px solid var(--suda-gray-200); font-size: 14px; }
.sdt-booking #sit_tot_price strong{ font-size: 20px; color: var(--suda-gray-900); }
.sdt-booking #sit_ov_btn{ display: flex; gap: 8px; margin-top: 14px; }
.sdt-booking #sit_ov_btn::after{ content: none; }
.sdt-booking #sit_ov_btn .sit_btn_buy{ float: none; flex: 1 1 auto; width: auto; height: 52px; margin: 0; border: 0; border-radius: 12px; background: var(--suda-blue); font-size: 17px; font-weight: 700; }
.sdt-booking #sit_ov_btn .sit_btn_buy:hover{ background: var(--suda-blue-dark); }
.sdt-booking #sit_ov_btn .sit_btn_wish.suda-zzim-btn{ float: none; flex: 0 0 52px; width: 52px; height: 52px; margin: 0; border: 1px solid var(--suda-gray-200); border-radius: 12px; font-size: 22px; }
.sdt-booking .suda-quote-item-cta .btn{ display: flex; align-items: center; justify-content: center; height: 52px; border-radius: 12px; }

/* 모바일 하단 바·시트는 1024 이하에서만 */
.sdt-mbar, .sdt-dim{ display: none; }

/* ==========================================================================
   반응형 (px ÷ 기준폭 × 100 = vw)
   ========================================================================== */
@media screen and (max-width:1024px){
    #sit.sdt-wrap{ padding: 0 2.34vw; }
    .sdt{ font-size: 1.46vw; padding-bottom: 9.77vw; }
    .sdt-crumb{ gap: 0.39vw; margin-bottom: 1.56vw; font-size: 1.27vw; }
    .sdt-top{ grid-template-columns: minmax(0, 1.37fr) minmax(0, 1fr); gap: 3.52vw; }
    .sdt-gallery{ border-radius: 1.56vw; }
    .sdt-gallery-nav{ width: 4.3vw; height: 4.3vw; margin-top: -2.15vw; }
    .sdt-gallery-count{ right: 1.56vw; bottom: 1.56vw; padding: 0.39vw 1.17vw; font-size: 1.27vw; }
    .sdt-tag{ height: 2.54vw; padding: 0 0.98vw; border-radius: 0.59vw; font-size: 1.27vw; }
    .sdt-code{ font-size: 1.27vw; }
    .sdt-title{ margin-top: 1.37vw; font-size: 2.54vw; }
    .sdt-basic{ font-size: 1.46vw; }
    .sdt-hashtags{ margin-top: 2.15vw; padding-top: 1.76vw; font-size: 1.37vw; }
    .sdt-meta{ margin-top: 1.76vw; }
    .sdt-rating{ font-size: 1.37vw; }
    .sdt-icon-btn{ min-width: 3.91vw; height: 3.91vw; border-radius: 0.98vw; font-size: 1.27vw; }
    .sdt-keys{ gap: 0.98vw; margin-top: 1.95vw; }
    .sdt-keys li{ padding: 1.17vw 0.59vw; border-radius: 1.17vw; }
    .sdt-key-label{ font-size: 1.17vw; }
    .sdt-keys b{ font-size: 1.27vw; }
    .sdt-price{ margin-top: 2.34vw; padding-top: 1.95vw; }
    .sdt-price-label{ font-size: 1.46vw; }
    .sdt-price strong{ font-size: 3.13vw; }
    .sdt-price-won{ font-size: 1.76vw; }
    .sdt-price-note{ font-size: 1.27vw; }

    .sdt-body{ grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: 5.86vw; padding-top: 3.91vw; }
    .sdt-sec{ margin-top: 5.86vw; scroll-margin-top: calc(var(--suda-header-h, 96px) + 6.84vw); }
    .sdt-sec-title{ margin-bottom: 1.95vw; font-size: 2.15vw; }
    .sdt-sec-title small{ font-size: 1.56vw; }
    .sdt-sub-title{ margin: 2.73vw 0 1.17vw; font-size: 1.66vw; }
    .sdt-text{ font-size: 1.46vw; }
    .sdt-notes{ font-size: 1.27vw; }
    .sdt-btn-line{ height: 4.3vw; margin-top: 1.56vw; padding: 0 1.76vw; border-radius: 0.98vw; font-size: 1.37vw; }
    .sdt-sched > div{ gap: 1.56vw; padding: 1.37vw 0.39vw; }
    .sdt-sched dt{ flex-basis: 8.79vw; font-size: 1.37vw; }
    .sdt-sched dd{ font-size: 1.46vw; }
    .sdt-table{ font-size: 1.37vw; }
    .sdt-table th, .sdt-table td{ padding: 1.37vw 1.17vw; }
    .sdt-inc{ gap: 1.56vw; }
    .sdt-inc-box{ padding: 1.95vw 2.15vw; border-radius: 1.17vw; }
    .sdt-inc-box h3{ font-size: 1.56vw; }
    .sdt-inc-box li{ font-size: 1.37vw; }
    .sdt-tabs{ margin-top: 5.86vw; }
    .sdt-tabs ul{ border-radius: 1.17vw; }
    .sdt-tabs a{ height: 5.47vw; font-size: 1.56vw; }
    .sdt-tabs a span{ font-size: 1.27vw; }
    .sdt-day summary{ gap: 1.37vw; padding: 1.76vw 0.39vw; }
    .sdt-day-no{ height: 2.73vw; padding: 0 1.17vw; font-size: 1.27vw; }
    .sdt-day-title{ font-size: 1.66vw; }
    .sdt-day-meta{ font-size: 1.37vw; }
    .sdt-explan{ font-size: 1.46vw; }

    /* 예약 박스 → 아래에서 올라오는 시트 */
    .sdt-side{ position: fixed; left: 0; right: 0; bottom: 0; z-index: 1300; transform: translateY(105%); transition: transform .3s ease; }
    .sdt-side.is-open{ transform: translateY(0); }
    .sdt-booking{ position: static; max-height: 85vh; border: 0; border-radius: 2.34vw 2.34vw 0 0; box-shadow: 0 -8px 24px rgba(17,24,39,.15); }
    .sdt-booking-head{ position: sticky; top: 0; z-index: 2; padding: 1.95vw 2.34vw 1.17vw; background: #fff; }
    .sdt-booking-head strong{ font-size: 1.95vw; }
    .sdt-booking-close{ display: inline-flex; align-items: center; justify-content: center; width: 4.3vw; height: 4.3vw; }
    .sdt-booking-body{ padding: 0 2.34vw 2.34vw; }
    .sdt-booking .suda_dep_price{ display: block; font-size: 1.07vw; }
    .sdt-booking .suda_dep_daynum{ font-size: 1.27vw; }
    .sdt-booking #sit_ov_btn .sit_btn_buy{ height: 5.08vw; font-size: 1.66vw; }
    .sdt-booking #sit_ov_btn .sit_btn_wish.suda-zzim-btn{ flex-basis: 5.08vw; width: 5.08vw; height: 5.08vw; }
    .sdt-dim{ display: block; position: fixed; inset: 0; z-index: 1290; background: rgba(17,24,39,.45); }
    .sdt-dim[hidden]{ display: none; }

    .sdt-mbar{ position: fixed; left: 0; right: 0; bottom: 0; z-index: 1200; display: flex; align-items: center; gap: 1.17vw; padding: 1.17vw 2.34vw calc(1.17vw + env(safe-area-inset-bottom)); border-top: 1px solid var(--suda-gray-200); background: #fff; }
    .sdt-mbar-price{ flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
    .sdt-mbar-price span{ font-size: 1.17vw; color: var(--suda-gray-500); }
    .sdt-mbar-price strong{ font-size: 2.15vw; font-weight: 800; }
    .sdt-mbar-price em{ font-style: normal; font-size: 1.37vw; font-weight: 700; }
    .sdt-mbar-heart{ flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 5.08vw; height: 5.08vw; border: 1px solid var(--suda-gray-200); border-radius: 1.17vw; background: #fff; color: var(--suda-gray-700); }
    .sdt-mbar-heart svg{ width: 2.34vw; height: 2.34vw; }
    .sdt-mbar-book{ flex: 0 0 auto; height: 5.08vw; padding: 0 4.3vw; border: 0; border-radius: 999px; background: var(--suda-blue); color: #fff; font-size: 1.66vw; font-weight: 700; cursor: pointer; }
    /* 하단 바와 겹치지 않게 떠 있는 버튼들을 바 높이만큼 올린다 */
    body:has(#sdtMbar) .suda-kakao-fab, body:has(#sdtMbar) .suda-ai-fab, body:has(#sdtMbar) .suda-fsidebar, body:has(#sdtMbar) #sudaZzimToast{ transform: translateY(-7.42vw); }
    body:has(#sdtMbar) #sudaZzimToast.is-show{ transform: translate(-50%, -7.42vw); }
}

@media screen and (max-width:768px){
    #sit.sdt-wrap{ padding: 0 3.13vw; }
    .sdt{ font-size: 1.95vw; padding-bottom: 13.02vw; }
    .sdt-crumb{ display: none; }
    /* 이미지 꽉 차게 → 정보 카드가 이미지 아래를 살짝 덮는다 (하나투어 모바일 흐름) */
    .sdt-top{ display: block; }
    .sdt-gallery{ width: 100vw; margin-left: calc(50% - 50vw); aspect-ratio: 390 / 290; border-radius: 0; }
    .sdt-gallery-nav{ display: none; }
    .sdt-gallery-count{ bottom: 5.21vw; font-size: 1.56vw; }
    .sdt-summary{ position: relative; z-index: 2; margin: -2.08vw calc(50% - 50vw) 0; padding: 3.13vw 3.13vw 0; border-radius: 2.08vw 2.08vw 0 0; background: #fff; }
    .sdt-tag{ height: 3.39vw; padding: 0 1.3vw; border-radius: 0.78vw; font-size: 1.69vw; }
    .sdt-code{ font-size: 1.56vw; }
    .sdt-title{ margin-top: 1.82vw; font-size: 3.13vw; }
    .sdt-basic{ font-size: 1.82vw; }
    .sdt-hashtags{ margin-top: 2.6vw; padding-top: 2.08vw; font-size: 1.82vw; }
    .sdt-rating{ font-size: 1.82vw; }
    .sdt-icon-btn{ min-width: 5.21vw; height: 5.21vw; border-radius: 1.3vw; font-size: 1.69vw; }
    .sdt-icon-btn svg{ width: 2.6vw; height: 2.6vw; }
    /* 핵심 정보: 가로로 밀어서 보기 */
    .sdt-keys{ display: flex; gap: 1.3vw; margin: 2.6vw calc(-3.13vw) 0; padding: 0 3.13vw 0.52vw; overflow-x: auto; scrollbar-width: none; }
    .sdt-keys::-webkit-scrollbar{ display: none; }
    .sdt-keys li{ flex: 0 0 auto; min-width: 14.32vw; padding: 1.56vw 1.3vw; border-radius: 1.56vw; }
    .sdt-key-icon svg{ width: 2.86vw; height: 2.86vw; }
    .sdt-key-label{ font-size: 1.56vw; }
    .sdt-keys b{ font-size: 1.69vw; }
    .sdt-price{ margin-top: 3.13vw; padding-top: 2.6vw; }
    .sdt-price-label{ font-size: 1.82vw; }
    .sdt-price strong{ font-size: 4.17vw; }
    .sdt-price-won{ font-size: 2.34vw; }
    .sdt-price-note{ font-size: 1.56vw; }

    .sdt-body{ margin-top: 5.21vw; padding-top: 4.17vw; }
    .sdt-sec{ margin-top: 7.81vw; scroll-margin-top: calc(var(--suda-header-h, 96px) + 7.81vw); }
    .sdt-sec-title{ margin-bottom: 2.6vw; font-size: 2.86vw; }
    .sdt-sec-title small{ font-size: 2.08vw; }
    .sdt-sub-title{ margin: 3.65vw 0 1.56vw; font-size: 2.21vw; }
    .sdt-text{ font-size: 1.95vw; }
    .sdt-notes{ font-size: 1.69vw; }
    .sdt-btn-line{ width: 100%; justify-content: center; height: 5.73vw; margin-top: 2.08vw; border-radius: 1.3vw; font-size: 1.82vw; }
    .sdt-btn-line svg{ width: 2.08vw; height: 2.08vw; }
    .sdt-sched > div{ gap: 2.08vw; padding: 1.82vw 0.52vw; }
    .sdt-sched dt{ flex-basis: 11.72vw; font-size: 1.82vw; }
    .sdt-sched dd{ font-size: 1.95vw; }
    .sdt-sched-sub{ display: block; margin: 0.52vw 0 0; }
    .sdt-table{ font-size: 1.82vw; }
    .sdt-table th, .sdt-table td{ padding: 1.82vw 1.04vw; }
    .sdt-inc{ grid-template-columns: minmax(0, 1fr); gap: 2.08vw; }
    .sdt-inc-box{ padding: 2.6vw; border-radius: 1.56vw; }
    .sdt-inc-box h3{ font-size: 2.08vw; }
    .sdt-inc-box li{ font-size: 1.82vw; }
    .sdt-tabs{ margin: 7.81vw calc(-3.13vw) 0; }
    .sdt-tabs ul{ display: flex; overflow-x: auto; scrollbar-width: none; border-width: 1px 0; border-radius: 0; }
    .sdt-tabs ul::-webkit-scrollbar{ display: none; }
    .sdt-tabs li{ flex: 0 0 auto; }
    .sdt-tabs a{ height: 6.25vw; padding: 0 2.6vw; font-size: 1.95vw; }
    .sdt-tabs a span{ font-size: 1.56vw; }
    .sdt-tabs.is-stuck ul{ border-radius: 0; }
    .sdt-day summary{ gap: 1.82vw; padding: 2.34vw 0.52vw; }
    .sdt-day summary svg{ width: 2.6vw; height: 2.6vw; }
    .sdt-day-no{ height: 3.65vw; padding: 0 1.56vw; font-size: 1.69vw; }
    .sdt-day-title{ font-size: 2.21vw; }
    .sdt-day-place{ font-size: 1.82vw; }
    .sdt-day-meta{ gap: 1.04vw 3.13vw; padding: 1.56vw 2.08vw; border-radius: 1.3vw; font-size: 1.82vw; }
    .sdt-explan{ font-size: 1.95vw; }
    .sdt-legal summary{ font-size: 1.95vw; }

    .sdt-booking{ border-radius: 3.13vw 3.13vw 0 0; }
    .sdt-booking-head{ padding: 2.6vw 3.13vw 1.56vw; }
    .sdt-booking-head strong{ font-size: 2.6vw; }
    .sdt-booking-close{ width: 5.73vw; height: 5.73vw; }
    .sdt-booking-body{ padding: 0 3.13vw 3.13vw; }
    .sdt-booking .suda_dep_price{ font-size: 1.3vw; }
    .sdt-booking .suda_dep_daynum{ font-size: 1.69vw; }
    .sdt-booking #sit_ov_btn .sit_btn_buy{ height: 6.77vw; font-size: 2.21vw; border-radius: 1.56vw; }
    .sdt-booking #sit_ov_btn .sit_btn_wish.suda-zzim-btn{ flex-basis: 6.77vw; width: 6.77vw; height: 6.77vw; border-radius: 1.56vw; }

    .sdt-mbar{ gap: 1.56vw; padding: 1.56vw 3.13vw calc(1.56vw + env(safe-area-inset-bottom)); }
    .sdt-mbar-price span{ font-size: 1.56vw; }
    .sdt-mbar-price strong{ font-size: 2.86vw; }
    .sdt-mbar-price em{ font-size: 1.82vw; }
    .sdt-mbar-heart{ width: 6.77vw; height: 6.77vw; border-radius: 1.56vw; }
    .sdt-mbar-heart svg{ width: 3.13vw; height: 3.13vw; }
    .sdt-mbar-book{ height: 6.77vw; padding: 0 5.73vw; font-size: 2.21vw; }
    body:has(#sdtMbar) .suda-kakao-fab, body:has(#sdtMbar) .suda-ai-fab, body:has(#sdtMbar) .suda-fsidebar, body:has(#sdtMbar) #sudaZzimToast{ transform: translateY(-9.9vw); }
    body:has(#sdtMbar) #sudaZzimToast.is-show{ transform: translate(-50%, -9.9vw); }
}

@media screen and (max-width:480px){
    #sit.sdt-wrap{ padding: 0 4.44vw; }
    .sdt{ font-size: 3.13vw; padding-bottom: 20.83vw; }
    .sdt-gallery-count{ right: 3.33vw; bottom: 7.5vw; padding: 0.83vw 2.5vw; font-size: 2.71vw; }
    .sdt-summary{ margin-top: -4.17vw; padding: 5vw 4.44vw 0; border-radius: 4.17vw 4.17vw 0 0; }
    .sdt-tags{ gap: 1.25vw; }
    .sdt-tag{ height: 5.83vw; padding: 0 2.08vw; border-radius: 1.25vw; font-size: 2.71vw; }
    .sdt-code{ font-size: 2.5vw; }
    .sdt-title{ margin-top: 2.92vw; font-size: 4.79vw; }
    .sdt-basic{ margin-top: 1.67vw; font-size: 3.13vw; }
    .sdt-hashtags{ gap: 0.83vw 2.08vw; margin-top: 3.75vw; padding-top: 3.33vw; font-size: 2.92vw; }
    .sdt-meta{ margin-top: 3.33vw; }
    .sdt-rating{ font-size: 2.92vw; }
    .sdt-rating svg{ width: 3.33vw; height: 3.33vw; }
    .sdt-icon-btn{ min-width: 8.33vw; height: 8.33vw; padding: 0 2.08vw; border-radius: 2.08vw; font-size: 2.71vw; }
    .sdt-icon-btn svg{ width: 3.75vw; height: 3.75vw; }
    .sdt-keys{ gap: 2.08vw; margin: 4.17vw -4.44vw 0; padding: 0 4.44vw 0.83vw; }
    .sdt-keys li{ min-width: 22.92vw; padding: 2.5vw 2.08vw; border-radius: 2.5vw; }
    .sdt-key-icon svg{ width: 4.58vw; height: 4.58vw; }
    .sdt-key-label{ font-size: 2.5vw; }
    .sdt-keys b{ font-size: 2.71vw; }
    .sdt-price{ margin-top: 5vw; padding-top: 4.17vw; }
    .sdt-price-label{ font-size: 2.92vw; }
    .sdt-price strong{ font-size: 6.25vw; }
    .sdt-price-won{ font-size: 3.75vw; }
    .sdt-price-note{ font-size: 2.5vw; }

    .sdt-body{ margin-top: 6.25vw; padding-top: 6.25vw; border-top-width: 1px; }
    .sdt-sec{ margin-top: 10.42vw; scroll-margin-top: calc(var(--suda-header-h, 96px) + 12.5vw); }
    .sdt-sec-title{ margin-bottom: 3.75vw; font-size: 4.38vw; }
    .sdt-sec-title small{ font-size: 3.13vw; }
    .sdt-sub-title{ margin: 5.83vw 0 2.5vw; font-size: 3.54vw; }
    .sdt-text{ font-size: 3.13vw; }
    .sdt-notes{ font-size: 2.71vw; }
    .sdt-btn-line{ height: 10vw; margin-top: 3.33vw; border-radius: 2.08vw; font-size: 3.13vw; }
    .sdt-btn-line svg{ width: 3.75vw; height: 3.75vw; }
    .sdt-sched > div{ gap: 3.33vw; padding: 3.13vw 0.83vw; }
    .sdt-sched dt{ flex-basis: 16.67vw; font-size: 2.92vw; }
    .sdt-sched dd{ font-size: 3.13vw; }
    .sdt-table{ font-size: 2.92vw; }
    .sdt-table th, .sdt-table td{ padding: 2.92vw 1.67vw; }
    .sdt-inc{ gap: 3.33vw; }
    .sdt-inc-box{ padding: 4.17vw; border-radius: 2.5vw; }
    .sdt-inc-box h3{ margin-bottom: 2.5vw; font-size: 3.33vw; }
    .sdt-inc-box li{ padding-left: 2.92vw; font-size: 3.13vw; }
    .sdt-tabs{ margin: 10.42vw -4.44vw 0; }
    .sdt-tabs a{ height: 11.25vw; padding: 0 4.17vw; font-size: 3.33vw; }
    .sdt-tabs a span{ font-size: 2.71vw; }
    .sdt-tabs + .sdt-sec{ margin-top: 6.25vw; }
    .sdt-day summary{ gap: 2.92vw; padding: 3.75vw 0.83vw; }
    .sdt-day summary svg{ width: 4.17vw; height: 4.17vw; }
    .sdt-day-no{ height: 5.83vw; padding: 0 2.5vw; font-size: 2.71vw; }
    .sdt-day-title{ font-size: 3.54vw; }
    .sdt-day-body{ padding-bottom: 4.17vw; }
    .sdt-day-place{ font-size: 2.92vw; }
    .sdt-day-place svg{ width: 3.33vw; height: 3.33vw; }
    .sdt-day-meta{ gap: 1.67vw 5vw; margin-top: 2.92vw; padding: 2.5vw 3.33vw; border-radius: 2.08vw; font-size: 2.92vw; }
    .sdt-explan{ font-size: 3.13vw; }
    .sdt-legal summary{ padding: 3.33vw 0.83vw; font-size: 3.13vw; }

    .sdt-booking{ border-radius: 5vw 5vw 0 0; }
    .sdt-booking-head{ padding: 4.17vw 4.44vw 2.5vw; }
    .sdt-booking-head strong{ font-size: 4.17vw; }
    .sdt-booking-close{ width: 9.17vw; height: 9.17vw; }
    .sdt-booking-body{ padding: 0 4.44vw 5vw; }
    .sdt-booking .suda_dep_price{ font-size: 2.08vw; }
    .sdt-booking .suda_dep_daynum{ font-size: 2.92vw; }
    .sdt-booking #sit_ov_btn .sit_btn_buy{ height: 11.67vw; font-size: 3.54vw; border-radius: 2.5vw; }
    .sdt-booking #sit_ov_btn .sit_btn_wish.suda-zzim-btn{ flex-basis: 11.67vw; width: 11.67vw; height: 11.67vw; border-radius: 2.5vw; }

    .sdt-mbar{ gap: 2.5vw; padding: 2.5vw 4.44vw calc(2.5vw + env(safe-area-inset-bottom)); }
    .sdt-mbar-price span{ font-size: 2.5vw; }
    .sdt-mbar-price strong{ font-size: 4.58vw; }
    .sdt-mbar-price em{ font-size: 2.92vw; }
    .sdt-mbar-heart{ width: 11.67vw; height: 11.67vw; border-radius: 2.5vw; }
    .sdt-mbar-heart svg{ width: 5.42vw; height: 5.42vw; }
    .sdt-mbar-book{ height: 11.67vw; padding: 0 9.17vw; font-size: 3.75vw; }
    body:has(#sdtMbar) .suda-kakao-fab, body:has(#sdtMbar) .suda-ai-fab, body:has(#sdtMbar) .suda-fsidebar, body:has(#sdtMbar) #sudaZzimToast{ transform: translateY(-16.67vw); }
    body:has(#sdtMbar) #sudaZzimToast.is-show{ transform: translate(-50%, -16.67vw); }
}

/* "다른 출발일 선택" → PC 예약 박스 잠깐 강조 */
.sdt-side.is-flash .sdt-booking{ box-shadow: 0 0 0 3px rgba(65,84,255,.35), 0 8px 24px rgba(17,24,39,.06); transition: box-shadow .2s ease; }
/* 예약 시트가 열려 있는 동안 떠 있는 버튼(카톡·AI·오른쪽 아이콘)은 숨김 - 시트 닫기 버튼을 가리지 않게 */
html.sdt-sheet-open .suda-kakao-fab, html.sdt-sheet-open .suda-ai-fab, html.sdt-sheet-open .suda-fsidebar{ visibility: hidden; }

/* ==========================================================================
   2단계 (2026-10-24): 확정 여부 칩 / 출발일별 항공편 / 예약 박스 "다른 출발일 선택" 창 / 여행지 소개
   ========================================================================== */
.sdt-conf{ display: flex; flex-wrap: wrap; gap: 6px; margin: 20px 0 0; padding: 0; list-style: none; }
.sdt-conf-chip{ display: inline-flex; align-items: center; gap: 2px; height: 30px; padding: 0 12px; border: 1px solid var(--suda-gray-200); border-radius: 999px; background: #fff; font-size: 13px; color: var(--suda-gray-500); }
.sdt-conf-chip b{ font-weight: 700; }
.sdt-conf-chip.is-on{ border-color: var(--suda-blue); background: rgba(65,84,255,.06); color: var(--suda-blue); }

.sdt-legs{ display: grid; gap: 10px; margin-top: 16px; }
.sdt-leg{ display: flex; gap: 16px; padding: 16px 18px; border: 1px solid var(--suda-gray-200); border-radius: 12px; }
.sdt-leg-label{ flex: 0 0 auto; display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: 6px; background: var(--suda-gray-900); color: #fff; font-size: 12px; font-weight: 700; }
.sdt-leg-body{ min-width: 0; }
.sdt-leg-body p{ margin: 0; }
.sdt-leg-air{ font-size: 15px; font-weight: 700; }
.sdt-leg-time{ margin-top: 4px !important; font-size: 14px; color: var(--suda-gray-700); }
.sdt-leg-time b{ margin-right: 2px; color: var(--suda-gray-500); font-weight: 600; }
.sdt-leg-arrow{ margin: 0 4px; color: var(--suda-gray-400); }
.sdt-leg-dur{ margin-top: 4px !important; font-size: 13px; color: var(--suda-blue); }

.sdt-picked{ margin: 0 0 12px; padding: 14px; border-radius: 12px; background: var(--suda-gray-50); }
.sdt-picked p{ margin: 0; }
.sdt-picked-label{ font-size: 12px; color: var(--suda-gray-500); }
.sdt-picked-date{ margin-top: 2px !important; font-size: 15px; font-weight: 700; }
.sdt-picked .sdt-btn-line{ width: 100%; justify-content: center; margin-top: 10px; height: 40px; }

.sdt-dest-text{ margin-bottom: 20px; padding: 18px 20px; border-radius: 12px; background: var(--suda-gray-50); }

.sdt-cal-modal{ position: fixed; inset: 0; z-index: 1400; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(17,24,39,.5); }
.sdt-cal-modal[hidden]{ display: none; }
.sdt-cal-dialog{ width: 480px; max-width: 100%; max-height: calc(100vh - 32px); overflow-y: auto; border-radius: 16px; background: #fff; box-shadow: 0 20px 48px rgba(17,24,39,.25); }
.sdt-cal-head{ position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid var(--suda-gray-200); background: #fff; }
.sdt-cal-head strong{ font-size: 18px; font-weight: 700; }
.sdt-cal-close{ display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 0; background: none; color: var(--suda-gray-500); cursor: pointer; }
.sdt-cal-body{ padding: 16px 20px 4px; }
.sdt-cal-note{ margin: 0; padding: 0 20px 18px; font-size: 12px; color: var(--suda-gray-500); }
html.sdt-cal-open{ overflow: hidden; }
html.sdt-cal-open .suda-kakao-fab, html.sdt-cal-open .suda-ai-fab, html.sdt-cal-open .suda-fsidebar{ visibility: hidden; }

@media screen and (max-width:1024px){
    .sdt-conf{ gap: 0.59vw; margin-top: 1.95vw; }
    .sdt-conf-chip{ height: 2.93vw; padding: 0 1.17vw; font-size: 1.27vw; }
    .sdt-legs{ gap: 0.98vw; margin-top: 1.56vw; }
    .sdt-leg{ gap: 1.56vw; padding: 1.56vw 1.76vw; border-radius: 1.17vw; }
    .sdt-leg-label{ height: 2.54vw; padding: 0 0.98vw; font-size: 1.17vw; }
    .sdt-leg-air{ font-size: 1.46vw; }
    .sdt-leg-time{ font-size: 1.37vw; }
    .sdt-leg-dur{ font-size: 1.27vw; }
    .sdt-picked{ margin-bottom: 1.17vw; padding: 1.37vw; border-radius: 1.17vw; }
    .sdt-picked-label{ font-size: 1.17vw; }
    .sdt-picked-date{ font-size: 1.46vw; }
    .sdt-picked .sdt-btn-line{ height: 3.91vw; margin-top: 0.98vw; }
    .sdt-dest-text{ margin-bottom: 1.95vw; padding: 1.76vw 1.95vw; border-radius: 1.17vw; }
    .sdt-cal-dialog{ width: 46.88vw; border-radius: 1.56vw; }
    .sdt-cal-head{ padding: 1.76vw 1.95vw; }
    .sdt-cal-head strong{ font-size: 1.76vw; }
    .sdt-cal-body{ padding: 1.56vw 1.95vw 0.39vw; }
    .sdt-cal-note{ padding: 0 1.95vw 1.76vw; font-size: 1.17vw; }
}
@media screen and (max-width:768px){
    .sdt-conf{ gap: 0.78vw; margin-top: 2.6vw; }
    .sdt-conf-chip{ height: 3.91vw; padding: 0 1.56vw; font-size: 1.69vw; }
    .sdt-legs{ gap: 1.3vw; margin-top: 2.08vw; }
    .sdt-leg{ flex-direction: column; gap: 1.04vw; padding: 2.08vw; border-radius: 1.56vw; }
    .sdt-leg-label{ align-self: flex-start; height: 3.39vw; padding: 0 1.3vw; font-size: 1.56vw; }
    .sdt-leg-air{ font-size: 1.95vw; }
    .sdt-leg-time{ font-size: 1.82vw; }
    .sdt-leg-dur{ font-size: 1.69vw; }
    .sdt-picked{ margin-bottom: 1.56vw; padding: 1.82vw; border-radius: 1.56vw; }
    .sdt-picked-label{ font-size: 1.56vw; }
    .sdt-picked-date{ font-size: 1.95vw; }
    .sdt-picked .sdt-btn-line{ height: 5.21vw; margin-top: 1.3vw; }
    .sdt-dest-text{ margin-bottom: 2.6vw; padding: 2.34vw 2.6vw; border-radius: 1.56vw; }
    /* 모바일: 아래에서 올라오는 전체 폭 창 */
    .sdt-cal-modal{ align-items: flex-end; padding: 0; }
    .sdt-cal-dialog{ width: 100%; max-height: 90vh; border-radius: 3.13vw 3.13vw 0 0; }
    .sdt-cal-head{ padding: 2.34vw 3.13vw; }
    .sdt-cal-head strong{ font-size: 2.6vw; }
    .sdt-cal-close{ width: 5.73vw; height: 5.73vw; }
    .sdt-cal-body{ padding: 2.08vw 3.13vw 0.52vw; }
    .sdt-cal-note{ padding: 0 3.13vw calc(2.6vw + env(safe-area-inset-bottom)); font-size: 1.56vw; }
}
@media screen and (max-width:480px){
    .sdt-conf{ gap: 1.25vw; margin-top: 4.17vw; }
    .sdt-conf-chip{ height: 6.67vw; padding: 0 2.5vw; font-size: 2.71vw; }
    .sdt-legs{ gap: 2.08vw; margin-top: 3.33vw; }
    .sdt-leg{ gap: 1.67vw; padding: 3.33vw; border-radius: 2.5vw; }
    .sdt-leg-label{ height: 5.42vw; padding: 0 2.08vw; font-size: 2.5vw; border-radius: 1.25vw; }
    .sdt-leg-air{ font-size: 3.13vw; }
    .sdt-leg-time{ font-size: 2.92vw; }
    .sdt-leg-dur{ font-size: 2.71vw; }
    .sdt-picked{ margin-bottom: 2.5vw; padding: 2.92vw; border-radius: 2.5vw; }
    .sdt-picked-label{ font-size: 2.5vw; }
    .sdt-picked-date{ font-size: 3.13vw; }
    .sdt-picked .sdt-btn-line{ height: 8.33vw; margin-top: 2.08vw; }
    .sdt-dest-text{ margin-bottom: 4.17vw; padding: 3.75vw 4.17vw; border-radius: 2.5vw; }
    .sdt-cal-dialog{ border-radius: 5vw 5vw 0 0; }
    .sdt-cal-head{ padding: 3.75vw 4.44vw; }
    .sdt-cal-head strong{ font-size: 4.17vw; }
    .sdt-cal-close{ width: 9.17vw; height: 9.17vw; }
    .sdt-cal-body{ padding: 3.33vw 4.44vw 0.83vw; }
    .sdt-cal-note{ padding: 0 4.44vw calc(4.17vw + env(safe-area-inset-bottom)); font-size: 2.5vw; }
}
/* 출발일 선택 창: 폭이 넓어 모바일에서도 날짜 아래 금액을 작게 보여준다 (달력 기본 CSS는 480px 이하에서 숨김) */
@media screen and (max-width:480px){
    #sdtCalBody .suda_dep_price{ display: block; font-size: 2.5vw; letter-spacing: -0.02em; white-space: nowrap; }
    #sdtCalBody .sdt-p-full{ display: none; }
    #sdtCalBody .sdt-p-short{ display: inline; }
}
.sdt-p-short{ display: none; }
/* 가격표 머리줄 연령 기준 (2026-10-24) */
.sdt-age{ display: block; margin-top: 2px; font-size: 12px; font-weight: 400; color: var(--suda-gray-500); }
@media screen and (max-width:1024px){ .sdt-age{ margin-top: 0.2vw; font-size: 1.17vw; } }
@media screen and (max-width:768px){ .sdt-age{ margin-top: 0.26vw; font-size: 1.56vw; } }
@media screen and (max-width:480px){ .sdt-age{ margin-top: 0.42vw; font-size: 2.5vw; } }

/* ==========================================================================
   SUDA CUSTOM (2026-10-24): 고객 화면 표 정리 - 선택관광·취소 규정·상품정보 제공고시 표 → dl(.sdt-kv), 가격표는 table 유지 + 768 이하 카드형
   색·글자·간격은 기존 .sdt-table 과 같게. 원본: css/suda_item_detail.css.bak.20261024c
   ========================================================================== */
.sdt-kv{ border-top: 1px solid var(--suda-gray-900); font-size: 14px; }
.sdt-kv dl{ margin: 0; }
.sdt-kv-head, .sdt-kv dl > div{ display: grid; grid-template-columns: minmax(0, 1fr) 200px; }
.sdt-kv-head span, .sdt-kv dt, .sdt-kv dd{ padding: 14px 12px; border-bottom: 1px solid var(--suda-gray-200); }
.sdt-kv-head span{ background: var(--suda-gray-50); font-weight: 700; color: var(--suda-gray-700); text-align: center; }
.sdt-kv dt{ font-weight: 400; color: var(--suda-gray-700); text-align: left; }
.sdt-kv dd{ margin: 0; color: var(--suda-gray-700); text-align: center; }
.sdt-kv.is-info dl > div{ grid-template-columns: 200px minmax(0, 1fr); }
.sdt-kv.is-info dt{ font-weight: 600; color: var(--suda-gray-900); text-align: center; }
.sdt-kv.is-info dd{ text-align: left; word-break: break-all; }
@media screen and (max-width:1024px){
    .sdt-kv{ font-size: 1.37vw; }
    .sdt-kv-head, .sdt-kv dl > div{ grid-template-columns: minmax(0, 1fr) 19.53vw; }
    .sdt-kv.is-info dl > div{ grid-template-columns: 19.53vw minmax(0, 1fr); }
    .sdt-kv-head span, .sdt-kv dt, .sdt-kv dd{ padding: 1.37vw 1.17vw; }
}
@media screen and (max-width:768px){
    .sdt-kv{ font-size: 1.82vw; }
    .sdt-kv-head{ display: none; }
    .sdt-kv dl > div, .sdt-kv.is-info dl > div{ display: flex; flex-direction: column; gap: 0.52vw; padding: 1.82vw 1.04vw; border-bottom: 1px solid var(--suda-gray-200); }
    .sdt-kv dt, .sdt-kv dd, .sdt-kv.is-info dt, .sdt-kv.is-info dd{ padding: 0; border: 0; text-align: left; }
    .sdt-kv dt{ font-weight: 600; color: var(--suda-gray-900); }
    /* 가격표: 출발일마다 카드 (출발일 머리줄 + 성인·아동·유아 줄) */
    .sdt-price-table, .sdt-price-table tbody{ display: block; border-top: 0; }
    .sdt-price-table thead{ display: none; }
    .sdt-price-table tr{ display: block; margin-bottom: 1.56vw; border: 1px solid var(--suda-gray-200); border-radius: 1.56vw; overflow: hidden; }
    .sdt-price-table tr[hidden]{ display: none; }
    .sdt-price-table tbody th{ display: block; padding: 1.56vw 2.08vw; border-bottom: 1px solid var(--suda-gray-200); background: var(--suda-gray-50); text-align: left; }
    .sdt-price-table td{ display: flex; justify-content: space-between; gap: 2.08vw; padding: 1.3vw 2.08vw; border-bottom: 0; text-align: right; }
    .sdt-price-table td::before{ content: attr(data-label); color: var(--suda-gray-500); }
    .sdt-price-table tr.is-current{ border-color: var(--suda-blue); }
}
@media screen and (max-width:480px){
    .sdt-kv{ font-size: 2.92vw; }
    .sdt-kv dl > div, .sdt-kv.is-info dl > div{ gap: 0.83vw; padding: 2.92vw 1.67vw; }
    .sdt-price-table tr{ margin-bottom: 2.5vw; border-radius: 2.5vw; }
    .sdt-price-table tbody th{ padding: 2.5vw 3.33vw; }
    .sdt-price-table td{ gap: 3.33vw; padding: 2.08vw 3.33vw; }
}

/* SUDA CUSTOM (2026-10-25): 예약 박스 "상담 문의" (바로구매·하트 아래) + 모바일 하단 바 "상담" - extend/suda_consult.lib.extend.php */
.sdt-consult{ margin-top: 10px; text-align: center; }
.sdt-consult-btn{ display: flex; align-items: center; justify-content: center; gap: 6px; height: 48px; border: 1px solid var(--suda-gray-200); border-radius: 12px; background: #fff; font-size: 15px; font-weight: 700; color: var(--suda-gray-900); }
.sdt-consult-btn:hover{ border-color: var(--suda-blue); color: var(--suda-blue); }
.sdt-consult-btn svg{ width: 18px; height: 18px; }
.sdt-consult-info{ margin: 8px 0 0; font-size: 12px; color: var(--suda-gray-500); }
.sdt-consult-info a{ color: var(--suda-gray-700); font-weight: 700; }
.sdt-mbar-consult{ display: none; }
@media screen and (max-width:1024px){
    .sdt-consult{ margin-top: 0.98vw; }
    .sdt-consult-btn{ gap: 0.59vw; height: 4.69vw; border-radius: 1.17vw; font-size: 1.46vw; }
    .sdt-consult-btn svg{ width: 1.76vw; height: 1.76vw; }
    .sdt-consult-info{ margin-top: 0.78vw; font-size: 1.17vw; }
    .sdt-mbar-consult{ flex: 0 0 auto; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.2vw; width: 5.08vw; height: 5.08vw; border: 1px solid var(--suda-gray-200); border-radius: 1.17vw; background: #fff; color: var(--suda-gray-700); font-size: 0.98vw; font-weight: 700; }
    .sdt-mbar-consult svg{ width: 1.95vw; height: 1.95vw; }
}
@media screen and (max-width:768px){
    .sdt-consult{ margin-top: 1.3vw; }
    .sdt-consult-btn{ gap: 0.78vw; height: 6.25vw; border-radius: 1.56vw; font-size: 1.95vw; }
    .sdt-consult-btn svg{ width: 2.34vw; height: 2.34vw; }
    .sdt-consult-info{ margin-top: 1.04vw; font-size: 1.56vw; }
    .sdt-mbar-consult{ gap: 0.26vw; width: 6.77vw; height: 6.77vw; border-radius: 1.56vw; font-size: 1.3vw; }
    .sdt-mbar-consult svg{ width: 2.6vw; height: 2.6vw; }
}
@media screen and (max-width:480px){
    .sdt-consult{ margin-top: 2.08vw; }
    .sdt-consult-btn{ gap: 1.25vw; height: 10vw; border-radius: 2.5vw; font-size: 3.13vw; }
    .sdt-consult-btn svg{ width: 3.75vw; height: 3.75vw; }
    .sdt-consult-info{ margin-top: 1.67vw; font-size: 2.5vw; }
    .sdt-mbar-consult{ gap: 0.42vw; width: 11.67vw; height: 11.67vw; border-radius: 2.5vw; font-size: 2.08vw; }
    .sdt-mbar-consult svg{ width: 4.58vw; height: 4.58vw; }
}
