/*
Theme Name: THE WITT RESORT & LIFE
Theme URI: https://thewitt24.mycafe24.com
Description: 더위트 통합 브랜드 사이트 커스텀 테마. 메인 시안 v0.1(design/main-draft) 이식.
Version: 0.1.0
Author: THE WITT
Text Domain: thewitt
*/

:root{
  --navy:#1e2f5c; --gold:#b98d4f; --silver:#8a8f98; --green:#1e5c47;
  --ink:#20242c; --paper:#f7f5f0; --line:#e6e1d6; --card:#ffffff;
  /* 골드 위 전경색. 흰 글자는 2.96:1로 AA 미달이라 잉크를 쓴다 (5.17:1) */
  --on-gold:#20242c;
  /* 긴급 소구용 딥레드. 원색 #b3261e를 한 단계 낮췄다 — 면 채움을 없앤 대신
     선·글자로만 쓰므로 톤은 유지되고 `15-` 「원색 면 금지」에 맞는다 (20- P1-3.3) */
  --alert:#8f2a24;
  /* 골드는 장식(밑줄·룰·불릿·칩) 전용. 글자에는 쓰지 않는다 (Master 결정 2026-08-30, `15-` 개정).
     밝은 배경 위 골드 글자는 2.7~2.8:1로 AA 미달이었다. 밝은 바탕=navy, 사진 위=흰색 */
  --accent-text:#1e2f5c;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:"Pretendard Variable",Pretendard,"Noto Sans KR","Apple SD Gothic Neo",sans-serif;font-weight:400;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;letter-spacing:-.01em;
  /* 한국어는 단어 단위로 줄바꿈한다. 기본값(normal)이면 「도우미 2 / 명」처럼 조사·단위가 잘린다 */
  word-break:keep-all;overflow-wrap:break-word}
html{scroll-behavior:smooth}
[id]{scroll-margin-top:84px} /* sticky GNB에 앵커 타깃이 가리지 않게 */
::selection{background:var(--gold);color:#fff}
.serif{font-family:"MaruBuri","Noto Serif KR",serif}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}

/* GNB — 기획서 슬라이드 1: 화이트 고정 바 + 네이비 워드마크 + 다크 메뉴 */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(30,47,92,.08)}
.gnb{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px} /* 단축형 padding은 .wrap의 좌우 24px를 덮어써 모바일에서 버거가 화면 밖으로 나갔다 (20- P0-1) */
.gnb .brand{display:flex;align-items:center;gap:12px;color:var(--navy);text-decoration:none}
.gnb .brand img{height:48px}
.gnb .brand b{font-size:17px;letter-spacing:.1em;line-height:1.25;font-weight:700}
.gnb nav{display:flex;gap:28px}
.gnb nav a{color:var(--ink);text-decoration:none;font-size:13.5px;letter-spacing:.12em;padding-bottom:3px;font-weight:500;transition:color .25s,border-color .25s}
.gnb nav a:hover{color:var(--navy);border-bottom:2px solid var(--gold)}
.gnb nav a.is-current{color:var(--navy);font-weight:700;border-bottom:2px solid var(--gold)}
/* 한글 메뉴 자간 분리 — 라틴 대문자 자간(.12em)을 한글에 그대로 쓰면 안 된다 (20- P1-3.7) */
.gnb nav .nav-top[href$="/ihopony/"]{letter-spacing:.06em}
.gnb nav .nav-top[href$="/life/"],
.gnb nav .nav-top[href$="/location/"]{letter-spacing:.02em}

/* GNB 드롭다운 서브 메뉴 (hover/focus-within) */
.gnb nav .nav-item{position:relative;display:flex;align-items:center}
.gnb nav .nav-drop{position:absolute;top:100%;left:50%;transform:translate(-50%,6px);min-width:186px;
  background:rgba(255,255,255,.97);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid var(--line);border-top:2px solid var(--gold);border-radius:0 0 8px 8px;
  box-shadow:0 16px 34px rgba(30,47,92,.14);padding:8px 0;
  opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s}
.gnb nav .nav-item:hover .nav-drop,.gnb nav .nav-item:focus-within .nav-drop{
  opacity:1;visibility:visible;transform:translate(-50%,0)}
.gnb nav .nav-drop a{display:block;padding:10px 20px;font-size:13.5px;letter-spacing:.04em;
  color:var(--ink);border:none;white-space:nowrap}
.gnb nav .nav-drop a:hover{color:var(--navy);background:#f6f2e9;border:none}
/* 상품 5종은 「상품안내」의 하위다. 평평한 목록이라 들여쓰기와 마커로 층위를 만든다 */
.gnb nav .nav-drop a.nav-sub{padding-left:34px;font-size:12.5px;color:#5a6070;position:relative}
.gnb nav .nav-drop a.nav-sub::before{content:"";position:absolute;left:22px;top:50%;
  width:5px;height:1px;background:var(--gold);transform:translateY(-.5px)}
.gnb nav .nav-drop a.nav-sub:last-of-type{margin-bottom:4px}
/* 드롭다운을 잇는 히트영역 공백 메움 */
.gnb nav .nav-item::after{content:"";position:absolute;left:0;right:0;top:100%;height:8px}

/* 히어로 — 기획서 슬라이드 1: 풀블리드 사진 + 우측 중앙 대형 워드마크 */
.hero{position:relative;min-height:78vh;display:flex;align-items:center;background-size:cover;background-position:center}
.hero .copy{position:relative;z-index:2;width:100%;display:flex;justify-content:flex-end}
.hero h1.hero-mark{font-family:"MaruBuri","Noto Serif KR",serif;font-size:clamp(32px,5vw,62px);font-weight:600;letter-spacing:.1em;line-height:1.22;color:#131313;text-align:left;text-shadow:0 1px 2px rgba(255,248,235,.4);animation:tw-hero-in 1.1s cubic-bezier(.2,.7,.2,1) both .15s}
.hero .cta{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}
/* 히어로 스크림 — 사진 위 다크 워드마크의 대비를 확보한다 (20- P0-3).
   text-shadow만으로는 배경이 사진일 때 대비가 통제되지 않는다. 실측 국소 최저 1.09:1 */
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to left,rgba(247,245,240,.88) 0%,rgba(247,245,240,.62) 38%,rgba(247,245,240,0) 68%)}
.hero-inner{display:flex;flex-direction:column;align-items:flex-start}
.btn{display:inline-block;padding:14px 30px;border-radius:4px;text-decoration:none;font-size:14px;letter-spacing:.14em;font-weight:500;transition:transform .25s,box-shadow .25s,filter .25s,background .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(30,47,92,.18)}
.btn-gold{background:var(--gold);color:var(--on-gold)}
.btn-gold:hover{filter:brightness(1.06)}
.btn-line{border:1px solid rgba(255,255,255,.75);color:#fff}
.hero .cta .btn-line-navy{background:rgba(247,245,240,.72);backdrop-filter:blur(2px)}

/* 섹션/브랜드 카드 */
.section{padding:88px 0}
.section h2{text-align:center;font-size:26px;letter-spacing:.12em;color:var(--navy)}
.section .sub{text-align:center;margin-top:10px;color:#6b6f78;font-size:15px}
.brands{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.card{background:#fff;border:1px solid var(--line);overflow:hidden}
.card .thumb{aspect-ratio:4/3;overflow:hidden}
.card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .thumb img{transform:scale(1.04)}
.card .body{padding:24px}
.card .logo{height:64px;width:64px;margin:-56px auto 8px;background:#fff;border:1px solid var(--line);border-radius:8px;position:relative;z-index:2;display:flex;align-items:center;justify-content:center;overflow:hidden}
.card .logo img{object-fit:cover}
.card h3{text-align:center;font-size:18px;color:var(--navy);letter-spacing:.08em}
.card .tag{text-align:center;font-size:12px;letter-spacing:.16em;color:var(--accent-text);margin-top:4px}
.card p{margin-top:12px;font-size:14px;line-height:1.7;color:#555b64}
.card .go{display:block;text-align:center;margin-top:18px;font-size:13px;letter-spacing:.1em;color:var(--navy);text-decoration:none}
.card.life h3{color:var(--green)}

/* 일반 페이지 */
.page-body{padding:96px 0 88px}
.page-body h1{font-size:30px;color:var(--navy);margin-bottom:24px}
.page-body .entry{line-height:1.8;font-size:16px}
.page-body .entry p{margin:0 0 1em}

/* 서브페이지 요소 */
.page-body .entry .lead{font-size:19px;color:var(--navy);font-weight:700;letter-spacing:.02em}
.page-body .entry .muted{color:#8a8f98;font-size:13px}
.page-body .entry section{margin:0 0 32px}
.page-body .entry section h2{font-size:20px;color:var(--navy);margin-bottom:10px;padding-left:12px;border-left:3px solid var(--gold)}
.page-body .entry ul{margin:0 0 1em 1.2em}
.page-body .entry li{margin-bottom:.4em}
.page-body .entry table{width:100%;border-collapse:collapse;margin:16px 0}
.page-body .entry th,.page-body .entry td{border:1px solid var(--line);padding:12px 14px;text-align:left;font-size:15px}
.page-body .entry th{background:#f3efe7;color:var(--navy)}
.loc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.loc{background:#fff;border:1px solid var(--line);padding:24px}
.loc h2{border:none;padding:0;margin-bottom:8px}
@media (max-width:860px){.loc-grid{grid-template-columns:1fr}}

/* 서브페이지 본문 여백 (GNB는 전 페이지 공통 화이트 바) */
.page .page-body,.single .page-body{padding-top:64px}

/* 브랜드관 — 기획서 슬라이드 2·5·7 공통 패턴 */
.brand-page{padding:40px 0 88px}
.brand-bar{background:none;color:var(--navy);font-size:clamp(24px,2.6vw,34px);letter-spacing:.14em;padding:0 0 14px;font-weight:600;margin-bottom:26px;border-radius:0;font-family:"MaruBuri","Noto Serif KR",serif;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line)}
.brand-bar::before{content:"";width:14px;height:14px;border-radius:3px;background:var(--bar,var(--gold));flex:0 0 auto;box-shadow:0 0 0 4px color-mix(in srgb,var(--bar,var(--gold)) 22%,transparent)}
.brand-grid{display:grid;grid-template-columns:38fr 62fr;gap:16px;align-items:stretch}
/* photo-link — 메인 객실·관광지 사진을 실제 링크로 만든다 (20- P1-3.5).
   그동안 hover에 translateY+그림자가 걸려 클릭 가능해 보였지만 아무 동작도 없었다.
   그리드의 자식이 img → a 로 바뀌므로 라운드·호버 효과도 링크로 옮긴다. */
.brand-grid>div,.photo-row img,.photo-row .photo-link,.brand-strip,.brand-photo{border-radius:12px;overflow:hidden}
.photo-row .photo-link{position:relative;display:block;text-decoration:none;color:#fff}
.photo-row img,.photo-row .photo-link{transition:transform .5s,box-shadow .5s}
.photo-row>img:hover,.photo-row .photo-link:hover{transform:translateY(-5px);box-shadow:0 14px 28px rgba(30,47,92,.16)}
/* 관광지 이름 — 상세 페이지가 같은 에셋을 쓰는 것이 확인된 6장에만 붙는다 */
.photo-cap{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 12px;
  background:linear-gradient(180deg,rgba(20,26,40,0),rgba(20,26,40,.78));
  font-size:14.5px;font-weight:600;letter-spacing:.01em;text-shadow:0 1px 3px rgba(0,0,0,.45)}
@media (max-width:640px){.photo-cap{font-size:15px;padding:34px 16px 14px}}
.brand-logo-card{background:#f4efe4;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:24px}
.brand-logo-card img{max-height:320px;width:auto;object-fit:contain}
.brand-photo{position:relative;overflow:hidden;min-height:320px}
.brand-photo::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(205deg,rgba(247,245,240,.86) 0%,rgba(247,245,240,.46) 30%,rgba(247,245,240,0) 56%)}
.brand-photo img{width:100%;height:100%;object-fit:cover;display:block}
.brand-photo-mark{position:absolute;z-index:2;top:26px;right:28px;font-size:clamp(20px,2.6vw,34px);font-weight:800;
  letter-spacing:.05em;color:#111;line-height:1.25;text-align:right;text-shadow:0 1px 3px rgba(255,255,255,.5)}
.brand-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:16px}
/* 정적 시설 갤러리 — 자동 이동을 없앤 형태. hover는 사진임을 알리는 최소 반응만 남긴다 */
.brand-strip.is-static img{border-radius:8px;transition:transform .35s,box-shadow .35s}
.brand-strip.is-static img:hover{transform:translateY(-3px);box-shadow:0 10px 20px rgba(30,47,92,.14)}
.brand-strip img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
/* 본문 조판 — 브랜드관 래퍼는 .brand-page라 `.page-body .entry`의 조판 규칙이 닿지 않았다.
   그 결과 소개문이 line-height:normal(≈1.2) + 문단 간격 0으로 한 덩어리로 뭉쳐 있었다.
   `15-` 규정(본문 15.5~16px / line-height 1.8)을 여기에도 적용한다 (20- 브랜드관 검토) */
.brand-intro{margin-top:44px;font-size:16px;line-height:1.8;color:var(--ink)}
.brand-intro p{margin:0 0 1.15em}
.brand-intro>p,.brand-intro .lead{max-width:820px}
.brand-intro .lead{font-size:21px;line-height:1.6;color:var(--navy);font-weight:700;margin-bottom:.85em}
.brand-links{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{filter:brightness(1.15)}
@media (max-width:860px){
  /* 모바일은 center-crop으로 워드마크가 어두운 건물 위에 온다.
     균일 베일은 대비를 얻는 대신 사진을 날려버렸다 → 크롭을 하늘 쪽으로 옮기고 베일은 낮춘다 (20- P0-3) */
  .hero{background-position:64% center}
  .hero::after{background:linear-gradient(to left,rgba(247,245,240,.78) 0%,rgba(247,245,240,.52) 58%,rgba(247,245,240,.24) 100%)}
  .hero .cta{margin-top:22px}
  .brand-photo::after{background:linear-gradient(200deg,rgba(247,245,240,.88) 0%,rgba(247,245,240,.5) 38%,rgba(247,245,240,0) 64%)}
  .brand-grid{grid-template-columns:1fr}
  .brand-logo-card img{max-height:200px}
  .brand-strip{grid-template-columns:repeat(4,1fr)}
  /* 마퀴는 흘러가며 전부 보였지만 정적 갤러리는 숨기면 영영 안 보인다.
     정적 모드에서는 감추지 않고 여러 행으로 흘린다 (31- P1) */
  .brand-strip:not(.is-static) img:nth-child(n+5){display:none}
  .brand-strip.is-static{grid-template-columns:repeat(3,1fr);gap:8px}
}

/* 메인 원페이지 (슬라이드 1~8) */
.sec-head{font-family:"MaruBuri","Noto Serif KR",serif;font-size:26px;font-weight:600;color:var(--navy);border:none;padding:0 0 12px;margin:76px 0 26px;letter-spacing:.06em;border-bottom:1px solid var(--line);position:relative}
.sec-head::after{content:"";position:absolute;left:0;bottom:-1px;width:56px;height:3px;background:var(--gold)}
/* ⚠️ `.brand-intro p`(0,2,0)가 이 규칙을 이겨 margin-top이 죽는다.
   실제로 「상품 전체 비교」 버튼이 카드에 간격 0으로 붙어 있었다. 특정도를 올려 되돌린다 */
.sec-more{margin:18px 0 0;display:flex;gap:10px;flex-wrap:wrap}
.brand-intro p.sec-more,.entry p.sec-more{margin:26px 0 0}
.btn-line-navy{border:1px solid var(--navy);color:var(--navy)}
.photo-row.three{grid-template-columns:repeat(3,1fr)}
/* 상품 아코디언 — 기존 사이트 호버 확장 구조 재현 */
.prod-acc{display:flex;gap:14px;height:440px}
.acc-item{position:relative;flex:1;min-width:0;overflow:hidden;border-radius:18px;
  background-size:cover;background-position:center;text-decoration:none;display:block;
  transition:flex .55s cubic-bezier(.22,.9,.3,1)}
.acc-item::after{content:"";position:absolute;inset:0;background:rgba(30,40,60,.38);transition:background .4s}
.acc-item.is-open{flex:4.2}
.acc-item.is-open::after{background:linear-gradient(180deg,rgba(20,26,40,0) 45%,rgba(20,26,40,.62) 100%)}
/* 접힌 패널 라벨 — vertical-rl은 한글을 글자 단위로 쌓아 판독이 안 됐다 (20- P1-3.1).
   가로 조판을 유지한 채 블록을 -90도 회전한다. 회전된 한글은 읽히지만 쌓인 한글은 읽히지 않는다.
   접힌 패널 실측 134×440px → 400px 라벨 박스가 들어간다(최장 라벨 약 240px) */
.acc-vertical{position:absolute;left:50%;top:50%;z-index:2;width:400px;height:44px;
  transform:translate(-50%,-50%) rotate(-90deg);writing-mode:horizontal-tb;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:700;font-size:16px;letter-spacing:.06em;
  text-shadow:0 1px 6px rgba(0,0,0,.5);opacity:1;transition:opacity .3s;white-space:nowrap}
.acc-item.is-open .acc-vertical{opacity:0}
.acc-caption{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;align-items:center;gap:14px;
  padding:18px 22px;background:rgba(35,42,58,.55);color:#fff;opacity:0;transform:translateY(12px);
  transition:opacity .4s .18s,transform .4s .18s}
.acc-item.is-open .acc-caption{opacity:1;transform:none}
.acc-caption em{font-style:normal;font-size:26px;font-weight:300;opacity:.85;font-variant-numeric:tabular-nums}
.acc-text{min-width:0}
.acc-text b{display:block;font-size:clamp(17px,1.8vw,24px);letter-spacing:.02em;white-space:nowrap}
.acc-text small{display:block;font-size:13px;line-height:1.5;opacity:.9;margin-top:4px}
.acc-plus{margin-left:auto;flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:var(--gold);
  color:var(--on-gold);display:flex;align-items:center;justify-content:center}
.acc-plus svg{width:19px;height:19px}
@media (max-width:860px){
  .prod-acc{flex-direction:column;height:auto}
  .acc-item{height:64px;flex:none}
  .acc-item.is-open{height:300px;flex:none}
  .acc-vertical{position:absolute;inset:0;width:auto;height:auto;transform:none;
    writing-mode:horizontal-tb;letter-spacing:.02em}
  .acc-text small{white-space:normal}
}

/* 사진 스트립 자동 스크롤 */
.strip-marquee{overflow:hidden}
/* duration은 장수에 비례해 PHP가 넣는다 — 컷을 줄이면 같은 36초에서 더 빨라진다 (20- P1-3.6) */
.strip-marquee .strip-track{display:flex;gap:8px;width:max-content;
  animation:strip-scroll var(--strip-dur,36s) linear infinite}
.strip-marquee img{width:172px;height:172px;aspect-ratio:1/1;object-fit:cover;flex:0 0 auto}
.strip-marquee:hover .strip-track{animation-play-state:paused}
@keyframes strip-scroll{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 4px))}}
@media (prefers-reduced-motion:reduce){.strip-marquee .strip-track{animation:none}}

/* 서브페이지 기획서 정합 요소 (슬라이드 3·11·12·13·8·16·18) */
.photo-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:8px 0 24px}
/* 객실 카드 — 도고 5타입 / 이호포니 4타입이라 고정 4열이 맞지 않는다. auto-fit로 받는다 */
.photo-row.rooms{grid-template-columns:repeat(auto-fit,minmax(196px,1fr));gap:14px}
.photo-cap small{display:block;margin-top:2px;font-size:12.5px;font-weight:500;opacity:.88}
.photo-row img{width:100%;aspect-ratio:4/3;object-fit:cover}
/* 관광지 지그재그 행 — 사진·카드 밀착, 짝수 행 반전 */
.tour-row{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;margin-bottom:0;
  border-radius:10px;overflow:hidden;box-shadow:0 4px 24px rgba(32,36,44,.07)}
.tour-row + .tour-row{margin-top:28px}
.tour-row>p:empty{display:none} /* WP autop 빈 문단이 그리드 셀을 차지하는 것 방지 */
.tour-row img{width:100%;height:100%;min-height:300px;object-fit:cover;aspect-ratio:auto}
.tour-card{background:var(--card);color:var(--ink);padding:44px 48px;display:flex;flex-direction:column;justify-content:center;border:1px solid var(--line);border-left:none}
.tour-row:nth-of-type(even){}
.tour-row:nth-of-type(even) img{order:2}
.tour-row:nth-of-type(even) .tour-card{order:1;background:var(--navy)}
.tour-card h2{border:none;padding:0;color:var(--navy);font-size:24px;margin-bottom:14px;letter-spacing:.05em}
.tour-card h2::after{content:"";display:block;width:44px;height:3px;background:var(--gold);margin-top:12px}
.tour-card p{margin:0;font-size:15.5px;line-height:1.9;color:#4d5360;max-width:50ch}
.tour-row:nth-of-type(even) .tour-card{color:#eef2fb;border:none}
.tour-row:nth-of-type(even) .tour-card h2{color:#fff}
.tour-row:nth-of-type(even) .tour-card p{color:#dfe5f2}
@media (max-width:860px){
  .tour-row{grid-template-columns:1fr}
  .tour-row:nth-of-type(even) img{order:0}
  .tour-row:nth-of-type(even) .tour-card{order:0}
  .tour-row img{min-height:200px}
  .tour-card{padding:26px}
}
.travel-sub{text-align:center;color:#8a8f98;margin-bottom:28px;letter-spacing:.06em}
.travel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 28px}
.travel-item img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:12px}
.travel-item h2{border:none;padding:0;font-size:18px;color:var(--ink);letter-spacing:.04em}
.travel-item p{font-size:13.5px;color:#555b64;line-height:1.7;margin:6px 0 4px}
.tour-no{font-size:12px;color:var(--accent-text);letter-spacing:.2em;text-transform:uppercase}
a.travel-item{display:block;text-decoration:none;color:inherit;border-radius:12px;transition:transform .35s}
a.travel-item:hover{transform:translateY(-5px)}
a.travel-item:hover h2{color:var(--accent-text);text-decoration:underline;
  text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:5px}
.tour-more{margin-top:18px !important}
.tour-more a{font-size:13px;letter-spacing:.12em;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:2px}
.tour-row:nth-of-type(even) .tour-more a{color:#fff}
.spot-hero{border-radius:14px;overflow:hidden;margin-bottom:28px;position:relative}
.spot-hero img{width:100%;max-height:420px;object-fit:cover}
.photo-credit{position:absolute;right:10px;bottom:8px;font-size:10.5px;color:rgba(255,255,255,.85);
  background:rgba(20,26,40,.45);padding:3px 10px;border-radius:3px;letter-spacing:.02em}

/* 객실 상세 (single accommodation) */
.single-mphb_room_type .page-body h1{margin-bottom:18px}
.mphb-details-title,.mphb-calendar-title,.mphb-reservation-form-title{
  font-family:"MaruBuri","Noto Serif KR",serif;font-size:22px;font-weight:600;color:var(--navy);
  margin:44px 0 16px;padding:0 0 10px;border-bottom:1px solid var(--line);position:relative;letter-spacing:.05em}
.mphb-details-title::after,.mphb-calendar-title::after,.mphb-reservation-form-title::after{
  content:"";position:absolute;left:0;bottom:-1px;width:44px;height:3px;background:var(--gold)}
/* 상세 갤러리 — 플러그인 슬라이더 무력화 후 리드+그리드 강제 */
.single-mphb_room_type .mphb-gallery-thumbnail-slider{display:none !important}
.single-mphb_room_type .mphb-gallery-main-slider{border-radius:14px;overflow:visible;height:auto}
.single-mphb_room_type .mphb-gallery-main-slider .flex-viewport{height:auto !important}
.single-mphb_room_type .mphb-gallery-main-slider .slides{display:grid !important;grid-template-columns:repeat(4,1fr);gap:10px;margin:6px 0 10px}
.single-mphb_room_type .mphb-gallery-main-slider .slides li{width:auto !important;float:none !important;display:block !important;margin:0}
.single-mphb_room_type .mphb-gallery-main-slider .slides li.clone{display:none !important}
.single-mphb_room_type .mphb-gallery-main-slider .slides .gallery-icon{width:100%;height:100%}
.single-mphb_room_type .mphb-gallery-main-slider .slides img{width:100% !important;height:200px !important;object-fit:cover;border-radius:10px}
.single-mphb_room_type .mphb-gallery-main-slider .slides li:first-child:not(.clone){grid-column:1/-1}
.single-mphb_room_type .mphb-gallery-main-slider .slides li:first-child:not(.clone) img{height:400px !important}
.single-mphb_room_type .mphb-gallery-main-slider .flex-direction-nav{display:none !important}
@media (max-width:860px){.single-mphb_room_type .mphb-gallery-main-slider .slides{grid-template-columns:1fr 1fr}}

/* 예약 가능 달력 (datepick) — 두 달 나란히, 겹침 방지 */
.mphb-calendar.mphb-datepick{max-width:760px}
.mphb-datepick .datepick{width:100% !important;background:#fff;border:1px solid var(--line);border-radius:10px;
  padding:12px;display:flex;flex-wrap:wrap;gap:0 18px}
.mphb-datepick .datepick-nav,.mphb-datepick .datepick-ctrl{flex:1 1 100%;background:none;padding:4px 2px;font-size:13px}
.mphb-datepick .datepick-nav a,.mphb-datepick .datepick-ctrl a{color:var(--navy);text-decoration:none;background:none}
.mphb-datepick .datepick-month-row{display:flex;gap:18px;width:100%}
.mphb-datepick .datepick-month{flex:1 1 0;width:auto !important;min-width:0;background:none}
.mphb-datepick .datepick-month-header{background:var(--navy);color:#fff;border-radius:6px;padding:6px 0;font-size:14px}
.mphb-datepick .datepick-month-header select{color:var(--ink)}
.mphb-datepick .datepick-month table{width:100%;border-collapse:collapse}
.mphb-datepick .datepick-month th{background:none;border:none;color:#8a8f98;font-size:12px;padding:8px 0}
.mphb-datepick .datepick-month td{border:none;padding:2px;text-align:center}
.mphb-datepick .datepick-month td span,.mphb-datepick .datepick-month td a{
  display:block;padding:8px 0;border-radius:6px;font-size:13.5px}
.mphb-datepick td.mphb-date-cell--is-bookable a,.mphb-datepick td .mphb-available{background:#eef4e3}
@media (max-width:700px){.mphb-datepick .datepick-month-row{flex-direction:column}}

/* 예약 신청 폼 */
.mphb-booking-form{max-width:640px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 28px;margin-top:10px}
.mphb-booking-form p{margin-bottom:16px}
.mphb-booking-form label{display:block;font-size:14px;font-weight:600;margin-bottom:6px;color:var(--navy)}
.mphb-booking-form input[type=text],.mphb-booking-form input[type=email],.mphb-booking-form input[type=tel],
.mphb-booking-form select,.mphb-booking-form textarea{
  width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:4px;font:inherit;background:#fff}
.mphb-booking-form .button,.mphb-booking-form button[type=submit]{
  background:var(--gold);color:var(--on-gold);border:0;border-radius:4px;padding:13px 30px;font:inherit;
  letter-spacing:.1em;cursor:pointer;min-height:44px}
.mphb-booking-form .button:hover{filter:brightness(1.06)}

/* 오시는길 탭 (라디오 방식, JS 무) */
.loc-tabs input[type=radio]{position:absolute;left:-9999px}
.loc-tab-bar{display:flex;gap:8px;margin-bottom:26px;border-bottom:1px solid var(--line)}
.loc-tab-bar label{padding:13px 26px;font-size:15px;letter-spacing:.06em;cursor:pointer;color:#6b7080;
  border-bottom:3px solid transparent;margin-bottom:-1px;transition:color .25s,border-color .25s;font-weight:500}
.loc-tab-bar label:hover{color:var(--navy)}
.loc-tabs .loc-panel{display:none}
.loc-tabs #loct1:checked ~ .loc-panel.p1,.loc-tabs #loct2:checked ~ .loc-panel.p2,
.loc-tabs #loct3:checked ~ .loc-panel.p3{display:block;animation:tw-hero-in .45s ease both}
.loc-tabs #loct1:checked ~ .loc-tab-bar label[for=loct1],
.loc-tabs #loct2:checked ~ .loc-tab-bar label[for=loct2],
.loc-tabs #loct3:checked ~ .loc-tab-bar label[for=loct3]{color:var(--navy);border-bottom-color:var(--gold);
  font-family:"MaruBuri","Noto Serif KR",serif;font-weight:600}
.alert-banner{background:#fff;border:1px solid var(--line);border-left:4px solid var(--alert);
  border-radius:14px;box-shadow:0 12px 28px rgba(30,47,92,.07);padding:28px 32px;margin-top:28px;
  display:grid;grid-template-columns:1.4fr 1fr;gap:30px;align-items:stretch}
.alert-banner .alert-body{display:flex;flex-direction:column;justify-content:center}
.alert-banner .alert-body .alert-label{align-self:flex-start}
.alert-banner .alert-flex{display:flex;gap:30px;align-items:center;margin-top:14px;flex:1}
.alert-banner .alert-siren{width:clamp(84px,9vw,116px);height:auto;color:var(--alert);flex:none;align-self:center;
  mix-blend-mode:multiply} /* multiply로 흰 배경 융화 — drop-shadow는 사각 윤곽을 그려서 금지 */
@media(max-width:900px){
  .alert-banner{grid-template-columns:1fr}
  .alert-banner .alert-siren{width:84px}
  .alert-banner .alert-flex{gap:18px}
}
@media(max-width:560px){.alert-banner .alert-siren{display:none}}

/* 상조피해 상담신청 — 심플 폼 */
/* 유도형 배너 — 접수 폼은 /life/ 한 곳에만 둔다 (20- P1-3.3) */
.bosang-teaser{display:flex;flex-direction:column;justify-content:center;gap:12px;
  background:#f7f5f0;border:1px solid #e2ddd2;border-radius:10px;padding:24px 22px}
.bosang-teaser p{margin:0;font-size:14.5px;font-weight:500;color:#4d5360;line-height:1.6}
.bosang-teaser .btn{text-align:center}
.alert-banner.is-teaser{align-items:stretch}
.bosang-form{background:#f7f5f0;border:1px solid #e2ddd2;border-radius:10px;padding:18px 20px}
.bosang-form .bosang-title{margin:0 0 12px;border:none;padding:0;
  font-family:"MaruBuri",serif;font-size:19px;color:#1e2f5c}
.bosang-form .bosang-inner{display:flex;flex-direction:column;gap:10px}
.bosang-form label{display:block;font-size:13.5px;font-weight:600;color:#3a3f4a}
.bosang-form label span{display:block;margin-bottom:4px}
.bosang-form input[type=text],.bosang-form input[type=tel]{width:100%;box-sizing:border-box;
  border:1px solid #cfc9bc;background:#fff;padding:9px 12px;font:inherit;font-size:14.5px}
.bosang-form input:focus{outline:2px solid #b98d4f;outline-offset:-1px}
.bosang-form .bosang-consent{display:flex;gap:8px;align-items:flex-start;
  font-size:12px;font-weight:400;color:#6b6f78;line-height:1.55}
.bosang-form .bosang-consent input{margin-top:2px;flex:none}
.bosang-form button{margin-top:2px;cursor:pointer}
/* 동의 고지 (20- P1-3.4) — 원래는 12px대 회색 한 덩어리였다.
   1차 교정에서 전문을 펼쳐 뒀더니 폼이 세로로 길어져 좌측 배너와 균형이 깨졌다(Master 지적).
   체크박스 한 줄만 남기고 본문은 <details>로 접는다. */
.bosang-form .bosang-consent{font-size:13.5px;line-height:1.5;color:#2b303a}
.bosang-form .bosang-consent em{font-style:normal;color:#8a5a5a;font-weight:600}
.bosang-privacy{margin:2px 0 0}
.bosang-privacy>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:5px;
  font-size:12.5px;color:#5a6070;border-bottom:1px solid var(--line);padding:2px 0 1px}
.bosang-privacy>summary::-webkit-details-marker{display:none}
.bosang-privacy>summary::after{content:"⌄";font-size:13px;line-height:1;transform:translateY(-1px)}
.bosang-privacy[open]>summary::after{content:"⌃";transform:translateY(2px)}
.bosang-privacy>summary:hover{color:var(--navy);border-bottom-color:var(--gold)}
.bosang-privacy-body{margin-top:8px;font-size:12.5px;line-height:1.6;color:#4d5360;
  background:#fff;border:1px solid #e2ddd2;border-radius:8px;padding:10px 12px}
/* ⚠️ 배너 본문용 `.alert-banner p{font-size:16px;font-weight:600}`이 이 안의 문단까지 잡는다.
   컨테이너에만 12.5px를 걸면 자식 <p>는 16px/600으로 렌더링된다(실제로 그랬다).
   폼 안의 문단은 배너 본문이 아니므로 특정도를 높여 되돌린다. */
.bosang-form .bosang-privacy-body p{margin:0 0 5px;font-size:12.5px;font-weight:400;line-height:1.6}
.bosang-form .bosang-privacy-body p:last-child{margin:6px 0 0}
.bosang-privacy-body b{color:var(--navy);font-weight:700}
.bosang-privacy-body a{color:var(--navy);font-weight:700;text-decoration:none;
  border-bottom:1px solid var(--gold);padding-bottom:1px}
.bosang-form .bosang-off{margin:0 0 10px;font-size:13.5px;color:#8a6a15}
/* 원색 면 채움 → 선+글자 (15- 「오피스 원색 면 금지」) */
.alert-banner .alert-label{display:inline-block;background:transparent;color:var(--alert);
  border:1px solid var(--alert);padding:4px 16px;
  border-radius:3px;font-size:13px;letter-spacing:.14em;margin-bottom:12px}
.alert-banner h2{border:none;padding:0;color:var(--alert);font-size:clamp(22px,2.6vw,32px);
  font-weight:800;line-height:1.3}
.alert-banner p{margin:10px 0 0;font-size:16px;font-weight:600;line-height:1.65}
.alert-banner .alert-tel{font-size:20px;font-weight:800;color:var(--alert)}
.alert-banner .alert-tel a{color:inherit;text-decoration:none}
.about-hero{width:100%;max-height:380px;object-fit:cover;margin-bottom:28px}
.loc-logo{height:64px;width:auto;margin-bottom:10px;border:1px solid var(--line);border-radius:4px}
@media (max-width:860px){
  .photo-row{grid-template-columns:repeat(2,1fr)}
  .photo-row.rooms{grid-template-columns:repeat(2,1fr);gap:10px}
  /* .photo-row.three는 특정도가 높아 위 규칙에 지지 않는다. 명시적으로 다시 쓴다.
     3장이라 2열은 2+1 고아가 생기므로 좁은 폭에서는 1열로 키운다 (Master 지적 2026-08-30) */
  .photo-row.three{grid-template-columns:repeat(3,1fr)}
  .tour-row{grid-template-columns:1fr}
  .travel-grid{grid-template-columns:1fr 1fr;gap:24px 16px}
}

/* ⚠️ 이 블록은 반드시 위 860 블록보다 뒤에 있어야 한다.
   .photo-row.three끼리는 특정도가 같아 소스 순서로 승부가 갈린다 (실제로 앞에 뒀다가 무시됐다).
   390px에서 관광지 사진이 105×80px로 객실(166×125)의 절반도 안 됐다 (Master 지적 2026-08-30). */
@media (max-width:640px){
  .photo-row.three{grid-template-columns:1fr;gap:14px}
  .photo-row.three img{aspect-ratio:16/9}
}

/* 오시는 길 */
.loc-block{background:#fff;border:1px solid var(--line);padding:24px;margin-bottom:28px}
.loc-block h2{border:none;padding:0;margin-bottom:6px}
.map-embed{position:relative;width:100%;aspect-ratio:16/8;margin:14px 0;border:1px solid var(--line)}
.map-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-links{display:flex;gap:10px;flex-wrap:wrap}
.btn-map{display:inline-block;padding:8px 16px;border:1px solid var(--line);background:var(--paper);
  font-size:13px;text-decoration:none;color:var(--navy);border-radius:2px}
.btn-map:hover{border-color:var(--gold);color:var(--accent-text);background:#fbf7ef}

/* 상담 신청 */
.contact-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:24px;align-items:start}
.call-card,.form-card{background:#fff;border:1px solid var(--line);padding:28px}
.call-card .eyebrow{font-size:12px;letter-spacing:.16em;color:var(--accent-text)}
.call-card h2,.form-card h2{border:none;padding:0;font-size:20px;color:var(--navy);margin:8px 0 10px}
.telbig{display:block;margin-top:14px;font-size:26px;font-weight:700;color:var(--navy);text-decoration:none}
.telbig em{display:block;font-style:normal;font-size:12px;letter-spacing:.14em;color:var(--accent-text)}
.roll{margin-top:24px;border-top:1px dashed var(--line);padding-top:16px}
.roll-title{font-size:12px;letter-spacing:.12em;color:#8a8f98;margin-bottom:6px}
.roll-item{font-size:14px;color:var(--navy)}
.roll-item.tick{animation:tw-roll-in .4s ease}
@keyframes tw-roll-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.inquiry .field{margin-bottom:16px}
.inquiry label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}
.inquiry .req{color:#c0392b}
.inquiry input[type=text],.inquiry input[type=tel],.inquiry select,.inquiry textarea{
  width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:2px;font:inherit;background:#fff}
.inquiry .hint{display:block;margin-top:5px;font-size:12px;color:#8a8f98}
.tw-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.consent-box{border:1px solid var(--line);background:var(--paper);padding:14px;margin-bottom:10px}
.consent-tbl{width:100%;border-collapse:collapse}
.consent-tbl th,.consent-tbl td{border:none;padding:6px 8px;font-size:13px;vertical-align:top;text-align:left}
.consent-tbl th{white-space:nowrap;color:var(--navy);width:110px;background:none}
.consent label{display:flex;gap:8px;align-items:flex-start;font-weight:400;font-size:14px}
.callout.warn{border:1px solid #eadfb8;background:#fff8e6;padding:14px 16px;margin-bottom:16px;font-size:14px}
.form-msg.err{color:#c0392b}.form-msg{margin-top:10px;font-size:14px}
.form-done{text-align:center;padding:24px 0}
.form-done .mark{width:56px;height:56px;margin:0 auto 12px;border-radius:50%;background:var(--green);color:#fff;font-size:28px;display:flex;align-items:center;justify-content:center}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}

/* 푸터 */
.site-footer{background:#16223f;color:#aeb6c9;padding:56px 0;font-size:13px;letter-spacing:.02em;margin-top:64px}
.site-footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.site-footer a{color:#e6ebf7;text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
/* 푸터 법인 정보 고시 (2026-09-06). 한 줄 전폭으로 떨어뜨리고 얇은 구분선으로 분리한다.
   #aeb6c9 on #16223f = 7.75:1 — 12px에서도 AA(4.5:1) 여유. nowrap을 쓰지 않아 좁은 화면에서
   줄바꿈으로 흘러간다(가로 스크롤 방지). */
.site-footer .legal{flex-basis:100%;margin-top:22px;padding-top:16px;
  border-top:1px solid rgba(174,182,201,.22);font-style:normal;font-size:12px;line-height:1.85;
  display:flex;flex-wrap:wrap;gap:2px 18px}
.card .go:hover{color:var(--accent-text);text-decoration:underline;
  text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:5px}

/* 모바일 GNB — button + aria-expanded (체크박스 해킹 폐기, 2026-08-30) */
.gnb-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:10px;margin:-10px;
  background:none;border:0;align-items:center}
.gnb-burger span{width:22px;height:2px;background:var(--navy);transition:transform .2s,opacity .2s}
@media (max-width:860px){
  .brands{grid-template-columns:1fr}
  .gnb-burger{display:flex}
  .gnb nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);
    flex-direction:column;gap:0;padding:8px 24px 16px;box-shadow:0 12px 24px rgba(10,15,30,.25)}
  /* 네이비 패널 위 텍스트가 --ink(#20242c)로 남아 사실상 안 보이던 것을 교정 (2026-08-30) */
  /* 터치 타깃 44px — 기존 padding(12px)만으로는 41px였다.
     하위 항목에만 44px를 걸고 상위를 두면 기준이 어긋나므로 전 항목에 적용한다. */
  .gnb nav a{color:#fff;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08);
    min-height:44px;display:flex;align-items:center}
  /* 상품 5종이 들어오며 항목이 늘었다. 터치 타깃 44px를 지키고,
     패널이 뷰포트를 넘으면 스크롤한다(넘치면 마지막 항목에 손이 닿지 않는다) */
  .gnb nav a.nav-sub{min-height:44px;display:flex;align-items:center;padding-left:26px}
  .gnb nav a.nav-sub::before{left:14px}
  .gnb.is-open nav{max-height:calc(100vh - 76px);overflow-y:auto;overscroll-behavior:contain}
  .gnb nav a:hover{color:#fff;border-bottom:1px solid var(--gold)}
  .gnb.is-open nav{display:flex}
  .gnb.is-open .gnb-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .gnb.is-open .gnb-burger span:nth-child(2){opacity:0}
  .gnb.is-open .gnb-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .gnb nav a.is-current{color:#fff;border-bottom:2px solid var(--gold)}
  .gnb{position:relative}
  /* 모바일 패널: 드롭다운 대신 서브 링크 인라인(들여쓰기) 상시 노출 */
  .gnb nav .nav-item{display:block;position:static}
  .gnb nav .nav-item::after{display:none}
  .gnb nav .nav-item>.nav-top{display:block}
  .gnb nav .nav-drop{position:static;transform:none;opacity:1;visibility:visible;min-width:0;
    background:none;border:none;border-radius:0;box-shadow:none;padding:0 0 4px 16px;
    backdrop-filter:none;-webkit-backdrop-filter:none}
  .gnb nav .nav-drop a{color:rgba(255,255,255,.82);font-size:13px;padding:9px 0;
    border-bottom:1px solid rgba(255,255,255,.05)}
  .gnb nav .nav-drop a:hover{color:#fff;background:none}
}

/* 접근성·모션 */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--gold);outline-offset:2px}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
}

/* MPHB 예약 폼·목록 정돈 */
.mphb_sc_search-form{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:16px;align-items:end;
  background:#fff;border:1px solid var(--line);padding:20px;margin:20px 0}
.mphb_sc_search-form>p{margin:0}
.mphb_sc_search-form label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--navy)}
.mphb_sc_search-form input,.mphb_sc_search-form select{
  width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:2px;font:inherit;background:#fff}
.mphb_sc_search-form .button,.mphb_sc_search-submit-button-wrapper button{
  background:var(--gold);color:var(--on-gold);border:0;border-radius:2px;padding:12px 26px;font:inherit;
  letter-spacing:.06em;cursor:pointer;min-height:44px}
.mphb_sc_search-form .button:hover{filter:brightness(1.06)}
/* 필수 안내문(<small>)은 숨김 — 라벨의 * 와 required 검증으로 충분 */
.mphb-required-fields-tip{display:none}
/* 객실 목록 카드 — 럭셔리 호텔 리스팅 문법(좌 포토 / 우 정보 패널) */
.mphb-room-type{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;
  margin:0 0 32px;display:grid;grid-template-columns:56fr 44fr;
  transition:transform .35s,box-shadow .35s}
.mphb-room-type:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(30,47,92,.12)}
.mphb-room-type>.mphb-room-type-images{grid-column:1;margin:0}
.mphb-room-type .room-info{grid-column:2;display:flex;flex-direction:column;padding:36px 40px 32px;min-width:0}
/* MPHB 갤러리 — 메인 슬라이더 크게, 썸네일 스트립 숨김 */
.mphb-gallery-main-slider,.mphb-room-type-images,.mphb-room-type-images .flex-viewport{height:100%}
.mphb-gallery-main-slider{border-radius:0;overflow:hidden}
.mphb-gallery-main-slider .slides .gallery-item img,.mphb-gallery-main-slider .slides img{width:100% !important;height:420px !important;object-fit:cover;display:block}
.mphb-gallery-thumbnail-slider{display:none}
.mphb-flexslider-gallery-wrapper .flex-direction-nav a{width:44px;height:44px;line-height:44px;
  background:rgba(255,255,255,.85);border-radius:50%;text-align:center;color:var(--navy);
  box-shadow:0 2px 10px rgba(0,0,0,.18)}
.mphb-flexslider-gallery-wrapper .flex-direction-nav a::before{font-size:22px;line-height:44px}
.room-info .mphb-room-type-title{font-size:25px;letter-spacing:.05em;margin:0 0 10px;text-align:left}
.mphb-room-type-title a{color:var(--navy);text-decoration:none}
.mphb-room-type-title a:hover{color:var(--accent-text);text-decoration:underline;
  text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:5px}
.room-info .mphb-room-type-details-title{font-size:12px;color:var(--accent-text);letter-spacing:.22em;margin:18px 0 6px}
.room-info .mphb-loop-room-type-attributes{display:flex;gap:16px;list-style:none;padding:0;margin:0;font-size:13.5px;color:#555b64}\n.room-info .mphb-regular-price{margin-top:auto;padding-top:20px;border-top:1px solid var(--line);font-size:15px}\n.mphb-room-type .mphb-price{font-family:"MaruBuri","Noto Serif KR",serif;font-size:24px;color:var(--navy);font-weight:600}\n.room-info>ul:not(.mphb-loop-room-type-attributes){list-style:none;color:#555b64;font-size:14.5px;line-height:1.8;margin:0;padding:0}
.room-info>ul:not(.mphb-loop-room-type-attributes) li{position:relative;padding-left:16px;margin-bottom:4px}
.room-info>ul:not(.mphb-loop-room-type-attributes) li::before{content:"";position:absolute;left:0;top:.72em;width:5px;height:5px;border-radius:50%;background:var(--gold)}
.mphb-view-details-button-wrapper,.mphb-to-book-btn-wrapper{display:inline-block;margin:18px 12px 34px 36px}\n.mphb-view-details-button-wrapper{margin-left:0}\n.mphb-to-book-btn-wrapper+.mphb-view-details-button-wrapper,.mphb-view-details-button-wrapper+.mphb-to-book-btn-wrapper{margin-left:0}
.mphb-view-details-button-wrapper a{font-size:13px;letter-spacing:.12em;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:3px}
.mphb-to-book-btn-wrapper .button,.mphb-book-button{
  background:var(--navy);color:#fff;border:0;border-radius:2px;padding:11px 24px;font:inherit;
  letter-spacing:.06em;cursor:pointer;text-decoration:none;display:inline-block;min-height:44px}
.mphb-to-book-btn-wrapper .button:hover{background:var(--gold);color:var(--on-gold)}
@media (max-width:860px){
  .mphb_sc_search-form{grid-template-columns:1fr 1fr}
  .mphb-room-type-images img{height:150px}
}

/* 풀블리드 밴드(.tone-band)가 스크롤바 폭만큼 넘치는 것을 막는다.
   hidden이 아니라 clip을 쓰는 이유: hidden은 스크롤 컨테이너를 만들어
   내부 sticky·앵커 동작에 영향을 준다 */
.site-main{overflow-x:clip}

/* 스크롤 리빌 + 히어로 진입 */
.tw-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.tw-reveal.tw-in{opacity:1;transform:none}
@keyframes tw-hero-in{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.tw-reveal{opacity:1;transform:none}}
.brand-page{padding:56px 0 96px}
/* 메인은 섹션 간 여백이 152px(하단96+상단56)로 `15-` 기준(96~120)을 넘었다 (20- P2-5).
   브랜드관은 `.sub-hero+.brand-*`로 따로 잡혀 있어 영향을 받지 않는다 */
.home .brand-page{padding:52px 0 52px}
.page-body h1{font-family:"MaruBuri","Noto Serif KR",serif;font-weight:600;letter-spacing:.04em}
.section h2,.card h3,.travel-item h2,.tour-card h2,.acc-text b{font-family:"MaruBuri","Noto Serif KR",serif;font-weight:600}

@media (max-width:900px){
  .mphb-room-type{grid-template-columns:1fr}
  .mphb-room-type .room-info{grid-column:1;padding:24px 22px}
  .mphb-gallery-main-slider .slides img{height:240px !important}
}

/* 객실 카드 v2 — 트립닷컴 레퍼런스 3존 (사진 | 정보 | 요금 패널) */
.mphb-room-type.room-card-v2{display:grid;grid-template-columns:40fr 33fr 27fr;grid-template-rows:auto 1fr;align-items:stretch}
.room-card-v2 .room-head{grid-column:1/-1;padding:24px 40px 18px;border-bottom:1px solid var(--line)}
.room-card-v2 .room-head .mphb-room-type-title{margin:0;text-align:left;font-size:24px}
.room-card-v2>.mphb-room-type-images{grid-row:2;grid-column:1;margin:0}
.room-card-v2 .mphb-gallery-main-slider .slides img{height:330px !important}
.room-card-v2 .room-mid{grid-row:2;grid-column:2;padding:26px 30px;border-right:1px solid var(--line);min-width:0}
.room-card-v2 .room-mid>ul{list-style:none;color:#4d5360;font-size:14.5px;line-height:1.85;margin:0;padding:0}
.room-card-v2 .room-mid>ul li{position:relative;padding-left:16px;margin-bottom:6px}
.room-card-v2 .room-mid>ul li::before{content:"";position:absolute;left:0;top:.74em;width:5px;height:5px;border-radius:50%;background:var(--gold)}
.room-card-v2 .mphb-room-type-details-title{font-size:11.5px;color:var(--accent-text);letter-spacing:.24em;margin:20px 0 8px;border:none;padding:0}
.room-card-v2 .mphb-room-type-details-title::after{display:none}
.room-card-v2 .mphb-loop-room-type-attributes{display:flex;gap:14px;list-style:none;margin:0;padding:0;font-size:14px;color:#4d5360}
.room-card-v2 .room-buy{grid-row:2;grid-column:3;display:flex;flex-direction:column;align-items:flex-end;
  justify-content:flex-end;padding:26px 30px;background:#fbfaf6;text-align:right}
.room-card-v2 .mphb-regular-price{margin:0 0 4px;border:none;padding:0;font-size:13px;color:#8a8f98}
.room-card-v2 .mphb-regular-price strong{display:block;font-size:12px;letter-spacing:.18em;color:var(--accent-text);margin-bottom:2px}
.room-card-v2 .mphb-price{font-family:"MaruBuri","Noto Serif KR",serif;font-size:30px;color:var(--navy);font-weight:600}
.room-card-v2 .mphb-price-period{display:block;font-size:12px;color:#8a8f98;margin-top:2px}
.room-card-v2 .mphb-view-details-button-wrapper{margin:14px 0 10px}
.room-card-v2 .mphb-to-book-btn-wrapper{margin:0;width:100%}
.room-card-v2 .mphb-to-book-btn-wrapper .button{width:100%;text-align:center;background:var(--gold);color:var(--on-gold);font-size:15px;letter-spacing:.16em;padding:14px 0}
.room-card-v2 .mphb-to-book-btn-wrapper .button:hover{background:var(--navy);color:#fff}
@media (max-width:980px){
  .mphb-room-type.room-card-v2{grid-template-columns:1fr}
  .room-card-v2 .room-head{padding:20px 22px 14px}
  .room-card-v2>.mphb-room-type-images,.room-card-v2 .room-mid,.room-card-v2 .room-buy{grid-column:1;grid-row:auto}
  .room-card-v2 .room-mid{border-right:none;border-bottom:1px solid var(--line)}
  .room-card-v2 .room-buy{align-items:stretch;text-align:left}
}

/* 상세 갤러리 v2 — JS 재조립 리드+그리드 */
.room-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0 8px}
.room-gallery img{width:100%;height:220px;object-fit:cover;border-radius:12px;display:block}
.room-gallery img:first-child{grid-column:1/-1;height:430px}
@media (max-width:860px){.room-gallery{grid-template-columns:1fr 1fr}.room-gallery img{height:150px}.room-gallery img:first-child{height:260px}}

/* 서브페이지 히어로 밴드 (이호포니 원본 문법) */
.sub-hero{position:relative;min-height:320px;display:flex;align-items:center;
  background-size:cover;background-position:center}
.sub-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,22,38,.42),rgba(16,22,38,.28))}
.sub-hero .wrap{position:relative;z-index:2;width:100%}
/* 사진 위 어두운 스크림이라 navy(2.21:1)·gold(1.96:1) 모두 미달 → 흰색 5.89:1 */
.sub-hero-eyebrow{display:block;color:#fff;font-size:13px;letter-spacing:.34em;margin-bottom:10px;font-weight:600;opacity:.92}
.sub-hero-title{font-family:"MaruBuri",serif;color:#fff;font-size:clamp(30px,4vw,46px);
  font-weight:600;letter-spacing:.08em;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.sub-hero+.page-body,.sub-hero~.page-body{padding-top:56px}
.sub-hero+.brand-page{padding-top:48px}

/* ── 브랜드관 세로 리듬 (20- 브랜드관 검토) ─────────────────────────────
   실측 간격이 16~48px로 `15-` 기준(96~120px)의 1/3~1/2였다. 반대로 CTA 아래는 160px가 비어
   「위는 빽빽하고 아래는 텅 빈」 상태. 블록 간격을 키우고 하단 과다 여백을 줄인다.
   메인 원페이지도 .brand-page를 쓰므로 브랜드관 3종에만 스코프한다. */
.brand-dogo .brand-strip,.brand-ihopony .brand-strip,.brand-life .brand-strip{margin-top:56px}
.brand-dogo .brand-intro,.brand-ihopony .brand-intro,.brand-life .brand-intro{margin-top:88px}
.brand-dogo .brand-links,.brand-ihopony .brand-links,.brand-life .brand-links{margin-top:56px}
/* 상단 CTA — 요약 카드 직후라 간격을 좁힌다. 하단 CTA(56px)와 역할이 다르다 (31- P0-4) */
.brand-page .brand-links.is-top{margin:26px 0 0}
.brand-dogo .brand-links.is-top,.brand-ihopony .brand-links.is-top,
.brand-life .brand-links.is-top{margin-top:26px}
.brand-dogo .sec-head,.brand-ihopony .sec-head,.brand-life .sec-head{margin-top:88px}
.sub-hero+.brand-dogo,.sub-hero+.brand-ihopony,.sub-hero+.brand-life{padding:64px 0 56px}

/* ④ 브랜드 요약 카드 — 로고만 있던 432×370 카드를 로고 + 사실 요약으로 바꾼다.
   서브히어로 제목·로고·사진 워드마크로 브랜드명이 한 화면에 3번 반복되던 문제도 해소.
   담긴 사실은 전부 같은 페이지 소개문에 이미 있는 내용이다(새 주장 없음). */
.brand-sum{flex-direction:column;align-items:stretch;justify-content:center;gap:22px;padding:34px 32px;text-align:left}
.brand-sum .brand-sum-logo{max-height:104px;width:auto;margin:0 auto;object-fit:contain}
.brand-facts{display:flex;flex-direction:column;gap:0;margin:0;border-top:1px solid var(--line)}
.brand-facts>div{display:grid;grid-template-columns:74px 1fr;gap:12px;align-items:baseline;
  padding:13px 0;border-bottom:1px solid var(--line)}
.brand-facts dt{font-size:11.5px;letter-spacing:.18em;color:var(--accent-text);font-weight:700;margin:0}
.brand-facts dd{margin:0;font-size:14.5px;line-height:1.65;color:var(--ink)}
@media (max-width:860px){
  .brand-sum{padding:26px 22px}
  .brand-sum .brand-sum-logo{max-height:84px}
}
@media (max-width:860px){.sub-hero{min-height:220px}}

/* 브랜드관 증량 — 시설 카드/감성 인용/FAQ */
/* 도고·이호포니 모두 시설이 정확히 4개다. 3열은 3+1 고아 행이 생기므로 2열 2행으로 간다.
   카드 폭 276 → 562px. 이미지도 170 → 240px로 키워 여백을 확보한다 (20- 브랜드관 검토) */
.fac-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.fac-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:transform .3s,box-shadow .3s}
.fac-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(30,47,92,.12)}
.fac-card img{width:100%;height:240px;object-fit:cover}
.fac-card h3{font-family:"MaruBuri",serif;font-size:19px;color:var(--navy);margin:20px 24px 8px;font-weight:600}
.fac-card p{font-size:14.5px;color:#5a6070;line-height:1.75;margin:0 24px 24px}
.quote-band{margin-top:56px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:44px 48px;text-align:center}
.quote-band p{font-family:"MaruBuri",serif;font-size:clamp(17px,2vw,22px);color:var(--navy);line-height:1.9;margin:0}
.quote-band .q-sub{font-family:inherit;font-size:13px;color:var(--accent-text);letter-spacing:.24em;margin-bottom:14px;display:block}
.point-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
/* 딥네이비 반전 밴드 (`15-` §문법2 「교차 행만 딥네이비 반전」).
   `/life/`는 아이보리 위 흰 카드가 연속이라 리듬이 없었다 (`31-` §3.3).
   원래 후불제 섹션에 있었으나 그 섹션이 제거되어 상품 안내로 옮겼다 (Master 지시 2026-08-30).
   섹션에 종속되지 않도록 `.tone-band`로 범용화했다. */
.tone-band{margin:88px calc(50% - 50vw);padding:78px 0;background:var(--navy);color:#fff}
.tone-band-inner{max-width:1200px;margin:0 auto;padding:0 24px}
.tone-band .sec-head{color:#fff;border-bottom-color:rgba(255,255,255,.16);margin-top:0}
.tone-band .prod-preview-lead{color:rgba(255,255,255,.76)}
.tone-band .prod-mini{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.15)}
.tone-band .prod-mini:hover{border-color:var(--gold);box-shadow:0 14px 28px rgba(0,0,0,.22)}
.tone-band .prod-mini b{color:#fff}
/* 금액은 navy(--accent-text)라 반전면에서 보이지 않는다. 흰색으로 되돌린다 */
.tone-band .prod-mini em{color:#fff}
.tone-band .prod-mini small{color:rgba(255,255,255,.8)}
/* 골드 룰 — `15-` §문법2의 「골드 룰」을 반전면에서도 유지 */
.tone-band .prod-mini em::after{content:"";display:block;width:24px;height:2px;
  background:var(--gold);margin:10px 0 2px}
/* navy 버튼은 navy 위에서 사라진다 */
.btn-on-navy{background:#fff;color:var(--navy);font-weight:600}
.btn-on-navy:hover{background:var(--gold);color:var(--on-gold)}
@media (max-width:860px){.tone-band{margin:64px calc(50% - 50vw);padding:56px 0}}

/* 후불제 카드 — 「0원」이 두 번 반복돼 무엇의 0원인지 카드를 다 읽어야 알 수 있었다.
   라벨(가입비·월 납입금·정산 방식)을 값 위로 올리고 좌측정렬로 스캔 가능하게 한다 (Master 지시) */
.point-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px 24px;text-align:left;
  display:flex;flex-direction:column;gap:4px}
.point-card em{font-style:normal;font-size:12.5px;letter-spacing:.14em;color:#6b7080;font-weight:600}
/* 값이 「0원」 같은 짧은 것에서 「국가공인 장례지도사」처럼 길어졌다. 폭에 맞춰 줄인다 */
.point-card b{display:block;font-family:"MaruBuri","Noto Serif KR",serif;
  font-size:clamp(21px,2.1vw,26px);line-height:1.28;color:var(--accent-text);margin:0}
/* 상품 미리보기 (31- P1) — 사진 없이 이름·금액·차이만. 상조 상품은 사진이 판단에 보태는 게 없다 */
/* 목적별 3경로 (31- P0-3) — 서로 다른 상황의 방문자를 첫 화면에서 갈라 준다.
   1차는 좌측 보더만 있는 빈 상자였다(Master 지적). 아이콘 + 화살표로 클릭 가능함을 말한다.
   붉은색은 긴급 전화 하나에만 (31- §6.2) */
.purpose-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}
.purpose-card{display:flex;align-items:center;gap:14px;background:#fff;
  border:1px solid var(--line);border-radius:12px;padding:18px 18px;
  text-decoration:none;color:inherit;transition:transform .3s,box-shadow .3s,border-color .3s}
.purpose-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(30,47,92,.12);border-color:var(--navy)}
.purpose-icon{flex:0 0 auto;width:42px;height:42px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;background:#f4f1ea;color:var(--navy)}
.purpose-icon svg{width:23px;height:23px}
.purpose-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}
.purpose-eyebrow{font-size:12.5px;letter-spacing:.01em;color:#6b7080;line-height:1.4}
.purpose-card b{font-family:"MaruBuri","Noto Serif KR",serif;font-size:18px;font-weight:600;
  color:var(--navy);line-height:1.3;white-space:nowrap}
.purpose-card em{font-style:normal;font-size:13.5px;font-weight:600;color:#5a6070;letter-spacing:.01em}
.purpose-arrow{flex:0 0 auto;color:#9aa0ab;display:flex;transition:transform .3s,color .3s}
.purpose-arrow svg{width:20px;height:20px}
.purpose-card:hover .purpose-arrow{transform:translateX(3px);color:var(--navy)}

/* 긴급 — 유일하게 색면을 쓴다. 위계가 색 하나에만 의존하지 않게 아이콘도 채운다 */
.purpose-card.is-urgent{background:#fdf7f5;border-color:rgba(143,42,36,.34)}
.purpose-card.is-urgent:hover{border-color:var(--alert);box-shadow:0 14px 28px rgba(143,42,36,.14)}
.purpose-card.is-urgent .purpose-icon{background:var(--alert);color:#fff}
.purpose-card.is-urgent b{color:var(--alert)}
.purpose-card.is-urgent em{color:var(--alert);font-weight:700}
.purpose-card.is-urgent:hover .purpose-arrow{color:var(--alert)}

@media (max-width:1080px){
  .purpose-card{padding:16px 14px;gap:11px}
  .purpose-card b{font-size:16.5px}
  .purpose-icon{width:38px;height:38px}
}
@media (max-width:860px){
  .purpose-nav{grid-template-columns:1fr;gap:10px}
  .purpose-card{padding:15px 16px}
}
.prod-preview-lead{margin:0 0 18px;font-size:14.5px;color:#5a6070;line-height:1.7}
.prod-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.prod-mini{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:20px 18px;text-decoration:none;color:inherit;
  transition:transform .3s,box-shadow .3s,border-color .3s}
.prod-mini:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(30,47,92,.11);border-color:var(--gold)}
/* 이름 길이가 달라 금액 baseline이 카드마다 어긋났다. 이름 영역을 2줄로 고정해 맞춘다 */
.prod-mini b{font-family:"MaruBuri","Noto Serif KR",serif;font-size:17px;font-weight:600;color:var(--navy);
  line-height:1.4;min-height:2.8em;display:flex;align-items:flex-start}
.prod-mini em{font-style:normal;font-size:20px;font-weight:700;color:var(--accent-text);letter-spacing:.01em}
.prod-mini small{font-size:13px;line-height:1.65;color:#5a6070}
@media (max-width:640px){.prod-preview{grid-template-columns:1fr}}
.point-card span{margin-top:4px;font-size:14px;color:#5a6070;line-height:1.65}
.faq-list details{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:10px;overflow:hidden}
.faq-list summary{cursor:pointer;padding:18px 22px;font-weight:600;color:var(--navy);font-size:15.5px;list-style:none;position:relative}
.faq-list summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);color:var(--accent-text);font-size:20px}
.faq-list details[open] summary::after{content:"\2212"}
.faq-list details p{padding:0 22px 18px;font-size:14.5px;line-height:1.8;color:#4d5360;margin:0}
@media (max-width:900px){.fac-grid{grid-template-columns:1fr}.fac-card img{height:200px}.point-grid{grid-template-columns:1fr}.quote-band{padding:30px 24px}}

/* 상품 상세 헤더 */
.prod-head{position:relative;border-radius:14px;overflow:hidden;margin-bottom:26px}
.prod-head img{width:100%;height:360px;object-fit:cover}
.prod-head-cap{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:baseline;gap:14px;
  padding:22px 28px;background:linear-gradient(180deg,transparent,rgba(16,22,38,.72));color:#fff}
.prod-head-cap em{font-style:normal;font-size:26px;font-weight:300;opacity:.85}
.prod-head-cap b{font-family:"MaruBuri",serif;font-size:clamp(22px,3vw,32px);font-weight:600;letter-spacing:.04em}
/* .prod-head-cap은 어두운 그라데이션(color:#fff) 위다 — 골드 강조 대신 상속색 유지 */
.prod-head-cap b span{color:inherit}
@media (max-width:860px){.prod-head img{height:220px}}


/* ============================================================
 * 접근성 보강 (docs/18 P0, 2026-08-30)
 * ============================================================ */

/* 본문 바로가기 — 키보드 첫 Tab에서만 드러난다 */
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--navy);color:#fff;
  padding:12px 20px;font-size:14px;text-decoration:none;border-radius:0 0 8px 0}
.skip-link:focus{left:0}

/* 포커스 링 — 마우스 클릭에는 나타나지 않는다 */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,label[role=tab]:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--gold);outline-offset:2px}

/* 오시는 길 탭 — 선택 상태를 색 하나에만 의존하지 않게 굵기까지 바꾼다 */
.loc-tab-bar label[aria-selected=true]{font-weight:700}
@media (max-width:860px){
  .loc-tab-bar label{padding:13px 18px;min-height:44px;display:flex;align-items:center}
  .map-links .btn-map{min-height:44px;display:inline-flex;align-items:center}
}

/* 요금 잠정 상태 표기 */
.price-note{margin-top:6px;font-size:12.5px;line-height:1.5;color:#7a7f8a;letter-spacing:-.01em}
.price-note b{color:var(--navy);font-weight:600}

/* 객실 검색 결과 요약 스트립 (docs/18 P1, 2026-08-30) */
.room-search-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px;
  background:#fbfaf6;border:1px solid var(--line);border-left:3px solid var(--gold);
  border-radius:10px;padding:16px 22px;margin:0 0 26px}
.room-search-summary.is-empty{border-left-color:#c0392b;background:#fdf6f5}
/* .page-body .entry p 의 하단 여백(0,0,2,1)을 이겨야 한다 */
.page-body .entry .room-search-summary p{margin:0}
.rss-range{white-space:nowrap}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.rss-label{display:inline-block;font-size:11.5px;letter-spacing:.2em;color:var(--accent-text);margin-right:8px}
.rss-cond{font-size:14.5px;color:#4d5360}
.rss-cond b{color:var(--navy);font-weight:600}
.rss-count{font-size:14.5px;color:var(--navy)}
.rss-count b{font-family:"MaruBuri","Noto Serif KR",serif;font-size:19px}
.rss-reset{margin-left:auto;font-size:13.5px;color:#6b7080;text-decoration:none;
  border-bottom:1px solid var(--line);padding-bottom:2px;min-height:44px;display:inline-flex;align-items:center}
.rss-reset:hover{color:var(--navy);border-bottom-color:var(--gold)}
@media (max-width:700px){
  .room-search-summary{flex-direction:column;align-items:flex-start;gap:8px}
  .rss-reset{margin-left:0}
}

/* 체크아웃 (docs/22-, 2026-08-30) */
.mphb_sc_checkout-wrapper{max-width:760px}
.mphb-checkout-section{background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:26px 28px;margin:0 0 22px}
.mphb_sc_checkout-wrapper h3{font-size:18px;color:var(--navy);margin:0 0 16px;
  padding-left:12px;border-left:3px solid var(--gold);letter-spacing:.02em}
.mphb_sc_checkout-wrapper label{display:block;font-size:14px;font-weight:600;
  margin-bottom:6px;color:var(--navy)}
.mphb_sc_checkout-wrapper input[type=text],.mphb_sc_checkout-wrapper input[type=email],
.mphb_sc_checkout-wrapper input[type=tel],.mphb_sc_checkout-wrapper select,
.mphb_sc_checkout-wrapper textarea{width:100%;padding:11px 13px;border:1px solid var(--line);
  border-radius:8px;font-size:15px;font-family:inherit;background:#fff;min-height:44px}
.mphb_sc_checkout-wrapper p{margin:0 0 16px}
/* 체크인/아웃 요약 — 마크업상 </time> 뒤에 쉼표가 붙어 있어 flex로 간격을 정리한다 */
.mphb-check-in-date,.mphb-check-out-date{display:flex;flex-wrap:wrap;align-items:baseline;
  gap:.35em;font-size:15px;color:#4d5360;margin-bottom:8px}
.mphb-check-in-date strong,.mphb-check-out-date strong{color:var(--navy)}
.mphb-total-price{font-size:16px;color:var(--navy);margin-top:8px}
.mphb-total-price .mphb-price{font-family:"MaruBuri","Noto Serif KR",serif;font-size:26px;font-weight:600}
.mphb-checkout-terms-wrapper .mphb-terms-and-conditions-accept{font-weight:400;font-size:14.5px}
.mphb_sc_checkout-wrapper input[type=submit],.mphb_sc_checkout-wrapper button[type=submit]{
  background:var(--gold);color:var(--on-gold);border:0;border-radius:8px;padding:15px 34px;
  font-size:16px;letter-spacing:.12em;cursor:pointer;min-height:48px}
.mphb_sc_checkout-wrapper input[type=submit]:hover{background:var(--navy);color:#fff}
.mphb-price-breakdown table{width:100%;border-collapse:collapse;font-size:14px}
.mphb-price-breakdown th,.mphb-price-breakdown td{padding:8px 6px;border-bottom:1px solid var(--line);text-align:left}
.mphb-data-incorrect{background:#fff8e6;border:1px solid #eadfb8;border-radius:10px;padding:16px 18px}
@media (max-width:700px){.mphb-checkout-section{padding:20px 18px}}

/* 예약 접수 완료 패널 (docs/24-) */
.booking-done{background:#fff;border:1px solid var(--line);border-left:3px solid var(--green);
  border-radius:12px;padding:32px 30px;text-align:center;margin:0 0 22px}
.booking-done .bd-mark{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;
  background:var(--green);color:#fff;font-size:28px;display:flex;align-items:center;justify-content:center}
.booking-done h3{font-size:21px;color:var(--navy);margin:0 0 10px;border:none;padding:0}
.booking-done p{font-size:15px;color:#4d5360;margin:0 0 8px;line-height:1.75}
.booking-done .bd-tel{font-size:17px;color:var(--navy);margin-top:14px}
.booking-done .bd-tel a{color:var(--navy);font-weight:700;text-decoration:none;border-bottom:2px solid var(--gold)}
