/* Release 14: guest information follows the approved Release 13 type and spacing. */
.yoruya-guest-page { color: #302b27; }
.yoruya-guest-intro { max-width: 70ch; font-size: var(--yoruya-body-size); line-height: var(--yoruya-body-leading); }
.yoruya-bar-photo { margin: 0 0 32px; }
.yoruya-bar-photo img { width: 100%; max-height: 600px; object-fit: cover; }
.yoruya-guest-columns { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(32px,6vw,96px); margin-top: var(--yoruya-section-gap,56px); }
.yoruya-guest-columns h2, .yoruya-bar-teaser h2 { font-size: var(--yoruya-section-title-size,28px); font-weight: 400; line-height: 1.5; margin-bottom: 20px; }
.yoruya-guest-columns p, .yoruya-bar-teaser p { font-size: var(--yoruya-body-size); line-height: var(--yoruya-body-leading); margin-bottom: 20px; }
.yoruya-guest-facts { font-size: var(--yoruya-body-size); line-height: var(--yoruya-body-leading); }
.yoruya-guest-facts > div { display: grid; grid-template-columns: minmax(90px,1fr) minmax(0,3fr); gap: 18px; padding: 16px 0; border-top: 1px solid #d6c7bd; }
.yoruya-guest-facts > div:last-child { border-bottom: 1px solid #d6c7bd; margin-bottom: 20px; }
.yoruya-guest-actions, .yoruya-guest-related { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; }
.yoruya-guest-related { margin-top: var(--yoruya-section-gap,56px); padding-top: 24px; border-top: 1px solid #d6c7bd; font-size: var(--yoruya-body-size); }
.yoruya-guest-related a, .yoruya-guest-text-link { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 5px; line-height: 1.7; }
.yoruya-guest-page a:focus-visible, .yoruya-carousel-toggle:focus-visible { outline: 3px solid #725037; outline-offset: 4px; }
.yoruya-faq-list { max-width: 960px; margin-top: var(--yoruya-section-gap,56px); }
.yoruya-faq-item { padding: 28px 0; border-top: 1px solid #d6c7bd; scroll-margin-top: 120px; }
body #main_content .yoruya-faq-item h2 { font-size: 22px; font-weight: 400; line-height: 1.6; margin: 0 0 14px; }
.yoruya-faq-item p { font-size: var(--yoruya-body-size); line-height: var(--yoruya-body-leading); white-space: normal; overflow-wrap: anywhere; }
.yoruya-faq-item a { margin-top: 12px; }
.yoruya-bar-teaser { padding: 36px 0; margin-top: var(--yoruya-section-gap,56px); border-top: 1px solid #d6c7bd; }
.yoruya-bar-teaser p { max-width: 70ch; }
.yoruya-room-bookings { align-items: flex-end; gap: 12px; }
.yoruya-room-bookings .yoruya-outline-link { padding: 12px 14px; font-size: 14px; gap: 8px; }
.yoruya-room-bookings .yoruya-tour { margin: 0; }
.yoruya-room-bookings .yoruya-tour-button { font-size: 14px; min-height: 48px; padding: 12px 14px; border-color: #64594d; }
.yoruya-tour-panel[hidden], .yoruya-tour-status:empty { display: none; }
.yoruya-tour-panel { width: 100%; }
.yoruya-carousel-toggle { position: absolute; top: 12px; right: 12px; z-index: 5; min-height: 44px; padding: 8px 12px; border: 1px solid #fffaf5; background: #302b27e8; color: #fffaf5; font: 13px/1.5 system-ui,sans-serif; cursor: pointer; }
.yoruya-carousel-toggle[hidden] { display: none; }
.image_swiper .prev_nav, .image_swiper .next_nav { min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; background: transparent; border: 0; padding: 10px; cursor: pointer; z-index: 4; }
.image_swiper .prev_nav:focus-visible, .image_swiper .next_nav:focus-visible { outline: 3px solid white; outline-offset: -3px; }
@media (max-width:812px) {
  .yoruya-guest-columns { grid-template-columns: minmax(0,1fr); gap: 36px; }
  .yoruya-guest-columns h2, .yoruya-bar-teaser h2 { font-size: 24px; }
  body #main_content .yoruya-faq-item h2 { font-size: 20px; }
  .yoruya-guest-facts > div { grid-template-columns: minmax(75px,1fr) minmax(0,2.5fr); gap: 12px; }
  .yoruya-carousel-toggle { top: 8px; right: 8px; }
  .yoruya-room-bookings { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(0,1fr); column-gap: 10px; }
  .yoruya-room-bookings .yoruya-outline-link { width: 100%; padding: 12px 10px; }
  .yoruya-room-bookings .yoruya-tour-button { width: 100%; padding: 12px 8px; }
}
@media (max-width:359px) { .yoruya-guest-facts > div { grid-template-columns: 1fr; gap: 4px; } }

.yoruya-room-availability { display: flex; flex-direction: column; gap: 16px; }

#footer .yoruya-guest-related { margin-top: 16px; padding-top: 0; border-top: 0; gap: 12px 24px; font-size: 14px; }
#footer .yoruya-guest-related a { color: #fff; min-height: 44px; }
