.guest-room-quick{margin-block:24px;display:grid;gap:12px}.guest-detail-toc{display:flex;flex-wrap:wrap;gap:20px;margin-top:18px}.guest-calendar-note{max-width:720px;margin:0 auto 12px}.guest-calendar-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;list-style:none;padding:16px 0;font-size:14px}.guest-calendar-legend li:before{content:'●';margin-right:5px}.guest-calendar-legend [data-status=open]{color:#256344}.guest-calendar-legend [data-status=closed]{color:#725d58}.guest-calendar-legend [data-status=not_open]{color:#665617}.guest-calendar-legend [data-status=unknown]{color:#5a5a5a}.live-day[data-status=past]{opacity:.4;background:transparent}.guest-direct-refund{margin-top:24px}.guest-direct-refund summary{cursor:pointer;font-weight:600}.guest-comparison{overflow-x:auto;max-width:100%;border:1px solid #ddd}.guest-comparison table{width:100%;min-width:620px;border-collapse:collapse;font-size:15px}.guest-comparison th,.guest-comparison td{padding:16px;border:1px solid #ddd;vertical-align:top}.guest-comparison thead th{position:sticky;top:0;background:#f1eee7;z-index:1}.guest-comparison tbody th{position:sticky;left:0;background:#faf8f4;min-width:88px;z-index:1}.guest-shortcut{padding-top:28px}.inquiry-alternatives{margin-top:24px}.field-error{color:#9c2f28;font-size:14px}.c-form [aria-invalid=true]{border-color:#9c2f28}.c-form button:disabled{opacity:.6;cursor:wait}[data-web-inquiry][hidden],[data-inquiry-complete][hidden]{display:none}.guest-room-quick .c-alert{max-width:850px}#contact{scroll-margin-top:90px}@media(max-width:600px){.guest-comparison th,.guest-comparison td{padding:12px}.guest-comparison{max-height:70vh}.guest-detail-toc{gap:14px}.guest-room-quick .c-btn{width:100%}}
.c-hero__inner > .hero-content{min-width:0;max-width:100%}.c-hero__actions .c-btn{max-width:100%;white-space:normal;text-align:center}.c-hero__actions .c-btn__icon{flex-shrink:0}.c-hero__lead{overflow-wrap:anywhere}
#calendar-grid[hidden],.weekdays[hidden],.month-controls[hidden]{display:none!important}

.guest-room-quick > .c-btn { justify-self: start; width: fit-content; max-width: 100%; justify-content: center; }

.guest-room-features { margin-top: 24px; padding-top: 24px; }
.guest-room-description > p:not(.facts) { max-width: 48em; margin-top: 16px; white-space: normal; word-break: normal; overflow-wrap: break-word; text-wrap: pretty; line-height: 1.9; color: var(--color-muted); }

.guest-detail-toc .c-link { border-bottom: 0; text-decoration: none; }
.guest-detail-toc .c-link:hover, .guest-detail-toc .c-link:focus-visible { color: var(--color-ink); }

/* 객실명·대표 사진·객실 요약을 가까이 배치 */
body[data-page="stay_detail"] #intro { padding-bottom: 16px; }
body[data-page="stay_detail"] #gallery { padding-block: 0; }
body[data-page="stay_detail"] .guest-decision { padding-top: 24px; }
body[data-page="stay_detail"] .guest-room-quick { margin-top: 0; }

/* 객실 목차: 아래 구분선과 상단 메뉴 아래 고정 */
.guest-detail-toc-slot { display: flow-root; min-width: 0; }
.guest-detail-toc { padding-block: 12px; border-bottom: 1px solid var(--color-line); background: var(--color-bg); }
.guest-detail-toc.is-fixed { position: fixed; z-index: 40; margin-top: 0; box-sizing: border-box; }
body[data-page="stay_detail"] main :is(#gallery, #structure, #prices, #equipment, #booking) { scroll-margin-top: var(--guest-toc-offset, 160px); }

.guest-detail-toc { flex-wrap: wrap; }

.stay-common-line .meta-separator { padding: 0; border: 0; border-radius: 0; background: none; }
@media (max-width: 720px) {
  .stay-common-line { display: flex; flex-direction: column; gap: 8px; line-height: 1.65; }
  .stay-common-line .meta-separator { display: none; }
  .stay-common-line > span:not(.meta-separator) { display: block; width: 100%; padding: 8px 14px; text-align: left; white-space: normal; word-break: normal; }
}

/* English rate conditions: clear labels and separate explanatory paragraphs */
.guide-rate-context { margin-block: 24px 32px; max-width: 48em; }
.guide-rate-definitions { display: grid; gap: 16px; }
.guide-rate-definitions > div { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 16px; }
.guide-rate-definitions dt { font-weight: var(--fw-semi); color: var(--color-ink); }
.guide-rate-definitions dd { margin: 0; }
.guide-rate-context > p { margin-top: 20px; line-height: 1.8; }
@media (max-width: 720px) { .guide-rate-definitions > div { grid-template-columns: 1fr; gap: 4px; } }

.guest-direct-refund > summary { list-style: none; max-width: 100%; white-space: normal; text-align: left; }
.guest-direct-refund > summary::-webkit-details-marker { display: none; }
.guest-direct-refund > summary .c-btn__icon { flex-shrink: 0; }
.guest-direct-refund[open] > summary { margin-bottom: 20px; }

.location-addresses { display: grid; gap: 16px; }
.location-addresses .address-panel > p { margin: 0; font-size: 1.125rem; font-weight: var(--fw-semi); }
.location-addresses #copy-status { margin: 0; color: var(--color-gold-dark); font-size: var(--fs-small); }
.location-addresses #copy-status:empty { display: none; }
.location-recommended { display: inline-flex; align-items: center; gap: 6px; margin-left: 8px; font-size: var(--fs-small); font-weight: var(--fw-semi); color: var(--color-gold-dark); vertical-align: middle; }
.location-recommended svg { width: 16px; height: 16px; flex-shrink: 0; }
.location-main :is(.address-panel, .taxi-card) { display: block; }
.location-main :is(.address-panel, .taxi-card) > p:not([role="status"]) { display: inline; margin: 0; }
.location-main :is(.address-panel, .taxi-card) > .address-copy { display: inline-flex; margin-inline-start: 12px; vertical-align: middle; }
.location-main .address-panel > [role="status"] { display: block; }

/* 홈페이지 전체 게스트 리뷰: 같은 박스와 작은 본문 크기 */
figure.c-review.c-review--unified { display: flex; flex-direction: column; min-width: 0; margin: 0; padding: 24px; border: 1px solid var(--color-line); border-radius: var(--r-lg); background: var(--color-surface); box-shadow: none; }
figure.c-review.c-review--unified blockquote { margin: 0; padding: 0; border: 0; font-size: .9375rem; line-height: 1.8; color: var(--color-text); overflow-wrap: break-word; }
figure.c-review.c-review--unified figcaption { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 16px; font-size: .8125rem; line-height: 1.65; color: var(--color-muted); }
figure.c-review.c-review--unified details p { font-size: .9375rem; line-height: 1.8; overflow-wrap: break-word; }
figure.c-review.c-review--unified details summary, figure.c-review.c-review--unified > p.small, figure.c-review.c-review--unified > span.small, figure.c-review.c-review--unified details > span { font-size: .8125rem; color: var(--color-muted); }
.story-photo + .story-review-grid { margin-top: 24px; }
.c-walking figure.c-review.c-review--unified { margin-top: 20px; }

/* Two-field Korean inquiry layout, pending owner review and mail integration. */
#contact .inquiry-title { margin: 0; font-size: 24px; line-height: 1.3; }
[data-inquiry-preview] .c-field > label { color: var(--color-gold); }
.inquiry-message-template { min-height: 340px; font-size: var(--fs-small); line-height: 1.8; resize: vertical; }
.c-form .inquiry-submit-compact { width: fit-content; min-width: 0; min-height: 48px; padding: 12px 24px; gap: 0; line-height: 1.2; justify-self: center; justify-content: center; align-items: center; text-align: center; }
.inquiry-confirmation { width: 100%; max-width: 720px; margin-inline: auto; padding-inline: 24px; box-sizing: border-box; text-align: center; }
.inquiry-confirmation h1 { margin-block: 28px 20px; font-size: var(--fs-h3); }
.inquiry-confirmation > p { margin-bottom: 24px; }
.inquiry-confirmation .c-btn { justify-content: center; padding: 12px 24px; }
[data-inquiry-confirmation][hidden], [data-inquiry-confirmation-fallback][hidden] { display: none; }
.guest-whole-label { display: block; margin-top: 4px; font-size: var(--fs-small); font-weight: normal; }
.guest-comparison-hint { display: none; }
.c-btn { position: relative; justify-content: center; align-items: center; text-align: center; padding: 12px 24px; min-height: 48px; max-width: 100%; white-space: normal; box-sizing: border-box; line-height: 1.4; }
.c-btn:has(> .c-btn__icon) { padding: 8px 8px 8px 26px; justify-content: normal; text-align: start; }
.c-btn--block:has(> .c-btn__icon) { padding-left: 8px; justify-content: center; text-align: center; }
.c-btn > .c-btn__icon { position: static; right: auto; top: auto; transform: none; flex-shrink: 0; }
.c-btn:hover > .c-btn__icon { transform: rotate(45deg); }
.c-bottom-bar a { position: relative; justify-content: center; align-items: center; text-align: center; line-height: 1.4; padding-inline: 28px; }
.c-btn:has(> .booking-button-arrow) { padding-inline: 40px; }
:is(.c-bottom-bar a, .c-btn) > .booking-button-arrow { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); }
@media (max-width: 720px) { .guest-comparison-hint { display: block; margin-bottom: 12px; color: var(--color-muted); font-size: var(--fs-small); } }
