
.pn-mobile-cta{display:none}
@media(max-width:680px){
 body:has(>.pn-mobile-cta){padding-bottom:calc(88px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
 .pn-mobile-cta:not([hidden]){position:fixed;inset:auto 0 0;z-index:60;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:10px;padding:12px max(16px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:#f8f6f0;border-top:1px solid #cad6cb;box-shadow:0 -6px 24px #243e3712;animation:pn-cta-reveal .18s ease-out}
 .pn-mobile-cta>a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;min-width:0;padding:12px 10px;border:1px solid #36584e;border-radius:9px;text-decoration:none;font:500 14px/1.4 var(--sans,sans-serif);color:#243e37;white-space:nowrap;-webkit-tap-highlight-color:transparent}
 .pn-mobile-cta>.pn-mobile-cta__book{background:#63ac96;border-color:#63ac96}
 .pn-mobile-cta>.pn-mobile-cta__book:hover{background:#72b6a1}
 .pn-mobile-cta>.pn-mobile-cta__contact{background:transparent}
 .pn-mobile-cta>.pn-mobile-cta__contact:hover{background:#e5ebdf}
 .pn-mobile-cta>a:focus-visible{outline:2px solid #243e37;outline-offset:3px}
 .pn-mobile-cta svg{width:19px;height:19px;flex:none}
 @keyframes pn-cta-reveal{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}
}
@media(prefers-reduced-motion:reduce){.pn-mobile-cta:not([hidden]){animation:none}}

.pn-booking-page .content-layout{display:block;max-width:1280px}
.pn-booking-page .source-copy{max-width:none}
.pn-booking-page .reading-rail{position:static;margin-top:64px;padding-top:32px;border-top:1px solid var(--line);max-width:560px}
.pn-booking-page .reading-rail nav{grid-template-columns:repeat(3,1fr)}
.pn-widget{background:var(--white);border:1px solid var(--line);padding:clamp(20px,3vw,42px);margin:0 0 36px;min-width:0}
.pn-widget-heading{border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:25px}
.source-copy .pn-widget h2{font-size:clamp(32px,4vw,48px);margin:5px 0 0}
.pn-widget .eyebrow{font-size:10px;color:var(--muted)}
.pn-widget-start{background:var(--pale);padding:30px;min-height:200px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.pn-widget-start p{max-width:550px;font-size:14px}
.pn-widget-start .preview-caption{font-size:11px;margin:16px 0 0}
.source-copy .pn-widget .button{border-color:var(--green);background:var(--green);padding:17px 24px}
.pn-bsport-mount{width:100%;min-width:0;scroll-margin-top:24px}
.pn-widget#rooster{scroll-margin-top:24px}
.pn-widget#rooster:focus{outline:none}
.pn-bsport-mount iframe{width:100%;border:0;display:block}
.pn-widget #bs-setup-derived-variable,.pn-widget .bs-setup-variable{
 --color-primary-main:#63ac96;--color-primary-contrastText:#243e37;--color-primary-dark:#32705e;--color-primary-light:#e8eee5;
 --color-secondary-main:#243e37;--color-grey-dark:#243e37;--color-grey-main:#5c6b61;--color-background-paper:#fffefb;--color-secondary-background-paper:#f8f6f0;--border-color:#cdd6cc;
 --fontFamily:Body,Arial,sans-serif;--body1-fontFamily:Body,Arial,sans-serif;--body2-fontFamily:Body,Arial,sans-serif;--button-fontFamily:Body,Arial,sans-serif;--caption-fontFamily:Body,Arial,sans-serif;
 --h1-fontFamily:Body,Arial,sans-serif;--h2-fontFamily:Body,Arial,sans-serif;--h3-fontFamily:Body,Arial,sans-serif;--h4-fontFamily:Body,Arial,sans-serif;--h5-fontFamily:Body,Arial,sans-serif;--h6-fontFamily:Body,Arial,sans-serif;
 --border-radius-1:2px;
}
.pn-widget-status:empty{display:none}
.pn-widget-status{font-size:13px;margin:16px 0}
.source-copy .pn-widget-fallback{display:inline-block;font-size:11px;margin-top:20px}
.pn-map{background:var(--pale);border:1px solid var(--line);min-height:370px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.pn-map-intro{padding:34px}
.pn-map h3{font-size:38px;margin-bottom:16px}
.pn-map-intro p{font-size:13px}
.pn-map .preview-caption{font-size:10px;margin:15px 0 0}
.pn-map>.text-link{align-self:flex-end;margin:15px 25px;font-size:12px}
.pn-map iframe{width:100%;min-height:330px;flex:1;border:0}
@media(max-width:560px){.pn-widget{padding:16px}.pn-widget-start{padding:22px 18px}.pn-widget-start p{font-size:13px}.pn-map-intro{padding:25px}.pn-map{min-height:340px}.pn-booking-page .reading-rail nav{grid-template-columns:1fr 1fr}}

.pn-next-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin:0 0 28px;padding:0 0 24px;border-bottom:1px solid var(--line)}
.pn-next-controls .button{font:inherit;font-size:14px;min-height:48px;cursor:pointer}
.pn-next-controls .button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.source-copy .pn-next-hint,.source-copy .pn-next-status{font-size:13px;line-height:1.6;margin:0}
.pn-next-hint{color:var(--muted);flex:1;min-width:200px}
.pn-next-status{flex-basis:100%}.pn-next-status:empty{display:none}
.pn-bsport-mount .pn-next-found{outline:2px solid #32705e!important;outline-offset:-2px;background:#eef4ef!important;scroll-margin:40px}
@media(max-width:560px){.pn-next-controls{align-items:stretch;gap:12px}.pn-next-controls .button{width:100%;justify-content:center}.pn-next-hint{flex-basis:100%}}

.pn-mobile-cta{display:none}
@media(max-width:680px){
 body:has(>.pn-mobile-cta){padding-bottom:calc(88px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
 .pn-mobile-cta:not([hidden]){position:fixed;inset:auto 0 0;z-index:60;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:10px;padding:12px max(16px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:#f8f6f0;border-top:1px solid #cad6cb;box-shadow:0 -6px 24px #243e3712;animation:pn-cta-reveal .18s ease-out}
 .pn-mobile-cta>a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;min-width:0;padding:12px 10px;border:1px solid #36584e;border-radius:9px;text-decoration:none;font:500 14px/1.4 var(--sans,sans-serif);color:#243e37;white-space:nowrap;-webkit-tap-highlight-color:transparent}
 .pn-mobile-cta>.pn-mobile-cta__book{background:#63ac96;border-color:#63ac96}
 .pn-mobile-cta>.pn-mobile-cta__book:hover{background:#72b6a1}
 .pn-mobile-cta>.pn-mobile-cta__contact{background:transparent}
 .pn-mobile-cta>.pn-mobile-cta__contact:hover{background:#e5ebdf}
 .pn-mobile-cta>a:focus-visible{outline:2px solid #243e37;outline-offset:3px}
 .pn-mobile-cta svg{width:19px;height:19px;flex:none}
 @keyframes pn-cta-reveal{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}
}
@media(prefers-reduced-motion:reduce){.pn-mobile-cta:not([hidden]){animation:none}}

.pn-booking-page .content-layout{display:block;max-width:1280px}
.pn-booking-page .source-copy{max-width:none}
.pn-booking-page .reading-rail{position:static;margin-top:64px;padding-top:32px;border-top:1px solid var(--line);max-width:560px}
.pn-booking-page .reading-rail nav{grid-template-columns:repeat(3,1fr)}
.pn-widget{background:var(--white);border:1px solid var(--line);padding:clamp(20px,3vw,42px);margin:0 0 36px;min-width:0}
.pn-widget-heading{border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:25px}
.source-copy .pn-widget h2{font-size:clamp(32px,4vw,48px);margin:5px 0 0}
.pn-widget .eyebrow{font-size:10px;color:var(--muted)}
.pn-widget-start{background:var(--pale);padding:30px;min-height:200px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.pn-widget-start p{max-width:550px;font-size:14px}
.pn-widget-start .preview-caption{font-size:11px;margin:16px 0 0}
.source-copy .pn-widget .button{border-color:var(--green);background:var(--green);padding:17px 24px}
.pn-bsport-mount{width:100%;min-width:0;scroll-margin-top:24px}
.pn-widget#rooster{scroll-margin-top:24px}
.pn-widget#rooster:focus{outline:none}
.pn-bsport-mount iframe{width:100%;border:0;display:block}
.pn-widget #bs-setup-derived-variable,.pn-widget .bs-setup-variable{
 --color-primary-main:#63ac96;--color-primary-contrastText:#243e37;--color-primary-dark:#32705e;--color-primary-light:#e8eee5;
 --color-secondary-main:#243e37;--color-grey-dark:#243e37;--color-grey-main:#5c6b61;--color-background-paper:#fffefb;--color-secondary-background-paper:#f8f6f0;--border-color:#cdd6cc;
 --fontFamily:Body,Arial,sans-serif;--body1-fontFamily:Body,Arial,sans-serif;--body2-fontFamily:Body,Arial,sans-serif;--button-fontFamily:Body,Arial,sans-serif;--caption-fontFamily:Body,Arial,sans-serif;
 --h1-fontFamily:Body,Arial,sans-serif;--h2-fontFamily:Body,Arial,sans-serif;--h3-fontFamily:Body,Arial,sans-serif;--h4-fontFamily:Body,Arial,sans-serif;--h5-fontFamily:Body,Arial,sans-serif;--h6-fontFamily:Body,Arial,sans-serif;
 --border-radius-1:2px;
}
.pn-widget-status:empty{display:none}
.pn-widget-status{font-size:13px;margin:16px 0}
.source-copy .pn-widget-fallback{display:inline-block;font-size:11px;margin-top:20px}
.pn-map{background:var(--pale);border:1px solid var(--line);min-height:370px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.pn-map-intro{padding:34px}
.pn-map h3{font-size:38px;margin-bottom:16px}
.pn-map-intro p{font-size:13px}
.pn-map .preview-caption{font-size:10px;margin:15px 0 0}
.pn-map>.text-link{align-self:flex-end;margin:15px 25px;font-size:12px}
.pn-map iframe{width:100%;min-height:330px;flex:1;border:0}
@media(max-width:560px){.pn-widget{padding:16px}.pn-widget-start{padding:22px 18px}.pn-widget-start p{font-size:13px}.pn-map-intro{padding:25px}.pn-map{min-height:340px}.pn-booking-page .reading-rail nav{grid-template-columns:1fr 1fr}}

.pn-next-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin:0 0 28px;padding:0 0 24px;border-bottom:1px solid var(--line)}
.pn-next-controls .button{font:inherit;font-size:14px;min-height:48px;cursor:pointer}
.pn-next-controls .button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.source-copy .pn-next-hint,.source-copy .pn-next-status{font-size:13px;line-height:1.6;margin:0}
.pn-next-hint{color:var(--muted);flex:1;min-width:200px}
.pn-next-status{flex-basis:100%}.pn-next-status:empty{display:none}
.pn-bsport-mount .pn-next-found{outline:2px solid #32705e!important;outline-offset:-2px;background:#eef4ef!important;scroll-margin:40px}
@media(max-width:560px){.pn-next-controls{align-items:stretch;gap:12px}.pn-next-controls .button{width:100%;justify-content:center}.pn-next-hint{flex-basis:100%}}
/* Brief emphasis on the first bookable class found by the live calendar. */
.pn-bsport-mount .pn-next-found{animation:pn-next-available-glow 1.5s ease-in-out .2s 3}
@keyframes pn-next-available-glow{
 0%,100%{box-shadow:inset 0 0 0 rgba(99,172,150,0),0 0 0 0 rgba(99,172,150,0),0 0 0 rgba(99,172,150,0)}
 50%{box-shadow:inset 0 0 24px rgba(99,172,150,.13),0 0 0 5px rgba(99,172,150,.12),0 0 22px rgba(99,172,150,.16)}
}
@media(prefers-reduced-motion:reduce){.pn-bsport-mount .pn-next-found{animation:none}}

/* Keep the quick booking action immediately above the calendar date selector. */
.pn-widget[data-bsport-kind="calendar"] .pn-next-controls{flex-direction:column;align-items:center;gap:10px;margin:0 0 18px;padding:0;border:0;text-align:center}
.pn-widget[data-bsport-kind="calendar"] .pn-next-hint{order:-1;flex:initial;min-width:0;max-width:540px;text-align:center}
.pn-widget[data-bsport-kind="calendar"] .pn-next-status{flex-basis:auto;max-width:700px;text-align:center}
.pn-widget[data-bsport-kind="calendar"] .pn-next-button{align-self:center;width:auto;max-width:100%;animation:pn-next-available-glow 1.5s ease-in-out .5s 3}
.pn-widget[data-bsport-kind="calendar"] .pn-bsport-mount .bs-calendar{margin-top:0!important}
@media(max-width:560px){.pn-widget[data-bsport-kind="calendar"] .pn-next-button{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.pn-widget[data-bsport-kind="calendar"] .pn-next-button{animation:none}}

.pn-mobile-cta{display:none}
@media(max-width:680px){
 body:has(>.pn-mobile-cta){padding-bottom:calc(88px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
 .pn-mobile-cta:not([hidden]){position:fixed;inset:auto 0 0;z-index:60;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:10px;padding:12px max(16px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:#f8f6f0;border-top:1px solid #cad6cb;box-shadow:0 -6px 24px #243e3712;animation:pn-cta-reveal .18s ease-out}
 .pn-mobile-cta>a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;min-width:0;padding:12px 10px;border:1px solid #36584e;border-radius:9px;text-decoration:none;font:500 14px/1.4 var(--sans,sans-serif);color:#243e37;white-space:nowrap;-webkit-tap-highlight-color:transparent}
 .pn-mobile-cta>.pn-mobile-cta__book{background:#63ac96;border-color:#63ac96}
 .pn-mobile-cta>.pn-mobile-cta__book:hover{background:#72b6a1}
 .pn-mobile-cta>.pn-mobile-cta__contact{background:transparent}
 .pn-mobile-cta>.pn-mobile-cta__contact:hover{background:#e5ebdf}
 .pn-mobile-cta>a:focus-visible{outline:2px solid #243e37;outline-offset:3px}
 .pn-mobile-cta svg{width:19px;height:19px;flex:none}
 @keyframes pn-cta-reveal{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}
}
@media(prefers-reduced-motion:reduce){.pn-mobile-cta:not([hidden]){animation:none}}
