/* =========================================================
   MOTMOT 리디자인 (2026-11) — 리조트 나머지 페이지 본문
   맡은 페이지: resort-group · cafe · petcafe · pool · resort-dining · resort-hall ·
               resort-seminar · posting · resort-guide (이 파일은 이 9장에만 링크한다)
   시안: PC r04(시설 상세) · r05/r05b/r05c(단체) · r12a-c(포스팅) · r14/r14b(알짜 가이드)
         모바일 04 · 05 · 05b · 12 · 17 · 17b
   ⚠ redesign.css 다음에 붙는다. 토큰은 redesign.css :root 의 --rd-* 를 쓴다.
   ⚠ 기능 훅(id · data-* · name · faq-item · data-swipe · data-photos · modeswitch)은 그대로 두고
     겉모습만 바꾼다. cms.js · posting.js · reviews.js · site.js 가 그리는 요소는 인라인 style 을 달고 오므로
     그 자리만 !important 로 덮는다.
   ★ v3 글자 · 간격 가이드(2026-11-03 · D-461 · Figma 「Foundations · Components v3」) —
     크기는 --rd-fs-*(PC/폰 자동) · 16px 아래 없음 · 명조는 히어로/섹션 제목만(500) · 나머지 고딕 400/500, 700 은 가격 · 숫자만 ·
     버튼 52(행동)/44(필터 · 탭) · 꼬리표 32(크림 바탕) · 모서리 20 하나(입력칸만 12) · 섹션 120/64 · 본문 파트 64/48 ·
     섹션 머리 키커 → 12 → 제목 → 12 → 한 줄 설명 → 24 → 본문.
   ========================================================= */

.rp{--rp-g:24px;--rp-hd:76px}
@media (max-width:600px){ .rp{--rp-g:16px} }
@media (max-width:860px){ .rp{--rp-hd:60px} }

/* ---------- 공통 틀 ---------- */
.rp-w{max-width:var(--rd-w);margin:0 auto;padding:0 var(--rp-g);box-sizing:content-box}
.rp-sec{padding:var(--rd-sec) 0}
.rp-rule{border-top:1px solid var(--rd-line)}
.rp-kick{display:block;font-family:var(--rd-ff-sans);font-weight:500;font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);letter-spacing:var(--rd-ls-kick);color:var(--rd-sage);text-transform:uppercase}
.rp-serif{font-family:var(--rd-ff-serif);font-weight:500;letter-spacing:-.02em}
.rp-ic{display:block;flex:none;width:18px;height:18px}
.rp-sh{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 40px;margin-bottom:var(--rd-head-body);flex-wrap:wrap}
.rp-sh h2{margin:var(--rd-head-gap) 0 0;font-family:var(--rd-ff-serif);font-weight:500;letter-spacing:-.02em;font-size:var(--rd-fs-title);line-height:var(--rd-lh-title);color:var(--rd-ink);word-break:keep-all}
.rp-sh p{margin:var(--rd-head-gap) 0 0;max-width:640px;font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-mute)}
.rp-sh .rp-sh-aside{font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);color:var(--rd-mute)}
.rp-sh .rp-sh-aside a{color:var(--rd-sage);font-weight:500;text-decoration:none;border-bottom:1px solid currentColor}
.rp-crumb{padding-top:24px;font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);color:var(--rd-mute);display:flex;flex-wrap:wrap;align-items:center;gap:0 8px}
.rp-crumb a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.rp-crumb a:hover{color:var(--rd-sage)}
.rp-crumb b{color:var(--rd-ink);font-weight:500}
.rp-crumb i{font-style:normal;opacity:.6}

/* 버튼 — 행동 버튼 52 · 둥근 알약 · 글자 16 / 500 (금색으로 채운 버튼 없음) */
.rp-btn{box-sizing:border-box;white-space:nowrap;height:var(--rd-btn-l);padding:0 28px;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--rd-ff-sans);font-weight:500;font-size:var(--rd-fs-body);line-height:1;text-decoration:none;cursor:pointer;border:1px solid transparent;background:none;color:var(--rd-ink)}
.rp-btn.pri{background:var(--rd-sage);color:#fff}
.rp-btn.pri:hover{background:var(--rd-forest)}
.rp-btn.out{border-color:var(--rd-ink);color:var(--rd-ink)}
.rp-btn.out:hover{background:var(--rd-sand)}
.rp-btn.wh{background:#fff;color:var(--rd-ink)}
.rp-btn.wh:hover{background:var(--rd-cream)}
.rp-btn.o{border-color:rgba(255,255,255,.55);color:#fff}
.rp-btn.o:hover{background:rgba(255,255,255,.12)}
.rp-btn[disabled]{opacity:.6;cursor:default}
.rp-lnk{font-weight:500;font-size:var(--rd-fs-body);color:var(--rd-sage);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.rp-lnk:hover{color:var(--rd-forest)}

/* 꼬리표(누르지 않는 표시) — 높이 32 · 크림 바탕 · 글자 16 */
.rp-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--rd-head-body)}
.rp-chips span{box-sizing:border-box;height:var(--rd-tag);padding:0 14px;border:1px solid var(--rd-line);border-radius:99px;display:inline-flex;align-items:center;font-size:var(--rd-fs-body);font-weight:500;line-height:1;color:var(--rd-sage);background:var(--rd-card);white-space:nowrap}

/* 키·값 줄(표) — 이름은 왼쪽 · 값은 오른쪽(시안 04 · 05 · 01) */
.rp-kv{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--rd-line);font-size:var(--rd-fs-body);line-height:var(--rd-lh-line)}
.rp-kv > span:first-child{color:var(--rd-mute);flex:none}
.rp-kv > :last-child{text-align:right;color:var(--rd-ink);font-weight:500}

/* 사진 카드(그라디언트 + 좌하단 글자) — 카드 제목 24/20 · 500 */
.rp-pc{position:relative;display:block;height:300px;border-radius:var(--rd-radius);overflow:hidden;background:#E4DAC6;color:#fff;text-decoration:none}
.rp-pc > img,.rp-pc .rp-pc-ph img,.rp-pc > [data-photos] img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.rp-pc .rp-pc-ph{position:absolute;inset:0}
.rp-pc:hover > img,.rp-pc:hover .rp-pc-ph img,.rp-pc:hover > [data-photos] img{transform:scale(1.04)}
/* 사진 칸 <div data-photos style="position:relative;height:100%"> — 인라인은 사진 돌리기 시험 훅(facility-photo-rotation) · 카드 높이를 꽉 채운다 */
.rp-pc .rp-pc-g{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(25,24,18,0) 40%,rgba(25,24,18,.82));pointer-events:none}
.rp-pc .rp-pc-c{position:absolute;z-index:2;left:24px;right:24px;bottom:24px;color:#fff}
.rp-pc .rp-pc-c small{display:block;font-family:var(--rd-ff-sans);font-weight:500;font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);letter-spacing:var(--rd-ls-kick);text-transform:uppercase}
.rp-pc .rp-pc-c b,.rp-pc .rp-pc-c .rp-pc-nm{display:block;font-size:var(--rd-fs-sub);font-weight:500;margin-top:4px;line-height:var(--rd-lh-sub)}
.rp-pc .rp-pc-d{display:none}
.rp-pc .rp-pc-tg{position:absolute;z-index:2;left:16px;top:16px;box-sizing:border-box;height:var(--rd-tag);display:inline-flex;align-items:center;background:rgba(252,250,244,.94);color:var(--rd-sage);border-radius:99px;padding:0 12px;font-size:var(--rd-fs-body);font-weight:500;line-height:1;white-space:nowrap}
.rp-pc .rp-pc-tg.g{color:var(--rd-gold-t)}
.rp-pc .rp-pc-tg.p{color:var(--rd-ink)}
@media (prefers-reduced-motion:reduce){ .rp-pc > img,.rp-pc .rp-pc-ph img,.rp-pc > [data-photos] img{transition:none} .rp-pc:hover > img,.rp-pc:hover .rp-pc-ph img,.rp-pc:hover > [data-photos] img{transform:none} }

/* 아래 단체 문의 줄(r14 gcta) — 상자 제목 24 */
.rp-gcta{border-top:1px solid var(--rd-ink);padding-top:40px;display:flex;justify-content:space-between;align-items:center;gap:24px 40px;flex-wrap:wrap}
.rp-gcta h3{margin:0;font-size:var(--rd-fs-sub);font-weight:500;line-height:var(--rd-lh-sub);color:var(--rd-ink)}
.rp-gcta p{margin:8px 0 0;color:var(--rd-mute);font-size:var(--rd-fs-body);line-height:var(--rd-lh-body)}
.rp-gcta .rp-gcta-b{display:flex;gap:12px;flex-wrap:wrap}

/* Q&A 아코디언 — cms.js 가 인라인 style 로 다시 그려도 같은 모양이 되게 !important.
   시안 01 처럼 「Q」 표시는 숨기고(rd-resort.css 와 같다) 질문 16/500 · 답 16/400 · 펼침 표시 금색 */
.rp-faq{display:flex;flex-direction:column;border-top:1px solid var(--rd-ink)}
.rp-faq .faq-item{background:transparent!important;border:0!important;border-bottom:1px solid var(--rd-line)!important;border-radius:0!important}
.rp-faq .faq-item [data-faq]{padding:20px 0!important;min-height:64px;gap:16px!important;font-family:var(--rd-ff-sans)!important;color:var(--rd-ink)}
.rp-faq .faq-item [data-faq] > span:first-child > span:first-child{display:none!important}
.rp-faq .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}
.rp-faq .faq-item [data-faq]:hover > span:first-child > span:last-child{color:var(--rd-sage)!important}
.rp-faq .faq-item [data-faq] > span:last-child > span:not([data-faq-mark]){box-sizing:border-box;height:var(--rd-tag);display:inline-flex;align-items:center;padding:0 12px!important;background:var(--rd-card);color:var(--rd-gold-t)!important;border-color:var(--rd-gold)!important;font-size:var(--rd-fs-body)!important;font-weight:500!important;line-height:1}
.rp-faq [data-faq-mark]{color:var(--rd-gold)!important;font-family:var(--rd-ff-sans)!important;font-size:var(--rd-fs-sub)!important;width:24px;text-align:center}
.rp-faq .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}
.rp-faq .faq-item.is-open [data-faq-body]{padding-top:0!important;padding-bottom:24px!important}
.rp-faq [data-faq-body] a{color:var(--rd-sage)!important}

/* ---------- 시설 상세 6장(r04 · 모바일 04) ---------- */
.fx-hero{position:relative;height:640px;overflow:hidden;background:#E4DAC6}
.fx-hero .fx-sh{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(25,24,18,.25),rgba(25,24,18,0) 30%,rgba(25,24,18,.7))}
.fx-hero .fx-cp{position:absolute;z-index:2;left:max(var(--rp-g),calc((100% - var(--rd-w))/2));right:var(--rp-g);bottom:88px;color:#fff}
.fx-hero .rp-kick{color:rgba(255,255,255,.85)}
.fx-hero h1{margin:var(--rd-head-gap) 0 0;font-size:var(--rd-fs-hero);line-height:var(--rd-lh-hero);color:#fff;white-space:pre-line}
.fx-hero .fx-cp p{margin:var(--rd-head-gap) 0 0;font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);opacity:.88}
/* 본문 파트 위 · 아래 64/48 — 마지막 파트(구분선 앞)는 섹션 간격 120/64 */
.fx-cols{display:grid;grid-template-columns:minmax(0,690fr) minmax(0,384fr);column-gap:clamp(40px,8.75vw,126px);row-gap:var(--rd-sec-part);align-items:start;padding:var(--rd-sec-part) 0 var(--rd-sec)}
.fx-cols.has-more{padding-bottom:var(--rd-sec-part)}
.fx-galw{padding-bottom:var(--rd-sec)}
.fx-lead{margin:0;font-family:var(--rd-ff-sans);font-weight:400;font-size:var(--rd-fs-lead);line-height:var(--rd-lh-lead);color:var(--rd-ink);white-space:pre-line}
.fx-note{margin:16px 0 0;font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-mute)}
.fx-box{position:sticky;top:calc(var(--rp-hd) + 24px);border:1px solid var(--rd-line);border-radius:var(--rd-radius);background:var(--rd-card);padding:32px}
.fx-box h3{margin:0 0 12px;font-size:var(--rd-fs-sub);font-weight:500;line-height:var(--rd-lh-sub);color:var(--rd-ink)}
/* 이용 안내 줄 — 이름 왼쪽 · 값 오른쪽(시안 04) */
.fx-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 0;border-bottom:1px solid var(--rd-line);font-size:var(--rd-fs-body);line-height:var(--rd-lh-body)}
.fx-row > span:first-child{color:var(--rd-mute);flex:none;line-height:var(--rd-lh-body)}
.fx-row .fx-v{color:var(--rd-ink);font-weight:500;min-width:0;text-align:right;text-wrap:balance}
.fx-row .fx-v [data-cms]{white-space:pre-line}
.fx-row .fx-v small{display:block;color:var(--rd-mute);font-size:var(--rd-fs-body);font-weight:400;line-height:var(--rd-lh-body);margin-top:4px;white-space:pre-line}
.fx-row .fx-v a{display:inline-flex;align-items:center;min-height:44px;font-size:var(--rd-fs-body);font-weight:500;color:var(--rd-sage);text-decoration:none}
.fx-row .fx-v a:hover{color:var(--rd-forest)}
.fx-box .rp-btn{width:100%;margin-top:12px}
.fx-box .rp-btn:first-of-type{margin-top:24px}
.fx-box .fx-note{margin-top:16px}
.fx-sub{margin-top:48px;padding-top:24px;border-top:1px solid var(--rd-line)}
.fx-sub h3{margin:0;font-size:var(--rd-fs-sub);font-weight:500;line-height:var(--rd-lh-sub);color:var(--rd-ink)}
.fx-sub > div{margin-top:12px;font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-ink);white-space:pre-line}
.fx-ga{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:280px 280px;gap:24px}
.fx-ga > div{position:relative;border-radius:var(--rd-radius);overflow:hidden;background:#E4DAC6}
.fx-ga > div:first-child{grid-row:span 2}
.fx-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 96px;align-items:center}
.fx-split .fx-ph{position:relative;height:480px;border-radius:var(--rd-radius);overflow:hidden;background:#E4DAC6}
.fx-split h2{margin:var(--rd-head-gap) 0 0;font-size:var(--rd-fs-title);line-height:var(--rd-lh-title);color:var(--rd-ink)}
.fx-split .fx-body{margin-top:var(--rd-head-gap);font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-mute)}
.fx-pay{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:var(--rd-head-body)}
.fx-pay .fx-tag{box-sizing:border-box;height:var(--rd-tag);padding:0 14px;border:1px solid var(--rd-line);border-radius:99px;background:var(--rd-card);color:var(--rd-sage);font-size:var(--rd-fs-body);font-weight:500;line-height:1;display:inline-flex;align-items:center}
.fx-pay a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--rd-sage);font-weight:500;font-size:var(--rd-fs-body);text-decoration:none}
.fx-pay a:hover{color:var(--rd-forest)}
.fx-aside{margin:16px 0 0;font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-mute)}
.fx-aside a{color:var(--rd-sage);font-weight:500;text-decoration:none;border-bottom:1px solid currentColor}
.fx-ett{border:1px solid var(--rd-line);border-radius:var(--rd-radius);background:var(--rd-card);padding:32px 36px;font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-ink);white-space:pre-line}
.fx-of{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}

@media (max-width:1100px){
  .fx-cols{grid-template-columns:minmax(0,1fr)}
  .fx-box{position:static}
  .fx-split{column-gap:48px}
}
@media (max-width:860px){
  .rp-sh{margin-bottom:var(--rd-head-body)}
  .rp-crumb{padding-top:16px}
  .rp-pc{height:200px}
  .rp-pc .rp-pc-c{left:16px;right:16px;bottom:16px}
  .rp-pc .rp-pc-tg{left:10px;top:10px;padding:0 10px}
  .rp-gcta{padding-top:32px}
  .rp-gcta .rp-gcta-b{width:100%;flex-direction:column}
  .rp-gcta .rp-gcta-b .rp-btn{width:100%}
  .rp-faq .faq-item [data-faq]{padding:16px 0!important;min-height:56px}
  .rp-faq .faq-item [data-faq-body]{padding-right:0!important}
  .fx-hero{height:480px}
  .fx-hero .fx-cp{bottom:32px}
  .fx-cols,.fx-cols.has-more{row-gap:var(--rd-sec-part)}
  .rp-chips{margin-top:16px}
  .rp-chips span{padding:0 12px}
  .fx-box{padding:0;border:0;background:none;border-radius:0}
  .fx-row{padding:12px 0}
  .fx-sub{margin-top:32px}
  .fx-ga{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-template-rows:116px 116px;gap:8px}
  .fx-split{grid-template-columns:minmax(0,1fr)}
  .fx-split .fx-ph{height:240px;order:-1}
  .fx-ett{padding:24px 20px}
  .fx-of{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}

@media (max-width:860px){
  .rp .rp-lnk,.rp .gp-aside a,.rp .fx-aside a,.rp .gp-band p a,.rp .gp-done-p a,.rp .gp-tip a{position:relative}
  .rp .rp-lnk::after,.rp .gp-aside a::after,.rp .fx-aside a::after,.rp .gp-band p a::after,.rp .gp-done-p a::after{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}
}

/* ---------- 단체(r05 · r05b · r05c · 모바일 05 · 05b) ---------- */
.gp .rp-sec{padding:var(--rd-sec) 0}
.gp-hero{position:relative;height:clamp(560px,calc(100vh - 126px),820px);overflow:hidden;background:#E4DAC6}   /* 개인 첫 화면(.rr-hero)과 같은 높이 — 머리가 사진 위에 떠서 사진이 맨 위(0)부터(D-529) */
.gp-hero .gp-sh{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(25,24,18,.3),rgba(25,24,18,0) 25%,rgba(25,24,18,.72))}
/* 글 배치 = 개인 첫 화면(rd-resort.css .rr-hero-in · .rr-hero-cp · .rr-hlink · .rr-facts)과 같은 값(사장님 2026-11-09 「첫 화면 글 배치도 개인이랑 맞춰줘」 · D-537).
   큰 제목 → 한 줄 설명 → 영문 키커 → 큰 글자 링크 · 오른쪽 아래 숫자 넷. 마크업 차례(키커 먼저)는 그대로 두고 보이는 차례만 order 로. 개인 쪽 값을 바꾸면 여기도 같이. */
.gp-hero .gp-hero-in{position:absolute;z-index:3;left:0;right:0;bottom:clamp(40px,7.6vw,110px);width:min(var(--rd-w),calc(100% - 48px));margin:0 auto;
  display:flex;justify-content:space-between;align-items:flex-end;gap:40px;color:#fff}
.gp-hero .gp-cp{max-width:760px;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.gp-hero h1{order:1;margin:0;font-size:var(--rd-fs-hero);line-height:var(--rd-lh-hero);color:#fff;word-break:keep-all;text-shadow:0 2px 24px rgba(25,24,18,.22)}
.gp-hero .gp-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}
.gp-hero .rp-kick{order:3;color:rgba(255,255,255,.85)}
.gp-hero .gp-bs{order:4;display:flex;align-items:center;flex-wrap:wrap;gap:4px 28px;margin-top:var(--rd-head-gap)}
.gp-hero .gp-hlink{display:inline-flex;align-items:center;min-height:var(--rd-btn-l);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}
.gp-hero .gp-htel{display:inline-flex;align-items:center;gap:6px;min-height:var(--tap,44px);color:rgba(255,255,255,.9);font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);text-decoration:none}
.gp-hero .gp-htel:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.gp-hero .gp-htel .rp-ic{width:16px;height:16px;flex:none}
.gp-hero .gp-facts{display:flex;gap:40px;margin:0;flex:none}
.gp-hero .gp-facts > div{display:flex;flex-direction:column-reverse}
.gp-hero .gp-facts dt{font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);color:rgba(255,255,255,.85)}
.gp-hero .gp-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}
@media (max-width:1100px){ .gp-hero .gp-facts{display:none} }   /* 개인(.rr-facts)과 같이 — 좁으면 숫자 넷은 숨긴다 */
/* 영업사원 랜딩 배너(#lpBanner) — 문구는 site.js 가 글자로만 넣는다 */
.gp-lp{padding-top:40px}
.gp-lp-box{background:var(--rd-card);border:1px solid var(--rd-line);border-left:3px solid var(--rd-sage);border-radius:var(--rd-radius);padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap}
.gp-lp-box > div{min-width:0;flex:1 1 300px}
.gp-lp-box [data-lp="headline"]{font-family:var(--rd-ff-sans);font-weight:500;font-size:var(--rd-fs-sub);line-height:var(--rd-lh-sub);color:var(--rd-ink)}
.gp-lp-box [data-lp="subcopy"]{margin-top:8px;font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-mute);white-space:pre-line}
.gp-lp-box .rp-btn{height:var(--rd-btn-l);padding:0 24px}
#lpBanner[hidden],.gp-lp-box [hidden]{display:none!important}
.gp-split{display:grid;grid-template-columns:minmax(0,384fr) minmax(0,792fr);gap:24px}
.gp-split 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}
.gp-split h2.gp-h-s{font-size:var(--rd-fs-title);line-height:var(--rd-lh-title)}
.gp-lead{margin:0;font-family:var(--rd-ff-sans);font-weight:400;font-size:var(--rd-fs-lead);line-height:var(--rd-lh-lead);color:var(--rd-ink)}
.gp-body{margin:16px 0 0;font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-mute)}
/* 큰 숫자(150 · 2 · 365) = 핵심 숫자 24/20 · 고딕 700 */
.gp-st3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;border-top:1px solid var(--rd-ink);margin-top:40px}
.gp-st3 > div{padding:20px 0;color:var(--rd-mute);font-size:var(--rd-fs-body);line-height:var(--rd-lh-line)}
.gp-st3 b{display:block;margin-bottom:4px;font-family:var(--rd-ff-sans);font-weight:600;font-size:var(--rd-fs-sub);line-height:var(--rd-lh-sub);color:var(--rd-ink)}
.gp-pk3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gp-pk3 img{display:block;width:100%;height:240px;object-fit:cover;border-radius:var(--rd-radius);margin:0 0 24px;background:#E4DAC6}
.gp-pk3 img.dc-slot{position:static;inset:auto}   /* 관리자 사진 칸(dc-slot · D-534) — site.css 의 img.dc-slot(꽉 채우는 absolute)이 카드 사진을 띄우지 않게 */
.gp-pk3 .gp-n{display:block;font-family:var(--rd-ff-sans);font-weight:600;color:var(--rd-gold-t);font-size:var(--rd-fs-body);line-height:var(--rd-lh-line)}
.gp-pk3 h3{margin:4px 0 0;font-size:var(--rd-fs-sub);font-weight:500;line-height:var(--rd-lh-sub);color:var(--rd-ink)}
.gp-pk3 p{margin:8px 0 0;color:var(--rd-mute);font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);min-height:3.2em}
.gp-inc{list-style:none;margin:16px 0 0;padding:0;border-top:1px solid var(--rd-line)}
.gp-inc li{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--rd-line);font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);color:var(--rd-ink)}
.gp-inc .rp-ic{width:16px;height:16px;color:var(--rd-sage)}
.gp-qt{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gp-qt h4{margin:0;font-size:var(--rd-fs-body);font-weight:500;line-height:var(--rd-lh-line);padding-bottom:12px;border-bottom:1px solid var(--rd-ink);color:var(--rd-ink)}
.gp-qt ul{list-style:none;margin:0;padding:0}
.gp-qt li{padding:12px 0;border-bottom:1px solid var(--rd-line);font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);color:var(--rd-ink)}
.gp-qt-note{margin:24px 0 0;font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-mute)}
.gp-band-card{background:var(--rd-card);border-top:1px solid var(--rd-line);border-bottom:1px solid var(--rd-line)}
/* 「GROUP ONLY」 · 단체 수영장 — 사진 옆 글 칸. 제목은 섹션 제목급(48/32) · 넘치면 줄바꿈(keep-all) · 표와 간격 24 로 겹치지 않게 */
.gp-gr,.group-room{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 96px;align-items:center}
.gp-gr .gp-gr-ph,.group-room .gp-gr-ph{position:relative;height:480px;border-radius:var(--rd-radius);overflow:hidden;background:#E4DAC6}
.group-room .gp-gr-ph{order:-1} /* 마크업은 글 칸 먼저(「GROUP · SAUNA ROOM」 바로 뒤에 빈 사진 슬롯) · 화면은 사진 왼쪽(폰은 위) */
.gp-gr > div,.group-room > div{min-width:0}
.gp-gr h3,.gp-gr h2,.group-room h3{margin:var(--rd-head-gap) 0 0;font-family:var(--rd-ff-serif);font-weight:500;letter-spacing:-.02em;font-size:var(--rd-fs-title);line-height:var(--rd-lh-title);color:var(--rd-ink);word-break:keep-all;overflow-wrap:anywhere}
.gp-tg{box-sizing:border-box;height:var(--rd-tag);display:inline-flex;align-items:center;vertical-align:top;background:var(--rd-card);border:1px solid var(--rd-line);border-radius:99px;padding:0 14px;font-size:var(--rd-fs-body);font-weight:500;line-height:1;color:var(--rd-ink);margin:var(--rd-head-gap) 0 0}
.gp-gr .gp-sub,.group-room .gp-sub{margin:var(--rd-head-gap) 0 0;color:var(--rd-mute);font-size:var(--rd-fs-body);line-height:var(--rd-lh-body)}
.gp-gr .gp-kvs,.group-room .gp-kvs{margin-top:var(--rd-head-body)}
.gp-gr .gp-kvs .rp-kv b,.group-room .gp-kvs .rp-kv b{font-weight:600}
.gp-gr .gp-note,.group-room .gp-note{margin:16px 0 0;color:var(--rd-mute);font-size:var(--rd-fs-body);line-height:var(--rd-lh-body)}
.gp-gr .gp-bs,.group-room .gp-bs{margin-top:var(--rd-head-body);display:flex;gap:12px;flex-wrap:wrap}
.gp-gr .gp-body{color:var(--rd-ink);opacity:.85}
.gp-sub-h{display:flex;align-items:baseline;gap:8px 16px;flex-wrap:wrap;margin:64px 0 16px}
.rp-sh + .gp-sub-h{margin-top:0}
.gp-sub-h > b{font-family:var(--rd-ff-sans);font-weight:500;font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);letter-spacing:var(--rd-ls-kick);color:var(--rd-gold-t)}
.gp-sub-h > span{font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);color:var(--rd-mute)}
.gp-sub-h > span b{color:var(--rd-ink);font-weight:500}
.gp-note2{margin:0 0 24px;font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-mute)}
.gp-qt-sh{margin-top:var(--rd-sec)}
.gp-bandw{padding:0 0 var(--rd-sec)}
.gp #rooms-list{scroll-margin-top:128px}
.gp-pet{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;padding:12px 16px;border-radius:var(--rd-radius);background:var(--rd-sand);font-size:var(--rd-fs-body);font-weight:500;line-height:var(--rd-lh-line);color:var(--rd-ink)}
/* 객실 카드(관리자 · site.js 가 이름 · 인원 · 요금을 채운다) — 카드 제목 24/20 · 가격 24/20 · 700 */
.gp-rgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gp-rgrid.p4{grid-template-columns:repeat(4,minmax(0,1fr))}
.gp-rc{background:var(--rd-card);border:1px solid var(--rd-line);border-radius:var(--rd-radius);overflow:hidden;display:flex;flex-direction:column;min-width:0}
.gp-rc-ph{position:relative;height:260px;background:#E4DAC6}
.p4 .gp-rc-ph{height:220px}
.gp-rc-bd{position:absolute;top:16px;left:16px;right:16px;z-index:3;display:flex;flex-wrap:wrap;gap:8px;align-items:center;pointer-events:none}
.gp-rc-tag{box-sizing:border-box;height:var(--rd-tag);display:inline-flex;align-items:center;background:rgba(252,250,244,.94);color:var(--rd-ink);border-radius:99px;padding:0 12px;font-family:var(--rd-ff-sans);font-weight:500;font-size:var(--rd-fs-body);line-height:1;letter-spacing:var(--rd-ls-kick);white-space:nowrap}
.gp-rc-grade{box-sizing:border-box;height:var(--rd-tag);display:inline-flex;align-items:center;color:#fff;border-radius:99px;padding:0 12px;font-size:var(--rd-fs-body);font-weight:500;line-height:1;white-space:nowrap}
.gp-rc-by{padding:24px;display:flex;flex-direction:column;flex:1}
.gp-rc-by [data-roomname]{font-family:var(--rd-ff-sans);font-weight:500;font-size:var(--rd-fs-sub);line-height:var(--rd-lh-sub);color:var(--rd-ink)}
.gp-rc-spec{margin-top:8px;font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-mute)}
.gp-rc-ch{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}
.gp-rc-ch span{box-sizing:border-box;height:var(--rd-tag);padding:0 12px;border:1px solid var(--rd-line);border-radius:99px;background:var(--rd-card);display:inline-flex;align-items:center;font-size:var(--rd-fs-body);font-weight:500;line-height:1;color:var(--rd-sage);white-space:nowrap}
.gp-rc-ft{margin-top:auto;padding-top:24px;display:flex;flex-direction:column;gap:16px}
.gp-rc-pr{display:flex;align-items:baseline;gap:4px 8px;flex-wrap:wrap}
.gp-rc-pr .gp-rc-q{font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);color:var(--rd-mute);margin-right:auto}
.gp-rc-pr [data-listprice]{font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);color:var(--rd-mute);text-decoration:line-through}
.gp-rc-pr [data-price]{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)}
.gp-rc-pr [data-price] span{font-family:var(--rd-ff-sans);font-size:var(--rd-fs-body);font-weight:500;color:var(--rd-ink);margin-left:2px}
.gp-rc-ac{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gp-rc-ac .rp-btn{height:var(--rd-btn-l);padding:0 16px}
/* 컨벤션 · 부대시설 */
.gp-cv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.gp-cv .rp-pc{height:320px}
.gp-cv2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:24px}
.gp-cv2 .rp-pc{height:220px}
.gp-cv-h{margin:64px 0 24px;display:flex;align-items:baseline;gap:8px 12px;flex-wrap:wrap}
.gp-cv-h b{font-size:var(--rd-fs-sub);font-weight:500;line-height:var(--rd-lh-sub);color:var(--rd-ink)}
.gp-cv-h span{font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);color:var(--rd-mute)}
.gp-aside{margin:24px 0 0;font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-mute)}
.gp-aside a{color:var(--rd-sage);font-weight:500;text-decoration:none;border-bottom:1px solid currentColor}
/* 오시는 길 — 이름 왼쪽 · 값 오른쪽(시안 01 오시는 길과 같은 표) */
.gp-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)}
.gp-loc .gp-loc-map{background:var(--rd-sand);min-height:440px;position:relative}
.gp-loc .nmap{height:100%!important;min-height:440px;border:0!important;border-radius:0!important}
.gp-loc .gp-loc-inf{padding:40px 32px}
.gp-loc .gp-r{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 0;border-bottom:1px solid var(--rd-line);font-size:var(--rd-fs-body);line-height:var(--rd-lh-body)}
.gp-loc .gp-r > span:first-child{color:var(--rd-mute);flex:none}
.gp-loc .gp-r > div{min-width:0;text-align:right;font-weight:500;color:var(--rd-ink);text-wrap:balance;word-break:keep-all}
.gp-loc .gp-bt{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}
.gp-loc .gp-bt .rp-btn{flex:1 1 auto}
.gp-loc .gp-tip{margin:16px 0 0;font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-mute)}
.gp-loc .gp-tip b{color:var(--rd-ink);font-weight:500}
/* 신청 순서 · 신청 띠 */
.gp-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px;border-top:1px solid var(--rd-ink)}
.gp-flow > div{padding:24px 0}
.gp-flow .gp-n{font-family:var(--rd-ff-sans);font-weight:600;font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);color:var(--rd-gold-t)}
.gp-flow b{display:block;font-size:var(--rd-fs-sub);font-weight:500;line-height:var(--rd-lh-sub);margin-top:12px;color:var(--rd-ink)}
.gp-flow p{margin:4px 0 0;font-size:var(--rd-fs-body);color:var(--rd-mute);line-height:var(--rd-lh-body)}
.gp-band{background:var(--rd-forest);color:#fff;border-radius:var(--rd-radius);padding:56px 64px;display:flex;justify-content:space-between;align-items:center;gap:24px 40px;flex-wrap:wrap}
.gp-band h2{margin:0;font-size:var(--rd-fs-title);line-height:var(--rd-lh-title);color:#fff}
.gp-band p{margin:var(--rd-head-gap) 0 0;font-size:var(--rd-fs-body);color:rgba(255,255,255,.75);line-height:var(--rd-lh-body)}
.gp-band p a{color:#fff;text-decoration:none;font-weight:500}
.gp-band .gp-bs{display:flex;gap:12px;flex-wrap:wrap}
/* 신청서(r05b) · 접수 완료(r05c)
   ★ 폼 간격 하나로(2026-11-03 사장님 「이런 간격 또 엉망이네」) — 라벨 → 입력칸 8 · 라벨 있는 칸 묶음 사이 20 ·
     라벨 없는 입력칸끼리 12 · 상자 제목 → 한 줄 설명 8 · 설명 → 첫 칸 12 · 마지막 칸 → 버튼 24 · 버튼끼리 12 */
.gp-apply{padding:var(--rd-sec) 0}
.gp-apply-hd h2{margin:var(--rd-head-gap) 0 0;font-size:var(--rd-fs-title);line-height:var(--rd-lh-title);color:var(--rd-ink)}
.gp-apply-hd p{margin:var(--rd-head-gap) 0 0;font-size:var(--rd-fs-lead);line-height:var(--rd-lh-lead);color:var(--rd-mute)}
.gp-apply-hd p b{color:var(--rd-gold-t);font-weight:600}
.gp-cols{display:grid;grid-template-columns:minmax(0,690fr) minmax(0,384fr);column-gap:clamp(32px,8.75vw,126px);row-gap:32px;align-items:start;margin-top:var(--rd-head-body)}
.gp-card{border:1px solid var(--rd-line);border-radius:var(--rd-radius);background:var(--rd-card);padding:40px}
.gp-g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}
.gp-fld{display:flex;flex-direction:column;min-width:0;margin-top:0}
.gp-g2 + .gp-g2,.gp-g2 + .gp-fld{margin-top:20px}
.gp-fld label{display:block;font-size:var(--rd-fs-body);font-weight:500;line-height:var(--rd-lh-line);margin-bottom:8px;color:var(--rd-ink)}
.gp-fld label em{color:var(--rd-gold-t);font-style:normal}
.gp-in{box-sizing:border-box;width:100%;height:var(--rd-input-h);border:1px solid var(--rd-line)!important;border-radius:var(--rd-input-r)!important;background:#fff;padding:0 16px;font-family:var(--rd-ff-sans);font-size:var(--rd-fs-body);color:var(--rd-ink);outline:none;-webkit-appearance:none;appearance:none}
textarea.gp-in{height:140px;padding:14px 16px;line-height:var(--rd-lh-body);resize:vertical}
input[type="date"].gp-in{display:flex;align-items:center;min-width:0}
.gp-in::placeholder{color:#A79E8E}
.gp-in:focus{border-color:var(--rd-sage)!important;box-shadow:0 0 0 3px rgba(94,108,73,.14)}
.gp-chk{display:flex;gap:12px;align-items:flex-start;margin-top:20px;font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-mute);cursor:pointer}
.gp-chk input{flex:none;width:22px;height:22px;margin:2px 0 0;accent-color:var(--rd-sage);cursor:pointer}
.gp-submit{display:flex;justify-content:flex-end;margin-top:24px}
.gp-submit .rp-btn{min-width:240px}
.gp-msg{margin-top:12px;font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:#A9403A}
/* 접수 완료 — 상자 제목 → 설명 8 · (접수번호) · 마지막 → 버튼 24 · 버튼끼리 12 */
.gp-done{padding:0}
.gp-done .gp-ttl{display:flex;align-items:center;gap:12px;font-size:var(--rd-fs-sub);font-weight:500;line-height:var(--rd-lh-sub);color:var(--rd-ink);margin:0}
.gp-done .gp-ttl .rp-ic{width:24px;height:24px;color:var(--rd-sage)}
.gp-done [data-gq="code"]{box-sizing:border-box;height:var(--rd-tag);display:inline-flex;align-items:center;margin-top:12px;font-family:var(--rd-ff-sans);font-size:var(--rd-fs-body);font-weight:500;line-height:1;color:var(--rd-ink);background:var(--rd-cream);border:1px solid var(--rd-line);border-radius:99px;padding:0 14px}
.gp-done [data-gq="code"]:empty{display:none}
.gp-done .gp-done-p{margin:8px 0 0;font-size:var(--rd-fs-body);color:var(--rd-mute);line-height:var(--rd-lh-body)}
.gp-done [data-gq="code"]:not(:empty) + .gp-done-p{margin-top:12px}
.gp-done .gp-done-p a{color:var(--rd-sage);font-weight:500}
.gp-done .gp-done-p b{color:var(--rd-ink);font-weight:500}
.gp-done .gp-bs{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}
.gp-side{position:sticky;top:calc(var(--rp-hd) + 64px);border:1px solid var(--rd-line);border-radius:var(--rd-radius);background:var(--rd-card);padding:32px}
.gp-side h3{margin:0;font-size:var(--rd-fs-sub);font-weight:500;line-height:var(--rd-lh-sub);color:var(--rd-ink)}
.gp-side .gp-steps{margin-top:12px}
.gp-side .gp-steps .rp-kv{padding:12px 0}
.gp-side > .rp-btn{width:100%;margin-top:24px}
/* 신청 내역 조회 — 라벨은 숨김(읽기용) · 입력칸끼리 12 · 마지막 칸 → 버튼 24 */
.gp-look{margin-top:24px;padding-top:24px;border-top:1px solid var(--rd-line)}
.gp-look h4{margin:0;font-size:var(--rd-fs-body);font-weight:500;line-height:var(--rd-lh-line);color:var(--rd-ink)}
.gp-look > p{margin:8px 0 0;font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-mute)}
.gp-look form{margin-top:12px;display:flex;flex-direction:column;gap:12px}
.gp-look label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gp-look .gp-in{height:var(--rd-input-h)}
.gp-look .rp-btn{width:100%;height:var(--rd-btn-l);margin-top:12px}
/* 조회 결과 — site.js 가 인라인 style 로 그린다(13 · 13.5 · 12 · 11.5px) → 16 으로 덮는다 */
.gp-look [data-gq="lookOut"] div,.gp-look [data-gq="lookOut"] span{font-size:var(--rd-fs-body)!important;line-height:var(--rd-lh-body)!important}
.gp-look [data-gq="lookOut"] > div{margin-top:12px!important}
.gp-look [data-gq="lookOut"] > div:first-child{margin-top:24px!important}
.gp-look [data-gq="lookOut"] > div[style*="border:1px solid"]{border-color:var(--rd-line)!important;border-radius:var(--rd-radius)!important;padding:20px!important;background:#fff!important}
.gp-look [data-gq="lookOut"] > div[style*="border:1px solid"] > div{margin-top:8px!important}
.gp-look [data-gq="lookOut"] > div[style*="border:1px solid"] > div:first-child{margin-top:0!important;gap:8px 12px!important}
.gp-look [data-gq="lookOut"] > div[style*="border:1px solid"] > div:first-child > span:first-child{font-weight:500!important;letter-spacing:0!important}
.gp-look [data-gq="lookOut"] > div[style*="border:1px solid"] > div:first-child > span + span{box-sizing:border-box;height:var(--rd-tag);display:inline-flex;align-items:center;padding:0 12px!important;line-height:1!important}
.gp-look [data-gq="lookOut"] > div[style*="border:1px solid"] > div:last-child{color:var(--rd-mute)!important}

@media (max-width:1100px){
  .gp-cols{grid-template-columns:minmax(0,1fr)}
  .gp-side{position:static}
  .gp-rgrid.p4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gp-loc{grid-template-columns:minmax(0,1fr)}
  .gp-loc .gp-loc-inf{padding:32px}
  .gp-gr,.group-room{column-gap:48px}
}
@media (max-width:860px){
  .gp-hero{height:560px}   /* 개인(.rr-hero 폰 560)과 같게 */
  .gp-hero .gp-hero-in{bottom:32px;width:calc(100% - 32px)}   /* 개인 .rr-hero-in · .rr-w 폰 값 */
  .gp-hero .gp-bs{margin-top:8px}                              /* 개인 .rr-hlink 폰 값 */
  .gp-hero .gp-bs .rp-btn{padding:0 20px}
  .gp-lp{padding-top:24px}
  .gp-lp-box{padding:20px}
  .gp-split{grid-template-columns:minmax(0,1fr);gap:16px}
  .gp-st3{margin-top:24px;column-gap:12px;border-top-color:var(--rd-line);border-bottom:1px solid var(--rd-line)}
  .gp-st3 > div{padding:16px 0;text-align:center}
  .gp-pk3{grid-template-columns:minmax(0,1fr);gap:48px}
  .gp-pk3 img{height:200px;margin-bottom:16px}
  .gp-pk3 p{min-height:0}
  .gp-qt{grid-template-columns:minmax(0,1fr);gap:32px}
  .gp-gr{grid-template-columns:minmax(0,1fr)}
  .group-room{grid-template-columns:minmax(0,1fr)!important} /* 인라인 2열을 이긴다(721~860px · 720 이하는 site.css) */
  .gp-gr .gp-gr-ph,.group-room .gp-gr-ph{height:240px}
  .gp-gr .gp-bs .rp-btn,.group-room .gp-bs .rp-btn{flex:1 1 140px}
  .gp-rgrid,.gp-rgrid.p4{gap:12px}
  .gp .gp-rgrid[data-swipe]{margin-left:calc(-1 * var(--rp-g))!important;margin-right:calc(-1 * var(--rp-g))!important;padding-left:var(--rp-g)!important;padding-right:var(--rp-g)!important;scroll-padding-left:var(--rp-g)}
  .gp-sub-h{margin-top:48px}
  .gp-rc-ph,.p4 .gp-rc-ph{height:200px}
  .gp-rc-bd{top:12px;left:12px;right:12px;gap:6px}
  .gp-rc-by{padding:20px}
  .gp-cv,.gp-cv2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .gp-cv .rp-pc,.gp-cv2 .rp-pc{height:200px}
  .gp-cv2{margin-top:12px}
  .gp-cv-h{margin:48px 0 16px}
  .gp-loc .gp-loc-map,.gp-loc .nmap{min-height:280px}
  .gp-loc .gp-loc-inf{padding:20px}
  .gp-loc .gp-bt .rp-btn{flex:1 1 140px}
  .gp-flow{grid-template-columns:minmax(0,1fr);border-top-color:var(--rd-line)}
  .gp-flow > div,.gp-flow > div + div{padding:16px 0;border-left:0;border-bottom:1px solid var(--rd-line);display:grid;grid-template-columns:40px minmax(0,1fr)}
  .gp-flow b{margin-top:0;grid-column:2}
  .gp-flow p{grid-column:2}
  .gp-flow .gp-n{grid-row:span 2;line-height:var(--rd-lh-sub)}
  .gp-band{padding:32px 24px}
  .gp-band .gp-bs{width:100%;flex-direction:column}
  .gp-band .gp-bs .rp-btn{width:100%}
  .gp-card{padding:0;border:0;background:none;border-radius:0}
  .gp-g2{grid-template-columns:minmax(0,1fr);gap:20px}
  .gp-g2.dt{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
  .gp-submit .rp-btn{width:100%;min-width:0}
  .gp-done .gp-bs .rp-btn{flex:1 1 140px}
  .gp-side{padding:24px 20px}
}

/* ---------- 포스팅(r12a-c · 모바일 12) — 글 카드는 posting.js 가 그린다 ---------- */
.pt-wrap{max-width:var(--rd-w);margin:0 auto;padding:0 var(--rp-g) var(--rd-sec);box-sizing:content-box}
.pt-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px 40px;padding-bottom:0;border-bottom:0}
.pt-head .rp-crumb{margin-bottom:24px}
.pt-head h1{margin:var(--rd-head-gap) 0 0;font-family:var(--rd-ff-serif);font-weight:500;letter-spacing:-.02em;font-size:var(--rd-fs-title);line-height:var(--rd-lh-title);color:var(--rd-ink)}
.pt-head p{margin:var(--rd-head-gap) 0 0;font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-mute)}
/* 탭 · 분류 = 버튼 모양(44) — 켜짐 진한 바탕 · 꺼짐 크림 + 선 */
.pt-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.pt-tab,.pt-chip{box-sizing:border-box;flex:none;font:inherit;font-family:var(--rd-ff-sans);font-size:var(--rd-fs-body);font-weight:500;line-height:1;color:var(--rd-ink);background:var(--rd-card);border:1px solid var(--rd-line);border-radius:99px;height:var(--rd-btn-s);padding:0 20px;cursor:pointer;display:inline-flex;gap:8px;align-items:center;white-space:nowrap}
.pt-tab:hover,.pt-chip:hover{border-color:var(--rd-ink)}
.pt-tab.on,.pt-chip.on{background:var(--rd-ink);border-color:var(--rd-ink);color:#fff}
.pt-n{font-family:var(--rd-ff-sans);font-size:var(--rd-fs-body);font-weight:500;opacity:.6}
.pt-chips{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;max-width:100%}
.pt-chips::-webkit-scrollbar{display:none}
.pt-list{margin-top:var(--rd-head-body);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 24px}
.pt-card{display:flex;flex-direction:column;gap:0;text-decoration:none;color:inherit;min-width:0}
.pt-ph{position:relative;display:block;height:240px;border-radius:var(--rd-radius);overflow:hidden;background:var(--rd-sand)}
.pt-ph img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.pt-card:hover .pt-ph img,.pt-card:focus-visible .pt-ph img{transform:scale(1.04)}
.pt-card:focus-visible{outline:2px solid var(--rd-sage);outline-offset:4px;border-radius:var(--rd-radius)}
.pt-badges{position:absolute;left:12px;top:12px;right:12px;display:flex;gap:8px;flex-wrap:wrap;z-index:2}
/* 꼬리표 32 · 크림 바탕 · 16 — 협찬은 금색 테두리 + 금색 글자(금색 채움 없음) */
.pt-badge{box-sizing:border-box;height:var(--rd-tag);display:inline-flex;align-items:center;font-size:var(--rd-fs-body);font-weight:500;line-height:1;padding:0 12px;border-radius:99px;border:1px solid var(--rd-line);background:rgba(252,250,244,.96);color:var(--rd-ink);box-shadow:none;white-space:nowrap}
.pt-badge.ad{background:rgba(252,250,244,.96);border-color:var(--rd-gold);color:var(--rd-gold-t)}
.pt-badge.guide{background:rgba(252,250,244,.96);border-color:var(--rd-sage);color:var(--rd-sage)}
.pt-badge.own{background:rgba(252,250,244,.96);border-color:var(--rd-ink);color:var(--rd-ink)}
.pt-ov{position:absolute;inset:0;z-index:1;display:flex;align-items:flex-end;padding:20px;background:linear-gradient(180deg,rgba(25,24,18,0) 35%,rgba(25,24,18,.8));opacity:0;transition:opacity .3s ease}
.pt-ov span{color:#fff;font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media (hover:hover){.pt-card:hover .pt-ov,.pt-card:focus-visible .pt-ov{opacity:1}}
@media (hover:none){.pt-ov{display:none}}
.pt-quote{position:absolute;inset:0;display:none;flex-direction:column;justify-content:center;gap:12px;padding:24px;color:var(--rd-ink)}
.pt-quote b{font-family:var(--rd-ff-sans);font-size:var(--rd-fs-title);line-height:.6;color:rgba(51,48,42,.3)}
.pt-quote span{font-family:var(--rd-ff-sans);font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;word-break:keep-all}
.pt-noimg .pt-ph img,.pt-noimg .pt-ov{display:none}
.pt-noimg .pt-quote{display:flex}
.pt-info{display:flex;flex-direction:column;gap:8px;min-width:0;padding:16px 0 0}
.pt-title{font-size:var(--rd-fs-sub);font-weight:500;line-height:var(--rd-lh-sub);color:var(--rd-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:keep-all}
.pt-meta{display:flex;gap:12px;align-items:baseline;justify-content:space-between;font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);color:var(--rd-mute);min-width:0}
.pt-who{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pt-when{flex:none;white-space:nowrap;color:var(--rd-mute)}
.pt-when i{font-style:normal;font-weight:500;color:var(--rd-sage);margin-right:8px}
.pt-more{box-sizing:border-box;display:flex;align-items:center;justify-content:center;margin:48px auto 0;font:inherit;font-family:var(--rd-ff-sans);font-size:var(--rd-fs-body);font-weight:500;line-height:1;color:var(--rd-ink);background:transparent;border:1px solid var(--rd-ink);border-radius:99px;height:var(--rd-btn-l);padding:0 28px;cursor:pointer}
.pt-more:hover{background:var(--rd-sand)}
.pt-empty{margin-top:48px;text-align:center;font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-mute)}
.pt-more[hidden],.pt-empty[hidden]{display:none}
.pt-foot{margin:24px auto 0;max-width:760px;text-align:center;font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-mute)}
@media (max-width:1100px){ .pt-list{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:860px){
  .pt-wrap{padding:0 var(--rp-g) var(--rd-sec)}
  .pt-bar{grid-template-columns:minmax(0,1fr);gap:16px}
  .pt-head .rp-crumb{margin-bottom:16px}
  /* 탭 · 분류는 한 줄로 옆으로 민다(줄바꿈 없음) — 모양은 PC 와 같다 */
  .pt-tabs,.pt-chips{justify-content:flex-start;margin:0 calc(-1 * var(--rp-g));padding:0 var(--rp-g);flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .pt-tabs::-webkit-scrollbar{display:none}
  .pt-tab,.pt-chip{padding:0 16px}
  .pt-list{grid-template-columns:minmax(0,1fr);gap:0;margin-top:16px}
  /* 폰 목록 — 왼쪽 96 사진 · 오른쪽 제목/글쓴이 · 그 아래 꼬리표(16px 꼬리표가 96 사진 위에 안 들어가서 글 칸으로 내렸다).
     사진 칸(.pt-ph)을 display:contents 로 풀어 사진 · 꼬리표 · 첫 문장을 카드 칸에 직접 놓는다(posting.js 마크업은 그대로) */
  .pt-card{display:grid;grid-template-columns:96px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:16px;row-gap:12px;padding:16px 0;border-bottom:1px solid var(--rd-line);align-items:start}
  .pt-card > .pt-ph{display:contents}
  .pt-card > .pt-ph > img{grid-column:1;grid-row:1 / span 2;width:96px;height:96px;border-radius:var(--rd-radius);background:var(--rd-sand)}
  .pt-card > .pt-ph > .pt-quote{position:relative;inset:auto;grid-column:1;grid-row:1 / span 2;box-sizing:border-box;width:96px;height:96px;padding:12px;border-radius:var(--rd-radius);background:var(--rd-sand)}
  .pt-card[data-topic="cafe"] .pt-quote{background:#E9DCC6}
  .pt-card[data-topic="group"] .pt-quote{background:#DCE3D0}
  .pt-card[data-topic="stay"] .pt-quote{background:#E8D9CB}
  .pt-quote b{display:none}
  .pt-quote span{-webkit-line-clamp:3}
  .pt-card > .pt-ph > .pt-ov{display:none}
  .pt-card > .pt-ph > .pt-badges{position:static;grid-column:2;grid-row:2;gap:6px}
  .pt-card > .pt-info{grid-column:2;grid-row:1;padding:0;gap:8px}
  .pt-meta{flex-direction:column;align-items:flex-start;gap:4px}
  .pt-who{max-width:100%}
  .pt-more{width:100%;margin-top:24px}
  .pt-foot{text-align:left;margin-top:16px}
}
@media (prefers-reduced-motion:reduce){.pt-ph img,.pt-ov{transition:none}.pt-card:hover .pt-ph img{transform:none}}

/* ---------- 알짜 가이드(r14 · r14b · 모바일 17 · 17b) — 글 카드는 reviews.js 가 그린다 ---------- */
.gd .gd-wrap{padding-bottom:var(--rd-sec)}
.gd .gd-hd{margin-top:24px}
.gd .gd-hd h1{margin:var(--rd-head-gap) 0 0;font-family:var(--rd-ff-serif);font-weight:500;letter-spacing:-.02em;font-size:var(--rd-fs-title);line-height:var(--rd-lh-title);color:var(--rd-ink)}
.gd .gd-hd p{margin:var(--rd-head-gap) 0 0;max-width:640px;font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-mute)}
.gd [data-reviews]{margin-top:var(--rd-head-body)}
.gd .rv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 24px;margin-top:0}
.gd .rv-card{background:transparent;border:0;border-radius:0;overflow:visible;box-shadow:none!important;transform:none!important}
.gd .rv-ph{height:240px;aspect-ratio:auto;border-radius:var(--rd-radius);background:var(--rd-sand);overflow:hidden}
.gd .rv-ph img{transition:transform .5s ease}
.gd .rv-card:hover .rv-ph img{transform:scale(1.04)}
.gd .rv-card:focus-visible{outline:2px solid var(--rd-sage);outline-offset:4px;border-radius:var(--rd-radius)}
.gd .rv-card.rv-noimg .rv-ph::after{font-family:var(--rd-ff-sans);font-size:var(--rd-fs-hero)}
.gd .rv-body{padding:16px 0 0;gap:8px}
.gd .rv-title{font-family:var(--rd-ff-sans);font-weight:500;font-size:var(--rd-fs-sub);line-height:var(--rd-lh-sub);color:var(--rd-ink)}
.gd .rv-ex{font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-mute);-webkit-line-clamp:2}
.gd .rv-meta{font-size:var(--rd-fs-body);line-height:var(--rd-lh-line);color:var(--rd-mute)}
.gd .rv-src{color:var(--rd-sage);font-weight:500}
.gd [data-reviews-empty]{margin-top:0;border:1px dashed var(--rd-line);border-radius:var(--rd-radius);background:var(--rd-card);padding:64px 24px;text-align:center;font-size:var(--rd-fs-body);line-height:var(--rd-lh-body);color:var(--rd-mute)}
.gd [data-reviews-empty][hidden]{display:none}
.gd .rp-gcta{margin-top:var(--rd-sec)}
@media (max-width:1100px){ .gd .rv-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:860px){
  .gd .gd-hd{margin-top:16px}
  .gd .rv-grid{grid-template-columns:minmax(0,1fr);gap:0}
  .gd .rv-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--rd-line)}
  .gd .rv-ph{height:96px}
  .gd .rv-card.rv-noimg .rv-ph::after{font-size:var(--rd-fs-hero)}
  .gd .rv-body{padding:0}
  .gd .rv-meta{flex-direction:column;gap:4px}
  .gd [data-reviews-empty]{padding:32px 20px}
}

/* 포스팅 — posting.html 안 기본 <style>(시험이 찾는 규칙)의 aspect-ratio:32/25 가 폰 목록의 96px 사진 칸을 123px 로 늘려
   글자를 덮었다(2026-11-02 사장님 폰 화면). 사진 크기는 여기서 height 로만 정한다 */
.pt-ph{aspect-ratio:auto}

.rp-addr,[data-cms="common.address"]{text-wrap:balance}
/* 세로줄 빼기 (2026-11-03 사장님 「세로줄도 ?」) — 숫자 칸 · 신청 순서: 세로줄과 그 옆 안쪽 여백 대신 칸 사이 간격 */
.gp-st3 > div + div,.gp-flow > div + div{padding-left:0;border-left:0}
