@import url("/assets/css/site/plan-tone.css?v=20260929-plan1");
/* Long-stay content uses the existing Chosei room gallery, app bar and booking controls. */
html:has(.long-stay-reference-detail) { scroll-padding-top:56px; }
.bub-site-page:has(.long-stay-reference-detail) > .mobile-nav { display:none; }
.bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail { --content:1060px; }
.bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail :is(h1,h2,h3,p,li,dt,dd,a,button,summary) { letter-spacing:0; }
.bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail h1 { margin:0; font-size:28px; line-height:38px; overflow-wrap:anywhere; }
.bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail h2 { margin:0 0 16px; font-size:22px; line-height:32px; }
.bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail h3 { margin:0 0 8px; font-size:18px; line-height:26px; }
/* :where keeps this a default so notes, labels and values below keep their own size and colour. */
.bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail :where(p,li) { font-size:16px; line-height:26px; color:var(--ink); }
.bub-site-page .long-stay-reference-detail .long-stay-hero { padding:0; }
.bub-site-page .long-stay-reference-detail .long-stay-gallery-shell { position:relative; }
.bub-site-page .long-stay-reference-detail .chosei-room-listing-photo img { object-position:center; }
.bub-site-page .long-stay-reference-detail .long-stay-content { min-width:0; }
.bub-site-page .long-stay-reference-detail .long-stay-lead { margin-top:16px; }
.bub-site-page .long-stay-reference-detail .long-stay-facts { display:grid; gap:12px; margin:24px 0 0; }
.bub-site-page .long-stay-reference-detail .long-stay-facts > div { display:grid; grid-template-columns:118px minmax(0,1fr); gap:12px; align-items:start; }
.bub-site-page .long-stay-reference-detail .long-stay-facts dt { display:flex; gap:8px; align-items:center; font-size:14px; line-height:22px; font-weight:700; }
.bub-site-page .long-stay-reference-detail .long-stay-facts dd { margin:0; font-size:15px; line-height:24px; }
.bub-site-page .long-stay-reference-detail .long-stay-facts dd small { display:block; margin-top:2px; color:var(--muted); font-size:14px; line-height:22px; }
.bub-site-page .long-stay-reference-detail .long-stay-note { margin-top:16px; font-size:14px; line-height:22px; color:var(--muted); }
.bub-site-page .long-stay-reference-detail .long-stay-section-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:24px; border-bottom:1px solid var(--line); }
.bub-site-page .long-stay-reference-detail .long-stay-section-nav a { display:flex; justify-content:center; align-items:center; min-height:52px; padding:12px 0; font-size:14px; line-height:22px; font-weight:700; text-align:center; }
.bub-site-page .long-stay-reference-detail .long-stay-section { padding-block:32px; }
.bub-site-page .long-stay-reference-detail .long-stay-section + .long-stay-section { border-top:1px solid var(--line); }
.bub-site-page .long-stay-reference-detail .long-stay-notes { margin-top:24px; border-bottom:1px solid var(--line); }
.bub-site-page .long-stay-reference-detail .long-stay-notes summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:64px; padding-block:16px; cursor:pointer; font-size:16px; line-height:24px; font-weight:700; list-style:none; }
.bub-site-page .long-stay-reference-detail .long-stay-notes summary::-webkit-details-marker { display:none; }
.bub-site-page .long-stay-reference-detail .long-stay-notes summary .bell-ui-icon { transform:rotate(90deg); }
.bub-site-page .long-stay-reference-detail .long-stay-notes[open] summary .bell-ui-icon { transform:rotate(-90deg); }
.bub-site-page .long-stay-reference-detail .long-stay-notes p { margin:0; padding-bottom:16px; }
.bub-site-page .long-stay-reference-detail .long-stay-notes a { text-decoration:underline; text-underline-offset:4px; }
.bub-site-page .long-stay-reference-detail .long-stay-related { display:grid; border-top:1px solid var(--line); }
.bub-site-page .long-stay-reference-detail .long-stay-related a { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:60px; padding-block:16px; border-bottom:1px solid var(--line); font-size:16px; line-height:24px; font-weight:700; }
.bub-site-page .long-stay-reference-detail .long-stay-booking { position:sticky; top:108px; align-self:start; }
.bub-site-page .long-stay-reference-detail .long-stay-booking > .button { background:var(--ink); color:var(--paper); }
.bub-site-page .long-stay-reference-detail .long-stay-booking .room-reference-booking-info { border-radius:8px; }
.bub-site-page .long-stay-reference-detail .long-stay-mobile-booking { z-index:34; bottom:0; }
.bub-site-page .long-stay-reference-detail .long-stay-mobile-booking strong { font-size:16px; line-height:22px; }
.bub-site-page .long-stay-reference-detail .long-stay-mobile-booking > a { background:var(--ink); color:var(--paper); }
@media (max-width:1023px) {
  .bub-site-page:has(.long-stay-reference-detail) { padding-bottom:calc(80px + env(safe-area-inset-bottom)); }
}
@media (min-width:768px) {
  html:has(.long-stay-reference-detail) { scroll-padding-top:calc(var(--header-height) + 24px); }
  .bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail h1 { font-size:32px; line-height:44px; }
  .bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail h2 { font-size:24px; line-height:34px; }
  .bub-site-page .long-stay-reference-detail .long-stay-facts dd small { display:inline; margin-left:8px; }
  .bub-site-page .long-stay-reference-detail .long-stay-section-nav { margin-top:16px; }
}

.bub-site-page .long-stay-reference-detail .long-stay-section-intro { margin:0 0 24px; }
.bub-site-page .long-stay-reference-detail .long-stay-booking-label { margin:0; font-size:14px; line-height:22px; color:var(--muted); }
.bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail p.long-stay-booking-time { margin:8px 0 16px; font:600 18px/28px var(--font-num); }


/* Long stay on the anniversary layout (2026-09-30): the plans are photo cards with numbered
 * titles, the day is detail rows (time | what), as the anniversary and pets pages. */
:root .bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail .long-stay-plans { display:grid; gap:40px; margin:0; padding:0; list-style:none; }
:root .bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail .long-stay-plan-card { min-width:0; }
:root .bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail .long-stay-plan-card .room-reference-context-photo { margin:0 0 16px; }
:root .bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail .plan-step-title { display:grid; grid-template-columns:32px minmax(0,1fr); gap:12px; align-items:center; }
:root .bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail .plan-step-title h3 { margin:0; font-size:18px; line-height:28px; }
:root .bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail .plan-step-title + p { margin:8px 0 0; }
:root .bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail p.long-stay-price { margin:8px 0 0; font-size:13px; line-height:20px; color:var(--muted); }
:root .bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail p.long-stay-price strong { font:700 15px/20px var(--font-num), var(--font-ja); color:var(--ink); }
:root .bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail p.long-stay-price a { display:block; width:fit-content; min-height:44px; padding-block:12px; color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
:root .bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail .long-stay-flow-list { display:grid; }
:root .bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail .long-stay-flow-row { display:grid; grid-template-columns:72px minmax(0,1fr); gap:20px; padding:24px 0; border-bottom:1px solid var(--line); }
:root .bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail .long-stay-flow-row:first-child { padding-top:4px; }
:root .bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail .long-stay-flow-row:last-child { padding-bottom:0; border:0; }
:root .bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail .long-stay-flow-row > span { padding-top:2px; font:500 13px/22px var(--font-num); color:var(--muted); }
:root .bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail .long-stay-flow-row h3 { margin:0; font-size:16px; line-height:24px; }
:root .bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail .long-stay-flow-row h3 + p { margin:4px 0 0; }
@media (min-width:768px) {
  :root .bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail .long-stay-plan-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; align-items:center; }
  :root .bub-site-page[data-bub-detail-tone="room"] .long-stay-reference-detail .long-stay-plan-card .room-reference-context-photo { margin:0; }
}
