/* Readable booking steps. Scoped to pricing and the Momo's Grange request form. */
.booking-request-readable,.booking-pricing-readable{font-size:1.75rem;line-height:1.55;font-weight:400;overflow-wrap:anywhere}
.booking-request-readable *, .booking-pricing-readable *{box-sizing:border-box}
.booking-request-readable h1,.booking-pricing-readable h1{font-size:clamp(3.25rem,7vw,5rem);line-height:1.1;letter-spacing:-.035em;text-transform:none}
.booking-request-readable h2,.booking-pricing-readable h2{font-size:clamp(2.5rem,5vw,3.5rem);line-height:1.15;letter-spacing:-.02em}
.booking-pricing-readable h3,.booking-pricing-readable .way-h{font-size:2rem;line-height:1.25;margin-top:2rem}
.booking-request-readable p,.booking-pricing-readable p,.booking-pricing-readable li{font-size:1.75rem;line-height:1.55}
.booking-request-readable a:focus-visible,.booking-pricing-readable a:focus-visible{outline:3px solid #7d581b;outline-offset:4px}
.booking-request-readable .site-header{width:min(100%,70rem);padding:1.5rem 20px;gap:1rem;flex-wrap:wrap}
.booking-request-readable .brand{font-size:2rem;line-height:1.2;min-height:0}
.booking-request-readable .back-link{font-size:1.5rem;line-height:1.4;min-height:3rem}
.booking-request-readable .request-page{width:min(100%,52rem);margin:1.5rem auto 4rem;padding:0 20px}
.booking-request-readable .request-page section{scroll-margin-top:1.5rem}
.booking-request-readable .location,.booking-request-readable .calendar-link,.booking-request-readable .privacy,.booking-request-readable .consent,.booking-request-readable .form-status,.booking-request-readable .optional-label{font-size:1.5rem;line-height:1.5}
.booking-request-readable .form-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem}
.booking-request-readable .form-grid label,.booking-request-readable .optional-fields label{font-size:1.625rem;line-height:1.4;font-weight:600}
.booking-request-readable input,.booking-request-readable textarea,.booking-request-readable select{font:400 1.625rem/1.4 Arial,Helvetica,sans-serif;min-width:0;max-width:100%;width:100%;min-height:4rem;padding:.75rem .5rem;border:2px solid #657367}
.booking-request-readable input[type=date],.booking-request-readable input[type=time]{padding-inline:.25rem}
.booking-request-readable .optional-fields summary{font-size:1.5rem;line-height:1.5;min-height:3.5rem;padding:.75rem 0}
.booking-request-readable .consent{align-items:flex-start;gap:1rem;margin:2rem 0}
.booking-request-readable .consent input{width:1.75rem;height:1.75rem;min-height:1.75rem;flex:0 0 1.75rem;padding:0;margin-top:.25rem}
.booking-request-readable .button,.booking-pricing-readable .button{font:700 1.875rem/1.3 Arial,Helvetica,sans-serif;min-height:5rem;white-space:normal;letter-spacing:normal;text-transform:none;padding:1rem;overflow-wrap:anywhere}
.booking-request-readable .privacy{margin-top:1.5rem;color:#334a3c}
.booking-request-readable .honey{width:1px!important;min-height:0!important;padding:0!important}
.booking-pricing-readable{font-family:Arial,Helvetica,sans-serif;color:#243c32;overflow-x:visible}
.booking-pricing-readable .subhero,.booking-pricing-readable .consider,.booking-pricing-readable .footer{width:min(100%,76rem);max-width:76rem;margin-inline:auto;padding-inline:20px}
.booking-pricing-readable .subhero{padding-top:2.5rem;padding-bottom:3rem}
.booking-pricing-readable .subhero-title{font-size:clamp(3.25rem,7vw,5rem);font-weight:400;letter-spacing:-.035em}
.booking-pricing-readable .subhero .lede{font-size:1.75rem;line-height:1.55;max-width:48ch;margin-inline:auto}
.booking-pricing-readable .consider{padding-top:0}
.booking-pricing-readable .consider-block{padding-block:3rem;min-width:0}
.booking-pricing-readable .consider-block p,.booking-pricing-readable .consider-block li{font-size:1.75rem;line-height:1.55;font-family:Arial,Helvetica,sans-serif;color:#334a3c;font-weight:400}
.booking-pricing-readable .eyebrow,.booking-pricing-readable .price-note,.booking-pricing-readable .inc-cap,.booking-pricing-readable .aspen-note p,.booking-pricing-readable .cal-legend,.booking-pricing-readable .fine{font-size:1.5rem!important;line-height:1.5!important;letter-spacing:normal;text-transform:none;color:#334a3c!important;font-weight:400}
.booking-pricing-readable .eyebrow{font-weight:700;margin-bottom:1rem}
.booking-pricing-readable .cal-legend{gap:1rem;margin:1.5rem 0;align-items:flex-start}
.booking-pricing-readable .cal-legend span{gap:.6rem;min-width:0}
.booking-pricing-readable .cal-legend .sw{width:1.1rem;height:1.1rem;flex:0 0 1.1rem}
.booking-pricing-readable .access-notice,.booking-pricing-readable .aspen-note{padding:1.25rem 1rem;margin:2rem 0;border-color:#9d8c61}
.booking-pricing-readable #momos-calendar{scroll-margin-top:1.5rem}
.booking-pricing-readable .tablewrap{overflow:visible;max-width:100%;margin:2rem 0}
.booking-pricing-readable .price-table{width:100%;min-width:0;table-layout:fixed}
.booking-pricing-readable .price-table th,.booking-pricing-readable .price-table td{font:400 1.5rem/1.4 Arial,Helvetica,sans-serif;letter-spacing:normal;text-transform:none;color:#243c32;white-space:normal;padding:1rem .65rem;overflow-wrap:anywhere}
.booking-pricing-readable .price-table th{font-weight:700}
.booking-pricing-readable .price-table th .thsub,.booking-pricing-readable .price-table td .tier{font-size:1.5rem;line-height:1.4;letter-spacing:normal;text-transform:none;color:#334a3c;white-space:normal;margin-top:.5rem}
.booking-pricing-readable .price-table td.amt{font:700 1.75rem/1.4 Arial,Helvetica,sans-serif;white-space:normal}
.booking-pricing-readable .price-table td.amt-note{font-size:1.5rem}
.booking-pricing-readable .mobile-price-label{display:none}
.booking-pricing-readable .cal-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,32rem),1fr));gap:2rem;margin:2rem 0}
.booking-pricing-readable .cal-month{min-width:0;border:1px solid #a9b2a4;border-radius:4px;padding:1.25rem .75rem;background:#fffdf8}
.booking-pricing-readable .cal-mname{font:700 1.75rem/1.3 Arial,Helvetica,sans-serif;color:#243c32;margin-bottom:1.25rem;overflow-wrap:anywhere}
.booking-pricing-readable .cal-week{font:700 1.5rem/1.4 Arial,Helvetica,sans-serif;color:#334a3c;letter-spacing:normal;margin-bottom:.75rem;gap:4px}
.booking-pricing-readable .cal-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;min-width:0}
.booking-pricing-readable .cal-day{font:600 1.5rem/1.35 Arial,Helvetica,sans-serif;min-width:0;min-height:3.5rem;aspect-ratio:auto;padding:.5rem .2rem;color:#20372c;gap:.15rem;border:1px solid #a6b19f;flex-direction:column;white-space:normal;text-decoration:none}
.booking-pricing-readable .cal-day.empty{border-color:transparent}
.booking-pricing-readable .cal-day.t-off{background:#e8e5dc;color:#243c32}
.booking-pricing-readable .cal-day.t-peak{background:#d2dfc8;color:#243c32}
.booking-pricing-readable .cal-day.t-aspen{background:#ead596;color:#332913}
.booking-pricing-readable .cal-day.t-peakgold{background:#77570a;color:#fffdf8}
.booking-pricing-readable .cal-day-weekday{display:none}
.booking-pricing-readable .cal-day:hover{outline:3px solid #7d581b;outline-offset:1px}
.booking-pricing-readable .topbar{position:relative;inset:auto;padding:1rem 0}
.booking-pricing-readable .topbar-inner{width:100%;max-width:76rem;padding-inline:20px;margin-inline:auto;gap:1rem;flex-wrap:wrap}
.booking-pricing-readable .switcher{flex-wrap:wrap;gap:.5rem}
.booking-pricing-readable .switcher a,.booking-pricing-readable .nav-cta,.booking-pricing-readable .menu-panel a{font:600 1.5rem/1.4 Arial,Helvetica,sans-serif;letter-spacing:normal;text-transform:none;white-space:normal}
.booking-pricing-readable .nav-cta{padding:.75rem 1rem;min-height:3.5rem;text-align:center;overflow-wrap:anywhere}
.booking-pricing-readable .menu-panel{box-shadow:none}
.booking-pricing-readable .menu-panel.open{box-shadow:-10px 0 30px #0004}
.booking-pricing-readable .footer{padding-top:3rem;padding-bottom:3rem}
.booking-pricing-readable .footer .wordmark{font-size:2rem;line-height:1.3;white-space:normal;letter-spacing:normal}
.booking-pricing-readable .footer p,.booking-pricing-readable .footer a{font-size:1.5rem!important;line-height:1.5;letter-spacing:normal;color:#334a3c!important;overflow-wrap:anywhere}
/* A transformed normal-flow host contains its shadow widget's fixed bubble.
   The chat launcher now lives after the footer, away from calendar dates. */
.booking-pricing-readable #alab-chat-host{position:relative!important;bottom:auto!important;right:auto!important;display:block!important;min-height:7rem!important;transform:translateZ(0);isolation:isolate;z-index:20!important}
@media(max-width:1100px){
 .booking-pricing-readable .price-table,.booking-pricing-readable .price-table tbody,.booking-pricing-readable .price-table tr,.booking-pricing-readable .price-table td{display:block;width:100%;min-width:0}
 .booking-pricing-readable .price-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .booking-pricing-readable .price-table tr{border:1px solid #a9b2a4;padding:1rem;margin:0 0 2rem;border-radius:4px;background:#fffdf8}
 .booking-pricing-readable .price-table td{border:0;padding:1rem 0}
 .booking-pricing-readable .price-table td:first-child{font-size:2rem;font-weight:700;border-bottom:1px solid #c5ccbd;padding-top:0}
 .booking-pricing-readable .price-table .mobile-price-label{display:block;font-size:1.5rem;font-weight:400;line-height:1.4;margin-bottom:.35rem;color:#334a3c}
 .booking-pricing-readable .price-table td.amt{font-size:1.875rem}
}
@media(max-width:760px){
 .booking-request-readable .site-header,.booking-request-readable .request-page,.booking-pricing-readable .subhero,.booking-pricing-readable .consider,.booking-pricing-readable .footer{padding-inline:16px}
 .booking-request-readable .request-page h1{font-size:3.25rem;line-height:1.1}
 .booking-pricing-readable .cal-grid{grid-template-columns:minmax(0,1fr)}
 .booking-pricing-readable .cal-month{padding:1.25rem .5rem}
 .booking-pricing-readable .cal-week,.booking-pricing-readable .cal-day.empty{display:none}
 .booking-pricing-readable .cal-days{grid-template-columns:repeat(auto-fit,minmax(min(100%,4.25rem),1fr));gap:.5rem}
 .booking-pricing-readable .cal-day{min-height:5rem;padding:.6rem .15rem}
 .booking-pricing-readable .cal-day-weekday{display:block;font-size:1.5rem;font-weight:400;line-height:1.3}
 .booking-pricing-readable .cal-day-number{font-size:1.5rem;font-weight:700;line-height:1.3}
 .booking-pricing-readable .topbar-inner{padding-inline:16px;gap:.75rem}
 .booking-pricing-readable .nav-cta{max-width:calc(100% - 4rem);font-size:1.5rem;padding:.75rem}
 .booking-pricing-readable .footer .wordmark{display:block;overflow-wrap:anywhere}
}
/* One visible month at first; every other month is a native keyboard-operable disclosure. */
.booking-pricing-readable .cal-grid{display:block}
.booking-pricing-readable .cal-month{margin:0 0 1.25rem}
.booking-pricing-readable .cal-mname{display:flex;align-items:center;justify-content:space-between;gap:1rem;list-style:none;cursor:pointer;margin:0;min-height:3.5rem;font-size:2rem;line-height:1.35}
.booking-pricing-readable .cal-mname::-webkit-details-marker{display:none}
.booking-pricing-readable .cal-mname::after{content:'+';font:400 2rem/1 Arial,Helvetica,sans-serif;flex:0 0 auto}
.booking-pricing-readable .cal-month[open]>.cal-mname{margin-bottom:1.25rem}
.booking-pricing-readable .cal-month[open]>.cal-mname::after{content:'−'}
.booking-pricing-readable .cal-mname:focus-visible{outline:3px solid #7d581b;outline-offset:4px}
/* Native date fields need room for both enlarged text and their picker icon. */
.booking-request-readable .form-grid label{container-type:inline-size}
@container(max-width:19rem){
 .booking-request-readable input:is([type=date],[type=time]){position:relative;min-height:7rem;padding:.65rem 0 2.75rem}
 .booking-request-readable input:is([type=date],[type=time])::-webkit-calendar-picker-indicator{position:absolute;right:.5rem;bottom:.5rem;width:1.5rem;height:1.5rem;margin:0;padding:0}
 .booking-request-readable input:is([type=date],[type=time])::-webkit-datetime-edit{padding:0;overflow:visible}
}
.booking-pricing-readable .cal-month{container-type:inline-size}
@container(max-width:10rem){
 .booking-pricing-readable .cal-mname{font-size:1.75rem;display:block}
 .booking-pricing-readable .cal-mname::after{display:block;font:600 1.5rem/1.4 Arial,Helvetica,sans-serif;content:'Show dates';margin-top:.5rem}
 .booking-pricing-readable .cal-month[open]>.cal-mname::after{content:'Hide dates'}
}

/* Optional evening access: large, explicit controls and a readable subtotal. */
.booking-request-readable .evening-package{min-width:0;margin:2rem 0;padding:1.5rem;border:2px solid #a9b2a4;border-radius:8px;background:#fffdf8}
.booking-request-readable .evening-package legend{font-size:1.875rem;font-weight:700;padding:0 .5rem}
.booking-request-readable .evening-option{display:flex;align-items:flex-start;gap:1rem;margin:1.5rem 0;font-size:1.625rem;line-height:1.4;cursor:pointer}
.booking-request-readable .evening-option input{width:1.75rem;height:1.75rem;min-height:1.75rem;flex:0 0 1.75rem;margin-top:.3rem;padding:0;accent-color:#365844}
.booking-request-readable .evening-option span span{display:block;margin-top:.35rem;font-size:1.5rem}
.booking-request-readable .access-quote{margin:1.5rem 0;font-size:1.5rem;line-height:1.45}
.booking-request-readable .access-quote>div{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid #c5ccbd;flex-wrap:wrap}
.booking-request-readable .access-quote dd{margin:0;font-weight:700;text-align:right}
.booking-request-readable .access-subtotal{border-top:2px solid #657367}
.booking-request-readable .evening-package .access-note{font-size:1.5rem;line-height:1.5}
@media(max-width:480px){.booking-request-readable .evening-package{padding:1rem}.booking-request-readable .access-quote>div{display:block}.booking-request-readable .access-quote dd{text-align:left;margin-top:.35rem}}

/* Package request review and plain-language renewal terms. */
.booking-request-readable [hidden]{display:none!important}
.booking-request-readable .renewal-terms{border-top:1px solid #c5ccbd;margin-top:2rem;padding-top:1.5rem}
.booking-request-readable .renewal-terms h2,.booking-request-readable .request-review h2{font-size:2rem;line-height:1.25;margin-top:0}
.booking-request-readable .renewal-terms ul{padding-left:1.25em}
.booking-request-readable .renewal-terms li{font-size:1.5rem;line-height:1.5;margin-bottom:1rem}
.booking-request-readable .request-review .access-quote dd{max-width:100%;font-weight:400;text-align:left;white-space:pre-line}
.booking-request-readable .request-review .access-quote>div{display:block}
.booking-request-readable .request-review .access-quote dt{font-weight:700;margin-bottom:.35rem}
.booking-request-readable .request-review .button{background:#fffdf8;color:#243c32;border:2px solid #657367}
.booking-request-readable .request-review:focus{outline:3px solid #7d581b;outline-offset:4px}
