/* Phone-sized paintings and reading rhythm; shared by all three cabins and themes. */
@media(max-width:760px){
 body[data-cabin]>.woodland-home{z-index:2147483500}
 body[data-cabin] .house-hero>.landscape-image{
  width:100%;height:clamp(330px,91vw,520px);object-fit:cover;object-position:44% center;
 }
 body[data-cabin=boshuis] .house-hero>.landscape-image{object-position:35% center}
 body[data-cabin=waterhuis] .house-hero>.landscape-image{object-position:57% center}
 body[data-cabin] .house-hero>.booking-note{
  width:min(400px,calc(100% - 24px));margin:-20px auto 0;
 }
 body[data-cabin] .booking-note .booking-note__content h2{font-size:clamp(30px,8.2vw,38px)}
 body[data-cabin] .booking-note .booking-note__content .booking-note__facts{font-size:12px;gap:4px 6px;margin-top:12px}
 body[data-cabin] .booking-note .booking-action.fox-button{min-height:48px}
 body[data-cabin] .cabin-editorial--woodland{--woodland-gutter:clamp(20px,6.15vw,32px);--woodland-display:clamp(60px,16vw,94px);--woodland-space:56px;padding-top:48px}
 body[data-cabin] .woodland-intro{row-gap:20px;margin-bottom:32px}
 body[data-cabin] .woodland-lead{font-size:21px;line-height:1.45}
 body[data-cabin] .woodland-facts dl>div{gap:12px;grid-template-columns:minmax(74px,.8fr) minmax(0,1.4fr)}
 body[data-cabin] .woodland-facts dd{font-size:15px;overflow-wrap:break-word}
 body[data-cabin] .cabin-editorial__doorway{aspect-ratio:4/5;max-height:560px}
 body[data-cabin] .cabin-editorial__arrival{aspect-ratio:4/5;max-height:560px}
 body[data-cabin] .cabin-editorial__panorama{height:auto;aspect-ratio:4/5;max-height:650px}
 body[data-cabin] .cabin-editorial__dusk{aspect-ratio:4/3}
 body[data-cabin] .cabin-editorial__bathroom,
 body[data-cabin] .cabin-editorial__veranda{aspect-ratio:4/5;max-height:560px}
 body[data-cabin] .woodland-room{column-gap:24px;row-gap:20px}
 body[data-cabin] .woodland-details ul{gap:16px}
 body[data-cabin] .woodland-details li{min-width:0;overflow-wrap:break-word}
 body[data-cabin] .outside-section{padding:24px 24px 48px}
 body[data-cabin] .outside-copy h2{font-size:clamp(38px,10vw,58px);max-width:14ch}
 body[data-cabin] .outside-copy>p{font-size:17px;line-height:1.6}
 body[data-cabin] .little-journey{grid-template-columns:1fr;gap:24px;margin-top:32px}
 body[data-cabin] .journey-stop{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;text-align:left;align-items:center}
 body[data-cabin] .journey-stop__art{height:clamp(125px,40vw,190px);margin:0}
 body[data-cabin] .journey-stop__title{font-size:12px;line-height:1.55;letter-spacing:.025em;margin:0}
 body[data-cabin] .area-map__intro{padding-inline:24px}
 body[data-cabin] .area-map__intro h2{overflow-wrap:normal;text-wrap:balance}
 body[data-cabin] .area-map__picker{min-height:44px;font-size:16px;max-width:calc(100vw - 32px)}
 body[data-cabin] .stay-dates-dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);scroll-padding-block:16px}
 body[data-cabin] .stay-dates__layout{min-height:0}
 body[data-cabin] .stay-dates__art{height:100px;min-height:0}
 body[data-cabin] .stay-dates__content{padding:20px 16px 12px}
 body[data-cabin] .stay-dates__content h2{font-size:clamp(34px,10vw,42px);padding-right:30px}
 body[data-cabin] .stay-dates__content #stay-dates-help{font-size:13px;line-height:1.5;max-width:34ch}
 body[data-cabin] .stay-calendar__navigation [data-calendar-instruction]{font-size:12px}
 body[data-cabin] .stay-calendar th{font-size:11px}
 body[data-cabin] .stay-calendar td,
 body[data-cabin] .stay-calendar__day{height:44px}
 body[data-cabin] .stay-dates__selection>button{min-height:68px}
 body[data-cabin] .stay-dates__selection strong{font-size:17px;overflow-wrap:break-word}
 body[data-cabin] .stay-dates__footer{flex-wrap:wrap;gap:4px 12px;padding-top:8px}
 body[data-cabin] .stay-dates__footer>div{flex:1 1 100%}
 body[data-cabin] .stay-dates__footer p{max-width:none;font-size:12px}
 body[data-cabin] .stay-dates__apply.fox-button{width:100%;height:76px}
 body[data-cabin] .stay-button-label{font-size:16px}
 body[data-cabin] .booking-dialog.stay-response{width:min(460px,calc(100vw - 20px));max-width:calc(100vw - 20px);padding:28px 24px 20px;max-height:calc(100dvh - 20px);overflow:auto}
 body[data-cabin] .booking-dialog.stay-response h2{font-size:clamp(40px,12vw,56px)}
 body[data-cabin] .booking-dialog.stay-response #booking-status{font-size:15px;line-height:1.6}
 body[data-cabin] .stay-response__back.fox-button{width:100%;max-width:100%}
}
@media(max-width:359px){
 body[data-cabin] .booking-note .booking-note__content{top:10.5%}
 body[data-cabin] .booking-note .booking-note__content h2{margin-top:8px;font-size:29px}
 body[data-cabin] .booking-note .booking-note__content .booking-note__facts{font-size:11px;margin-top:10px}
 body[data-cabin] .booking-note__eyebrow{font-size:9px!important}
 body[data-cabin] .woodland-details ul{grid-template-columns:1fr}
 body[data-cabin] .journey-stop{gap:14px}
}
@media(max-width:1000px) and (max-height:540px) and (orientation:landscape){
 body[data-cabin] .stay-dates-dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 16px)}
 body[data-cabin] .stay-dates__art{display:none}
 body[data-cabin] .stay-dates__layout{min-height:0;display:block}
 body[data-cabin] .stay-dates__content{max-width:560px;margin:auto;padding-top:24px}
 body[data-cabin] .stay-dates__footer{padding-bottom:8px}
}
/* Touch has native scrolling; illustrations don't catch a gesture. */
@media(hover:none){
 body[data-cabin] .cabin-editorial__image,
 body[data-cabin] .landscape-image{pointer-events:none;-webkit-user-drag:none}
 body[data-cabin] .cabin-editorial[data-editorial-enhanced] .cabin-editorial__image{transform:none;will-change:auto}
 body[data-cabin] .cabin-editorial[data-editorial-enhanced] :is(.cabin-editorial__hero-cover,.cabin-editorial__panorama,.cabin-editorial__dusk){clip-path:none;will-change:auto}
}

/* The close target stays reachable after scrolling a short phone's calendar. */
@media(max-width:1000px){
 body[data-cabin] .stay-dates__close-anchor{position:sticky;top:0;min-height:48px;display:flex;align-items:center;padding-right:56px;margin-bottom:10px;background:var(--paper);z-index:5}
 body[data-cabin] .stay-dates__close-anchor .stay-dialog-close{position:absolute;top:0;right:0;pointer-events:auto}
}

@media(max-width:760px){
 html.heidehuis-arriving::before,html.cabin-detail-arriving::before{
  height:clamp(330px,91vw,520px);aspect-ratio:auto;background-size:cover;background-position:44% center;
 }
 html[data-stay-page=boshuis].cabin-detail-arriving::before{background-position:35% center}
 html[data-stay-page=waterhuis].cabin-detail-arriving::before{background-position:57% center}
}

@media(max-width:1000px){body[data-cabin] .stay-dates__close-anchor .stay-dates__eyebrow{margin:0}body[data-cabin] .stay-dates__art{display:none}}
