/* In-place disclosures follow the original site's typography and colours. */
.reservation-disclosure {
  margin: 16px 0;
  color: #5f483d;
  font-family: 'Nanum Myeongjo', serif;
  text-align: center;
}
.reservation-disclosure > summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  box-sizing: border-box;
  max-width: 100%;
  min-height: 30px;
  padding: 5px 18px;
  border: 1px solid #dec9c1;
  border-radius: 25px;
  background: #fff;
  color: #856c61;
  font: 700 13px/18px Arial, 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
  list-style: none;
  cursor: pointer;
}
.reservation-disclosure > summary::-webkit-details-marker { display: none; }
.reservation-disclosure > summary::after { content: '+'; font-size: 20px; font-weight: 400; flex: none; }
.reservation-disclosure[open] > summary::after { content: '−'; }
.reservation-disclosure > summary:hover { background: #5f483d; color: #fff; }
.reservation-disclosure > summary:focus-visible { outline: 2px solid #856c61; outline-offset: 5px; }
.reservation-disclosure-body { padding: 20px 0; text-align: center; }
.overview .white_content_box .reservation-disclosure-body p,
.wrap_write li dl dd .reservation-disclosure-body pre {
  padding: 0;
  color: #555;
  font: 400 14px/1.9 'Nanum Myeongjo', serif;
  text-align: center;
  white-space: pre-wrap;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.reservation-disclosure-body p + p { margin-top: 14px; }
.reservation-disclosure-body strong,
.reservation-disclosure-body span { opacity: 1 !important; transform: none !important; }
.reservation-disclosure-body label { display: block; margin: 18px 0 8px; font-size: 12px; }
.reservation-disclosure-body input { box-sizing: border-box; width: min(100%, 260px); margin: 0 auto 16px; border: 1px solid #dec9c1; border-radius: 0; padding: 10px 12px; background: #fff; color: #5f483d; font: 16px/1.5 'Nanum Myeongjo', serif; text-align: center; user-select: all; }
#kakao-booking { scroll-margin-top: 100px; }

/* Reuse the six-room comparison only, inside the original Price section. */
#room-prices > dd { container-type: inline-size; container-name: room-rates; }
.reservation-rate-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 20px auto 24px; border-top: 1px solid #dec9c1; border-left: 1px solid #dec9c1; }
.reservation-rate-card { box-sizing: border-box; display: flex; flex-direction: column; min-width: 0; padding: 25px 16px 20px; border-right: 1px solid #dec9c1; border-bottom: 1px solid #dec9c1; background: #fff; color: #5f483d; text-align: center; font-family: 'Nanum Myeongjo', serif; }
.reservation-rate-family { background: #fbf8f5; }
.reservation-rate-card h3 { margin: 10px 0 0; color: #5f483d; font: 600 20px/1.5 'Nanum Myeongjo', serif; word-break: keep-all; }
.overview .white_content_box .reservation-rate-card p { overflow: visible; padding: 0; text-align: center; color: #856c61; }
.overview .white_content_box .reservation-rate-category { font: 10px/1.6 Arial, sans-serif; letter-spacing: .02em; }
.overview .white_content_box .reservation-rate-description { min-height: 42px; margin: 10px 0 0; font: 12px/1.8 'Nanum Myeongjo', serif; word-break: keep-all; overflow-wrap: anywhere; }
.overview .white_content_box .reservation-rate-price { margin: 22px 0; color: #5f483d; font: 400 30px/1.4 'Nanum Myeongjo', serif; white-space: nowrap; }
.overview .white_content_box .reservation-rate-price > span { display: inline; margin-left: 4px; color: inherit; font-size: 12px; }
.reservation-rate-facts { margin-top: auto; padding-top: 15px; border-top: 1px solid #e6ddd7; }
.reservation-rate-facts > div { margin: 0 0 9px; }
.wrap_write li dl dd .reservation-rate-facts dt,
.wrap_write li dl dd .reservation-rate-facts dd { float: none; width: auto; margin: 0; padding: 0; text-align: center; font: 400 12px/1.7 'Nanum Myeongjo', serif; color: #856c61; }
.wrap_write li dl dd .reservation-rate-facts dd { margin-top: 3px; font-size: 15px; color: #5f483d; }
.overview .white_content_box .reservation-rate-grid strong { display: inline; position: static; margin: 0; color: inherit; font: inherit !important; letter-spacing: inherit !important; }
.overview .white_content_box .reservation-rate-grid span,
.overview .white_content_box .reservation-rate-grid strong { opacity: 1; transform: none; transition: none; }
@container room-rates (min-width: 620px) { .reservation-rate-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@container room-rates (max-width: 300px) { .reservation-rate-grid { grid-template-columns: 1fr; } }

@media (max-width: 800px) {
  .reservation-disclosure { width: 90%; margin: 16px auto; }
  .reservation-disclosure > summary { display: flex; width: fit-content; margin: 0 auto; text-align: center; }
  .overview .white_content_box .reservation-disclosure-body p,
  .wrap_write li dl dd .reservation-disclosure-body pre { font-size: 13px; }
  .reservation-rate-grid { width: 90%; }
  .reservation-rate-card { padding: 22px 12px 18px; }
  .reservation-rate-card h3 { font-size: 18px; }
  .overview .white_content_box .reservation-rate-price { font-size: 26px; }
  .overview .white_content_box .reservation-rate-category { font-size: 9px; }
}
