/* Shared controls for the booking bar and the enquiry dialog. */
[data-custom-control]{display:none!important}
.picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;width:100%;min-width:0;min-height:3rem;border:0.0625rem solid #ded1c4;border-radius:62.4375rem;background:#fff;color:var(--ink);padding:0.6875rem 1.0625rem;font:500 0.875rem/1.8 var(--body);text-align:left;transition:border-color .2s,box-shadow .2s,background .2s}
.picker-trigger:hover{border-color:#bb9875;background:#fffdf9}
.picker-trigger[aria-expanded=true]{border-color:#b28154;box-shadow:0 0 0 0.1875rem #d8ae8330}
.picker-trigger:focus-visible{outline:0.125rem solid #a06d3e;outline-offset:0.1875rem}
.picker-trigger.is-placeholder{color:#817369}
.picker-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.picker-trigger svg,.picker-panel svg{width:1.1875rem;height:1.1875rem;flex-shrink:0;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.picker-trigger[role=combobox] svg{transition:transform .2s}
.picker-trigger[role=combobox][aria-expanded=true] svg{transform:rotate(180deg)}
.picker-panel{position:fixed;inset:auto;margin:0;box-sizing:border-box;border:0.0625rem solid #e6d7c8;border-radius:1.4375rem;background:var(--paper);color:var(--ink);box-shadow:0 1.125rem 3.4375rem #48290f26,0 0.1875rem 0.75rem #48290f0a;padding:0.5rem;overflow:auto;overscroll-behavior:contain;font:500 0.875rem/1.6 var(--body);scrollbar-width:thin;scrollbar-color:#d8b895 transparent}
.picker-panel::backdrop{background:transparent}
.picker-option{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.8125rem 1rem;min-height:3rem;border-radius:0.9375rem;cursor:pointer;transition:background .15s;color:#463b30}
.picker-option>span{min-width:0}
.picker-option svg{opacity:0;width:1.125rem;height:1.125rem}
.picker-option[aria-selected=true]{background:#ecd2b6;color:#4b321e;font-weight:700}
.picker-option[aria-selected=true] svg{opacity:1}
.picker-option.is-active{background:#f3e6d8}
.picker-option[aria-selected=true].is-active{background:#e6c5a3}
.calendar-panel{padding:1.125rem;overflow:auto}
.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;padding-bottom:1rem}
.calendar-header strong{font:600 0.9375rem/1.5 var(--head);letter-spacing:-0.025rem}
.calendar-header>div{display:flex;gap:0.25rem}
.calendar-nav{display:grid;place-items:center;background:var(--soft);color:#755333;width:2.25rem;height:2.25rem;padding:0;border:0;border-radius:50%;transition:background .18s}
.calendar-nav:not(:disabled):hover{background:#e7c8a8}
.calendar-nav:disabled{opacity:.3;cursor:default}
.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0.125rem}
.weekdays{margin-bottom:0.5rem;color:#8a7765;font-size:0.75rem;text-align:center}
.weekdays span{padding:0.25rem 0}
.calendar-day{display:grid;place-items:center;aspect-ratio:1;min-height:2.25rem;width:100%;padding:0;margin:0.0625rem 0;border:0.0625rem solid transparent;border-radius:50%;background:transparent;color:var(--ink);font:600 0.8125rem/1 var(--body);transition:background .15s,border-color .15s}
.calendar-day.outside-month{color:#988575}
.calendar-day:disabled{color:#c8bcb0;cursor:default}
.calendar-day[aria-current=date]{border-color:#c69b73}
.calendar-day:not(:disabled):hover{background:#f1dfcc}
.calendar-day[aria-selected=true],.calendar-day[aria-selected=true]:hover{background:var(--sand);border-color:var(--sand);color:#3c2818;font-weight:700}
.calendar-day:focus-visible,.calendar-nav:focus-visible,.calendar-footer button:focus-visible{outline:0.125rem solid #a06d3e;outline-offset:0.0625rem}
.calendar-footer{display:flex;justify-content:space-between;border-top:0.0625rem solid var(--line);margin-top:0.8125rem;padding-top:0.5625rem}
.calendar-footer button{background:transparent;color:#8a5d34;font:600 0.8125rem/1.6 var(--body);border-radius:0.75rem;padding:0.5rem 0.6875rem;min-height:2.375rem}
.calendar-footer button:hover{background:var(--soft)}
.calendar-footer button:disabled{opacity:.4;cursor:default}
.faq-item{padding:1.4375rem 1.5625rem;background:var(--soft);border-radius:1.1875rem;transition:background .32s}
.faq-item.is-open{background:#f0e4d7}
.faq-item h3{margin:0}
.faq-question{display:flex;justify-content:space-between;align-items:center;gap:1.25rem;width:100%;padding:0;border:0;background:transparent;text-align:left;color:var(--ink);font:600 0.9375rem/1.6 var(--body);letter-spacing:0;border-radius:0.3125rem}
.faq-question>span{font-size:1.4375rem;font-weight:400;line-height:1;flex-shrink:0;transition:transform .32s cubic-bezier(.2,.75,.25,1);color:#95653c}
.faq-item.is-open .faq-question>span{transform:rotate(45deg)}
.faq-answer{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .36s cubic-bezier(.2,.75,.25,1),opacity .26s,visibility 0s .36s}
.faq-answer-inner{min-height:0;overflow:hidden}
.faq-item.is-open .faq-answer{grid-template-rows:1fr;opacity:1;visibility:visible;transition:grid-template-rows .36s cubic-bezier(.2,.75,.25,1),opacity .3s,visibility 0s}
.faq-answer-inner p{margin-bottom:0}
@media(max-width:960px){.faq-item{padding:1.25rem}.faq-question{font-size:0.875rem}}
@media(max-width:650px){.picker-trigger{min-height:3rem;font-size:0.875rem;padding:0.625rem 0.8125rem;gap:0.5rem}.quick-field .picker-trigger{height:2.875rem;min-height:2.875rem}.picker-trigger svg{width:1.0625rem;height:1.0625rem}.picker-panel{border-radius:1.3125rem}.picker-option{padding:0.8125rem 0.875rem}.faq-item{border-radius:1.125rem}.faq-question{gap:0.875rem}.calendar-panel{padding:1rem}}
@media(prefers-reduced-motion:reduce){.picker-trigger,.picker-trigger svg,.picker-option,.calendar-nav,.calendar-day,.faq-item,.faq-question>span,.faq-answer{transition:none!important}}
