/* The supplied booking design, backed by the existing live calendar API. */
.is-booking-page #mbar,.is-booking-page #bbar{display:none!important}
.lp.newsite-calendar{--book-ink:#1c1a17;--book-muted:#786f67;--book-accent:#e86a2c;background:transparent;color:var(--book-ink);padding:62px 0 96px;scroll-margin-top:76px}
.newsite-calendar [hidden]{display:none!important}
.newsite-calendar .lp-inner{max-width:1240px;margin:auto;padding:0 40px}
.newsite-calendar>.lp-inner>.lp-kicker{font:800 12px Manrope,system-ui,sans-serif;letter-spacing:.08em;color:#a8461a}
.newsite-calendar>.lp-inner>h2{font:800 clamp(32px,4vw,50px)/1.06 Manrope,system-ui,sans-serif;letter-spacing:-.035em;text-transform:none;margin:10px 0 16px;max-width:920px}
.newsite-calendar>.lp-inner>h2 em{font-style:normal;color:var(--book-accent)}
.newsite-calendar .lp-intro{font:500 16px/1.55 Manrope,system-ui,sans-serif;color:#6d655d;margin-bottom:22px!important;max-width:760px}
.newsite-calendar .lp-book{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:22px;align-items:start;border:0;background:transparent;border-radius:0;overflow:visible;margin:26px 0 0}
.newsite-calendar .lp-main{min-width:0;display:flex;flex-direction:column;gap:14px;padding:0!important}
.newsite-calendar .booking-step,.newsite-calendar .lp-checkout{display:block;background:rgba(255,255,255,.86);border:1px solid #fff;border-radius:26px;padding:23px 24px;box-shadow:0 14px 40px rgba(60,40,20,.06);min-width:0;scroll-margin-top:90px;overflow:visible;margin:0}
.newsite-calendar .lp-checkout[hidden]{display:none!important}
.newsite-calendar .booking-step-heading{display:flex;align-items:center;gap:12px;margin:0 0 17px}
.newsite-calendar .booking-step-heading strong{display:block;font:800 18px/1.25 Manrope,system-ui,sans-serif;color:#1c1a17;letter-spacing:-.01em}
.newsite-calendar .booking-step-heading small{display:block;font:500 12px/1.4 Manrope,system-ui,sans-serif;color:#8e8379;margin-top:3px}
.newsite-calendar .booking-step-number{width:34px;height:34px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--book-accent);color:#fff;font:800 13px Manrope,system-ui,sans-serif}
.newsite-calendar .lp-book__header{grid-column:auto;background:rgba(255,255,255,.86);border:1px solid #fff;padding:23px 24px;margin:0}
.newsite-calendar .lp-book__hint{font:500 13px/1.45 Manrope,system-ui,sans-serif;color:#83776d;margin:13px 0 0!important}
.newsite-calendar .newsite-age-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.newsite-calendar .newsite-format-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.newsite-calendar .newsite-age-grid button,.newsite-calendar .newsite-format-grid button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:88px;padding:14px 16px;border:0!important;border-radius:17px;background:#f2eee9!important;color:#1c1a17!important;text-align:left;font:500 14px Manrope,system-ui,sans-serif;box-shadow:none!important;transition:transform .18s,background .18s}
.newsite-calendar .newsite-age-grid button:hover:not(:disabled),.newsite-calendar .newsite-format-grid button:hover:not(:disabled){transform:translateY(-2px);background:#ebe3db!important}
.newsite-calendar .newsite-age-grid button b,.newsite-calendar .newsite-format-grid button b{font-size:16px;line-height:1.2}
.newsite-calendar .newsite-age-grid button span,.newsite-calendar .newsite-format-grid button span{font-size:12px;color:#766e67;line-height:1.35}
.newsite-calendar .newsite-age-grid button em{font-size:12px;font-weight:800;font-style:normal;color:#ad4619;margin-top:auto}
.newsite-calendar .newsite-age-grid button[aria-pressed=true],.newsite-calendar .newsite-format-grid button[aria-pressed=true],.newsite-calendar .newsite-age-grid button[aria-pressed=true]:hover,.newsite-calendar .newsite-format-grid button[aria-pressed=true]:hover{background:#1c1a17!important;color:#fff!important;border-color:#1c1a17!important;box-shadow:0 12px 22px #1c1a1724!important}
.newsite-calendar .newsite-age-grid button[aria-pressed=true] span,.newsite-calendar .newsite-format-grid button[aria-pressed=true] span{color:#c9bfb4!important}
.newsite-calendar .newsite-age-grid button[aria-pressed=true] em{color:#f0a46f!important}
.newsite-calendar .lp-note{color:#83776d!important;font:500 13px/1.45 Manrope,system-ui,sans-serif!important;margin:12px 0 0!important}
.newsite-calendar [data-calendar-status]{margin:0 0 10px!important}
.newsite-calendar [data-refresh-calendar]{font:700 12px Manrope,system-ui,sans-serif;color:#a8461a;background:transparent;border:0;padding:4px 0;min-height:0;margin:0 0 6px}
.newsite-calendar .lp-calendar-nav{margin:13px 0 10px}
.newsite-calendar .lp-calendar-nav .lp-month{font:800 18px Manrope,system-ui,sans-serif;text-transform:capitalize;color:#1c1a17}
.newsite-calendar .lp-calendar-nav button{width:40px;min-width:40px;min-height:40px;flex:0 0 40px;border:0;border-radius:12px;background:#f2eee9;color:#1c1a17;font-size:18px;padding:0}
.newsite-calendar .lp-calendar-nav button:disabled{background:transparent;color:#cfc6bc}
.newsite-calendar .lp-weekdays,.newsite-calendar .lp-days{gap:6px}
.newsite-calendar .lp-weekdays{padding:4px 0 8px;color:#9a8f84;font-size:12px}
.newsite-calendar .lp-days button{position:relative;display:grid;place-items:center;min-height:55px;padding:5px 0;border:1px solid #eee6de;border-radius:14px;background:#fff!important;color:#1c1a17!important;font:700 15px Manrope,system-ui,sans-serif;box-shadow:none!important}
.newsite-calendar .lp-days button[data-weekend=true]{color:#b23b22!important;background:#fff9f7!important}
.newsite-calendar .lp-days button:not(:disabled)[data-availability]::after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;bottom:5px;background:#3f9b6d}
.newsite-calendar .lp-days button[data-availability=few]::after{background:#e3a21a}
.newsite-calendar .lp-days button:disabled{opacity:.45;background:transparent!important;color:#b8aea4!important;text-decoration:line-through;cursor:default}
.newsite-calendar .lp-days button[aria-pressed=true],.newsite-calendar .lp-days button[data-weekend=true][aria-pressed=true],.newsite-calendar .lp-days button[data-selected=true][aria-pressed=true]{background:var(--book-accent)!important;color:#fff!important;border-color:var(--book-accent)!important;box-shadow:0 9px 18px #e86a2c2e!important;text-decoration:none}
.newsite-calendar .lp-days button[data-selected=true]:not([aria-pressed=true]){border-color:#e86a2c!important;background:#fff6ef!important;color:#a8461a!important}
.newsite-calendar .booking-legend{font:500 11px/1.4 Manrope,system-ui,sans-serif;color:#9a8f84;margin:12px 0 0!important}
.newsite-calendar .lp-times{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.newsite-calendar .lp-times button,.newsite-calendar .lp-public-groups button{border:1px solid #eee6de;border-radius:15px;padding:12px;background:#fff;color:#1c1a17;box-shadow:none}
.newsite-calendar .lp-times button[aria-pressed=true],.newsite-calendar .lp-public-groups button[aria-pressed=true]{background:#1c1a17!important;color:#fff!important;border-color:#1c1a17!important}
.newsite-calendar .lp-times button:disabled{opacity:.38;background:#f2eee9}
.newsite-calendar:has([data-format="group"][aria-pressed="true"]) .lp-times{grid-template-columns:1fr}
.newsite-calendar:has([data-format="group"][aria-pressed="true"]) .lp-times button{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 17px;text-align:left;font-size:17px;font-weight:800}
.newsite-calendar:has([data-format="group"][aria-pressed="true"]) .lp-times button small{display:inline-flex;align-items:center;border-radius:99px;background:#dcefe5;color:#1f6b4f;padding:7px 11px;font-size:12px;font-weight:800;line-height:1.2;text-align:right}
.newsite-calendar:has([data-format="group"][aria-pressed="true"]) .lp-times button[data-existing-group="false"] small{background:#f2eee9;color:#6d655d}
.newsite-calendar:has([data-format="group"][aria-pressed="true"]) .lp-times button[aria-pressed="true"] small{background:#ffffff24;color:#fff}
.newsite-calendar .lp-summary.lp-summary--banner{position:sticky;top:90px;align-self:start;max-height:calc(100dvh - 110px);overflow:auto;border:0;border-radius:26px;padding:25px;background:#1c1a17!important;color:#fff!important;box-shadow:0 18px 48px #1c1a1726;gap:14px}
.newsite-calendar .lp-summary .lp-kicker{color:#f0a46f!important;font:800 12px Manrope,system-ui,sans-serif;letter-spacing:.08em}
.newsite-calendar .lp-summary__category{margin:0}
.newsite-calendar .lp-summary [data-age-label]{font:600 14px Manrope,system-ui,sans-serif;color:#c9bfb4}
.newsite-calendar .lp-summary h3{color:#fff!important;font:800 23px/1.2 Manrope,system-ui,sans-serif;margin:4px 0 0}
.newsite-calendar .lp-summary__date,.newsite-calendar .lp-summary__time,.newsite-calendar .lp-summary__metrics>div{border:0;border-radius:15px;background:#302b27;padding:13px!important;min-width:0}
.newsite-calendar .lp-summary__date strong{color:#fff!important;font:800 28px/1 Manrope,system-ui,sans-serif}
.newsite-calendar .lp-summary__date [data-date-month]{font:600 14px Manrope,system-ui,sans-serif;color:#ddd3ca}
.newsite-calendar .lp-summary__time strong{font:700 17px/1.3 Manrope,system-ui,sans-serif;color:#fff}
.newsite-calendar .lp-summary__metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}
.newsite-calendar .lp-summary__metrics>div+div{border:0;padding-top:13px}
.newsite-calendar .lp-summary__metrics strong,.newsite-calendar .lp-summary__metrics .lp-duration-text{color:#fff!important;font:800 19px/1.2 Manrope,system-ui,sans-serif!important;white-space:normal}
.newsite-calendar .lp-summary__metrics>div:last-child{grid-column:1/-1;background:#603823}
.newsite-calendar .lp-summary__label{font:700 11px Manrope,system-ui,sans-serif;color:#c9bfb4;margin-bottom:5px}
.newsite-calendar .lp-summary small,.newsite-calendar .lp-summary p,.newsite-calendar .lp-summary__address{color:#bfb3a9!important;font:500 12px/1.5 Manrope,system-ui,sans-serif}
.newsite-calendar .booking-todo{background:#302b27;border-radius:18px;padding:16px;margin:2px 0 0}
.newsite-calendar .booking-todo>strong{display:block;color:#f0a46f;font:800 13px Manrope,system-ui,sans-serif;margin-bottom:11px}
.newsite-calendar .booking-todo ul{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:7px}
.newsite-calendar .booking-todo li{display:flex;align-items:flex-start;gap:9px;color:#e9dfd6;font:500 12px/1.35 Manrope,system-ui,sans-serif}
.newsite-calendar .booking-todo li::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:#f0a46f;margin-top:5px}
.newsite-calendar .booking-todo li.is-done{color:#a69b91;text-decoration:line-through}
.newsite-calendar .booking-todo li.is-done::before{background:#79b391}
.newsite-calendar .booking-summary-continue{width:100%;min-height:42px;border:0;border-radius:99px;background:#e86a2c;color:#fff;font:800 13px Manrope,system-ui,sans-serif}
.newsite-calendar .booking-summary-continue:disabled{background:#514b46;color:#c7bdb4;cursor:default}
.newsite-calendar .lp-package-dates{border-top:1px solid #51463d;padding-top:16px;margin-top:4px}
.newsite-calendar .lp-package-dates h3{font-size:16px}
.newsite-calendar .lp-package-dates li{border-color:#51463d}
.newsite-calendar .lp-package-dates button,.newsite-calendar .lp-go-checkout{border-radius:999px;background:#e86a2c;color:#fff;border:0;font:700 13px Manrope,system-ui,sans-serif}
.newsite-calendar .lp-checkout{background:rgba(255,255,255,.9);border:1px solid #fff;border-radius:26px;padding:24px;box-shadow:0 14px 40px #3c28140f}
.newsite-calendar .lp-checkout>.lp-kicker{display:none}
.newsite-calendar .lp-checkout h3{font:800 17px Manrope,system-ui,sans-serif;margin:0 0 18px}
.newsite-calendar .lp-fields{gap:12px}
.newsite-calendar .lp-count{margin-top:18px;display:grid;gap:10px;color:#4a433c}
.newsite-calendar .lp-count__buttons{display:flex;gap:8px;flex-wrap:wrap}
.newsite-calendar .lp-count__buttons button{min-width:46px;min-height:44px;border:1px solid #d8cec3;border-radius:12px;background:#fff;color:#1c1a17;font:700 16px Manrope,system-ui,sans-serif;cursor:pointer}
.newsite-calendar .lp-count__buttons button[aria-pressed=true]{background:#1c1a17;color:#fff;border-color:#1c1a17}
.newsite-calendar .lp-count small{color:#766e67;line-height:1.5}
.newsite-calendar [data-participant-fields]{display:grid;gap:14px;margin-top:24px}
.newsite-calendar .lp-fields label,.newsite-calendar .lp-booking-note{font:600 13px Manrope,system-ui,sans-serif;color:#4a433c}
.newsite-calendar .lp-fields input,.newsite-calendar .lp-booking-note textarea{border:1px solid #e1d8cf;border-radius:12px;background:#fff;color:#1c1a17;font:500 15px Manrope,system-ui,sans-serif}
.newsite-calendar .lp-checkout .lp-check{align-items:flex-start}
.newsite-calendar .lp-checkout .lp-submit{border-radius:999px!important;background:#e86a2c!important;color:#fff!important;border-color:#e86a2c!important;font:800 15px Manrope,system-ui,sans-serif!important;min-height:50px}
.newsite-calendar .lp-bottom{margin-top:26px}
.newsite-calendar .lp-gift{border:0;border-radius:24px;background:#fff;padding:24px}
@media(max-width:1000px){.newsite-calendar .lp-book{grid-template-columns:minmax(0,1fr) 320px}.newsite-calendar .newsite-age-grid button{padding:12px}.newsite-calendar .newsite-age-grid button b{font-size:14px}}
@media(max-width:760px){.lp.newsite-calendar{padding:48px 0 95px}.newsite-calendar .lp-inner{padding:0 16px}.newsite-calendar .lp-book{grid-template-columns:1fr;gap:16px}.newsite-calendar .lp-main{gap:12px}.newsite-calendar .booking-step,.newsite-calendar .lp-book__header,.newsite-calendar .lp-checkout{padding:18px 16px;border-radius:22px}.newsite-calendar .newsite-age-grid{gap:6px}.newsite-calendar .newsite-age-grid button{min-height:87px;padding:10px!important;border-radius:13px}.newsite-calendar .newsite-age-grid button b{font-size:12px}.newsite-calendar .newsite-age-grid button span,.newsite-calendar .newsite-age-grid button em{font-size:10px}.newsite-calendar .lp-summary.lp-summary--banner{position:static;max-height:none;overflow:visible;border-radius:22px;padding:20px}.newsite-calendar .lp-times{grid-template-columns:repeat(3,minmax(0,1fr))}.newsite-calendar .lp-days{gap:4px}.newsite-calendar .lp-days button{min-height:45px;border-radius:10px;font-size:14px}.newsite-calendar .lp-fields{grid-template-columns:1fr}.newsite-calendar .lp-bottom{grid-template-columns:1fr}}
@media(max-width:390px){.newsite-calendar .newsite-age-grid button span{line-height:1.2}.newsite-calendar .lp-days button{min-height:41px}.newsite-calendar .booking-step-heading strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){.newsite-calendar .newsite-age-grid button,.newsite-calendar .newsite-format-grid button{transition:none}}

/* Review r4: the summary follows the user; other booking sections scroll with the document. */
.newsite-calendar .lp-summary.lp-summary--banner,.lp[data-package] .lp-summary.lp-summary--banner{position:sticky!important;top:24px!important;align-self:start;max-height:calc(100dvh - 48px)!important;height:auto!important;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#786f67 #302b27}
.newsite-calendar [data-selected-visits],.lp[data-package] [data-selected-visits]{max-height:none!important;overflow:visible!important;scrollbar-gutter:auto}
.newsite-calendar .lp-book,.newsite-calendar .lp-main,.newsite-calendar .lp-checkout,.newsite-calendar .booking-step{max-height:none!important;height:auto;overflow:visible!important}
.newsite-calendar .lp-summary__metrics .lp-duration-text{font-size:18px!important;white-space:nowrap!important}
.newsite-calendar .lp-public-groups{border:1px solid #fff!important;border-radius:26px!important;background:rgba(255,255,255,.86)!important;padding:26px!important;margin-top:24px!important;box-shadow:0 14px 40px rgba(60,40,20,.06)}
.newsite-calendar .lp-public-groups h3{font:800 25px/1.2 Manrope,system-ui,sans-serif!important;color:#1c1a17!important;letter-spacing:-.025em;margin:10px 0 18px!important}
.newsite-calendar [data-public-groups]{font:500 15px/1.65 Manrope,system-ui,sans-serif;color:#6d655d}
.newsite-calendar .booking-step,.newsite-calendar .lp-checkout{scroll-margin-top:24px!important}
.newsite-calendar .booking-step:focus{outline:none}.newsite-calendar .booking-step:focus-visible,.newsite-calendar .lp-checkout:focus-visible{outline:3px solid #1558a6;outline-offset:4px}
@media(max-width:760px){.newsite-calendar .lp-public-groups{padding:22px!important;border-radius:22px!important}.newsite-calendar .lp-public-groups h3{font-size:23px!important}}
@media(max-width:760px){.newsite-calendar .lp-summary.lp-summary--banner,.lp[data-package] .lp-summary.lp-summary--banner{position:static!important;max-height:none!important;overflow:visible!important}.newsite-mobile-booking [data-mobile-booking-detail]{display:block;white-space:normal!important;text-overflow:clip!important;overflow:visible!important}}
