/* Page-specific booking access and a simple family welcome. */
.persistent-book{position:fixed;z-index:90;right:clamp(14px,2vw,28px);bottom:max(16px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:52px;max-width:calc(100vw - 28px);padding:13px 19px 13px 22px;border:1px solid #c9b78f;border-radius:999px;background:#1b3828;color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 9px 28px #071c15a6}
.persistent-book:hover{background:#294b35}
.persistent-book:focus-visible,.booking-dialog a:focus-visible,.booking-dialog button:focus-visible,.booking-dialog input:focus-visible,.booking-dialog select:focus-visible,.booking-dialog textarea:focus-visible{outline:3px solid #bd9251;outline-offset:3px}
body.menu-open .persistent-book,body.menu-open .whatsapp-float{visibility:hidden}
.whatsapp-float{position:fixed;z-index:90;left:clamp(14px,2vw,28px);bottom:max(16px,env(safe-area-inset-bottom));display:grid;place-items:center;width:52px;height:52px;border:1px solid #c9b78f;border-radius:50%;background:#1c643c;color:#fff;box-shadow:0 9px 28px #071c1580}
.whatsapp-float:hover{background:#267c4a}
.whatsapp-float:focus-visible{outline:3px solid #bd9251;outline-offset:3px}
.whatsapp-float svg{width:29px;height:29px}
.site-footer{padding-bottom:105px}
.booking-dialog{position:fixed;max-width:580px;width:min(580px,calc(100vw - 28px));max-height:calc(100dvh - 28px);margin:auto;padding:32px clamp(22px,4vw,40px) 34px;border:1px solid #b7a482;border-radius:22px;background:#f2efe6;color:#263f2e;box-shadow:0 24px 80px #08150bc2;overflow-y:auto}
.booking-dialog::backdrop{background:#07140dca;backdrop-filter:blur(4px)}
.booking-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px}
.booking-dialog-head .eyebrow{margin:0;color:#69806b;font-size:10px}
.booking-dialog-close{display:grid;place-items:center;width:40px;height:40px;flex:none;border:1px solid #b6bcae;border-radius:50%;background:transparent;color:#284631;font:28px/1 var(--serif);cursor:pointer}
.booking-dialog h2{font-size:clamp(2.5rem,6vw,4rem);line-height:1.02;margin:16px 0 15px}
.booking-panel[hidden]{display:none!important}
.booking-panel>p{color:#526657;font-size:15px;line-height:1.55}
.booking-choice-list{display:grid;gap:8px;margin:20px 0}
.booking-choice-list button,.booking-choice-list a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:50px;width:100%;padding:12px 15px;border:1px solid #c8c8b6;border-radius:12px;background:#e4e8dd;color:#284631;text-align:left;font:600 14px/1.3 var(--sans);cursor:pointer}
.booking-choice-list button:hover,.booking-choice-list a:hover{background:#d8e0d2}
.booking-choice-list span{font-size:21px;color:#987b4d}
.booking-dialog label{display:block;margin:14px 0 5px;color:#3d5845;font-size:11px;font-weight:700;letter-spacing:.03em}
.booking-dialog label span{font-weight:400}
.booking-dialog input,.booking-dialog select,.booking-dialog textarea{display:block;width:100%;min-width:0;padding:11px 12px;border:1px solid #b8c1b1;border-radius:9px;background:#fff;color:#213b2b;font:16px/1.4 var(--sans)}
.booking-dialog textarea{resize:vertical}
.booking-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.booking-form-grid[hidden]{display:none}
.booking-dialog .booking-dialog-note{font-size:12px;line-height:1.5;margin:14px 0;color:#667667}
.booking-dialog-note a{text-decoration:underline;text-underline-offset:2px}
.booking-dialog .booking-submit{width:100%;justify-content:center;margin-top:4px;cursor:pointer}
.booking-back{display:block;margin:17px 0 0;padding:5px 0;border:0;background:none;color:#35563e;text-align:left;text-decoration:underline;text-underline-offset:3px;font-size:13px;cursor:pointer}
.welcome-note{padding-top:110px;padding-bottom:90px}
.welcome-note-paper{max-width:880px;margin:auto;padding:clamp(30px,6vw,80px);border:1px solid #d6c9ae;border-radius:22px;background:#eeeadf;box-shadow:0 20px 55px #23382512}
.welcome-note-paper h2{font-size:clamp(3.3rem,6vw,6rem)}
.welcome-note-paper>p:not(.eyebrow){color:#3b5541;font:clamp(1.25rem,2.1vw,1.7rem)/1.6 var(--serif)}
.welcome-note-paper .welcome-signature{margin:32px 0 0;color:#6c7052;font-style:italic}
.sauna-benefits{padding-bottom:28px}
.sauna-benefits h3{margin-top:25px}
.sauna-review-evidence{padding-top:0;padding-bottom:35px;color:#687969;font-size:12px}
.sauna-review-evidence a{text-decoration:underline;text-underline-offset:3px}
.woodfield-facilities{padding-top:85px;padding-bottom:100px}
.woodfield-facilities-head{max-width:800px;margin-bottom:35px}
.woodfield-facilities-head h2{font-size:clamp(3.2rem,5.5vw,6.2rem)}
.woodfield-facilities-head>p:not(.eyebrow){max-width:58ch;color:#596d5c;font-size:17px;line-height:1.65}
.woodfield-facilities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.woodfield-facilities-grid article{min-height:190px;padding:27px 24px;border:1px solid #d3c6aa;border-radius:18px;background:#e7e8dc}
.woodfield-facilities-grid article:nth-child(even){background:#eae4d6}
.woodfield-facilities-grid h3{margin:0 0 13px;color:#294934;font-size:2rem}
.woodfield-facilities-grid p{margin:0;color:#536857;font-size:14px;line-height:1.65}
.woodfield-facilities-note{margin:17px 0 0;color:#687969;font-size:12px}
.msd-invitation{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,6vw,85px);align-items:start;padding-top:90px;padding-bottom:105px;border-top:1px solid #c7c9b7}
.msd-invitation h2{font-size:clamp(3.1rem,5.2vw,5.8rem)}
.msd-invitation>div:last-child{padding-top:32px}
.msd-invitation>div:last-child p{color:#536858;font-size:17px;line-height:1.7}
.msd-invitation .button{margin-top:8px}
#forest-gym{scroll-margin-top:90px}
.voucher-note{padding-top:0;padding-bottom:100px;color:#687969;font-size:13px;line-height:1.65}
.voucher-note p{max-width:75ch;margin:0}
@media(max-width:600px){
 .persistent-book{right:12px;bottom:max(12px,env(safe-area-inset-bottom));min-height:48px;max-width:calc(100vw - 92px);padding:12px 17px;font-size:10px;gap:14px}
 .whatsapp-float{left:12px;bottom:max(12px,env(safe-area-inset-bottom));width:48px;height:48px}
 .booking-dialog{border-radius:18px;padding:24px 20px 27px}
 .booking-dialog h2{font-size:2.6rem}
 .booking-form-grid{grid-template-columns:1fr;gap:0}
 .welcome-note{padding-top:70px;padding-bottom:55px}
 .site-footer{padding-bottom:100px}
 .woodfield-facilities{padding-top:65px;padding-bottom:75px}
 .woodfield-facilities-grid{grid-template-columns:1fr;gap:9px}
 .woodfield-facilities-grid article{min-height:0;padding:23px}
 .woodfield-facilities-grid h3{font-size:1.85rem}
 .msd-invitation{grid-template-columns:1fr;gap:8px;padding-top:70px;padding-bottom:75px}
 .msd-invitation>div:last-child{padding-top:0}
 .msd-invitation .button{min-width:0;width:100%}
}
