.booking-card{border-color:#b99977;box-shadow:0 7px 30px #61404c07}
.booking-eyebrow{font-size:12px;letter-spacing:.12em;color:var(--copper)}
.booking-progress{font-size:14px}.booking-progress b{font-size:12px}
.service-choice legend,.form-field>label{font-size:14px;margin-bottom:10px}
.service-options{gap:6px}.service-options span{font-size:14px;min-height:46px;border-color:#bfa687;background:var(--paper)}
.form-field{margin-bottom:20px}
.selection-trigger{width:100%;display:flex;align-items:center;gap:15px;text-align:left;padding:17px 16px;min-height:84px;background:var(--paper);border:1px solid #bfa687;position:relative;transition:border-color .2s,background .2s}
.selection-trigger::before{content:"";position:absolute;top:-1px;bottom:-1px;left:-1px;width:3px;background:var(--copper);transform:scaleY(0);transition:transform .2s;transform-origin:bottom}
.selection-trigger:hover,.selection-trigger[aria-expanded=true]{border-color:var(--copper);background:#f5ecdc}
.selection-trigger:hover::before,.selection-trigger.has-value::before{transform:scaleY(1)}
.selection-trigger svg{width:27px;height:27px;flex-shrink:0;color:var(--copper)}
.selection-copy{display:flex;flex-direction:column;gap:6px;min-width:0}
.selection-copy strong{font-size:16px;font-weight:400;color:var(--plum);line-height:1.3}
.selection-copy>span{font-size:12px;line-height:1.45;color:#896b55}
.selection-arrow{margin-left:auto;font-size:20px;color:var(--copper)}
.selection-trigger[aria-invalid=true]{border-color:#a7494c;background:#fff3e8}
.guest-control{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #bfa687;border-bottom:0;background:var(--paper);padding:12px 17px}
.guest-adjust{display:grid;place-items:center;flex:0 0 42px;height:42px;border:1px solid #c5ac8c;background:transparent;color:var(--copper);font-size:25px;line-height:1;transition:color .2s,background .2s}
.guest-adjust:hover{background:var(--plum);color:var(--paper);border-color:var(--plum)}
.guest-adjust:disabled{opacity:.35;cursor:default}
.guest-number{width:120px;min-width:0;text-align:center;display:flex;flex-direction:column;gap:2px}
.guest-number input{border:0!important;background:none!important;box-shadow:none;width:100%;padding:0;min-height:40px;color:var(--plum);font-size:33px;line-height:1.2;text-align:center;appearance:textfield;font-variant-numeric:tabular-nums}
.guest-number input::-webkit-inner-spin-button,.guest-number input::-webkit-outer-spin-button{appearance:none;margin:0}
.guest-number input::placeholder{color:#baa58d}
.guest-number>span{font-size:12px;color:#876952}
.guest-presets{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #bfa687}
.guest-presets button{font-size:14px;min-height:39px;border:0;border-right:1px solid #cfbda2;background:#f1e7d5;color:#806047;transition:background .18s,color .18s}
.guest-presets button:last-child{border-right:0}.guest-presets button[aria-pressed=true],.guest-presets button:hover{background:var(--plum);color:var(--paper)}
.guest-control:has([aria-invalid=true]){border-color:#a7494c}
.field-hint{font-size:12px;line-height:1.65;color:#826b58;margin:8px 0 0}
.booking-primary{font-size:14px;min-height:54px;padding:16px 17px}
.booking-note,.booking-direct,.field-error{font-size:12px}.booking-direct span{font-size:14px}.booking-note{color:#82664f}
.form-field input:not([type=hidden]),.form-field textarea{font-size:16px}
.form-field .guest-number input{font-size:33px}
.event-summary{align-items:flex-start;padding:17px 15px;border:1px solid #c7ad8a;border-left:3px solid var(--copper);background:#efe3cd;position:relative}
.summary-text{font-size:14px;line-height:1.85}.booking-back{font-size:12px}
.form-field>label>span{font-size:12px}
.booking-picker{padding:25px 25px 20px;width:min(370px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;margin:0;position:fixed;inset:auto;color:var(--plum);background:var(--paper);border:1px solid var(--copper);border-top:4px solid var(--plum);box-shadow:0 22px 80px #2e1b2536}
.booking-picker::backdrop{background:#34202d69;backdrop-filter:blur(3px)}
html:has(.booking-picker[open]){overflow:hidden}
.picker-heading{display:flex;align-items:flex-start;gap:15px;justify-content:space-between;margin-bottom:22px}
.picker-eyebrow{font-size:11px;letter-spacing:.035em;color:#8e644c;line-height:1.6;margin:0 0 9px}
.picker-heading h2{font:400 24px/1.2 SteamDecor,Georgia,serif;margin:0}
.picker-close{display:grid;place-items:center;flex:0 0 34px;height:34px;border:1px solid #c5aa87;background:none;color:var(--copper);font-size:24px;margin:-4px -7px 0 0}
.picker-close:hover{background:var(--plum);color:var(--paper)}
.calendar-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px;border-top:1px solid #d3bfa1;padding-top:16px}
.calendar-navigation p{font-size:16px;margin:0;text-transform:capitalize}
.calendar-navigation button{width:38px;height:38px;background:none;border:1px solid #c9af8c;color:var(--copper);font-size:20px}
.calendar-navigation button:hover:not(:disabled){background:var(--plum);color:var(--paper)}
.calendar-navigation button:disabled{opacity:.3;cursor:default}
.calendar-weekdays,.calendar-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.calendar-weekdays{padding-bottom:8px}.calendar-weekdays span{text-align:center;font-size:12px;color:#896b55;padding:5px 0}
.calendar-row{margin-top:3px}
.calendar-day{display:grid;place-items:center;height:39px;padding:0;border:1px solid transparent;background:none;font-size:14px;color:var(--plum);font-variant-numeric:tabular-nums;position:relative}
.calendar-day.is-other-month{color:#896b55}.calendar-day:disabled{opacity:.3;cursor:default}
.calendar-day[aria-current=date]{border-color:var(--copper)}
.calendar-day:hover:not(:disabled){background:#eadbc3}
.calendar-day[aria-selected=true]{background:var(--plum);color:var(--paper);border-color:var(--plum)}
.calendar-day:focus-visible{outline:2px solid var(--copper);outline-offset:0;z-index:1}
.calendar-legend{display:flex;align-items:center;gap:7px;font-size:11px;color:#8b6b51;margin:16px 0}
.calendar-legend span{width:9px;height:9px;border:1px solid var(--copper)}
.picker-flexible{width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left;padding:14px 0 0;border:0;border-top:1px solid #d3bfa1;background:none;font-size:13px;line-height:1.6;color:#856249}
.picker-flexible:hover{color:var(--plum)}.picker-flexible>span{font-size:19px}
.clock-preview{display:flex;justify-content:center;align-items:baseline;gap:9px;margin:0 0 22px;background:#efe3cd;padding:17px;color:var(--plum)}
.clock-preview>span:first-child{font-size:35px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.05em}.clock-preview>span:last-child{font-size:13px;color:#8e6b52}
.time-options{border:0;padding:0;margin:0 0 18px}.time-options legend{font-size:13px;margin-bottom:9px;color:#89674e}
.hour-options{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.minute-options{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.time-options label{position:relative;cursor:pointer}.time-options input{position:absolute;width:1px;height:1px;opacity:0}
.time-options label span{display:grid;place-items:center;min-height:36px;border:1px solid #ccb393;font-size:14px;font-variant-numeric:tabular-nums}
.time-options input:checked+span{background:var(--plum);border-color:var(--plum);color:var(--paper)}
.time-options input:focus-visible+span{outline:2px solid var(--copper);outline-offset:2px}
.time-options label:hover span{border-color:var(--copper)}
.time-picker .picker-flexible{margin-top:16px}.time-picker .picker-heading{margin-bottom:19px}
@media(max-width:580px){
  .booking-card{padding:27px 23px 23px}.booking-eyebrow{font-size:12px}
  .selection-trigger{padding:16px 13px;gap:12px}.selection-copy strong{font-size:16px}
  .booking-picker{width:calc(100vw - 28px);max-width:390px;padding:22px 22px 19px}
  .picker-heading h2{font-size:24px}.calendar-day{height:41px}.time-options label span{min-height:39px}
}
@media(prefers-reduced-motion:reduce){.selection-trigger,.selection-trigger::before,.guest-adjust,.guest-presets button{transition:none}}
