#booking{max-width:64rem;margin:-1.25rem auto 0;padding:0 0}@media(min-width: 576px){#booking{padding:0 clamp(1rem,3vw,2rem)}}#booking .btn{padding:.6rem 1.3rem;font-size:.95rem;box-shadow:0 8px 20px -10px rgba(0,96,158,.45)}#booking .btn i{margin-right:.3rem}#booking .btn-ghost{box-shadow:none}#booking .bk-empty{text-align:center;padding:2.5rem 1rem;color:#5b6470}#booking .bk-empty i{display:block;font-size:2rem;color:rgba(0,96,158,.45);margin-bottom:.75rem}#booking .bk-empty p{margin:.15rem 0}#booking .bk-empty .hint{font-size:.85rem}#booking .bk-skins-note{margin:1.75rem auto 0;max-width:38rem;text-align:center;font-size:.8rem;color:#5b6470}#booking .bk-nav{display:flex;flex-direction:column;align-items:center;gap:.75rem 1rem;margin-bottom:1rem}@media(min-width: 576px){#booking .bk-nav{margin-bottom:1.75rem}}#booking .bk-demo-note{font-size:.8rem;color:#5b6470;text-align:center;padding:0 1rem}#booking .bk-demo-note i{color:#00609e;margin-right:.25rem}#booking .bk-steps{display:inline-flex;justify-content:center;flex-wrap:wrap;width:100%;gap:.3rem;margin:0;padding:.3rem;list-style:none;background:rgba(31,57,109,.05);border:1px solid rgba(195,201,212,.5);border-radius:0}@media(min-width: 576px){#booking .bk-steps{width:auto;border-radius:999px}}#booking .bk-step{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem 1.1rem;border-radius:999px;color:#5b6470;font-size:.9rem;font-weight:600;line-height:1.4}#booking .bk-step .bk-step-num{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:50%;border:1px solid rgba(195,201,212,.9);font-size:.75rem}#booking .bk-step.is-active{background:#00609e;color:#fff;box-shadow:0 6px 16px -8px rgba(0,96,158,.6)}#booking .bk-step.is-active .bk-step-num{border-color:hsla(0,0%,100%,.6)}#booking .bk-step.is-done{color:#00609e}#booking .bk-step.is-done .bk-step-num{border-color:rgba(0,96,158,.5)}#booking .bk-availability .bk-venue{text-align:center;margin-bottom:1.25rem;padding:0 1rem}#booking .bk-availability .bk-venue h2{font-size:1.3rem;font-weight:600;color:#1f396d;margin-bottom:.2rem}#booking .bk-availability .bk-venue p{margin:0;font-size:.9rem;color:#5b6470}#booking .bk-availability .bk-picker{display:grid;grid-template-columns:1fr;gap:1.25rem;align-items:start}@media(min-width: 768px){#booking .bk-availability .bk-picker{grid-template-columns:minmax(17rem, 20rem) 1fr}}#booking .bk-availability .bk-calendar{background:#fff;border:1px solid rgba(195,201,212,.55);border-radius:0;box-shadow:0 14px 34px -22px rgba(31,57,109,.35);padding:clamp(.75rem,2vw,1.1rem)}#booking .bk-availability .bk-calendar .e-calendar{max-width:100%;border:none}#booking .bk-availability .bk-calendar-hint{margin:.6rem 0 0;text-align:center;font-size:.78rem;color:#5b6470}#booking .bk-availability .bk-slots{background:#fff;border:1px solid rgba(195,201,212,.55);border-radius:0;box-shadow:0 14px 34px -22px rgba(31,57,109,.35);padding:clamp(1rem,2.5vw,1.6rem)}@media(min-width: 576px){#booking .bk-availability .bk-calendar,#booking .bk-availability .bk-slots{border-radius:1.3rem}}#booking .bk-availability .bk-slots-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.4rem 1rem;margin-bottom:.75rem}#booking .bk-availability .bk-slots-head h3{font-size:1.1rem;font-weight:600;color:#1f396d;margin:0}#booking .bk-availability .bk-free-count{font-size:.8rem;font-weight:600;color:#00609e;background:rgba(0,96,158,.08);border-radius:999px;padding:.25rem .75rem}#booking .bk-availability .bk-free-count.is-none{color:#d90709;background:rgba(217,7,9,.08)}#booking .bk-availability .bk-legend{display:flex;gap:1rem;margin-bottom:.75rem;font-size:.8rem;color:#5b6470}#booking .bk-availability .bk-legend-item{display:inline-flex;align-items:center;gap:.35rem}#booking .bk-availability .bk-dot{width:.7rem;height:.7rem;border-radius:50%}#booking .bk-availability .bk-dot.is-free{background:#fff;border:2px solid #00609e}#booking .bk-availability .bk-dot.is-taken{background:#e4e7ec;border:2px solid #c0c8d4}#booking .bk-availability .bk-full-note{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.6rem .9rem;border-radius:.5rem;background:rgba(255,160,0,.1);color:rgb(142.8,89.6,0);font-size:.85rem;font-weight:600}#booking .bk-availability .bk-part{margin:1rem 0 .5rem;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5b6470}#booking .bk-availability .bk-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(6.4rem, 1fr));gap:.5rem}#booking .bk-availability .bk-slot{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.55rem .4rem;border-radius:.5rem;font-size:.9rem;line-height:1.3;transition:background .2s cubic-bezier(0.22, 0.8, 0.26, 0.99),border-color .2s,box-shadow .2s}#booking .bk-availability .bk-slot .bk-slot-time{font-weight:600}#booking .bk-availability .bk-slot.is-free{background:#fff;border:1px solid rgba(0,96,158,.55);color:#00609e;cursor:pointer}#booking .bk-availability .bk-slot.is-free:hover,#booking .bk-availability .bk-slot.is-free:focus-visible{background:rgba(0,96,158,.08);border-color:#00609e;box-shadow:0 6px 16px -10px rgba(0,96,158,.6)}#booking .bk-availability .bk-slot.is-taken{background:#e4e7ec;border:1px solid rgba(0,0,0,0);color:#5b6470;cursor:not-allowed}#booking .bk-availability .bk-slot.is-taken .bk-slot-time{font-weight:400;text-decoration:line-through;opacity:.7}#booking .bk-availability .bk-slot.is-taken .bk-slot-state{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}#booking .bk-details{max-width:34rem;margin:0 auto}#booking .bk-details .bk-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1rem;margin-bottom:1rem;padding:clamp(.9rem,2vw,1.2rem);background:rgba(0,96,158,.06);border:1px solid rgba(0,96,158,.25);border-radius:.75rem}#booking .bk-details .bk-summary-main{display:flex;flex-direction:column;gap:.2rem}#booking .bk-details .bk-summary-when{font-weight:600;color:#1f396d}#booking .bk-details .bk-summary-when i{color:#00609e;margin-right:.35rem}#booking .bk-details .bk-summary-where{font-size:.85rem;color:#5b6470}#booking .bk-details .bk-change{border:none;background:rgba(0,0,0,0);padding:.2rem 0;color:#00609e;font-size:.85rem;font-weight:600;text-decoration:underline;cursor:pointer}#booking .bk-details .bk-change:hover{color:#1f396d}#booking .bk-details .bk-form{background:#fff;border:1px solid rgba(195,201,212,.55);border-radius:0;box-shadow:0 14px 34px -22px rgba(31,57,109,.35);padding:clamp(1rem,2.5vw,1.6rem)}#booking .bk-details .bk-form .field{margin-bottom:1rem}@media(min-width: 576px){#booking .bk-details .bk-form{border-radius:1.3rem}}#booking .bk-details .bk-party{display:flex;gap:.4rem}#booking .bk-details .bk-party-btn{width:2.8rem;height:2.8rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(0,96,158,.45);border-radius:.5rem;background:#fff;color:#00609e;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s cubic-bezier(0.22, 0.8, 0.26, 0.99),color .2s,box-shadow .2s}#booking .bk-details .bk-party-btn:hover{background:rgba(0,96,158,.08)}#booking .bk-details .bk-party-btn.is-active{background:#00609e;border-color:#00609e;color:#fff;box-shadow:0 6px 16px -8px rgba(0,96,158,.6)}#booking .bk-details .editor-errors{margin-bottom:.5rem}#booking .bk-details .editor-actions{display:flex;justify-content:space-between;gap:.75rem}#booking .bk-conflict{text-align:center;padding:clamp(1.25rem,3vw,1.75rem);background:rgba(217,7,9,.05);border:1px solid rgba(217,7,9,.3);border-radius:.75rem}#booking .bk-conflict i{display:block;font-size:1.8rem;color:#d90709;margin-bottom:.5rem}#booking .bk-conflict p{margin:0 0 1rem;font-weight:600;color:#2b3138}#booking .bk-confirmation{max-width:30rem;margin:0 auto;text-align:center;background:#fff;border:1px solid rgba(195,201,212,.55);border-radius:0;box-shadow:0 14px 34px -22px rgba(31,57,109,.35);padding:clamp(1.25rem,3vw,2rem)}@media(min-width: 576px){#booking .bk-confirmation{border-radius:1.3rem}}#booking .bk-confirmation .bk-confirm-badge i{font-size:2.6rem;color:#1f8a3b}#booking .bk-confirmation h2{font-size:1.3rem;font-weight:600;color:#1f396d;margin:.5rem 0 1rem}#booking .bk-confirmation .bk-ref-label{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5b6470}#booking .bk-confirmation .bk-ref{margin:.15rem 0 1.25rem;font-size:1.7rem;font-weight:700;letter-spacing:.12em;color:#00609e}#booking .bk-confirmation .bk-confirm-summary{margin:0 0 1.25rem;text-align:left;border-top:1px solid rgba(195,201,212,.5)}#booking .bk-confirmation .bk-confirm-row{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid rgba(195,201,212,.5);font-size:.9rem}#booking .bk-confirmation .bk-confirm-row dt{font-weight:600;color:#5b6470}#booking .bk-confirmation .bk-confirm-row dd{margin:0;text-align:right;color:#2b3138}#booking .bk-confirmation .bk-pdf{margin-bottom:1rem}#booking .bk-confirmation .bk-confirm-note{font-size:.8rem;color:#5b6470;margin-bottom:1rem}
