/* ============================================================
   운영 추가 스타일(라온투어) — 템플릿 assets/css/style.css 위에 얹는다. 템플릿 변수(--brand-500 · --n200 · --r-lg …)만 쓴다.
   · 화면을 바꾸지 않는 것만: 숨김 · 투명 입력칸(검색 상자 · 정렬) · 자리 묶음(display:contents) · 푸터 법적 링크 줄
   · 동작용 요소: 메시지 · 모달 · 알림 · 팝업 · 카카오 상담 · 로고(이미지/문자) · 관리자 편집 본문 · 인쇄
   ============================================================ */
[hidden]{display:none!important}
.cms-hidden{display:none!important}
/* 자리 묶음 — 목록을 감싸도 레이아웃은 그대로(자식이 부모의 flex/grid 항목으로 남는다) */
.hk-contents{display:contents}

/* 투명 입력칸 — 템플릿 라벨(검색 상자 · '20개씩 ▾' · 정렬) 위에 실제 select/input 을 겹친다 */
.sel{position:relative}
.hk-native{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer;font-size:16px;-webkit-appearance:none;appearance:none;background:transparent;color:transparent}
.hk-native::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;cursor:pointer}
.sel:focus-within{border-color:var(--brand-500)}

/* 푸터 법적 링크(개인정보처리방침 · 이용약관 · 취소·환불 규정) */
.foot__legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 10px;font-size:12.5px}
.foot__legal a{color:var(--n400)}
.foot__legal a.is-strong{color:#fff;font-weight:700}
.foot__legal a:hover{color:#fff}

/* 로고 — 이미지/문자 로고(디자인 모드) */
/* 이미지 로고 — 높이를 못 박지 않고 상자(최대 높이 · 최대 폭) 안에 비율대로 맞춘다. 여백이 큰 로고는 js/hk.js 가 먼저 잘라 준다.
   (예전: 높이 38px 고정 · 폭 200px → 2:1 로고가 76×38 로 들어가 글자가 21px 로 보였다) */
.logo img.hk-cms-logo,.foot__logo img.hk-cms-logo{display:block;width:auto;height:auto;max-height:44px;max-width:220px;object-fit:contain}
.foot__logo img.hk-cms-logo{max-height:34px;max-width:180px;border-radius:4px}
img.hk-cms-logo.is-trimming{opacity:0}
@media (max-width:1023px){.logo img.hk-cms-logo{max-height:36px;max-width:170px}}
@media (max-width:479px){.logo img.hk-cms-logo{max-height:32px;max-width:140px}}
.hk-cms-logo-text{font-weight:900;font-size:22px;letter-spacing:-.04em;line-height:1.1;color:var(--n900)}
.foot .hk-cms-logo-text{color:#fff;font-size:17px}

/* 서체 테마(디자인 모드 > 테마) */
.hk-font-serif h1,.hk-font-serif h2,.hk-font-serif h3{font-family:"Noto Serif KR","Apple Myungjo","AppleMyungjo","Nanum Myeongjo","Batang",Georgia,serif}

/* 메시지 · 안내 */
.hk-msg{margin:10px 0;padding:12px 16px;border-radius:10px;background:#FDECEE;color:#B4232E;font-size:13.5px;font-weight:600;line-height:1.6}
.hk-msg.is-ok{background:var(--brand-100);color:var(--brand-700)}
.hk-note{margin-bottom:14px;padding:12px 16px;border-radius:10px;background:var(--n050);font-size:13.5px;line-height:1.7;color:var(--n500)}
.hk-note a{color:var(--brand-500);text-decoration:underline}
.hk-inq-q{margin-bottom:12px;font-size:14px;line-height:1.85;color:var(--n700);white-space:pre-line}
.hk-done-ic--muted{background:var(--n100);color:var(--n500)}
.date[disabled]{opacity:.45;cursor:not-allowed}

/* 헤더 스크롤 — 헤더가 문서에서 차지하는 높이를 바꾸지 않는다(바뀌면 스크롤 위치가 되밀려 축소/복귀가 반복되며 떨린다)
   · 프로모션 · 유틸 줄: 접지 않고 스크롤과 함께 위로 나간다(top 음수 — 높이는 js/site.js 가 잰다)
   · 로고 줄 축소(padding 22→10, 모바일 14→10): 줄어든 만큼 같은 시간 · 같은 곡선으로 margin-bottom 을 늘려 합계를 유지
   assets/ 는 템플릿 변환 때 다시 복사되므로 고치는 곳은 이 파일이다 */
.hd{top:calc(-1 * var(--hd-hide,0px));transition:box-shadow .25s ease,margin-bottom .25s ease}
.hd.is-shrink .promo,.hd.is-shrink .util{max-height:none;opacity:1;overflow:visible}
.hd.is-shrink .util{border-bottom:1px solid var(--n200)}
.hd.is-shrink{margin-bottom:24px}
@media (max-width:1023px){.hd.is-shrink{margin-bottom:8px}}
@media (prefers-reduced-motion:reduce){.hd{transition:none}}
/* 헤더 아래에 붙는 것들 — 헤더에 가려지지 않게 붙어 있는 헤더 높이만큼 내린다 */
.anchors{top:var(--hd-stuck,0px)}
.doc__idx{top:calc(var(--hd-stuck,0px) + 20px)}
:target{scroll-margin-top:calc(var(--hd-stuck2,180px) + 16px)}
/* 옆 상자(상세 가격 상자 · 예약서 결제 상자 · 목록 필터 · 마이페이지 메뉴) — 헤더 · 앵커 탭 아래에 붙고, 화면보다 길면 상자 안에서 스크롤
   (안 그러면 붙어 있는 동안 아래쪽 '바로 예약하기'가 화면 밖에 남는다). 바깥 12px 여유는 스크롤 영역이 그림자를 자르지 않게 하는 몫 */
@media (min-width:1024px){
  .two__side{top:calc(var(--hd-stuck2,0px) + 8px);max-height:calc(100vh - var(--hd-stuck2,0px) - 16px);overflow-y:auto;scrollbar-width:thin;margin:-12px;padding:12px;flex-basis:384px}
  .two--lnb .two__side{flex-basis:296px}
}

/* 상품 상세 출발일 — 월 탭 + 그 달 목록(길면 상자 안에서 스크롤) */
.hk-dep-months{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -2px;padding:2px}
.hk-dep-months::-webkit-scrollbar{display:none}
.hk-dep-month{flex:0 0 auto;min-height:36px;padding:7px 14px;border:1px solid var(--n200);border-radius:var(--r-full);background:#fff;font-size:13.5px;font-weight:600;color:var(--n700);white-space:nowrap;cursor:pointer}
.hk-dep-month.is-on{background:var(--brand-500);border-color:var(--brand-500);color:#fff;font-weight:700}
.hk-dep-month.is-closed:not(.is-on){color:var(--n400)}
.hk-dep-month:focus-visible{outline:2px solid var(--brand-300);outline-offset:2px}
.hk-dep-list{display:flex;flex-direction:column;gap:8px;max-height:332px;overflow-y:auto;overscroll-behavior:contain;padding-right:2px}

/* 모바일 · 태블릿 — 가격 상자를 아래에서 올라오는 시트로(하단 '예약하기') */
.hk-sheet-head{display:none}
@media (max-width:1023px){
  html.hk-sheet-open{overflow:hidden}
  html.hk-sheet-open .buybox{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1210;max-height:88vh;overflow-y:auto;overscroll-behavior:contain;border:0;border-radius:var(--r-lg) var(--r-lg) 0 0;padding:0 var(--gutter,16px) calc(20px + env(safe-area-inset-bottom));gap:16px;box-shadow:var(--shadow-float)}
  html.hk-sheet-open .hk-sheet-head{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:1;margin:0 calc(-1 * var(--gutter,16px));padding:14px var(--gutter,16px) 10px;background:#fff;border-bottom:1px solid var(--n100);font-size:16px}
  .hk-sheet-close{width:40px;height:40px;margin-right:-8px;border:0;background:transparent;font-size:26px;line-height:1;color:var(--n500);cursor:pointer}
  .hk-sheet-dim{display:none}
  html.hk-sheet-open .hk-sheet-dim{display:block;position:fixed;inset:0;z-index:1200;background:rgba(20,24,31,.5)}
  .hk-dep-list{max-height:none;overflow:visible}
}
.btn.is-disabled,.btn[aria-disabled="true"]{opacity:.5;pointer-events:none}
.pcard__like{cursor:pointer}
.pcard__like.is-on,.actionbar__like.is-on{color:var(--accent-500)}

/* 관리자 편집기로 쓴 본문(공지 · 정책 · 기획전 유의사항 · FAQ 답변) */
.article__body ul,.article__body ol,.doc__body ul,.doc__body ol{display:flex;flex-direction:column;gap:6px;padding-left:20px;font-size:15px;line-height:1.9;color:var(--n700)}
.article__body ul,.doc__body ul{list-style:disc}
.article__body ol,.doc__body ol{list-style:decimal}
.article__body img{max-width:100%;height:auto;border-radius:var(--r-md)}
.article__body a,.doc__body a,.acc__a a{color:var(--brand-500);text-decoration:underline}
.acc__a p+p{margin-top:8px}

/* 후기 답변 */
.hk-rv-reply{margin-top:12px}

/* 모달 */
.hk-modal{position:fixed;inset:0;z-index:1300;background:rgba(20,24,31,.55);display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;overflow-y:auto}
.hk-modal__box{position:relative;width:100%;max-width:560px;background:#fff;border-radius:var(--r-lg);padding:28px 28px 26px;box-shadow:var(--shadow-float)}
.hk-modal__box .h-block{margin-bottom:16px}
.hk-modal__box .fld{margin-bottom:12px}
.hk-modal__close{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:var(--n500)}
@media (max-width:479px){.hk-modal__box{padding:22px 18px}}

/* 알림(hk.js) */
.hk-toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%,16px);z-index:1400;max-width:calc(100vw - 32px);padding:12px 20px;border-radius:var(--r-full);background:var(--n900);color:#fff;font-size:14px;font-weight:600;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.hk-toast.is-on{opacity:1;transform:translate(-50%,0)}

/* 카카오 상담 떠 있는 버튼(설정 kakao_url 이 있을 때 hk.js 가 붙인다) */
.kakao-float{position:fixed;right:24px;bottom:28px;z-index:900;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 18px;border-radius:var(--r-full);background:var(--kakao);color:#191600;font-weight:700;font-size:14px;box-shadow:0 6px 18px rgba(0,0,0,.18);opacity:0;transform:translateY(12px);transition:opacity .3s,transform .3s}
.kakao-float.show{opacity:1;transform:none}
.kakao-float svg{width:20px;height:20px}
@media (max-width:1023px){.kakao-float{bottom:84px;right:16px}}

/* 팝업(관리자 [팝업]) */
.hk-popup{position:fixed;z-index:1200;width:max-content;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--n200);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-float)}
.hk-popup.isX-left{left:24px}.hk-popup.isX-center{left:50%}.hk-popup.isX-right{right:24px}
.hk-popup.isY-top{top:120px}.hk-popup.isY-middle{top:50%}.hk-popup.isY-bottom{bottom:24px}
.hk-popup{transform:translate(var(--tx,0),var(--ty,0)) translate(var(--cx,0),var(--cy,0))}
.hk-popup.isX-center{--tx:-50%}.hk-popup.isY-middle{--ty:-50%}
.hk-popup__img{display:block;width:auto;height:auto;max-width:calc(100vw - 32px);max-height:calc(80vh - 52px)}
.hk-popup__imglink{display:block;line-height:0;cursor:pointer}
.hk-popup__body{padding:20px;max-width:100%}
.hk-popup__body h3{font-size:17px;font-weight:700}
.hk-popup__text{margin-top:8px;font-size:14px;line-height:1.75;color:var(--n500);overflow-wrap:anywhere}
.hk-popup__text a{color:var(--brand-500);text-decoration:underline}
.hk-popup__foot{display:flex;border-top:1px solid var(--n200);background:var(--n050)}
.hk-popup__foot button{flex:1;padding:12px;border:0;background:transparent;font-size:13px;font-weight:700;color:var(--n500);cursor:pointer}
.hk-popup__foot button+button{border-left:1px solid var(--n200)}
@media (max-width:767px){.hk-popup{left:16px!important;right:16px!important;width:auto;--tx:0}}

/* 상세 일정 — 사진이 붙은 줄(골프장 · 호텔 소개 등) */
.day li.hk-day-photo span{display:flex;gap:14px;align-items:flex-start}
.hk-day-photo img{flex:0 0 140px;width:140px;height:96px;object-fit:cover;border-radius:8px;background:var(--n100)}
.hk-day-photo em{flex:1 1 auto;min-width:0;font-style:normal;white-space:pre-line}
@media (max-width:767px){.day li.hk-day-photo span{flex-direction:column;gap:8px}.hk-day-photo img{flex-basis:auto;width:100%;max-width:280px;height:auto;aspect-ratio:3/2}}
@media print{.hk-day-photo img{width:110px;height:76px}}

/* 인쇄(일정표 다운로드 = detail.html?…&print=1 · 영수증 = booking-detail.html?…&print=1) */
@media print{
  .hd,.ov,.foot,.tabbar,.actionbar,.anchors,.dhead__acts,.buybox .dates,.buybox .qty,.buybox .btn,.sidebtns,.kakao-float,.hk-popup{display:none!important}
  body{background:#fff}
  .two{display:block}
}

/* ── 방문자 화면 동작용 추가 요소(site.js · pay.js) — 템플릿 클래스는 바꾸지 않는다 ── */
/* 빈 목록 안내(상품 목록 · 검색 · 메인 패널 · 기획전) */
.hk-empty{list-style:none;grid-column:1/-1;padding:48px 20px;border:1px dashed var(--n250);border-radius:var(--r-lg);background:#fff;text-align:center;font-size:14.5px;line-height:1.8;color:var(--n500)}
.hk-empty a{color:var(--brand-500);font-weight:700;text-decoration:underline;margin-left:4px}
td.hk-empty{display:table-cell;border:0;border-radius:0}
.panel .hk-empty{padding:18px 0;border:0;text-align:left}
/* 공지 제목 검색 칸 */
.hk-search-inline{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px}
.hk-search-inline input{flex:1 1 220px;min-width:0;min-height:44px;padding:10px 14px;border:1px solid var(--n250);border-radius:var(--r-md);font-size:14px;background:#fff}
.hk-search-inline .btn{min-height:44px}
/* 고르기 목록(쿠폰 · 저장된 여행자 · 신고 사유) */
.hk-pick{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;max-height:52vh;overflow-y:auto}
.hk-pick__i{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--n200);border-radius:var(--r-md);cursor:pointer;background:#fff}
.hk-pick__i:has(input:checked){border-color:var(--brand-500);background:var(--brand-100)}
.hk-pick__i input{margin-top:3px;flex:0 0 auto;width:18px;height:18px;accent-color:var(--brand-500)}
.hk-pick__i span{display:flex;flex-direction:column;gap:3px;min-width:0}
.hk-pick__i b{font-size:14.5px;color:var(--n900);overflow-wrap:anywhere}
.hk-pick__i em{font-style:normal;font-size:12.5px;color:var(--n500)}
.hk-pick__i.is-off{opacity:.55;cursor:not-allowed}
/* 사진 전체보기 */
.hk-modal__box--wide{max-width:960px}
.hk-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.hk-gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-md)}
/* 예약서 — 저장된 여행자 불러오기 · 막힘 안내 */
.hk-tvl-import{margin:-6px 0 14px}
.hk-blocked .btn{margin-top:4px}
/* 상태 표시 */
.helpful.is-on{border-color:var(--brand-500);color:var(--brand-700);background:var(--brand-100)}
.dhead__acts [data-hk-wish].is-on{color:var(--accent-500);border-color:var(--accent-500)}
.hk-cpn-done{opacity:.55}
.hk-pay .paym__grid{margin-bottom:14px}
.hk-pay .dtable{margin-bottom:12px}
