/* ============================================================
   운영 추가 스타일(라온투어) — 템플릿 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 을 겹친다 */
.finder__f,.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}
.finder__f:focus-within{outline:2px solid var(--brand-300);outline-offset:-2px;border-radius:10px}
.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}

/* 로고 — 이미지/문자 로고(디자인 모드) */
.logo img.hk-cms-logo,.foot__logo img.hk-cms-logo{display:block;height:38px;width:auto;max-width:200px;object-fit:contain}
.foot__logo img.hk-cms-logo{height:28px}
.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}
.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}}

/* 인쇄(일정표 다운로드 = 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}
