/* =========================================================
   리조트 첫 화면(resort.html) 전용 — 리디자인 2026-11 · v3 글자 · 간격 가이드(D-461) 반영
   시안: v3 01-resort(사장님이 손본 1페이지) · 객실 필터 상태 xr1/xr2 · 모바일 resort2
   ⚠ resort.html 에만 링크한다(redesign.css 바로 다음 줄). 색 · 폭 · 글자 · 간격 토큰은 redesign.css :root 의 --rd-*
     (모바일 ≤860px 값은 거기서 저절로 바뀐다 — 그래서 아래 폰 규칙에는 글자 크기를 다시 적지 않는다).
   ⚠ 겉모습만 바꾼다. 기능 훅(id · data-cms · data-slot · data-photos · data-price … · faq-item ·
     [data-swipe] · .nmap · 인라인 scroll-margin-top)은 그대로 두고 여기서 모양만 입힌다.
   ⚠ 문답(.faq-item)은 cms.js 가 인라인 style 로 **다시 그린다** — 그래서 문답만은 !important 로 덮는다.
   v3 규칙 — 명조는 히어로 · 섹션 제목만, 나머지 고딕 · 16 미만 금지 · 굵기 400 / 500 / 700(가격 · 숫자 강조만) ·
     줄 높이 ≤1.6 · 섹션 120/64 · 머리 키커 →12→ 제목 →12→ 설명 →24→ 본문 · 버튼 52(행동) / 44(필터) · 꼬리표 32 · 모서리 20
   ========================================================= */
.rr-w{width:min(var(--rd-w),calc(100% - 48px));margin-left:auto;margin-right:auto}
.rr-kick{display:block;font-family:var(--rd-ff-sans);font-weight:500;font-size:var(--rd-fs-body);letter-spacing:var(--rd-ls-kick);line-height:var(--rd-lh-line);color:var(--rd-sage)}
.rr-serif{font-family:var(--rd-ff-serif);font-weight:500;letter-spacing:-.02em}
.rr-sec{padding:var(--rd-sec) 0}
.rr-rule{border-top:1px solid var(--rd-line)}
/* 섹션 머리 — 키커 → 12 → 제목 → 12 → 한 줄 설명 → 24 → 본문 */
.rr-sh{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 40px;flex-wrap:wrap;margin-bottom:var(--rd-head-body)}
.rr-lab h2,.rr-two h2{margin:var(--rd-head-gap) 0 0;font-size:var(--rd-fs-title);line-height:var(--rd-lh-title);color:var(--rd-ink);word-break:keep-all}
.rr-lab p{margin:var(--rd-head-gap) 0 0;max-width:720px;font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-mute);word-break:keep-all}
.rr-g{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(25,24,18,0) 40%,rgba(25,24,18,.72))}
/* 꼬리표(누르지 않는 표시) — 높이 32 · 크림 바탕 · 글자 16 · 알약. 영문 꼬리표는 키커처럼 자간 .08em */
.rr-type .rr-n,.rr-no,.rr-tg{display:inline-flex;align-items:center;height:var(--rd-tag);padding:0 12px;border-radius:99px;background:var(--rd-card);color:var(--rd-ink);
  font-family:var(--rd-ff-sans);font-size:var(--rd-fs-body);font-weight:500;line-height:1;white-space:nowrap}
.rr-type .rr-n,.rr-no{letter-spacing:var(--rd-ls-kick)}

/* 버튼 — 행동 버튼 52 · 알약 · 고딕 16/500. 금색으로 채우지 않는다 */
.rr-btn{height:var(--rd-btn-l);padding:0 24px;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--rd-ff-sans);font-size:var(--rd-fs-body);font-weight:500;line-height:var(--rd-lh-line);text-decoration:none;white-space:nowrap}
.rr-btn svg{display:block;flex:none}
.rr-btn.rr-out{border:1px solid var(--rd-ink);color:var(--rd-ink);background:transparent}
.rr-btn.rr-out:hover{background:rgba(51,48,42,.06)}
.rr-btn.rr-pri{background:var(--rd-sage);color:#fff}
.rr-btn.rr-pri:hover{background:var(--rd-forest)}

/* 고객 구분 띠(머리 아래 개인 / 단체) — 글자만 16 으로(16 미만 금지). 띠 위치 · 인라인 훅(position:sticky;top:76px) · 폰 모양은 redesign.css 그대로 */
[style*="position:sticky;top:76px"] .modeswitch > a{font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);letter-spacing:0;padding:4px 16px}

/* ---------- 히어로 ---------- */
.rr-hero{position:relative;height:clamp(560px,calc(100vh - 126px),820px);overflow:hidden;background:#E4DAC6}
.rr-hero > img.dc-slot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.rr-hero-sh{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(25,24,18,.3) 0%,rgba(25,24,18,0) 22%,rgba(25,24,18,0) 46%,rgba(25,24,18,.72) 100%)}
.rr-hero-in{position:absolute;left:0;right:0;bottom:clamp(40px,7.6vw,110px);z-index:3;display:flex;justify-content:space-between;align-items:flex-end;gap:40px;color:#fff}
/* 시안: 큰 제목 → 한 줄 설명 → 바로 아래 영문 키커 → 큰 링크. 마크업 차례는 그대로 두고 보이는 차례만 바꾼다 */
.rr-hero-cp{max-width:760px;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.rr-hero h1{order:1;margin:0;font-size:var(--rd-fs-hero);line-height:var(--rd-lh-hero);color:#fff;white-space:pre-line;word-break:keep-all;text-shadow:0 2px 24px rgba(25,24,18,.22)}
.rr-hero-cp p{order:2;margin:var(--rd-head-body) 0 0;font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);color:rgba(255,255,255,.9);word-break:keep-all}
.rr-hero-cp .rr-kick{order:3;color:rgba(255,255,255,.85)}
.rr-hlink{order:4;display:inline-flex;align-items:center;min-height:var(--rd-btn-l);margin-top:var(--rd-head-gap);color:#fff;font-size:var(--rd-fs-sub);font-weight:500;line-height:var(--rd-lh-sub);
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.rr-facts{display:flex;gap:40px;margin:0;flex:none}
.rr-facts > div{display:flex;flex-direction:column-reverse}
.rr-facts dt{font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);color:rgba(255,255,255,.85)}
.rr-facts dd{margin:0;font-family:var(--rd-ff-sans);font-weight:600;font-size:var(--rd-fs-sub);line-height:var(--rd-lh-sub);color:#fff}

/* ---------- 소개 — 머리(키커 · 제목 48 · 리드 20)를 위에, 사진 카드 넷을 가로 한 줄로(오른쪽 끝까지 · 옆으로 넘긴다) ---------- */
.rr-intro .rr-big{margin-top:var(--rd-head-gap);max-width:720px;font-size:var(--rd-fs-lead);line-height:var(--rd-lh-lead);color:var(--rd-mute);white-space:pre-line}
@media (min-width:861px){ .rr-intro h2 br{display:none} } /* PC 는 한 줄(시안) · 폰은 두 줄 */
.rr-types{--rr-side:max(24px,calc((100% - var(--rd-w)) / 2));display:flex;gap:40px;margin-top:var(--rd-head-body);
  padding:0 var(--rr-side) var(--rd-sec-part);scroll-padding:0 var(--rr-side);
  overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
/* 아래 막대 — 시안의 넓은 막대(줄 색 바탕 22 · 녹색 손잡이)를 브라우저 스크롤바로 그린다(끌어서도 넘긴다 · 스크립트 없음)
   막대 양끝은 본문 폭에 맞춘다 — 스크롤바 안에서는 % 가 줄 폭을 못 읽어서, 소개 섹션을 컨테이너로 두고 cqw 로 잰다 */
.rr-intro{container-type:inline-size}
.rr-types::-webkit-scrollbar{height:22px}
.rr-types::-webkit-scrollbar-track{margin:0 max(24px,calc((100cqw - var(--rd-w)) / 2));border-radius:99px;background:var(--rd-line)}
.rr-types::-webkit-scrollbar-thumb{border-radius:99px;background:var(--rd-sage);border:2px solid var(--rd-line)}
@supports (-moz-appearance:none){ .rr-types{scrollbar-color:var(--rd-sage) var(--rd-line)} }
.rr-type{position:relative;display:block;flex:0 0 368px;height:560px;scroll-snap-align:start;border-radius:var(--rd-radius);overflow:hidden;background:#E4DAC6;color:#fff;text-decoration:none}
.rr-type img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.rr-type:hover img{transform:scale(1.03)}
.rr-type .rr-g{background:linear-gradient(180deg,rgba(25,24,18,.12) 0%,rgba(25,24,18,.12) 40%,rgba(25,24,18,.72) 100%)}
.rr-type .rr-c{position:absolute;left:36px;right:36px;bottom:28px;display:flex;flex-direction:column;align-items:flex-start;gap:var(--rd-head-gap)}
.rr-type b{display:block;font-weight:500;font-size:var(--rd-fs-sub);line-height:var(--rd-lh-sub);word-break:keep-all}
.rr-type .rr-c > span:last-child{display:block;font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);color:rgba(255,255,255,.9)}

/* ---------- 객실 (필터 + 옆으로 넘기기) ---------- */
.rr-rooms{--rr-side:max(24px,calc((100% - var(--rd-w)) / 2))}
.rr-rhd{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 40px;flex-wrap:wrap}
.rr-ctl{display:flex;align-items:center;gap:20px;flex:none;max-width:100%}
.rr-chips{display:flex;gap:8px}
.rr-chips button{height:var(--rd-btn-s);padding:0 20px;border-radius:99px;border:1px solid var(--rd-line);background:var(--rd-card);display:inline-flex;align-items:center;gap:6px;
  font-family:var(--rd-ff-sans);font-size:var(--rd-fs-body);font-weight:500;line-height:var(--rd-lh-line);color:var(--rd-ink);white-space:nowrap;cursor:pointer;flex:none}
.rr-chips button:hover{border-color:var(--rd-ink)}
.rr-chips em{font-style:normal;font-weight:400;font-size:var(--rd-fs-body);color:var(--rd-mute)}
.rr-chips button.on{background:var(--rd-ink);border-color:var(--rd-ink);color:#fff}
.rr-chips button.on em{color:rgba(255,255,255,.7)}
.rr-arw{display:flex;gap:8px;transition:opacity .2s ease}
/* 화살표 — 시안 그대로 둥근 네모(48 × 44 · 모서리 12) */
.rr-arw button{width:48px;height:var(--rd-btn-s);border-radius:12px;border:1px solid var(--rd-ink);background:var(--rd-card);color:var(--rd-ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.rr-arw button:disabled{border-color:var(--rd-line);color:var(--rd-mute);cursor:default}
.rr-arw.off{opacity:.35}
.rr-track{display:flex;gap:40px;margin-top:var(--rd-head-body);padding:0 var(--rr-side) 4px;scroll-padding:0 var(--rr-side);
  overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.rr-track::-webkit-scrollbar{display:none}
/* PC — 아래 게이지 대신 소개 줄과 같은 진짜 스크롤바(끌어서 넘긴다 · 손잡이가 움직인다) (사장님 2026-11-05 「이거 게이지바 말고, 스크롤바로 해줘」).
   폰은 소개 줄처럼 스크롤바를 감추므로 게이지(.rr-prog)를 그대로 둔다. 막대 양끝은 본문 폭 — 객실 섹션을 컨테이너로 두고 cqw 로 잰다 */
@media (min-width:861px){
  .rr-rooms{container-type:inline-size}
  .rr-track{scrollbar-width:auto;padding-bottom:var(--rd-sec-part)}
  .rr-track::-webkit-scrollbar{display:block;height:22px}
  .rr-track::-webkit-scrollbar-track{margin:0 max(24px,calc((100cqw - var(--rd-w)) / 2));border-radius:99px;background:var(--rd-line)}
  .rr-track::-webkit-scrollbar-thumb{border-radius:99px;background:var(--rd-sage);border:2px solid var(--rd-line)}
  .rr-prog{display:none}
  .rr-rft{margin-top:16px!important}   /* 아래(126줄) 기본 64 보다 나중에 와야 해서 !important */
}
@supports (-moz-appearance:none){ @media (min-width:861px){ .rr-track{scrollbar-color:var(--rd-sage) var(--rd-line)} } }
/* 두 묶음([data-swipe])을 한 줄로 — 묶음 상자를 없애고 카드만 줄에 세운다. 필터는 묶음에 hidden 을 단다 */
.rr-set{display:contents}
.rr-set[hidden]{display:none}
.rr-card{flex:0 0 384px;scroll-snap-align:start;display:flex;flex-direction:column;background:var(--rd-card);border:1px solid var(--rd-line);border-radius:var(--rd-radius);overflow:hidden}
.rr-ph{position:relative;height:340px;background:#E4DAC6;flex:none}
.rr-ph > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.rr-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(25,24,18,0) 34%,rgba(25,24,18,.55) 60%,rgba(25,24,18,.86) 100%)}
.rr-bd{position:absolute;top:16px;left:16px;right:16px;z-index:2;display:flex;flex-wrap:wrap;gap:8px;pointer-events:none}
/* 등급 꼬리표(프리미엄룸 · 디럭스룸 …)는 시안에 없다 — 같은 말이 바로 아래 객실 이름에 있다. 칸(data-grade)은 그대로 두고 숨긴다 */
.rr-grade{display:none}
.rr-ov{position:absolute;left:24px;right:24px;bottom:20px;z-index:2;color:#fff;pointer-events:none}
.rr-tp{display:block;font-size:var(--rd-fs-body);font-weight:400;line-height:var(--rd-lh-line);color:rgba(255,255,255,.85)}
.rr-ov h3{margin:0;font-family:var(--rd-ff-sans);font-weight:500;font-size:var(--rd-fs-sub);line-height:var(--rd-lh-sub);letter-spacing:0;color:#fff;word-break:keep-all}
.rr-ln{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.3);font-size:var(--rd-fs-body);line-height:var(--rd-lh-line)}
.rr-spec{color:rgba(255,255,255,.88);word-break:keep-all}
.rr-feat{margin-top:4px;font-weight:500}
.rr-feat span+span::before{content:"|";margin:0 8px;opacity:.5;font-weight:400}
.rr-by{margin-top:auto;padding:24px;display:flex;flex-direction:column;gap:16px}
/* 가격 줄 — 라벨 · 정가(취소선) · 가격 24 Bold · 원~ 을 글자 밑선에 맞춘다.
   정가 + 가격은 한 묶음(.rr-amt) — 좁으면(폰 · 일곱 자리 가격) 묶음째 다음 줄 오른쪽으로 */
.rr-pr{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px;white-space:nowrap}
.rr-pr small{font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);color:var(--rd-mute)}
.rr-amt{display:inline-flex;align-items:baseline;gap:8px;margin-left:auto}
.rr-pr s{font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);color:var(--rd-mute)}
.rr-pr b{font-family:var(--rd-ff-sans);font-weight:600;font-size:var(--rd-fs-sub);line-height:var(--rd-lh-sub);color:var(--rd-gold-t)}
.rr-pr b > span{font-size:var(--rd-fs-body);font-weight:400;color:var(--rd-ink);margin-left:4px}
.rr-ac{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rr-ac .rr-btn{padding:0 12px}
/* 아래 막대 — 시안의 넓은 막대(줄 색 바탕 22 · 녹색 손잡이 2 안쪽). 폭은 스크립트가 그대로 채운다 */
.rr-rft{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:var(--rd-sec-part)}
.rr-prog{flex:1 1 auto;height:22px;border-radius:99px;background:var(--rd-line);position:relative;overflow:hidden}
.rr-prog i{position:absolute;left:2px;top:2px;bottom:2px;width:14.3%;max-width:calc(100% - 4px);border-radius:99px;background:var(--rd-sage);transition:width .25s ease}
.rr-cnt{font-family:var(--rd-ff-sans);font-weight:500;font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);color:var(--rd-ink);white-space:nowrap}
.rr-cnt > span:last-child{color:var(--rd-mute);font-weight:400}
.rr-pnote{flex:1 1 100%;margin:0;font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-mute);word-break:keep-all}
.rr-pnote b{color:var(--rd-gold-t);font-weight:600}

/* ---------- 부대시설 — 큰 카페(두 줄) + 작은 넷(2 × 2), 셋째 줄 단체 수영장 | 컨벤션 안내 ----------
   ⚠ 시안은 다섯 장(단체 수영장 없음)이지만 시설 목록은 단체 페이지와 같아야 해서(시험 resort-facilities) 여섯 장 그대로 둔다 */
.rr-fac{border-top:1px solid var(--rd-line);border-bottom:1px solid var(--rd-line)}
.rr-mosaic{display:grid;grid-template-columns:minmax(0,588fr) minmax(0,282fr) minmax(0,282fr);grid-template-rows:300px 300px minmax(220px,auto);grid-auto-rows:300px;gap:24px}
.rr-m{position:relative;display:block;border-radius:var(--rd-radius);overflow:hidden;background:#E4DAC6;color:#fff;text-decoration:none}
.rr-m.rr-wide{grid-row:span 2}
/* 사진 칸 = <div data-photos style="position:relative;height:100%"> — 인라인은 사진 돌리기 시험 훅(facility-photo-rotation) · 카드(줄 높이)를 꽉 채운다 */
.rr-m img.dc-slot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.rr-m:hover img.dc-slot{transform:scale(1.03)}
.rr-tg{position:absolute;right:16px;top:16px;z-index:2;color:var(--rd-sage)}
.rr-m .rr-c{position:absolute;left:28px;right:28px;bottom:28px;z-index:2}
.rr-m .rr-c small{display:block;font-weight:500;font-size:var(--rd-fs-body);letter-spacing:var(--rd-ls-kick);line-height:var(--rd-lh-line)}
.rr-m .rr-c .rr-nm{display:block;margin-top:4px;font-size:var(--rd-fs-sub);font-weight:500;line-height:var(--rd-lh-sub);word-break:keep-all}
.rr-m .rr-d{display:none}
.rr-conv{grid-column:span 2;display:flex;flex-wrap:wrap;align-content:center;align-items:baseline;gap:8px 16px;padding:28px 32px;
  border:1px solid var(--rd-line);border-radius:var(--rd-radius);background:var(--rd-card)}
.rr-conv b{font-size:var(--rd-fs-sub);font-weight:500;line-height:var(--rd-lh-sub);color:var(--rd-ink)}
.rr-conv .rr-en{font-weight:500;font-size:var(--rd-fs-body);letter-spacing:var(--rd-ls-kick);line-height:var(--rd-lh-line);color:var(--rd-sage)}
.rr-conv i{font-style:normal;font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);color:var(--rd-mute)}
.rr-conv p{margin:4px 0 0;flex:1 1 100%;font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-mute);word-break:keep-all}

/* ---------- 검색용 문답(#guide) — 머리를 위에, 문답 줄을 아래에 ---------- */
.rr-split > .rr-lab + *{margin-top:var(--rd-head-body)}
#guide .rr-fq{border-top:1px solid var(--rd-ink)}

/* ---------- 이용 안내 | 예약 · 이용 문의 (2단) ---------- */
.rr-two{display:grid;grid-template-columns:minmax(0,510fr) minmax(0,588fr);gap:102px;align-items:start}
.rr-two h2{margin-bottom:var(--rd-head-body)}
.rr-tb{margin:0}
.rr-tb > div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:20px 0;border-bottom:1px solid var(--rd-line);font-size:var(--rd-fs-body);line-height:var(--rd-lh-line)}
.rr-tb dt{color:var(--rd-mute);flex:none}
.rr-tb dd{margin:0;font-weight:500;color:var(--rd-ink);text-align:right;word-break:keep-all}
.rr-info .rr-tb{border-top:0}
.rr-ask{margin:var(--rd-head-body) 0 0;font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);color:var(--rd-mute)}
.rr-ask a{display:inline-flex;align-items:center;min-height:var(--rd-btn-s);color:var(--rd-sage);font-weight:500;text-decoration:none}
.rr-ask a:hover{text-decoration:underline;text-underline-offset:4px}
/* 문답 — 상자를 걷고 줄로. cms.js 가 다시 그린 문답도 같은 모양이 되게 !important */
.rr-fq{display:flex;flex-direction:column}
.rr-fq .faq-item{background:none!important;border:0!important;border-bottom:1px solid var(--rd-line)!important;border-radius:0!important}
.rr-fq .faq-item [data-faq]{padding:20px 0!important;min-height:64px;gap:16px!important;font-family:var(--rd-ff-sans)!important}
.rr-fq .faq-item [data-faq] > span:first-child > span:first-child{display:none!important}
.rr-fq .faq-item [data-faq] > span:first-child > span:last-child{font-size:var(--rd-fs-body)!important;font-weight:500!important;color:var(--rd-ink)!important;line-height:var(--rd-lh-line)!important}
.rr-fq .faq-item [data-faq]:hover > span:first-child > span:last-child{color:var(--rd-sage)!important}
.rr-fq [data-faq-mark]{font-family:var(--rd-ff-sans)!important;font-weight:400!important;color:var(--rd-gold)!important;font-size:var(--rd-fs-sub)!important;line-height:1!important;width:24px;text-align:center}
/* 「단체」 표시(문답 오른쪽) — 꼬리표 32 · 크림 · 16 */
.rr-fq [data-faq] > span:last-child > span:not([data-faq-mark]){display:inline-flex!important;align-items:center;height:var(--rd-tag);padding:0 12px!important;border:1px solid var(--rd-line)!important;border-radius:99px!important;
  background:var(--rd-card);color:var(--rd-gold-t)!important;font-size:var(--rd-fs-body)!important;font-weight:500!important;line-height:1}
.rr-fq .faq-item [data-faq-body]{margin:0!important;padding-left:0!important;padding-right:40px!important;border-top:0!important;font-size:var(--rd-fs-body)!important;font-weight:400!important;line-height:var(--rd-lh-body)!important;color:var(--rd-mute)!important}
.rr-fq .faq-item.is-open [data-faq-body]{padding-top:0!important;padding-bottom:24px!important}
.rr-fq [data-faq-body] a{color:var(--rd-sage)!important}

/* ---------- 손님 후기 (reviews.js 가 카드를 그린다 — 그쪽 글자 크기를 여기서 가이드 값으로 덮는다) ---------- */
.rr-rv[hidden],.rr-rv [hidden]{display:none!important}
.rr-rv .rv-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:0}
.rr-rv .rv-card{border-radius:var(--rd-radius);border-color:var(--rd-line)}
.rr-rv .rv-body{gap:12px;padding:24px}
.rr-rv .rv-title{font-family:var(--rd-ff-sans);font-size:var(--rd-fs-sub);font-weight:500;line-height:var(--rd-lh-sub);color:var(--rd-ink)}
.rr-rv .rv-ex{font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-mute)}
.rr-rv .rv-meta{flex-wrap:wrap;gap:4px 12px;font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);color:var(--rd-mute)}
.rr-rv .rv-src{color:var(--rd-sage)}
.rr-more a{display:inline-flex;align-items:center;min-height:var(--rd-btn-s);font-size:var(--rd-fs-body);font-weight:500;color:var(--rd-ink);text-decoration:underline;text-underline-offset:6px;white-space:nowrap}

/* ---------- 오시는 길 (지도 792 | 정보 — 값은 오른쪽 정렬 · 버튼 양끝) ---------- */
.rr-loc{display:grid;grid-template-columns:minmax(0,792fr) minmax(0,408fr);border:1px solid var(--rd-line);border-radius:var(--rd-radius);overflow:hidden;background:var(--rd-card)}
.rr-map{display:grid;background:var(--rd-sand);min-height:440px}
.rr-map .nmap{width:100%;height:100%;min-height:440px}
/* 지도 인증이 실패하면 site.js 가 .nmap 을 숨긴다 — 그때는 정보만 한 칸으로 */
.rr-loc:has(.nmap[style*="display: none"]){grid-template-columns:minmax(0,1fr)}
.rr-loc:has(.nmap[style*="display: none"]) .rr-map{display:none}
.rr-inf{padding:40px 32px}
.rr-inf .rr-r{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--rd-line);font-size:var(--rd-fs-body);line-height:var(--rd-lh-body)}
.rr-inf .rr-r > span:first-child{flex:none;color:var(--rd-mute)}
.rr-inf .rr-r > span:last-child{margin-left:auto;font-weight:500;color:var(--rd-ink);text-align:right;word-break:keep-all}
.rr-bt{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:var(--rd-head-body)}
.rr-note{margin:16px 0 0;font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-mute)}
.rr-note b{font-weight:500;color:var(--rd-ink)}

/* ---------- 폰 하단 고정 띠 (전화 상담 · 실시간 예약하기) — PC 에서는 숨는다 ---------- */
.rr-dock{display:none}

/* ---------- 태블릿 ---------- */
@media (max-width:1240px) and (min-width:861px){
  .rr-card{flex-basis:340px}
  .rr-type{flex-basis:320px;height:480px}
  .rr-mosaic{grid-template-rows:240px 240px minmax(200px,auto);grid-auto-rows:240px}
  .rr-two{gap:56px}
  .rr-inf{padding:32px 24px}
}
@media (max-width:1100px){ .rr-facts{display:none} }

/* ---------- 폰 (360~430 우선) — 글자 · 섹션 간격은 토큰이 저절로 줄인다(40 · 32 · 20 · 18 · 64) ---------- */
@media (max-width:860px){
  .rr-w{width:calc(100% - 32px)}
  .rr-sh{display:block}
  .rr-hero{height:560px}
  .rr-hero-in{bottom:32px}
  .rr-hlink{margin-top:8px}
  .rr-types{--rr-side:16px;gap:12px;scrollbar-width:none}
  .rr-types::-webkit-scrollbar{display:none}
  .rr-type{flex-basis:min(280px,74vw);height:400px}
  .rr-type .rr-c{left:20px;right:20px;bottom:24px}
  .rr-rooms{--rr-side:16px}
  .rr-rhd{display:block}
  .rr-ctl{margin-top:var(--rd-head-body)}
  .rr-chips{overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}
  .rr-chips::-webkit-scrollbar{display:none}
  .rr-chips button{padding:0 16px}
  .rr-arw{display:none}
  .rr-track{gap:12px}
  .rr-card{flex-basis:min(316px,82vw)}
  .rr-ph{height:320px}
  .rr-ov{left:16px;right:16px;bottom:16px}
  .rr-by{padding:16px;gap:12px}
  .rr-rft{margin-top:var(--rd-head-body)}
  .rr-prog{height:12px}
  .rr-pnote{padding:16px;border-radius:var(--rd-radius);background:var(--rd-sand);color:var(--rd-ink)}
  /* 부대시설 폰 2열 — 카페(한 줄 가득) · 작은 넷 2 × 2 · 단체 수영장(한 줄 가득) · 컨벤션 안내(글 높이만큼) */
  .rr-mosaic{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:200px 200px 200px 200px auto;grid-auto-rows:200px;gap:12px}
  .rr-m.rr-wide,.rr-m[href="resort-group.html#pool"],.rr-conv{grid-column:1/-1;grid-row:auto}
  .rr-tg{top:12px;right:12px}
  .rr-m .rr-c{left:16px;right:16px;bottom:16px}
  .rr-conv{padding:20px}
  .rr-two{grid-template-columns:minmax(0,1fr);gap:var(--rd-sec-part)}
  .rr-tb > div{align-items:center;min-height:56px;padding:16px 0}
  .rr-fq .faq-item [data-faq]{min-height:56px;padding:16px 0!important}
  .rr-fq .faq-item [data-faq-body]{padding-right:0!important}
  .rr-rv .rv-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 16px;scrollbar-width:none;margin:0 -16px;padding:0 16px 4px}
  .rr-rv .rv-grid::-webkit-scrollbar{display:none}
  .rr-rv .rv-card{flex:0 0 min(300px,80vw);scroll-snap-align:start}
  .rr-rv .rv-body{padding:20px}
  .rr-more{margin-top:8px}
  .rr-loc{grid-template-columns:minmax(0,1fr)}
  .rr-map,.rr-map .nmap{min-height:220px}
  .rr-inf{padding:8px 16px 20px}
  .rr-bt .rr-btn{flex:1 1 140px;padding:0 12px}
  /* 하단 고정 띠 — 바닥 글이 띠에 가리지 않게 그만큼(윗줄 1 + 12 + 52 + 12) 아래를 비운다 */
  body{padding-bottom:calc(77px + env(safe-area-inset-bottom,0px))}
  .rr-dock{display:flex;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:60;
    padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--rd-card);border-top:1px solid var(--rd-line)}
  .rr-dock-call{flex:none;padding:0 20px 0 16px;border-color:var(--rd-line)}
  .rr-dock-book{flex:1}
}
