@font-face{font-family:Karla;src:url('../fonts/karla-latin.woff2') format('woff2');font-display:swap}
@font-face{font-family:Newsreader;src:url('../fonts/newsreader-latin.woff2') format('woff2');font-display:swap}
.booking-native{margin:0;padding:clamp(18px,4vw,36px);border:1px solid #d8cfc5;background:#f7f2ed;color:#323336}
.booking-native [hidden]{display:none!important}
.booking-native h2,.booking-native h3{font-family:var(--serif,Newsreader,serif);font-weight:400}
.booking-native h2{font-size:34px;line-height:1.15;margin-bottom:12px}
.booking-native h3{font-size:25px;line-height:1.25}
.booking-calendar-toolbar{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:12px;margin:20px 0}
.booking-calendar-toolbar h3{text-align:center;text-transform:capitalize;margin:0}
.booking-native button:not(.button){font:500 16px/1.3 var(--sans,Karla,sans-serif);border:1px solid #d8cfc5;background:#fffaf5;color:#7f1823;border-radius:0;min-height:42px;cursor:pointer;padding:8px}
.booking-native button:disabled{opacity:.38;cursor:default}
.booking-native button:focus-visible,.booking-native input:focus-visible,.booking-staff :focus-visible{outline:2px solid #8a1524;outline-offset:3px}
.booking-weekdays,.booking-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.booking-weekdays{font:500 12px/1.5 var(--sans,Karla,sans-serif);text-align:center;color:#756b62;margin-bottom:8px}
.booking-days button[aria-pressed="true"],.booking-times button[aria-pressed="true"]{background:#8a1524;color:#fff;border-color:#8a1524}
.booking-days button[aria-current="date"]{text-decoration:underline;text-underline-offset:4px}
.booking-day-title{margin:25px 0 12px}
.booking-day-title::first-letter{text-transform:uppercase}
.booking-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.booking-status{font:400 15px/1.6 var(--sans,Karla,sans-serif);margin:18px 0;overflow-wrap:anywhere}
.booking-error{color:#8a1524;border-left:3px solid #8a1524;padding-left:12px}
.booking-form{border-top:1px solid #d8cfc5;padding-top:25px;margin-top:25px}
.booking-form fieldset{margin:0;padding:0;border:0;min-width:0}
.booking-form legend{font:400 30px/1.25 var(--serif,Newsreader,serif);padding:0}
.booking-selection{margin:12px 0 20px;font-size:15px;line-height:1.6}
.booking-form label{display:block;font:500 15px/1.5 var(--sans,Karla,sans-serif);margin:16px 0}
.booking-form label small{display:block;color:#756b62;font-size:13px;font-weight:400;line-height:1.6;margin-top:6px}
.booking-form input{display:block;box-sizing:border-box;width:100%;min-width:0;border:1px solid #bfb2a5;border-radius:0;background:#fffaf5;color:#323336;font:400 17px/1.5 var(--sans,Karla,sans-serif);padding:11px 12px;margin-top:6px}
.booking-form fieldset:disabled{opacity:.55}
.booking-native .booking-honey{display:none}
.booking-form .button{width:100%;justify-content:center;margin-top:18px;white-space:normal;font-size:13px}
.booking-form .booking-disclosure{font-size:13px;line-height:1.65;color:#756b62;margin-top:18px}
.booking-disclosure a{text-decoration:underline;text-underline-offset:3px}
.booking-success p{margin-top:16px;font-size:16px;line-height:1.65}
.booking-success h2{color:#7f1823}
.booking-staff{margin:0;background:#f7f2ed;color:#323336;font:400 17px/1.6 Karla,sans-serif}
.booking-staff main{max-width:1080px;margin:40px auto;padding:24px}
.booking-staff img{max-width:100%;height:auto}
.booking-staff h1{font:400 clamp(34px,6vw,55px)/1.2 Newsreader,serif;margin:35px 0 25px}
.booking-staff a{color:#7f1823;overflow-wrap:anywhere}
.booking-staff form{max-width:620px}
.booking-staff label{display:block;margin:22px 0}
.booking-staff input{display:block;width:100%;box-sizing:border-box;background:#fffaf5;border:1px solid #bfb2a5;border-radius:0;font:inherit;padding:12px;margin-top:6px}
.booking-staff input[type=hidden]{display:none}
.booking-staff small{display:block;font-size:14px;color:#756b62}
.booking-staff button{font:500 15px/1.5 Karla,sans-serif;background:#8a1524;border:1px solid #8a1524;color:#fff;padding:12px 16px;cursor:pointer}
.booking-notice{background:#e9dfd3;padding:18px}
.staff-actions{display:flex;gap:16px;flex-wrap:wrap;margin:24px 0}
.staff-table{overflow:auto;border:1px solid #d8cfc5;margin:25px 0}
.staff-table table{border-collapse:collapse;min-width:740px;width:100%;text-align:left}
.staff-table th,.staff-table td{padding:16px;border-bottom:1px solid #d8cfc5;vertical-align:top;overflow-wrap:anywhere;max-width:280px}
.staff-table th{background:#e9dfd3}
.staff-table button{font-size:13px;margin:8px 0}
.staff-table details{font-size:14px}
.staff-table summary{cursor:pointer;color:#7f1823}
@media(max-width:560px){.booking-calendar-toolbar{gap:5px}.booking-calendar-toolbar h3{font-size:23px}.booking-native h2{font-size:30px}.booking-times{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-days button{padding:6px 0}.booking-staff main{margin:15px auto;padding:20px}}
