.booking [hidden]{display:none !important}.booking{min-height:60vh}.booking h1{margin-bottom:1.5rem}.booking h2{margin-top:0;font-size:1.35rem;color:#5d4738}.booking__error{padding:.75rem 1rem;color:#954e36;background-color:#f3f0e8;border-left:3px solid #954e36;border-radius:.375rem}.booking-admin{position:sticky;top:0;z-index:1031;display:flex;flex-wrap:wrap;gap:.25rem 1rem;align-items:center;padding:.5rem 1rem;font-size:.875rem;color:#f7f3ea;background-color:#3f6b4a}.booking-admin[hidden]{display:none}.booking-admin label{display:flex;gap:.35rem;align-items:center;cursor:pointer}.booking-admin a,.booking-admin a:visited{margin-left:auto;color:#f7f3ea}.booking-summary{color:#74736e}.booking-summary b{color:#292621}.booking-types{display:-ms-grid;display:grid;gap:1rem}.booking-type{position:relative;display:flex;flex-direction:column;gap:.25rem;padding:1.25rem 3rem 1.25rem 1.5rem;font:inherit;color:#292621;text-align:left;cursor:pointer;background-color:#f3f0e8;border:1px solid transparent;border-radius:.5rem;-webkit-transition:border-color .15s ease-in-out;transition:border-color .15s ease-in-out}.booking-type b{font-size:1.25rem;font-weight:500;color:#4c3a2e}.booking-type span{color:#74736e}.booking-type:hover,.booking-type:focus-visible{border-color:#6f5544}.booking-type .bi-chevron-right{position:absolute;top:50%;right:1.25rem;width:1.25rem;height:1.25rem;color:#6f5544;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.booking-week{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.booking-week .btn{min-width:2.75rem;font-size:1.25rem;line-height:1.2}.booking .booking-week .btn:disabled{opacity:.3;cursor:not-allowed}.booking-grid{display:-ms-grid;display:grid;-ms-grid-columns:(minmax(0, 1fr))[5];grid-template-columns:repeat(5, minmax(0, 1fr));gap:.375rem;margin-bottom:1rem}.booking-day{display:flex;flex-direction:column;gap:.375rem}.booking-day__head{display:flex;flex-direction:column;padding-bottom:.375rem;font-size:.875rem;line-height:1.3;text-align:center;border-bottom:2px solid #f3f0e8}.booking-day__head span{color:#74736e}.booking-day__head b{font-weight:500}.booking-day--empty .booking-day__head{opacity:.45}.booking-day__none{padding:.5rem .125rem;font-size:.75rem;line-height:1.3;color:#74736e;text-align:center}.booking-slot{padding:.5rem 0;font:inherit;font-variant-numeric:tabular-nums;color:#4c3a2e;cursor:pointer;background-color:#f3f0e8;border:1px solid transparent;border-radius:.375rem;-webkit-transition:color .15s ease-in-out, background-color .15s ease-in-out;transition:color .15s ease-in-out, background-color .15s ease-in-out}.booking-slot:hover,.booking-slot:focus-visible{color:#f7f3ea;background-color:#6f5544}.booking-slot--soon{background-color:rgba(243,240,232,0.4)}.booking-form{display:-ms-grid;display:grid;gap:1rem}.booking-form label{display:-ms-grid;display:grid;gap:.25rem;font-weight:500}.booking-form .booking-form__field{display:-ms-grid;display:grid;gap:.25rem}.booking-form small{font-weight:400;color:#74736e}.booking-form input,.booking-form textarea{width:100%;padding:.5rem .75rem;font:inherit;font-weight:400;color:#292621;background-color:#ffffff;border:1px solid #dee2e6;border-radius:.375rem}.booking-form input:focus,.booking-form textarea:focus{border-color:#6f5544;outline:2px solid rgba(111,85,68,0.25)}.booking-phone{display:flex}.booking-phone input{min-width:0;border-top-left-radius:0;border-bottom-left-radius:0}.booking-phone__prefix{position:relative;display:flex;flex:none;align-items:center;padding:0 .75rem;font-variant-numeric:tabular-nums;background-color:#f3f0e8;border:1px solid #dee2e6;border-right:0;border-radius:.375rem 0 0 .375rem}.booking-phone__prefix::after{margin-left:.4rem;font-size:.7em;color:#74736e;content:"\25BE"}.booking-phone__prefix:focus-within{border-color:#6f5544;outline:2px solid rgba(111,85,68,0.25)}.booking-phone__prefix select{position:absolute;inset:0;width:100%;font:inherit;cursor:pointer;opacity:0}.booking-form .booking-form__check{display:flex;gap:.6rem;align-items:flex-start;font-size:.875rem;font-weight:400;color:#74736e;cursor:pointer}.booking-form .booking-form__check input{flex:none;width:1.1rem;height:1.1rem;margin-top:.15rem;padding:0;accent-color:#6f5544}.booking-form__hp{position:absolute !important;left:-9999px}.booking-form__privacy{margin:0;font-size:.875rem;color:#74736e}.booking .btn:disabled{opacity:.6;cursor:wait}.booking .booking-actions--locked .btn:disabled{opacity:.35;cursor:not-allowed}.booking-details{padding:1.25rem 1.5rem;background-color:#f3f0e8;border-radius:.5rem}.booking-details dt{font-weight:500;color:#4c3a2e}.booking-details dd{margin:0 0 .5rem}.booking-details dd:last-child{margin-bottom:0}.booking-details dd+dt{margin-top:.75rem}.booking-actions{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center;margin-bottom:1.5rem}.booking-btn-quiet{color:#6f5544;border-color:#dee2e6;background-color:transparent}.booking-btn-quiet:hover{border-color:#6f5544}.booking-dialog{width:24rem;max-width:calc(100vw - 2rem);padding:1.5rem;border:0;border-radius:.5rem;-webkit-box-shadow:0 0.5rem 2rem rgba(0,0,0,0.2);box-shadow:0 0.5rem 2rem rgba(0,0,0,0.2)}.booking-dialog::-ms-backdrop{background-color:rgba(41,38,33,0.4)}.booking-dialog::backdrop{background-color:rgba(41,38,33,0.4)}.booking-dialog .booking-actions{margin-bottom:0}