/* Shared room reference: approved Bell anatomy and feedback, with route content retained. */
.bub-site-page .room-reference-detail { --room-content:1060px; --room-press-easing:cubic-bezier(0,0,.15,1); --room-release-easing:cubic-bezier(.35,0,.35,1); }
.bub-site-page .room-reference-detail .chosei-room-listing-hero { width:100%; grid-template-columns:minmax(0,1fr); gap:0; align-items:stretch; margin-top:0; }
.bub-site-page .room-reference-detail .chosei-room-listing-gallery-shell { display:grid; grid-template-columns:minmax(0,1fr); gap:6px; }
.bub-site-page .room-reference-detail .chosei-room-listing-gallery { aspect-ratio:3/2; border-radius:0; }
.bub-site-page .room-reference-detail .chosei-room-listing-photo img { object-position:center 60%; }
.bub-site-page .room-reference-detail .room-editorial-side-photo { display:none; }
.bub-site-page .room-reference-detail .room-reference-back { position:absolute; top:8px; left:8px; display:grid; place-items:center; width:44px; height:44px; color:#fff; background:#0003; border-radius:8px; }
.bub-site-page .room-reference-detail .room-reference-hero-nav { display:none; }
.bub-site-page .room-reference-detail .chosei-room-gallery-open { right:12px; bottom:12px; min-width:52px; min-height:44px; margin:0; padding:8px; gap:0; border:0; border-radius:8px; background:transparent; color:#fff; }
.bub-site-page .room-reference-detail .chosei-room-gallery-open > .ic, .bub-site-page .room-reference-detail .chosei-room-gallery-open-label { display:none; }
.bub-site-page .room-reference-detail .chosei-room-gallery-count { display:block; padding:5px 12px; border-radius:6px; background:#0009; font:500 12px/16px var(--font-num); }
.bub-site-page .room-reference-detail .chosei-room-gallery-count strong { font-weight:700; }
.bub-site-page .room-reference-detail .chosei-room-listing-layout { width:calc(100% - 40px); grid-template-columns:minmax(0,1fr); padding-block:20px 64px; gap:0; }
.bub-site-page .room-reference-detail .chosei-room-listing-heading { min-width:0; }
.bub-site-page .room-reference-detail .chosei-room-listing-heading h1 { font-size:24px; line-height:32px; font-weight:700; letter-spacing:0; word-break:keep-all; overflow-wrap:normal; }
.bub-site-page .room-reference-detail .room-reference-facility { display:inline-flex; align-items:center; gap:8px; min-height:32px; margin-top:4px; color:var(--ink); font-size:14px; line-height:19px; font-weight:500; }
.bub-site-page .room-reference-detail .room-reference-facility .ic { width:16px; height:16px; color:var(--muted); }
.bub-site-page .room-reference-detail [data-room-comparison-facts] { grid-template-columns:minmax(0,1fr); gap:12px; margin-block:24px 0; padding:0; border:0; border-radius:0; background:transparent; }
.bub-site-page .room-reference-detail [data-room-comparison-facts] > li { display:grid; grid-template-columns:118px minmax(0,1fr); align-items:start; gap:12px; padding:0; border:0; }
.bub-site-page .room-reference-detail [data-room-comparison-facts] > li > span { color:var(--ink); font-size:14px; line-height:22px; font-weight:700; }
.bub-site-page .room-reference-detail [data-room-comparison-facts] strong { font-size:14px; line-height:22px; font-weight:400; color:var(--ink); text-wrap:pretty; }
.bub-site-page .room-reference-detail .chosei-room-listing-section { padding-block:32px; border:0; }
.bub-site-page .room-reference-detail .chosei-room-listing-description { padding-top:56px; padding-bottom:24px; }
.bub-site-page .room-reference-detail .chosei-room-listing-section-heading { margin-bottom:24px; }
.bub-site-page .room-reference-detail .chosei-room-listing-section h2 { margin-bottom:16px; font-size:20px; line-height:27px; font-weight:700; letter-spacing:0; }
.bub-site-page .room-reference-detail .chosei-room-listing-section :is(p,li) { font-size:16px; line-height:24px; }
.bub-site-page .room-reference-detail .chosei-room-listing-description > p + p { margin-top:16px; }
.bub-site-page .room-reference-detail .chosei-room-listing-section-heading > p { margin-top:0; color:var(--muted); font-size:14px; line-height:22px; }
/* Context photos add space/amenity evidence without changing the approved type or page anatomy. */
.bub-site-page .room-reference-detail .room-reference-context-photo { min-width:0; margin:0 0 24px; }
.bub-site-page .room-reference-detail .room-reference-context-photo > img,
.bub-site-page .room-reference-detail .room-reference-context-photo > .bell-photo-trigger > img { display:block; width:100%; height:auto; max-height:none; object-fit:contain; border-radius:12px; }
.bub-site-page .room-reference-detail .room-reference-context-photo > figcaption { margin-top:8px; color:var(--muted); font-size:14px; line-height:22px; font-weight:400; }
.bub-site-page .room-reference-detail .chosei-room-listing-bathroom-card > .room-reference-context-photo { margin-bottom:0; }
.bub-site-page .room-reference-detail :is(.chosei-room-listing-description-open,.chosei-room-listing-amenities-open) { display:flex; width:100%; min-height:48px; margin-top:24px; border:1px solid var(--line); border-radius:6px; background:var(--paper); font-size:16px; line-height:22px; font-weight:700; }
.bub-site-page .room-reference-detail .chosei-room-listing-room-rail { grid-auto-flow:row; grid-auto-columns:auto; gap:24px; padding:0; overflow:visible; scroll-snap-type:none; }
.bub-site-page .room-reference-detail .chosei-room-listing-room-card { padding:0; border:0; }
.bub-site-page .room-reference-detail .chosei-room-listing-room-card > div { display:grid; grid-template-columns:minmax(0,1fr) 96px; gap:4px 16px; }
.bub-site-page .room-reference-detail .chosei-room-listing-room-card span { color:var(--muted); font-size:13px; line-height:18px; }
.bub-site-page .room-reference-detail .chosei-room-listing-room-card h3 { grid-column:1; min-width:0; font-size:18px; line-height:24px; font-weight:700; }
.bub-site-page .room-reference-detail .chosei-room-listing-room-card p { grid-column:1; min-width:0; margin:0; color:var(--ink); font-size:16px; line-height:24px; }
.bub-site-page .room-reference-detail .chosei-room-listing-room-card small { color:var(--muted); font-size:13px; line-height:18px; }
.bub-site-page .room-reference-detail [data-room-booking-variant] { grid-column:2; grid-row:1/3; align-self:center; justify-content:center; width:96px; min-height:44px; margin:0; padding:10px 12px; border:1px solid var(--line); border-radius:6px; color:var(--ink); background:var(--paper); font-size:14px; line-height:22px; text-decoration:none; white-space:nowrap; font-weight:700; }
.bub-site-page .room-reference-detail .chosei-room-listing-bathroom-card h3 { margin-bottom:8px; font-size:18px; line-height:24px; }
.bub-site-page .room-reference-detail .chosei-room-listing-amenities { gap:12px 24px; }
.bub-site-page .room-reference-detail .chosei-room-listing-amenities li { padding:0; border:0; }
.bub-site-page .room-reference-detail .chosei-room-listing-notes { padding-left:0; }
.bub-site-page .room-reference-detail [data-room-note] > summary { display:grid; grid-template-columns:minmax(0,1fr) 20px; gap:4px 16px; align-items:center; min-height:64px; padding-block:16px; }
.bub-site-page .room-reference-detail [data-room-note] > summary > span { grid-column:1; font-size:16px; line-height:22px; }
.bub-site-page .room-reference-detail [data-room-note] > summary > small { grid-column:1; font-size:14px; line-height:19px; color:var(--muted); font-weight:400; }
.bub-site-page .room-reference-detail [data-room-note] > summary::after { content:''; position:static; grid-column:2; grid-row:1/3; width:20px; height:20px; background:currentColor; mask:var(--icon-chevron-right) center/contain no-repeat; transform:rotate(90deg); }
.bub-site-page .room-reference-detail [data-room-note][open] > summary::after { transform:rotate(-90deg); }
.bub-site-page .room-reference-detail .chosei-room-gallery-modal-stage { grid-template-columns:44px minmax(0,1fr) 44px; }
.bub-site-page .room-reference-detail .chosei-room-gallery-modal-nav { width:44px; }
.bub-site-page .room-reference-detail .chosei-room-listing-booking { display:none; padding:0; border:0; border-radius:0; background:transparent; }
.bub-site-page .room-reference-detail .chosei-room-listing-booking > .button { width:100%; margin:0 0 16px; min-height:52px; border-radius:6px; font-size:16px; line-height:22px; font-weight:700; }
.bub-site-page .room-reference-detail .room-reference-booking-info { padding:24px; border-radius:12px; background:var(--surface-subtle); }
.bub-site-page .room-reference-detail .room-reference-booking-info > .eyebrow { color:var(--muted); font-size:13px; line-height:18px; font-weight:500; letter-spacing:0; }
.bub-site-page .room-reference-detail .chosei-room-listing-price { margin:8px 0; font-size:20px; line-height:27px; font-weight:700; }
.bub-site-page .room-reference-detail .room-reference-booking-info > p:not(.chosei-room-listing-price,.eyebrow) { font-size:14px; line-height:22px; }
.bub-site-page .room-reference-detail .chosei-room-listing-booking dl { margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }
.bub-site-page .room-reference-detail .chosei-room-listing-booking dt { color:var(--muted); font-size:14px; line-height:19px; }
.bub-site-page .room-reference-detail .chosei-room-listing-booking dd { margin-top:4px; font-size:14px; line-height:22px; }
.bub-site-page .room-reference-detail .chosei-room-listing-mobile-booking { gap:16px; min-height:80px; padding:12px 20px calc(12px + env(safe-area-inset-bottom)); }
.bub-site-page .room-reference-detail .chosei-room-listing-mobile-booking strong { font-size:14px; line-height:19px; font-weight:700; }
.bub-site-page .room-reference-detail .chosei-room-listing-mobile-booking span { font-size:12px; line-height:16px; }
.bub-site-page .room-reference-detail .chosei-room-listing-mobile-booking > a { flex:1 0 auto; max-width:48%; min-height:52px; border-radius:6px; font-size:16px; line-height:22px; font-weight:700; }
.bub-site-page .room-reference-detail .live-room-grid { gap:20px; }
.bub-site-page .room-reference-detail .live-room-card > .live-card-image { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:12px; }
.bub-site-page .room-reference-detail .live-room-card h3 { font-size:18px; line-height:24px; }
.bub-site-page .room-reference-detail .live-room-card :is(.live-price,.live-price-main,.live-room-card-fit p) { font-size:14px; line-height:22px; }
.bub-site-page .room-reference-detail .live-room-card :is(.live-price-notice,.live-price-included,.live-price-main small,.live-room-card-specs,.live-room-card-fit > span) { font-size:13px; line-height:18px; }
.bub-site-page .room-reference-detail .live-room-card-specs > div { display:grid; grid-template-columns:4em minmax(0,1fr); gap:8px; margin-top:4px; }
.bub-site-page .room-reference-detail :is(a,button,summary) { transition:background-color 150ms var(--room-release-easing),color 150ms var(--room-release-easing); }
.bub-site-page .room-reference-detail :is(a,button,summary):focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.bub-site-page .room-reference-detail [data-room-press] { transition:transform 150ms var(--room-release-easing),background-color 150ms var(--room-release-easing),color 150ms var(--room-release-easing); transform-origin:center; }
.bub-site-page .room-reference-detail [data-room-press]:not(:disabled,[aria-disabled="true"],[aria-busy="true"]):active { transform:scale(var(--room-press-scale,1)); transition-timing-function:var(--room-press-easing); }
.bub-site-page .room-reference-detail :is([data-room-booking-variant],.chosei-room-listing-description-open,.chosei-room-listing-amenities-open):active { background:var(--line); }
.bub-site-page .room-reference-detail :is(.chosei-room-listing-booking .button,.chosei-room-listing-mobile-booking > a):active { background:#464646; }
@media (hover:hover) and (pointer:fine) {
 .bub-site-page .room-reference-detail :is([data-room-booking-variant],.chosei-room-listing-description-open,.chosei-room-listing-amenities-open):hover { background:var(--line); }
 .bub-site-page .room-reference-detail :is(.chosei-room-listing-booking .button,.chosei-room-listing-mobile-booking > a):hover { background:#464646; }
}
@media (min-width:768px) {
 .bub-site-page .room-reference-detail .chosei-room-listing-hero { width:min(90%,var(--room-content)); margin-top:28px; }
 .bub-site-page .room-reference-detail .chosei-room-listing-gallery-shell { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .bub-site-page .room-reference-detail .chosei-room-listing-gallery { border-radius:16px 0 0 16px; }
 .bub-site-page .room-reference-detail .room-editorial-side-photo { display:block; width:100%; height:100%; min-height:0; aspect-ratio:3/2; object-fit:cover; object-position:62% center; border-radius:0 16px 16px 0; }
 .bub-site-page .room-reference-detail .room-reference-back { display:none; }
 .bub-site-page .room-reference-detail .room-reference-hero-nav { position:absolute; top:calc(50% - 22px); display:grid; place-items:center; width:44px; height:44px; border-radius:50%; border:1px solid #fff6; background:#0006; color:#fff; }
 .bub-site-page .room-reference-detail [data-room-hero-prev] { left:16px; }
 .bub-site-page .room-reference-detail [data-room-hero-next] { right:16px; }
 .bub-site-page .room-reference-detail .room-reference-hero-nav:disabled { opacity:.35; cursor:default; }
 .bub-site-page .room-reference-detail .chosei-room-listing-layout { width:min(90%,var(--room-content)); padding-top:32px; }
 .bub-site-page .room-reference-detail .chosei-room-listing-heading h1 { font-size:28px; line-height:38px; }
 .bub-site-page .room-reference-detail .chosei-room-listing-room-card > div { column-gap:24px; }
}
@media (min-width:1024px) {
 .bub-site-page .room-reference-detail .chosei-room-listing-layout { grid-template-columns:minmax(0,1fr) 340px; gap:40px; }
 .bub-site-page .room-reference-detail .chosei-room-listing-booking { display:block; }
 .bub-site-page .room-reference-detail .live-room-card > .live-card-image { aspect-ratio:3/2; }
 .bub-site-page .room-reference-detail .chosei-room-listing-heading h1 { font-size:32px; line-height:44px; }
 .bub-site-page .room-reference-detail [data-room-comparison-facts] strong { font-size:15px; line-height:24px; }
 .bub-site-page .room-reference-detail .chosei-room-listing-section h2 { font-size:24px; line-height:34px; }
}
@media (prefers-reduced-motion:reduce) {
 .bub-site-page .room-reference-detail [data-room-press]:active { transform:none !important; }
 .bub-site-page .room-reference-detail [data-room-gallery] { scroll-behavior:auto; }
}

/* Shared room app interactions: each route keeps its own content and product mapping. */
.bub-site-page .room-reference-detail .bell-appbar { display:none; }
.bub-site-page .room-reference-detail .bell-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.bub-site-page .room-reference-detail .bell-photo-trigger { position:relative; display:block; width:100%; color:var(--paper); }
.bub-site-page .room-reference-detail .chosei-room-listing-photo > .bell-photo-trigger { height:100%; }
.bub-site-page .room-reference-detail .bell-photo-trigger img { display:block; }
.bub-site-page .room-reference-detail .room-reference-context-photo .bell-photo-trigger::after { content:'拡大'; position:absolute; right:12px; bottom:12px; padding:5px 10px; border-radius:6px; background:rgb(47 47 47 / 72%); color:var(--paper); font:500 14px/19px var(--font-ja); pointer-events:none; }
.bub-site-page .room-reference-detail .bell-icon-button { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:var(--paper); color:var(--ink); }
.bub-site-page .room-reference-detail .bell-app-overlay { z-index:350; overscroll-behavior:contain; }
.bub-site-page .room-reference-detail .bell-app-overlay[hidden] { display:none !important; }
.bub-site-page .room-reference-detail .bell-app-overlay > :is(.chosei-room-content-modal-panel,.chosei-room-gallery-modal-panel) { transition:transform 250ms cubic-bezier(0,0,.15,1),opacity 180ms ease-out; }
.bub-site-page .room-reference-detail .bell-app-overlay:not(.is-open) > :is(.chosei-room-content-modal-panel,.chosei-room-gallery-modal-panel) { opacity:0; }
.bub-site-page .room-reference-detail .bell-app-overlay.is-closing > :is(.chosei-room-content-modal-panel,.chosei-room-gallery-modal-panel) { opacity:0; transition-duration:180ms; }
.bub-site-page .room-reference-detail .bell-app-overlay[data-bell-panel-kind="sheet"] .chosei-room-content-modal-panel { width:min(100%,480px); }
.bub-site-page .room-reference-detail .bell-app-overlay .chosei-room-content-modal-panel > header h2 { margin:0; font-size:20px; line-height:27px; font-weight:700; }
.bub-site-page .room-reference-detail .bell-app-overlay .chosei-room-content-modal-panel > header { margin-bottom:16px; padding-bottom:16px; }
.bub-site-page .room-reference-detail .bell-app-overlay .chosei-room-content-modal-body { padding:0; font-size:16px; line-height:24px; }
.bub-site-page .room-reference-detail .bell-app-overlay .chosei-room-content-modal-body p + p { margin-top:16px; }
.bub-site-page .room-reference-detail .bell-room-options { display:grid; gap:12px; min-width:0; padding:0; margin:0; border:0; }
.bub-site-page .room-reference-detail .bell-room-option { display:flex; align-items:center; gap:16px; min-height:88px; padding:16px; border:1px solid var(--line); border-radius:12px; cursor:pointer; }
.bub-site-page .room-reference-detail .bell-room-option:has(input:checked) { border-color:var(--ink); background:var(--surface-subtle); }
.bub-site-page .room-reference-detail .bell-room-option:has(input:focus-visible) { outline:2px solid var(--ink); outline-offset:3px; }
.bub-site-page .room-reference-detail .bell-room-option input { flex:0 0 20px; width:20px; height:20px; margin:0; accent-color:var(--ink); }
.bub-site-page .room-reference-detail .bell-room-option span { display:grid; gap:4px; min-width:0; }
.bub-site-page .room-reference-detail .bell-room-option strong { color:var(--ink); font-size:16px; line-height:22px; font-weight:700; }
.bub-site-page .room-reference-detail .bell-room-option small { color:var(--muted); font-size:14px; line-height:22px; }
.bub-site-page .room-reference-detail .bell-sheet-footer { flex-shrink:0; margin-top:20px; }
.bub-site-page .room-reference-detail .bell-sheet-footer p { margin:0 0 12px; color:var(--muted); font-size:14px; line-height:22px; }
.bub-site-page .room-reference-detail .bell-primary-button { display:flex; align-items:center; justify-content:center; width:100%; min-height:52px; padding:12px 16px; border:0; border-radius:6px; background:var(--ink); color:var(--paper); font:700 16px/22px var(--font-ja); text-align:center; text-decoration:none; cursor:pointer; }
.bub-site-page .room-reference-detail .bell-primary-button[hidden] { display:none; }
.bub-site-page .room-reference-detail .bell-primary-button:active { opacity:.85; }
.bub-site-page .room-reference-detail .bell-share-label { display:block; margin-bottom:8px; font-size:14px; line-height:22px; }
.bub-site-page .room-reference-detail [data-bell-share-url] { display:block; width:100%; min-height:48px; margin-bottom:16px; padding:12px; border:1px solid var(--line); border-radius:6px; background:var(--surface-subtle); color:var(--ink); font:400 14px/22px var(--font-num); }
.bub-site-page .room-reference-detail .bell-share-status { min-height:22px; margin-top:12px; font-size:14px; line-height:22px; }
.bub-site-page .room-reference-detail .chosei-room-gallery-modal-stage { touch-action:pan-y pinch-zoom; }
.bub-site-page .room-reference-detail .chosei-room-gallery-modal-stage [data-room-gallery-modal-caption] { color:var(--paper); }
.bub-site-page .room-reference-detail .chosei-room-gallery-modal-header b { font-weight:500; }
.bub-site-page .room-reference-detail .chosei-room-gallery-thumbnails button { flex-basis:64px; min-width:64px; }
/* Official Lucide geometry is vendored once; presentation belongs to this surface. */
.bub-site-page .room-reference-detail .bell-ui-icon { display:block; flex:0 0 auto; width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.bub-site-page .room-reference-detail .bell-icon-button > .bell-ui-icon { width:24px; height:24px; }
.bub-site-page .room-reference-detail [data-room-comparison-facts] .bell-fact-label { display:flex; align-items:flex-start; gap:8px; }
.bub-site-page .room-reference-detail .bell-fact-label > .bell-ui-icon { color:var(--ink); }
.bub-site-page .room-reference-detail .bell-bed-config { display:inline-block; white-space:nowrap; }
.bub-site-page .room-reference-detail :is(.chosei-room-listing-room-card p,.bell-room-option small).bell-bed-line { display:flex; align-items:center; gap:8px; }
.bub-site-page .room-reference-detail .bell-bed-line > .bell-ui-icon { color:var(--ink); }
.bub-site-page .room-reference-detail .bell-selection-summary { display:block; color:var(--ink); font-size:12px; line-height:18px; font-weight:500; }
.bub-site-page .room-reference-detail .bell-selection-summary[hidden] { display:none; }
.bub-site-page .room-reference-detail .room-reference-booking-info > .bell-selection-summary { margin-top:12px; font-size:14px; line-height:22px; }
.bub-site-page .room-reference-detail .chosei-room-listing-mobile-booking .bell-selection-summary { margin-top:2px; }
@media (max-width:1023px) {
 .bub-site-page:has(.room-reference-detail .bell-selection-summary:not([hidden])) { padding-bottom:calc(104px + env(safe-area-inset-bottom)); }
}
@media (max-width:767px) {
 .bub-site-page.is-bell-app-ready > :is(#header,#mnav) { display:none !important; }
 .bub-site-page.is-bell-app-ready .room-reference-detail { padding-top:0; }
 .bub-site-page.is-bell-app-ready .room-reference-detail .room-reference-back { display:none; }
 .bub-site-page.is-bell-app-ready .room-reference-detail .bell-appbar { position:fixed; z-index:100; inset:0 0 auto; display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; gap:12px; height:calc(56px + env(safe-area-inset-top)); padding:calc(6px + env(safe-area-inset-top)) 12px 6px; background:transparent; border-bottom:1px solid transparent; transition:background-color 150ms ease-out,border-color 150ms ease-out; }
 .bub-site-page .room-reference-detail .bell-appbar-title { overflow:hidden; color:var(--ink); opacity:0; font:700 16px/22px var(--font-ja); text-overflow:ellipsis; white-space:nowrap; text-align:center; transition:opacity 150ms ease-out; }
 .bub-site-page .room-reference-detail .bell-appbar.is-scrolled { background:var(--paper); border-bottom-color:var(--line); }
 .bub-site-page .room-reference-detail .bell-appbar.is-scrolled .bell-appbar-title { opacity:1; }
 .bub-site-page .room-reference-detail .bell-appbar.is-scrolled .bell-icon-button { background:transparent; }
 .bub-site-page .room-reference-detail .bell-app-overlay[data-bell-panel-kind="sheet"] { align-items:end; justify-items:center; padding:0; }
 .bub-site-page .room-reference-detail .bell-app-overlay[data-bell-panel-kind="sheet"] .chosei-room-content-modal-panel { max-height:90dvh; padding:24px 20px calc(24px + env(safe-area-inset-bottom)); border-radius:20px 20px 0 0; }
 .bub-site-page .room-reference-detail .bell-app-overlay[data-bell-panel-kind="sheet"]:not(.is-open) .chosei-room-content-modal-panel,
 .bub-site-page .room-reference-detail .bell-app-overlay[data-bell-panel-kind="sheet"].is-closing .chosei-room-content-modal-panel { transform:translateY(100%); }
 .bub-site-page .room-reference-detail .bell-app-overlay:is([data-bell-panel-kind="page"],[data-bell-panel-kind="gallery"]) { padding:0; background:var(--paper); }
 .bub-site-page .room-reference-detail .bell-app-overlay[data-bell-panel-kind="page"] .chosei-room-content-modal-panel { width:100%; height:100dvh; max-height:none; padding:0; border-radius:0; }
 .bub-site-page .room-reference-detail .bell-app-overlay[data-bell-panel-kind="page"] .chosei-room-content-modal-panel > header { display:grid; grid-template-columns:44px minmax(0,1fr); gap:12px; min-height:56px; padding:calc(6px + env(safe-area-inset-top)) 12px 6px; margin:0; }
 .bub-site-page .room-reference-detail .bell-app-overlay[data-bell-panel-kind="page"] .chosei-room-content-modal-panel > header h2 { grid-column:2; grid-row:1; font-size:16px; line-height:22px; }
 .bub-site-page .room-reference-detail .bell-app-overlay[data-bell-panel-kind="page"] .chosei-room-content-modal-panel > header button { grid-column:1; grid-row:1; background:transparent; }
 .bub-site-page .room-reference-detail .bell-app-overlay[data-bell-panel-kind="page"] .chosei-room-content-modal-body { flex:1; padding:20px 20px calc(32px + env(safe-area-inset-bottom)); }
 .bub-site-page .room-reference-detail .bell-app-overlay[data-bell-panel-kind="page"]:not(.is-open) .chosei-room-content-modal-panel,
 .bub-site-page .room-reference-detail .bell-app-overlay[data-bell-panel-kind="page"].is-closing .chosei-room-content-modal-panel { transform:translateX(24px); }
 .bub-site-page .room-reference-detail .chosei-room-gallery-modal-panel { width:100%; height:100dvh; max-height:none; border-radius:0; }
 .bub-site-page .room-reference-detail .chosei-room-gallery-modal-header { gap:8px; min-height:56px; padding:calc(6px + env(safe-area-inset-top)) 12px 6px; }
 .bub-site-page .room-reference-detail .chosei-room-gallery-modal-header strong { overflow:hidden; font-size:14px; line-height:22px; white-space:nowrap; text-overflow:ellipsis; }
 .bub-site-page .room-reference-detail .chosei-room-gallery-modal-stage { display:block; padding:0; }
 .bub-site-page .room-reference-detail .chosei-room-gallery-modal-stage > figure { height:100%; }
 .bub-site-page .room-reference-detail .chosei-room-gallery-modal-stage figcaption { padding:12px 20px 16px; font-size:14px; line-height:22px; }
 .bub-site-page .room-reference-detail .chosei-room-gallery-modal-nav { position:absolute; z-index:1; top:calc(50% - 22px); width:44px; height:44px; border-radius:50%; background:rgb(47 47 47 / 72%); color:var(--paper); }
 .bub-site-page .room-reference-detail .chosei-room-gallery-modal-nav.is-prev { left:8px; }
 .bub-site-page .room-reference-detail .chosei-room-gallery-modal-nav.is-next { right:8px; }
 .bub-site-page .room-reference-detail .chosei-room-gallery-thumbnails { padding:12px 12px calc(12px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion:reduce) {
 .bub-site-page .room-reference-detail .bell-app-overlay > :is(.chosei-room-content-modal-panel,.chosei-room-gallery-modal-panel) { transition:none; transform:none !important; }
 .bub-site-page .room-reference-detail :is(.bell-appbar,.bell-appbar-title) { transition:none; }
}
