/* Date-based pricing; shared colors and typography remain in the site styles. */
.date-rate-page.site-quiet.booking-first-page main>.date-pricing{margin-top:120px;column-gap:72px;align-items:start}
.date-rate-page.site-quiet.booking-first-page main>.date-pricing .subhero__inner{padding:0}
.date-rate-page.site-quiet.booking-first-page main>.date-pricing .subhero__media{aspect-ratio:4/5}
.date-rate-page .date-pricing__controls{display:grid;grid-template-columns:minmax(190px,1.55fr) minmax(74px,.65fr) minmax(112px,1fr);gap:16px;margin-top:38px}
.date-rate-page .date-pricing__controls label{font:400 .875rem/1.6 var(--sans);color:var(--sumi)}
.date-rate-page .date-pricing__controls :is(input,select){display:block;width:100%;min-width:0;max-width:100%;min-height:52px;margin-top:10px;padding:12px 14px;border:1px solid #b9b6ac;border-radius:2px;background:var(--kinari);color:var(--sumi);font:400 1rem/1.5 var(--sans);letter-spacing:.02em}
.date-rate-page .date-pricing__controls :disabled{opacity:.6}
.date-rate-page .date-pricing__checkout{margin:10px 0 0;color:var(--sumi-light);font-size:.8125rem!important;line-height:1.8}
.date-rate-page .date-pricing__result{margin-top:24px;padding-block:24px;border-block:1px solid var(--line);min-height:132px}
.date-rate-page .date-pricing__total-line{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.date-rate-page .date-pricing__total-line>span{font-size:.8125rem;white-space:nowrap}
.date-rate-page .date-pricing__total-line .price-rate__total{margin-left:auto}
.date-rate-page .date-pricing__total-line .price-rate__total strong{font:400 clamp(2rem,3.5vw,2.7rem)/1.4 var(--serif);letter-spacing:.01em;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}
.date-rate-page .date-pricing__yen{font-size:.45em;margin-left:5px}
.date-rate-page .price-rate__share{text-align:right;margin-top:5px}
.date-rate-page .date-pricing__included{margin:20px 0 18px;color:var(--sumi-light)}
.date-rate-page .date-pricing__booking{display:flex;justify-content:space-between;width:100%;padding-inline:24px;min-height:54px;box-shadow:none}
.date-rate-page .date-pricing__booking:disabled{opacity:.45;cursor:not-allowed}
.date-rate-page .date-pricing__details{margin-top:20px;color:var(--sumi-light);font-size:.8125rem}
.date-rate-page .date-pricing__details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer;min-height:44px}
.date-rate-page .date-pricing__details>summary::-webkit-details-marker{display:none}
.date-rate-page .date-pricing__details>summary::after{content:'＋';font-size:1rem;font-weight:400}
.date-rate-page .date-pricing__details[open]>summary::after{content:'−'}
.date-rate-page .date-pricing__details>div{padding-block:12px 0}
.date-rate-page .date-pricing__details dl>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line)}
.date-rate-page .date-pricing__details dd{margin:0;white-space:nowrap}
.date-rate-page .date-pricing__extras{margin-top:24px}
.date-rate-page .date-pricing__details p{margin-top:16px;font-size:.8125rem!important;line-height:1.8}
.date-rate-page .date-pricing__unavailable{margin:12px 0;font-size:1rem!important;line-height:1.8}
.date-rate-page [hidden]{display:none!important}
@media(max-width:1100px){
 .date-rate-page.site-quiet.booking-first-page main>.date-pricing{gap:40px}
 .date-rate-page .date-pricing__controls{gap:14px}
}
@media(min-width:901px) and (max-width:1100px){
 .date-rate-page .date-pricing__controls{grid-template-columns:1fr 1fr}
 .date-rate-page .date-pricing__checkin{grid-column:1/-1}
}
@media(max-width:900px){
 .date-rate-page.site-quiet.booking-first-page main>.date-pricing{margin-top:112px;gap:40px}
 .date-rate-page.site-quiet.booking-first-page main>.date-pricing .subhero__media{aspect-ratio:4/3}
 .date-rate-page .date-pricing__total-line .price-rate__total strong{font-size:2.5rem}
}
@media(max-width:700px){
 .date-rate-page .date-pricing__controls{margin-top:28px;grid-template-columns:1fr 1fr;gap:16px 12px}
 .date-rate-page .date-pricing__checkin{grid-column:1/-1}
 .date-rate-page .date-pricing__controls :is(input,select){padding-inline:10px}
 .date-rate-page .date-pricing__result{margin-top:24px;padding-block:20px;min-height:120px}
 .date-rate-page .date-pricing__total-line .price-rate__total strong{font-size:2.15rem}
 .date-rate-page .date-pricing__total-line{gap:10px}
}
@media(prefers-reduced-motion:reduce){.date-rate-page *{scroll-behavior:auto!important;transition:none!important}}
.date-rate-page .date-pricing__booking[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.date-rate-page .date-pricing__controls :is(input,select):focus-visible,.date-rate-page .date-pricing__details>summary:focus-visible{outline:2px solid var(--mokubu);outline-offset:4px}

.date-rate-page .date-pricing__children{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
.date-rate-page .date-pricing__details dd{white-space:normal;text-align:right}

/* Group related choices; keep conditions beside the relevant input. */
.date-rate-page .date-pricing__controls{display:block;margin-top:30px}
.date-rate-page .rate-dates{display:grid;grid-template-columns:minmax(0,2fr) minmax(74px,1fr);gap:16px}
.date-rate-page .rate-dates .date-pricing__checkin{grid-column:auto}
.date-rate-page .rate-group{min-width:0;margin:24px 0 0;padding:16px 0 0;border:0;border-top:1px solid var(--line)}
.date-rate-page .rate-group legend{display:flex;align-items:center;gap:8px;padding:0 12px 0 0;font:500 1rem/1.5 var(--sans);color:var(--mokubu)}
.date-rate-page .rate-icon{width:22px;height:22px;flex-shrink:0;vertical-align:middle}
.date-rate-page .rate-bedding{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:12px}
.date-rate-page .rate-sleep{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.date-rate-page .rate-fee{display:block;color:var(--sumi-light);font-size:.75rem}
.date-rate-page .rate-hint{margin:10px 0 0;font:400 .75rem/1.7 var(--sans)!important;color:var(--sumi-light)}
.date-rate-page .date-pricing__controls :is(input,select){margin-top:6px;padding:10px;min-height:48px}
.date-rate-page .date-pricing__included{display:flex;align-items:center;gap:8px;font-size:.8125rem!important;margin:16px 0}
.date-rate-page .date-pricing__included a{margin-left:auto;font-size:.75rem;text-underline-offset:4px}
.date-rate-page .date-pricing__details dl>div:last-child{font-weight:600;color:var(--sumi)}
.date-rate-page .date-pricing__details dd{flex-shrink:0}
.date-rate-page .rate-campaign{display:flex;align-items:flex-start;gap:12px;padding:20px;margin-top:24px;background:#edf0e9;border-left:2px solid var(--mokubu)}
.date-rate-page .rate-campaign>div{min-width:0;flex:1}
.date-rate-page .rate-campaign strong{font:500 1rem/1.5 var(--sans);color:var(--mokubu)}
.date-rate-page .rate-campaign p{font-size:.75rem!important;line-height:1.8;margin:6px 0 0}
.date-rate-page .rate-campaign .date-pricing__details{margin-top:8px}
.date-rate-page .rate-campaign summary{min-height:36px;font-size:.75rem}
@media(max-width:480px){
 .date-rate-page .rate-bedding{grid-template-columns:1fr 1fr}
 .date-rate-page .rate-bedding>label:first-child{grid-column:1/-1}
 .date-rate-page .rate-campaign{padding:16px}
 .date-rate-page .date-pricing__included{flex-wrap:wrap}
}

.date-rate-page .rate-total{margin-top:24px;max-width:100%}
.date-rate-page .date-pricing__controls .child-toggle{display:flex;align-items:center;gap:10px;margin-top:18px;min-height:44px;cursor:pointer}
.date-rate-page .date-pricing__controls .child-toggle input{width:20px;height:20px;min-height:20px;margin:0;padding:0;accent-color:var(--mokubu)}

/* Breadcrumb precedes the pricing heading, below the fixed site header. */
.date-rate-page.site-quiet.booking-first-page main>nav.breadcrumb{margin-top:112px}
.date-rate-page.site-quiet.booking-first-page main>.date-pricing{margin-top:24px}
@media(max-width:900px){.date-rate-page.site-quiet.booking-first-page main>nav.breadcrumb{margin-top:104px}}

.date-rate-page.site-quiet.booking-first-page main>.date-pricing{padding-bottom:24px}

/* Align child-group contents one level beneath their headings. */
.date-rate-page #stay-child-fields .rate-group>.rate-sleep,.date-rate-page #stay-child-fields .rate-group>.rate-hint{margin-left:26px}
@media(max-width:480px){.date-rate-page #stay-child-fields .rate-group>.rate-sleep,.date-rate-page #stay-child-fields .rate-group>.rate-hint{margin-left:16px}}

/* Give native date controls their own row on narrow screens. */
.date-rate-page .rate-dates>label{min-width:0}
.date-rate-page .rate-dates :is(input,select){box-sizing:border-box;width:100%;min-width:0;max-width:100%}
@media(max-width:600px){.date-rate-page .rate-dates{grid-template-columns:minmax(0,1fr);gap:16px}}

/* Separate each decision and information group with consistent breathing room. */
.date-rate-page .date-pricing__controls{margin-top:48px}
.date-rate-page .rate-dates{gap:24px}
.date-rate-page .date-pricing__checkout{margin-top:16px}
.date-rate-page .rate-total{margin-top:36px}
.date-rate-page .date-pricing__controls .child-toggle{margin-top:28px}
.date-rate-page .rate-group{margin-top:36px;padding-top:24px}
.date-rate-page .rate-hint{margin-top:16px}
.date-rate-page .date-pricing__result{margin-top:40px;padding-block:32px}
.date-rate-page .date-pricing__included{margin:24px 0}
.date-rate-page .date-pricing__booking+.date-pricing__details{margin-top:32px}
.date-rate-page .date-pricing__details dl>div{padding-block:14px}
.date-rate-page .rate-campaign{margin-top:40px;padding:24px}
.date-rate-page.site-quiet.booking-first-page main>.date-pricing{padding-bottom:56px}
.date-rate-page.site-quiet .price-options{padding-bottom:48px}
.date-rate-page.site-quiet .price-options+.price-options{padding-top:16px}
.date-rate-page.site-quiet .price-options dl{margin-top:24px}
.date-rate-page.site-quiet .price-options dl>div{padding-block:24px}
.date-rate-page.site-quiet .price-options .price-help{margin-top:20px}
.date-rate-page.site-quiet .price-disclosure>summary{padding-block:28px}
.date-rate-page.site-quiet .price-disclosure__body{padding-top:12px;padding-bottom:40px}
.date-rate-page.site-quiet #price-faq{margin-top:48px}
@media(max-width:600px){
 .date-rate-page .date-pricing__controls{margin-top:36px}
 .date-rate-page .rate-total{margin-top:32px}
 .date-rate-page .rate-campaign{padding:20px;margin-top:32px}
 .date-rate-page.site-quiet.booking-first-page main>.date-pricing{padding-bottom:48px}
 .date-rate-page.site-quiet .price-disclosure>summary{padding-block:24px}
}

/* Normalize WebKit's native date field to the same outer width as selects. */
.date-rate-page #stay-date{-webkit-appearance:none;appearance:none;box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;min-inline-size:0;inline-size:100%;max-inline-size:100%}
.date-rate-page #stay-date::-webkit-date-and-time-value{min-width:0;text-align:left}
.date-rate-page #stay-date::-webkit-datetime-edit{min-width:0;padding:0}
