/* =========================================================
   TERRACEA PENSION — 디자인 기준 파일(홈 14번, 2026-10-31)
   색·글꼴·모서리·여백은 여기 변수만 고친다. 모든 페이지의 <head> 맨 끝에서 읽어
   페이지 안 <style>보다 뒤에 온다(아래 규칙이 페이지별 모양을 덮는다).
   ========================================================= */
:root {
  /* 색 */
  --color-bg: #ffffff;
  --color-bg-alt: #f4f6f7;
  --color-surface: #ffffff;
  --color-ink: #1a1a1a;
  --color-ink-soft: #5c6368;
  --color-ink-faint: #667078;
  --color-line: #e3e6e8;
  --color-accent: #0f6e7a;
  --color-accent-dark: #0b5560;
  --color-accent-soft: #f4f6f7;
  --color-white: #ffffff;
  --color-danger: #b42318;
  --color-success: #1b7f4e;

  /* 글꼴 — Pretendard 하나, 굵기 400/600/800 */
  --font-display: "Noto Sans KR", "Pretendard", -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif;
  --font-body: "Pretendard", -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif;
  --weight-body: 400;
  --weight-mid: 600;
  --weight-bold: 800;

  /* 여백 */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 48px;
  --sp-8: 64px;
  --sp-9: 96px;
  --sp-10: 128px;
  --section-gap: 40px;
  --card-pad: 24px;

  /* 틀 */
  --container-max: 1200px;
  --container-pad: 24px;
  --radius: 4px;
  --radius-sm: 4px;
  --radius-md: 4px;
  --radius-lg: 4px;
  --nav-height: 84px;
  --btn-height: 48px;

  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}
@media (min-width: 900px) {
  :root { --container-pad: 64px; --section-gap: 64px; }
}

/* ---------- 공통 ---------- */
*, *::before, *::after { box-shadow: none !important; text-shadow: none !important; }
body { background: var(--color-bg); color: var(--color-ink); font-family: var(--font-body); font-weight: var(--weight-body); }
h1, h2, h3 { font-family: var(--font-display); font-weight: 900; letter-spacing: 0; }
h4, b, strong, th { font-family: var(--font-body); font-weight: var(--weight-bold); }
a:not(.btn):not(.brand):not(.logo) { text-underline-offset: 3px; }
.eyebrow { color: var(--color-ink-soft); font-weight: var(--weight-mid); }
.section, .section-tight { padding-top: var(--section-gap); padding-bottom: var(--section-gap); }
.card-body { padding: var(--card-pad); }
.card, .bk-demo-result-card, .find-card { border: 1px solid var(--color-line); border-radius: var(--radius); background: var(--color-bg); transform: none !important; }

/* 버튼: 주 = 청록, 보조 = 흰 바탕 + 1px 선 */
.btn { font-family: var(--font-display); font-weight: 700; min-height: var(--btn-height); border-radius: var(--radius); transform: none !important; }
.btn-primary, .btn-accent { background: var(--color-accent); border: 1px solid var(--color-accent); color: #fff; }
.btn-primary:hover, .btn-accent:hover { background: var(--color-accent-dark); border-color: var(--color-accent-dark); color: #fff; }
.btn-outline, .btn-ghost { background: #fff; border: 1px solid var(--color-line); color: var(--color-ink); }
.btn-outline:hover, .btn-ghost:hover { background: #fff; border-color: var(--color-accent); color: var(--color-accent); }

/* 태그: 둥근 모양 없이 글자를 " · "로 이어 쓴 한 줄 */
.tag, .target-chip, .find-pill, .bk-badge, .bk-status-badge, .photo-count-badge {
  display: inline; padding: 0; border: 0; border-radius: 0; background: none; color: var(--color-ink-soft); font-size: 14px; font-weight: var(--weight-body);
}
.find-tags { display: block; }
.find-tags .tag + .tag::before { content: " · "; }
.find-pill { color: var(--color-accent); font-weight: var(--weight-mid); text-decoration: underline; text-underline-offset: 3px; }
.photo-count-badge { position: absolute; background: #fff; color: var(--color-ink); padding: 2px 6px; }

/* 어두운 띠 → 청록 면(글자 흰색) */
.section-ink { background: var(--color-accent); color: #fff; }

/* ---------- 메뉴·푸터: 글자만, 선 하나 ---------- */
.site-nav, header.nav, .nav { background: #fff; border-bottom: 1px solid var(--color-line); backdrop-filter: none; -webkit-backdrop-filter: none; }
.site-footer { background: #fff; color: var(--color-ink); border-top: 1px solid var(--color-line); }
.site-footer a, .site-footer h4, .site-footer span, .site-footer p, .site-footer li { color: var(--color-ink-soft); }
.nav-cta { min-height: 44px; }
.mobile-menu a { font-family: var(--font-body); font-weight: var(--weight-bold); }

/* ---------- 첫 화면 ---------- */
.hero { display: block; min-height: 0; height: auto; padding: 0; background: #fff; color: var(--color-ink); overflow: visible; }
.hero::before, .hero::after { display: none; content: none; }
/* 홈 15덧1 — 폰은 가로 전체 폭 × 3:2(잘림 없음), PC는 80vh cover */
.hero-slides { position: relative; z-index: 0; aspect-ratio: 3 / 2; overflow: hidden; background: #fff; touch-action: pan-y; }
.hero-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; opacity: 0; transition: opacity 1.5s ease; }
@media (min-width: 769px) {
  .hero-slides { aspect-ratio: auto; height: 80vh; background: var(--color-bg-alt); }
  .hero-slide { object-fit: cover; }
}
.hero-slide.is-active { opacity: 1; }
.hero-dots { position: absolute; z-index: 1; left: 0; right: 0; bottom: 12px; display: flex; justify-content: center; gap: 8px; }
.hero-dots span { width: 8px; height: 8px; border-radius: 50%; background: #fff; border: 1px solid var(--color-accent); }
.hero-dots span.is-active { background: var(--color-accent); }
@media (prefers-reduced-motion: reduce) { .hero-slide { transition: none; } }
.hero-core { background: var(--color-accent); color: #fff; padding: 40px 0; }
.hero .hero-inner { position: static; padding: 0 var(--container-pad); margin: 0 auto; max-width: var(--container-max); color: #fff; }
.hero .hero-core h1 { color: #fff; font-size: 30px; font-weight: 800; line-height: 1.25; text-shadow: none; }
@media (min-width: 769px) { .hero .hero-core h1 { font-size: 44px; } }
.hero .hero-core .lede { margin-top: var(--sp-4); color: rgba(255,255,255,.85); text-shadow: none; }
.hero .hero-core .eyebrow { color: rgba(255,255,255,.7); }
.hero-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-4); margin: 0; }
.hero-stats[data-count="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hero-stats[data-count="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 640px) { .hero-stats[data-count="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.hero-stat strong { font-family: var(--font-display); display: block; font-size: 32px; line-height: 1.2; font-weight: var(--weight-bold); word-break: keep-all; }
.hero-stat span { display: block; margin-top: 4px; font-size: 14px; color: var(--color-ink-soft); word-break: keep-all; }
@media (max-width: 480px) { .hero-stat strong { font-size: 26px; } }
.hero-actions { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-3); max-width: 640px; margin-top: var(--sp-6); }
@media (max-width: 640px) { .hero-actions { grid-template-columns: 1fr; } }
.hero-actions .btn { width: 100%; min-height: 56px; font-size: 17px; }
.hero-actions .btn-primary, .hero-actions .btn-primary:hover { background: #fff; border-color: #fff; color: var(--color-accent); }
.hero-actions .btn-outline, .hero-actions .btn-outline:hover { background: transparent; border: 1px solid #fff; color: #fff; }
.hero-stay-link a { color: rgba(255,255,255,.7); }

/* ---------- 객실 찾기 ---------- */
.find-progress span, .find-dates-line { color: var(--color-ink-soft); font-size: 13px; font-weight: var(--weight-body); }
.find-dates-change { color: var(--color-accent); }
.find-option { min-height: 56px; background: #fff; border: 1px solid var(--color-line); border-radius: var(--radius); color: var(--color-ink); font-weight: var(--weight-mid); transform: none !important; }
.find-option:hover, .find-option:focus-visible, .find-option.is-selected { background: #fff; outline: 2px solid var(--color-accent); outline-offset: -2px; border-color: var(--color-accent); }
.find-card { overflow: hidden; }
.find-card.is-recommended { border-color: var(--color-line); }
.find-photo { aspect-ratio: 3 / 2; height: auto; }
.find-photo img { width: 100%; height: 100%; object-fit: cover; }
.find-card h3 { font-size: 22px; }
.find-price strong { font-size: 20px; font-weight: var(--weight-bold); }
.find-left { color: var(--color-accent-dark); }
.find-notice { background: #fff; border: 1px solid var(--color-line); border-radius: var(--radius); }

/* ---------- 달력(날짜 화면·객실 달력) ---------- */
.dp, .bk-cal-day-cell, .dp-day { border-radius: var(--radius); }
.dp-day .p, .bk-cal-day-cell .d-price { font-weight: var(--weight-mid); color: var(--color-ink); }
.dp-day.is-dim, .bk-cal-day-cell.is-dim, .dp-day.is-soldout, .bk-cal-day-cell.is-soldout { opacity: 1; background: none; color: var(--color-ink-faint); }
.dp-day.is-dim .p, .dp-day.is-soldout .p, .bk-cal-day-cell.is-dim .d-price, .bk-cal-day-cell.is-soldout .d-price { color: var(--color-ink-faint); font-weight: var(--weight-body); }
.dp-day.is-sun, .dp-day.is-sat { color: inherit; }
.bk-cal-day-cell.is-sat .d-num, .bk-cal-day-cell.is-sun .d-num { color: inherit; }
.dp-day.is-in, .bk-cal-day-cell.is-in-range { background: var(--color-bg-alt); color: var(--color-ink); }
.dp-day.is-ci, .bk-cal-day-cell.is-checkin { background: var(--color-accent); border-color: var(--color-accent); color: #fff; }
.dp-day.is-ci .p, .bk-cal-day-cell.is-checkin .d-price, .bk-cal-day-cell.is-checkin .d-num, .bk-cal-day-cell.is-checkin .d-left { color: #fff; }
.dp-day.is-co, .bk-cal-day-cell.is-checkout { background: #fff; border: 1px solid var(--color-accent); color: var(--color-ink); }
.dp-day.is-co .p, .bk-cal-day-cell.is-checkout .d-price, .bk-cal-day-cell.is-checkout .d-num, .bk-cal-day-cell.is-checkout .d-left { color: var(--color-ink); }
.bk-cal-day-cell .d-left { color: var(--color-accent-dark); }
.bk-stay-card { border-radius: var(--radius); }

/* ---------- 예약: 인원·요약·완료 ---------- */
.bk-guest-panel, .bk-demo-summary { background: #fff; border: 1px solid var(--color-line); border-radius: var(--radius); }
.bk-guest-stepper { border-radius: var(--radius); }
.bk-live-banner, .bk-demo-banner, .bk-gc-notice, .bk-guest-notice, .bk-onsite-note { background: var(--color-bg-alt); border: 1px solid var(--color-line); border-radius: var(--radius); color: var(--color-ink); }
.bk-demo-result-card .price { font-weight: var(--weight-bold); font-size: 18px; }
.bk-suspended-note { background: #fff; border: 1px solid var(--color-danger); color: var(--color-danger); }
.bk-done-row { background: #fff; }
.bk-done-rows { background: #fff; border: 1px solid var(--color-line); border-radius: var(--radius); }
.bk-done-row.is-big .v { font-size: 24px; font-weight: var(--weight-bold); color: var(--color-ink); }

/* ---------- 객실 카드(rooms·첫 화면) ---------- */
.photo-frame { border-radius: var(--radius); aspect-ratio: 3 / 2; height: auto; }
.photo-frame img { width: 100%; height: 100%; object-fit: cover; transform: none !important; }

/* ---------- 카톡 버튼: 카카오 노란색은 유지, 모양만 ---------- */
.kakao-chat-fab { border-radius: var(--radius); }

.bk-guest-stepper input { height: 44px; }
.bk-done-row.is-big { background: #fff; }
.amenity-list { display: block; }
.amenity-list span { display: inline; padding: 0; border: 0; background: none; color: var(--color-ink-soft); font-size: 14px; }
.amenity-list span + span::before { content: " · "; }
.room-card .photo-frame { aspect-ratio: 3 / 2; border-radius: 0; }
/* 홈 14덧2 — 사진별 잘림 위치(폰 / PC) */
.hero-slide:nth-of-type(1) { object-position: 46% 50%; }
.hero-slide:nth-of-type(2) { object-position: 79% 50%; }
.hero-slide:nth-of-type(3) { object-position: 13% 50%; }
.hero-slide:nth-of-type(4) { object-position: 65% 50%; }
.hero-slide:nth-of-type(5) { object-position: 60% 50%; }
@media (min-width: 769px) {
  .hero-slide:nth-of-type(1) { object-position: 50% 72%; }
  .hero-slide:nth-of-type(2) { object-position: 50% 75%; }
  .hero-slide:nth-of-type(3) { object-position: 50% 56%; }
  .hero-slide:nth-of-type(4) { object-position: 50% 49%; }
  .hero-slide:nth-of-type(5) { object-position: 50% 72%; }
}

/* 홈 14덧4 — 바다·바베큐 사진 격자(about). PC 큰 사진 + 작은 사진, 폰 큰 사진 + 2열 */
.photo-story { margin-bottom: var(--sp-6); }
.photo-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.photo-grid .photo-frame { border-radius: 4px; }
.photo-grid .photo-frame:first-child { grid-column: 1 / -1; aspect-ratio: 3 / 2; }
.photo-grid-6 .photo-frame:last-child { grid-column: 1 / -1; aspect-ratio: 3 / 2; }
@media (min-width: 860px) {
  .photo-grid-5 { grid-template-columns: 2fr 1fr 1fr; }
  .photo-grid-6 { grid-template-columns: repeat(3, 1fr); }
  .photo-grid .photo-frame:first-child { grid-column: auto; grid-row: span 2; aspect-ratio: auto; }
  .photo-grid .photo-frame:first-child img { position: absolute; inset: 0; }
  .photo-grid-6 .photo-frame:first-child { grid-column: span 2; }
  .photo-grid-6 .photo-frame:last-child { grid-column: auto; aspect-ratio: 3 / 2; }
}

/* 홈 14덧4 — 44px 미만 링크(글자 크기 그대로). 본문 글자 링크는 줄 높이를 밀지 않는 패딩 */
.nav-links a, .site-footer li a, .site-footer a { display: inline-flex; align-items: center; min-height: 44px; }
.site-footer li { margin-block: 0; }
p > a:not(.btn), li > a:not(.btn), .iq-footer a, .parking-contact-num, .faq-link { padding-block: 15px; }
.bk-cal-controls button { min-width: 44px; min-height: 44px; }

/* 홈 15번 — about 손님 평점 */
.rating-list { display: flex; flex-wrap: wrap; gap: var(--sp-7); margin-top: var(--sp-6); }
.rating-num { font-size: 16px; color: var(--color-ink-soft); }
.rating-num strong { font-size: 40px; line-height: 1.2; font-weight: 800; color: var(--color-ink); }
.rating-site { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; }
.rating-date { font-size: 13px; color: var(--color-ink-soft); }

/* 홈 15덧1 — 머리글 흰색 고정, 객실 격자 */
.site-nav, .site-nav.is-scrolled, .site-nav.is-solid { background: #fff; }
.room-carousel-wrap { display: block; position: static; }
.room-carousel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; overflow: visible; scroll-snap-type: none; padding: 0; margin: 0; }
@media (min-width: 769px) { .room-carousel { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.room-carousel .room-teaser-card { flex: none; width: auto; min-width: 0; }
.room-teaser-card .photo-frame { aspect-ratio: 3 / 2; }
.room-teaser-card h3 { font-size: 16px; font-weight: 600; }
.room-teaser-card .small { font-size: 13px; }

/* 홈 15덧2 — 카카오 버튼 30% 축소(높이 44px·글자 10px 아래로는 안 줄임) */
.kakao-chat-fab { min-height: 44px; gap: 8px; padding: 6px 12px 6px 7px; }
.kakao-chat-fab__icon { width: 28px; height: 28px; flex-basis: 28px; font-size: 10px; }
.kakao-chat-fab__copy strong { font-size: 12px; }
.kakao-chat-fab__copy small { font-size: 10px; }
@media (max-width: 640px) {
  .kakao-chat-fab { min-height: 44px; padding: 5px 10px 5px 6px; }
  .kakao-chat-fab__icon { width: 26px; height: 26px; flex-basis: 26px; font-size: 10px; }
}
/* 홈 15덧2 — 요약 표 "현장 결제": 이름표 아래 전체 폭·왼쪽 정렬 */
.row.is-block { display: block; }
.row.is-block .v { display: block; width: 100%; max-width: none; margin-top: 4px; text-align: left; }
/* 홈 15덧2 — 폰 브라우저의 맨 위로 버튼과 겹치지 않게 위로 띄움 */
@media (max-width: 768px) { .kakao-chat-fab { bottom: max(76px, calc(env(safe-area-inset-bottom) + 76px)); } }
/* 홈 15덧2 — 고정 머리글이 사진 위쪽을 덮지 않게 폰은 그 높이만큼 내림 */
.hero { padding-top: var(--nav-height); }

/* 홈 15덧3 — 푸터 압축(글자 크기·눌리는 44px 유지, 위아래 패딩 0) */
.site-footer li > a { padding-block: 0; }
.site-footer li { margin-bottom: 0; }
.footer-grid h4 { margin-bottom: 4px; }
@media (max-width: 768px) {
  .site-footer { padding-top: 24px; padding-bottom: 16px; }
  .footer-grid { grid-template-columns: 1fr; gap: 12px; }
  .footer-grid p.small { margin-top: 6px !important; }
  .footer-grid ul { display: grid; grid-template-columns: 1fr 1fr; }
  .footer-grid > div:last-child li:nth-child(2) { grid-column: 1 / -1; order: 3; }
  .footer-bottom { margin-top: 12px; padding-top: 12px; }
}

/* 홈 15덧5 — 숫자 띠: 4칸 고정, 폰 2×2 */
.hero-numbers { padding: 24px 0; background: var(--color-bg-alt); }
.hero-stats, .hero-stats[data-count] { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
.hero-stat { padding: 4px 8px; text-align: center; border-left: 1px solid var(--color-line); }
.hero-stat:first-child { border-left: 0; }
.hero-stat strong { font-size: 32px; font-weight: 800; }
.hero-stat span { font-size: 13px; font-weight: 400; }
@media (max-width: 768px) {
  .hero-stats, .hero-stats[data-count] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-stat { padding: 12px 8px; }
  .hero-stat strong { font-size: 28px; }
  .hero-stat:nth-child(odd) { border-left: 0; }
  .hero-stat:nth-child(n+3) { border-top: 1px solid var(--color-line); }
}

/* 홈 15덧6 — 제목 900 */
.brand { font-weight: 900; }
.hero .hero-core h1 { font-weight: 900; }
.hero-stat strong { font-weight: 900; }

/* 홈 16덧1 — PC 머리글 글자 키움(높이 그대로). 메뉴가 커져 1024px 미만은 햄버거로 */
@media (min-width: 769px) {
  .site-nav .brand { font-size: 26px; font-weight: 900; }
  .site-nav .brand small { font-size: 13px; }
}
@media (min-width: 1024px) {
  .nav-links { gap: 32px; font-size: 17px; font-weight: 500; }
  .nav-links a { color: #1a1a1a; }
  .nav-cta { min-height: 48px; height: 48px; padding-top: 0; padding-bottom: 0; font-size: 17px; font-weight: 700; }
}
@media (min-width: 860px) and (max-width: 1023px) {
  .nav-links, .nav-cta { display: none; }
  .nav-toggle { display: flex; }
}

/* 홈 16덧1 — 숫자 칸 설명 글자 키움 */
.hero-stat span { font-size: 16px; color: #1a1a1a; }
.hero-stat strong small { font-size: 14px; font-weight: 400; color: #1a1a1a; }
@media (max-width: 768px) { .hero-stat span { font-size: 14px; } }

/* 홈 16덧2 — 푸터 로고(흰색이라 안 보이던 것), 첫 화면 앵커가 머리글에 가리지 않게 */
.site-footer .brand { color: var(--color-ink); font-size: 22px; font-weight: 900; }
.site-footer .brand small { color: var(--color-ink-soft); }
#sea { scroll-margin-top: var(--nav-height); }

/* 홈 16덧4 — 관광지·맛집 카드 */
.place-grid { display: grid; grid-template-columns: 1fr; gap: 12px; margin-top: var(--sp-5); }
@media (min-width: 769px) { .place-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.place-card { display: block; min-width: 0; color: inherit; text-decoration: none; }
.place-photo { aspect-ratio: 3 / 2; overflow: hidden; border-radius: 4px; background: var(--color-bg-alt); }
.place-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.place-card h3 { margin-top: 10px; font-size: 17px; font-weight: 700; }
.place-dist { margin-top: 2px; font-size: 13px; color: var(--color-accent); }
.place-desc { margin-top: 4px; font-size: 14px; }

/* 홈 16덧6 — 머리글 청록·흰 글자. 1024px 이상은 두 줄(로고 / 메뉴+버튼) */
.site-nav, .site-nav.is-scrolled, .site-nav.is-solid { background: var(--color-accent); border-bottom: 0; }
.site-nav .brand, .site-nav .brand small { color: #fff; }
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after { background: #fff; }
.scroll-progress { background: #fff; }
.mobile-menu { background: var(--color-accent); }
.mobile-menu a, .mobile-menu a.active { color: #fff; }
.mobile-menu .btn, .mobile-menu .btn:hover { background: #fff; border-color: #fff; color: var(--color-accent); }
@media (min-width: 1024px) {
  :root { --nav-height: 120px; }
  .site-nav .container { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px 24px; }
  .site-nav .brand { grid-column: 1 / -1; justify-self: center; font-size: 26px; font-weight: 900; }
  .site-nav .brand small { display: none; }
  .nav-links { justify-content: space-around; }
  .nav-links a, .nav-links a:hover, .nav-links a.active { color: #fff; }
  .nav-links a.active::after { background: #fff; bottom: 6px; }
  .nav-cta, .nav-cta:hover { min-height: 44px; height: 44px; background: transparent; border: 1px solid #fff; color: #fff; }
}

/* 홈 16덧7 — 푸터 청록 가운데 정렬 */
.site-footer, .site-footer[class] { background: var(--color-accent); border-top: 0; padding: 40px 0; }
.site-footer .ft { text-align: center; color: #fff; }
.site-footer .ft a, .site-footer .ft p, .site-footer .ft span { color: #fff; }
.ft-icons { display: flex; justify-content: center; gap: 24px; }
.site-footer .ft-icons a { width: 44px; height: 44px; justify-content: center; }
.site-footer .ft .ft-intro { margin-top: 8px; font-size: 14px; color: rgba(255,255,255,.8); }
.site-footer .ft .ft-tel { font-size: 22px; font-weight: 700; padding-block: 0; }
.site-footer .ft .ft-info, .site-footer .ft .ft-copy, .site-footer .ft .ft-copy span { font-size: 13px; color: rgba(255,255,255,.7); }
.ft-info { margin-top: 4px; word-break: keep-all; line-height: 1.5; }
.ft-copy { margin-top: 4px; }
.ft-bank { margin-top: 8px; font-size: 13px; }
.ft-links { font-size: 13px; }
.site-footer .ft-links a { padding-block: 0; }
@media (max-width: 768px) { .site-footer, .site-footer[class] { padding: 40px 0; } }

/* 홈 16덧8 — 객실 미리보기, 푸터 아래 여백 */
.room-previews { display: grid; grid-template-columns: 1fr; gap: 24px; }
.room-previews-intro .lede { margin-top: 12px; }
.room-preview { display: flex; flex-direction: column; min-width: 0; font-size: 15px; }
.room-preview h3 { margin-bottom: 10px; font-size: 20px; font-weight: 700; }
.room-preview .photo-frame { aspect-ratio: 3 / 2; cursor: default; }
.room-preview h4 { margin-top: 14px; font-size: 15px; font-weight: 700; }
.room-preview li, .room-preview p { margin-top: 2px; font-size: 15px; }
.room-preview .btn { margin-top: auto; }
.room-preview p { margin-bottom: 14px; }
@media (min-width: 769px) {
  .room-previews { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .room-previews-intro { grid-row: span 2; }
}
.site-footer, .site-footer[class] { padding-bottom: 100px; }

/* 홈 16덧9 — 객실 미리보기 8개: PC 4열 설명형, 1024 미만 2열 간략형 */
.room-previews-head { text-align: center; margin-bottom: 24px; }
.room-previews-head .lede { margin: 12px auto 0; }
.room-previews, .room-previews[class] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.room-preview-link { display: block; color: inherit; text-decoration: none; }
.room-preview-detail { display: none; }
.room-preview h3 { order: 0; margin: 6px 0 0; font-size: 15px; font-weight: 700; }
.room-preview-link { display: flex; flex-direction: column; }
.room-preview-link .photo-frame { order: -1; cursor: pointer; }
.room-preview .room-preview-short { margin: 2px 0 0; font-size: 13px; }
.room-more { margin-top: 24px; text-align: center; }
.room-more .btn { width: 100%; min-height: 52px; height: 52px; }
@media (min-width: 1024px) {
  .room-previews, .room-previews[class] { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
  .room-preview h3 { margin: 0 0 10px; font-size: 20px; }
  .room-preview-link .photo-frame { order: 0; }
  .room-preview .room-preview-short { display: none; }
  .room-preview-detail { display: flex; flex: 1; flex-direction: column; }
  .room-more .btn { width: 280px; }
}

/* 홈 16덧10 — 첫 화면 정돈: 글·사진 2열, 객실 사진 카드, 구역 바탕 교차 */
.home-split .photo-story p { max-width: 560px; }
@media (min-width: 1024px) {
  .home-split { display: grid; grid-template-columns: 2fr 3fr; gap: 40px; align-items: start; }
  .home-split .photo-story { margin-bottom: 0; display: flex; flex-direction: column; align-items: flex-start; }
}
#sea, #rooms-preview { background: #fff; }
#bbq, #guestRatings { background: #f4f6f7; }
.room-previews, .room-previews[class] { gap: 16px; }
@media (min-width: 1024px) { .room-previews, .room-previews[class] { gap: 16px; } }
.room-tile { display: block; min-width: 0; color: inherit; text-decoration: none; }
.room-tile-photo { position: relative; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 4px; background: var(--color-bg-alt); }
.room-tile-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.room-tile:hover img { transform: scale(1.03); }
.room-tile-photo strong { position: absolute; left: 0; right: 0; bottom: 0; display: flex; align-items: center; height: 44px; padding: 0 12px; background: rgba(15,110,122,.85); color: #fff; font-size: 16px; font-weight: 700; }
.room-tile p { margin-top: 6px; font-size: 13px; color: var(--color-ink-soft); }

/* 홈 16덧11 — 폰 객실 카드 띠 축소 */
@media (max-width: 1023px) { .room-tile-photo strong { height: 30px; font-size: 15px; } }

/* 홈 18번 — 취소·환불 표, 결제 방법 */
#refund { scroll-margin-top: var(--nav-height); }
.refund-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.refund-table th, .refund-table td { padding: 10px 6px; border: 1px solid #e3e6e8; text-align: center; font-family: var(--font-body); }
.refund-table th { background: #f4f6f7; font-weight: 700; }
.refund-table .num { font-family: var(--font-display); font-weight: 700; }
.refund-wide { display: none; }
@media (min-width: 768px) { .refund-wide { display: table; } .refund-narrow { display: none; } }
.refund-summary { margin-top: 8px; font-size: 13px; color: #5c6368; }
.refund-notes { margin-top: 12px; padding: 0; list-style: none; font-size: 15px; }
.refund-notes li { margin-top: 4px; }
.refund-notes .refund-warn { color: #b42318; font-weight: 700; }
.bk-pay-method .bk-pay-title { font-size: 14px; font-weight: 800; }

/* 홈 19덧1 — 첫 화면 제목 꺾임, 소개 문단 */
.h1-keep { white-space: nowrap; }

/* 홈 19덧2 — PC 첫 화면 사진 60vh(1280×800에서 제목이 스크롤 없이 보이게) */
@media (min-width: 1024px) { .hero-slides { height: 60vh; } }
