.booking-stay-story{margin-bottom:32px}
.booking-story-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-bottom:30px}
.booking-story-actions a{color:var(--sea-dark);text-underline-offset:5px}
.booking-story-actions .booking-input-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 20px;background:var(--sky);color:white;border-radius:4px;text-decoration:none;font-weight:600}
.booking-story-kicker{font-family:'Josefin Sans',sans-serif;letter-spacing:.18em;color:var(--sky);font-size:.8rem;margin-bottom:8px!important}
.booking-story-heading{font-size:clamp(1.5rem,3vw,2rem);font-weight:500;line-height:1.5;letter-spacing:.025em;margin-bottom:12px}
.booking-story-location{color:var(--sea-dark);margin-bottom:12px!important}
.booking-story-hero{margin:24px 0 18px}
.booking-stay-story img{display:block;width:100%;height:auto;border-radius:4px;object-fit:cover}
.booking-story-hero img{aspect-ratio:1586/992}
.booking-story-hero figcaption{font-size:.9rem;line-height:1.7;color:var(--ink-mid);margin-top:8px}
.booking-story-connection{margin:0 0 28px!important}
.booking-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.booking-story-card{min-width:0}
.booking-story-card img{aspect-ratio:8/5}
.booking-story-card figcaption{margin-top:12px}
.booking-story-card h3{font-size:1.1rem;line-height:1.6;font-weight:600;margin-bottom:7px}
.booking-story-card p{margin-bottom:0!important;line-height:1.8!important}
.booking-story-kitchen img{object-position:center 65%}
.booking-story-town{margin-top:32px}
.booking-story-town h3{font-size:1.35rem;font-weight:500;line-height:1.6;margin-bottom:12px}
.booking-story-town-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:16px}
.booking-story-town-photos img{aspect-ratio:8/5}
.booking-story-town-photos figcaption{font-size:.9rem;line-height:1.7;margin-top:8px;color:var(--ink-mid)}
.booking-story-town-links{display:flex;flex-wrap:wrap;gap:8px 24px}
.booking-story-town-links a{color:var(--sea-dark);text-underline-offset:5px}
.booking-property-notes{background:#f4f2ed;border:1px solid #dcd7cc;border-radius:4px;margin:32px 0;padding:24px}
.booking-property-notes .booking-property-intro{margin:0 0 22px!important;line-height:1.85}
.booking-property-notes h2{font-size:1.25rem;font-weight:600;line-height:1.6;margin-bottom:18px}
.booking-property-notes dl{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px 24px}
body.ja .booking-property-notes dl[lang-ja],body.en .booking-property-notes dl[lang-en]{display:grid}
.booking-property-notes dt{font-weight:600;line-height:1.8}
.booking-property-notes dd{margin:0;line-height:1.85}
.booking-property-notes .booking-property-extra{border-top:1px solid #dcd7cc;padding-top:18px;margin:20px 0 0!important}
.booking-group-inquiry{border-block:1px solid var(--border);padding:22px 0;margin:28px 0}
.booking-group-inquiry h2{font-size:1.2rem;line-height:1.6;font-weight:600;margin-bottom:8px}
.booking-group-inquiry p{margin-bottom:12px!important}
.booking-group-inquiry a{color:var(--sea-dark);font-weight:600;text-underline-offset:5px}
@media(max-width:680px){
 .booking-story-grid{grid-template-columns:1fr;gap:26px}
 .booking-story-card img{max-height:none;aspect-ratio:8/5}
 .booking-property-notes{padding:20px}
 .booking-property-notes dl{grid-template-columns:1fr;gap:6px}
 .booking-property-notes dd{margin-bottom:16px}
 .booking-property-notes dd:last-child{margin-bottom:0}
 .booking-story-town-photos{grid-template-columns:1fr;gap:20px}
 .booking-story-actions{gap:12px 18px;margin-bottom:24px}
 .booking-story-actions .booking-input-link{width:100%}
}
@media(max-width:520px){
 .booking-proposal .kz-cal-key{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
 .booking-proposal .kz-cal-key>span{white-space:normal;min-width:0}
}
