/* Facilities content in the same room/food detail shell.
   Keep all overrides scoped; the shared components own gallery and booking. */
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-section-nav.destination-facilities-nav { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-section-nav.destination-facilities-nav a { padding-inline:4px; white-space:normal; text-align:center; line-height:20px; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .destination-facilities-links a { display:flex; align-items:center; gap:12px; min-height:64px; padding-block:16px; border-bottom:1px solid var(--line); font-size:16px; line-height:24px; font-weight:700; text-decoration:none; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .destination-facilities-links a span { flex:1; }
html:has(.bub-site-page .facilities-reference-detail) { --facilities-header-offset:calc(56px + env(safe-area-inset-top)); scroll-padding-top:calc(var(--facilities-header-offset) + 48px); }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail { --content:1060px; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-detail-hero { display:block; width:100%; margin:0; padding:0; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-detail-hero-media { position:relative; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-reference-layout { padding:20px 0 64px; margin-inline:auto; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-reference-content { min-width:0; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-detail-hero-copy { padding:0; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-detail-hero-copy > .lead { margin-top:16px; font-size:16px; line-height:24px; color:var(--ink); }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-reference-content > .section { width:100%; margin:0; padding-block:24px; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail h2 { margin:0 0 16px; font-size:20px; line-height:27px; letter-spacing:0; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail p { font-size:16px; line-height:24px; color:var(--ink); }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-section-heading { margin-bottom:16px; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-description { margin:16px 0 24px; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .room-reference-context-photo { margin:0; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .room-reference-context-photo img { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; border-radius:12px; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail :is(.facilities-quick-facts,.facilities-info-list) { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; margin:24px 0 0; padding:0; border:0; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail :is(.facilities-quick-facts,.facilities-info-list) > div { display:grid; grid-template-columns:118px minmax(0,1fr); align-items:start; gap:12px; padding:0; border:0; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail :is(.facilities-quick-facts,.facilities-info-list) dt { margin:0; font-size:14px; line-height:22px; font-weight:700; color:var(--ink); }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail :is(.facilities-quick-facts,.facilities-info-list) dd { margin:0; font-size:14px; line-height:22px; font-weight:400; color:var(--ink); }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-quick-facts > div { grid-template-columns:140px minmax(0,1fr); }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail :is(.facilities-quick-facts,.facilities-info-list) dt { display:flex; align-items:flex-start; gap:8px; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-info-icon { flex:0 0 20px; width:20px; height:20px; margin-top:1px; color:var(--ink); }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-section-nav { position:sticky; top:var(--facilities-header-offset); z-index:90; display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:0; margin-top:16px; padding:0; background:var(--paper); border-bottom:1px solid var(--line); }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-section-nav a { position:relative; display:flex; align-items:center; justify-content:center; min-width:0; height:48px; color:var(--ink); font-size:14px; line-height:22px; font-weight:500; white-space:nowrap; text-decoration:none; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-section-nav a[aria-current="location"] { font-weight:700; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-section-nav a[aria-current="location"]::after { content:""; position:absolute; inset:auto 12px -1px; height:2px; background:var(--ink); }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-section-nav a:focus-visible { outline:2px solid var(--ink); outline-offset:-4px; border-radius:4px; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-reference-photos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:16px 12px; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-reference-photos > :first-child { grid-column:1 / -1; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-reference-photos > :not(:first-child) .bell-photo-trigger::after { right:6px; bottom:6px; padding:3px 6px; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-reference-photos figcaption { margin-top:8px; font-size:14px; line-height:22px; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-map-open { border:0; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-map-open img { width:100%; height:auto; max-height:none; aspect-ratio:auto; object-fit:contain; background:transparent; border-radius:12px; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-map-open span { font-size:16px; line-height:22px; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-map-dialog { padding:0; background:var(--paper); }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-map-dialog-panel { width:100%; height:100dvh; max-height:none; padding:0; border-radius:0; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-map-dialog-panel > header { min-height:56px; margin:0; padding:6px 12px; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-map-dialog-panel > header strong { font-size:16px; line-height:22px; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-map-hint { margin:0; padding:12px 20px; font-size:14px; line-height:22px; color:var(--muted); }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-map-dialog-scroll { flex:1; min-width:0; padding:0 20px 20px; overflow:auto; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-map-dialog-scroll:focus-visible { outline:2px solid var(--ink); outline-offset:-2px; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-map-dialog-scroll img { display:block; width:max(100%,900px); max-width:none; height:auto; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-accordion-list { border-top:0; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-accordion-list details { border-top:0; border-bottom:1px solid var(--line); }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail summary { min-height:64px; padding:16px 24px 16px 0; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail summary > span { font-size:16px; line-height:22px; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail summary > small { font-size:14px; line-height:19px; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-accordion-list details > div { padding:8px 0 24px; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail section[id] { scroll-margin-top:0; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-reference-booking { position:sticky; top:108px; align-self:start; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-reference-booking > a { background:var(--ink); color:var(--paper); }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-reference-booking .chosei-room-listing-price { font-size:20px; line-height:27px; font-weight:700; }
.bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-reference-booking .room-reference-booking-info > p:not(.chosei-room-listing-price) { font-size:14px; line-height:22px; }
@media (min-width:768px) {
  html:has(.bub-site-page .facilities-reference-detail) { --facilities-header-offset:var(--header-height); }
  .bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-detail-hero { width:min(90%,1060px); margin:28px auto 0; }
  .bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-reference-layout { width:min(90%,1060px); padding-top:32px; }
  .bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-reference-content > .section { padding-block:32px; }
  .bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-reference-photos { gap:24px; }
  .bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-map-dialog { padding:24px; background:rgb(47 47 47 / 72%); }
  .bub-site-page[data-bub-detail-tone="room"] .facilities-reference-detail .facilities-map-dialog-panel { width:min(100%,1060px); height:90dvh; border-radius:16px; }
}
