@charset "UTF-8";:root{--br-accent:#000}.booking-online{padding:1rem}.booking-online [hidden]{display:none !important}.booking-time-stamp{margin:0.35rem 0 1rem;font-size:0.9rem}.booking-online .form-select:focus{box-shadow:none;outline:1px solid var(--br-accent);border-radius:0.1em;outline-offset:0.1em}.booking-section{max-width:28rem;margin-top:1.5rem;background-color:#f8f8f8;border:1px solid #dfdfdf;border-left-width:2px;border-left-color:var(--br-accent);padding:1rem;transition:all ease-in-out 300ms}.capacity-hold-notice{max-width:28rem;margin-top:1.5rem;padding:0.75rem 1rem;background:#f8f8f8;border:1px solid #dfdfdf;border-left:2px solid var(--br-accent);font-size:0.9rem;line-height:1.45}.capacity-hold-notice strong{display:block;margin-top:0.2rem;font-weight:600}.booking-section--single-service{display:none}.step-title{font-size:1.2rem;margin-bottom:1rem}.service-selection{display:flex;flex-direction:column;gap:0.5rem}.service-item{padding:0.5rem;background:white;border:1px solid #ddd;border-radius:0.2em}.br-radio{display:flex;align-items:flex-start;gap:0.5rem;cursor:pointer;position:relative;line-height:1.4rem}.br-radio svg{width:1.4rem;height:1.4rem;flex-shrink:0}.br-radio input{position:absolute;z-index:-1;opacity:0}.br-radio input:focus~svg{outline:1px solid var(--br-accent);border-radius:50%;outline-offset:0.1em}.br-radio input+.br-icon-on{display:none}.br-radio input:checked+.br-icon-on{display:block}.br-radio input:checked~.br-icon-off{display:none}.br-icon-on{fill:var(--br-accent);animation-name:bookingrobot-tick;animation-duration:0.3s}@keyframes bookingrobot-tick{0%{transform:scale(0,0)}75%{transform:scale(1.1,1.1)}100%{transform:scale(1,1)}}.booking-section .form-select{width:100%;padding:0.5rem;border:1px solid #ddd;border-radius:0.2em}.date-loading,.time-loading{display:flex;align-items:center;justify-content:center;gap:1rem;margin:0.5rem 0}.loading-spinner{width:2rem;height:2rem;border:2px solid #e3e3e3;border-top:3px solid var(--br-accent);border-radius:50%;animation:bookingrobot-spin 1s linear infinite}@keyframes bookingrobot-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.booking-navigation{margin:2rem 0;display:flex;gap:1rem;flex-wrap:wrap}.booking-navigation .btn{text-transform:uppercase}.booking-inline-message,.booking-global-error,.booking-phase-note{max-width:28rem;margin-top:1rem;padding:0.75rem 1rem;border-radius:0.25em;font-size:0.9rem}.booking-inline-message,.booking-global-error{color:#842029;background-color:#f8d7da;border:1px solid #f5c2c7}.booking-phase-note{color:#41464b;background-color:#e2e3e5;border:1px solid #d3d6d8}.booking-global-error__title{font-weight:600}.bookingrobot-visually-hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important}.group-size-loading{display:flex;align-items:center;justify-content:center;gap:1rem;margin:0.5rem 0}.booking-base-price-note{margin:1.5rem 0 1rem 0 !important;font-size:0.94rem !important;color:var(--bs-secondary-color,#666)}.total-quantity{text-align:right;font-weight:bold;margin-bottom:-1rem}.price-row{margin-top:1.5rem}.price-row label{display:block;margin-bottom:0.4rem}.price-controls{display:flex;align-items:center}.price-button{height:2.5rem;width:4rem;padding:0;background:linear-gradient(0deg,rgba(221,221,221,1) 5%,rgba(233,233,233,1) 30%,rgba(240,240,240,1) 95%,rgba(246,246,246,1) 100%);border:1px solid #c6c6c6;display:flex;align-items:center;justify-content:center;transition:all ease-in-out 0.3s;cursor:pointer}.price-button:hover:not(:disabled){border-color:#919191}.price-button:disabled{cursor:default;opacity:0.45}.price-button.minus-btn{border-top-left-radius:0.4em;border-bottom-left-radius:0.4em}.price-button.plus-btn{border-top-right-radius:0.4em;border-bottom-right-radius:0.4em}.price-button>svg{width:0.8rem;height:0.8rem}.price-controls input{cursor:default;width:4rem;height:2.5rem;border-top:1px solid #c6c6c6;border-right:0;border-bottom:1px solid #c6c6c6;border-left:0;border-radius:0;text-indent:0.5rem;text-align:center;background:#fff;color:inherit}.price-controls input:focus{outline:none}.price-section{max-width:28rem;margin-top:1.5rem}.total-price{font-size:1.4rem}.total-price span{font-weight:600;color:var(--br-accent)}.required-message{color:#dc3545 !important;font-size:0.8rem !important;margin-top:1rem;padding:0.5em;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:0.2em}.extras-loading{display:flex;align-items:center;justify-content:center;gap:1rem;margin:0.5rem 0}.extras-list{display:flex;flex-direction:column;gap:1rem}.extra-item{padding:1rem;background:white;border:1px solid #ddd;border-radius:0.25em}.br-sub-title{color:var(--br-accent);font-size:1rem;font-weight:normal;margin:1.5rem 0 1rem 0}.booking-section .form-check{padding:0;margin:0.8rem 0 0 0}.br-checkbox{display:flex;align-items:flex-start;gap:0.5rem;cursor:pointer;position:relative;line-height:1.4rem}.br-checkbox svg{width:1.4rem;height:1.4rem;flex-shrink:0}.br-checkbox input{position:absolute;z-index:-1;opacity:0}.br-checkbox input:focus~svg{outline:1px solid var(--br-accent);border-radius:0.1em;outline-offset:0.1em}.br-checkbox input+.br-icon-on{display:none}.br-checkbox input:checked+.br-icon-on{display:block}.br-checkbox input:checked~.br-icon-off{display:none}.forms-loading{display:flex;align-items:center;justify-content:center;gap:1rem;margin:0.5rem 0}.forms-list{display:flex;flex-direction:column;gap:1rem}.form-item{padding:1rem;background:white;border:1px solid #ddd;border-radius:0.25em}.form-item .form-title{margin-top:0}.booking-section .form-control,.booking-section textarea.form-control{width:100%;padding:0.5rem;border:1px solid #ddd;border-radius:0.2em;background:#fff;color:inherit}.booking-section textarea.form-control{min-height:6rem;resize:vertical}.booking-section .form-control:focus,.booking-section textarea.form-control:focus{box-shadow:none;outline:1px solid var(--br-accent);border-radius:0.1em;outline-offset:0.1em}.required-asterisk{color:#dc3545;margin-left:0.35rem}.field-validation-error{color:#dc3545 !important;font-size:0.8rem !important;margin-top:1rem;padding:0.5em;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:0.2em;animation:bookingrobot-fade-in-error 400ms ease-in}.br-form-required,.br-form-required:focus{border-color:#dc3545 !important;box-shadow:0 0 0 0.15rem rgba(217,83,79,0.15) !important}@keyframes bookingrobot-fade-in-error{from{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}.booking-field{margin-top:1rem}.booking-field:first-of-type{margin-top:0}.booking-field>label{display:block;margin-bottom:0.4rem}.booking-field .field-validation-error[hidden]{display:none !important}.booking-preview{max-width:28rem}.booking-preview .booking-summary-section{margin-top:1.5rem}.booking-preview .preview-field-title{margin-top:0.75rem;color:var(--br-accent)}.summary-detail-group+.summary-detail-group{margin-top:0.75rem}.full-details-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows 250ms ease-in-out}.full-details-panel__inner{min-height:0;overflow:hidden}.full-details-panel--open{grid-template-rows:1fr}.full-details-toggle{appearance:none;cursor:pointer;font:inherit;font-size:0.8rem;line-height:0.8rem;padding:0.6em 1em;transition:border-color 300ms ease-in-out,color 300ms ease-in-out;margin:0 0.5rem 3rem 0.5rem;width:8rem;display:flex;align-items:center;justify-content:space-between;border:1px solid #dfdfdf;border-top:0;border-bottom-left-radius:0.5em;border-bottom-right-radius:0.5em;background:#fff;color:inherit}.full-details-toggle:hover,.full-details-toggle:focus-visible{border-color:#333;color:var(--br-accent);outline:none}.full-details-toggle-icon{display:flex;justify-content:center;width:0.6rem;height:0.6rem;transition:transform 200ms ease-in-out}.full-details-toggle-icon svg{display:block;width:100%;height:100%}.full-details-toggle.toggle-button-open .full-details-toggle-icon{transform:rotate(180deg)}.booking-preview .preview-field,.booking-preview .preview-sub-item{display:flex;gap:1rem;align-items:flex-start}.booking-preview .preview-field{margin-top:0.5rem}.booking-preview .preview-title{min-width:8rem;color:var(--br-accent)}.booking-preview .preview-multiline-value{display:flex;flex-direction:column;gap:0.1rem}.booking-preview .sub-item-block{display:flex;flex-direction:column;gap:0.5rem;margin-top:0.75rem}.booking-preview .preview-sub-item-title{min-width:8rem}.final-price{max-width:28rem;margin:2rem 0 1.5rem;display:flex;align-items:baseline;justify-content:flex-start;gap:0.6rem;font-size:1.4rem}.final-price-label{font-weight:600}.final-price-value{color:var(--br-accent);font-weight:600}@media (max-width:480px){.booking-preview .preview-field,.booking-preview .preview-sub-item{display:block}.booking-preview .preview-title,.booking-preview .preview-sub-item-title{display:block;min-width:0;margin-bottom:0.15rem}}.discount-section{max-width:28rem;margin:1.5rem 0}.br-discount-toggle{appearance:none;display:inline-flex;align-items:center;gap:1rem;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;transition:color 300ms ease-in-out}.br-discount-toggle:hover,.br-discount-toggle:focus-visible{color:var(--br-accent)}.br-discount-toggle__icon{display:inline-flex;width:0.6rem;height:0.6rem;transition:transform 200ms ease-in-out}.br-discount-toggle__icon svg{display:block;width:100%;height:100%}.br-discount-toggle[aria-expanded="true"] .br-discount-toggle__icon{transform:rotate(180deg)}.discount-section__body{display:grid;grid-template-rows:0fr;margin-top:0;opacity:0;transition:grid-template-rows 250ms ease-in-out,margin-top 250ms ease-in-out,opacity 180ms ease-in-out}.discount-section__body-inner{min-height:0;overflow:hidden}.discount-section__body--open{grid-template-rows:1fr;margin-top:1rem;opacity:1}.discount-input-group{display:flex;gap:0.5rem;align-items:stretch}.discount-input-group .discount-input{min-width:0;flex:1 1 auto}.discount-input.form-control-success{border-color:#198754}.discount-input.form-control-error,.discount-input.form-control-error:focus{border-color:#dc3545;box-shadow:0 0 0 0.15rem rgba(220,53,69,0.12)}.discount-message{margin:0.5rem 0;font-size:0.8rem}.discount-message.success{color:#198754}.discount-message.error{color:#dc3545}.discount-section .btn{text-transform:uppercase}.discount-section .discount-input-group .btn.remove-discount{appearance:none;display:inline-flex;align-items:center;justify-content:center;margin-top:0;padding:0.65em 1em;border:1px solid #c6c6c6;border-radius:0.25em;background-color:#fff;background-image:none;color:#222;box-shadow:none;font-size:0.75rem;line-height:1.2;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:border-color 200ms ease-in-out,color 200ms ease-in-out,background-color 200ms ease-in-out}.discount-section .discount-input-group .btn.remove-discount:hover,.discount-section .discount-input-group .btn.remove-discount:focus-visible{color:#b42318;border-color:#b42318;background-color:#fff7f6;background-image:none;box-shadow:none;text-decoration:none;outline:none}.discount-section .discount-input-group .btn.remove-discount:disabled{cursor:default;opacity:0.6}.final-price-values{display:inline-flex;align-items:baseline;gap:0.5rem}.discounted-price{color:#198754;font-size:1rem}@media (max-width:480px){.discount-input-group{align-items:stretch}}.stripe-payment-section{max-width:42rem;margin-top:1.5rem}.stripe-payment-element{min-height:2rem}.stripe-payment-loading{padding:0.75rem 0;font-size:0.9rem}.stripe-payment-message{margin-top:0.75rem}.booking-phase-note--success{border-left:4px solid var(--br-accent)}.booking-payment-return{max-width:42rem;margin-top:1rem}.br-confirmation .confirmation-header{margin-bottom:2rem}.br-confirmation .confirmation-header p{margin:0.75rem 0 0}.br-confirmation .confirmation-reference{font-weight:600}.confirmation-grid{display:grid;grid-template-columns:minmax(8rem,11rem) 1fr;gap:0.8rem 1.5rem;margin:0}.confirmation-grid dt,.confirmation-grid dd{margin:0}.confirmation-grid dt{color:var(--br-accent,#000);font-weight:500}.confirmation-list{margin:0;padding:0;list-style:none}.confirmation-list li+li{margin-top:0.35rem}.confirmation-total{font-size:1.15em;font-weight:700}@media (max-width:32rem){.confirmation-grid{grid-template-columns:1fr;gap:0.25rem}.confirmation-grid dd{margin-bottom:0.8rem}}.payment-method-section,.paypal-payment-section{max-width:42rem;margin-top:1.5rem}.payment-gateway-section{width:100%}.payment-gateway-accordion{border:1px solid rgba(0,0,0,0.16);border-radius:0.35rem;overflow:hidden}.payment-gateway-item+.payment-gateway-item{border-top:1px solid rgba(0,0,0,0.16)}.payment-gateway-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;margin:0;padding:0.9rem 1rem;border:0;background:transparent;font:inherit;font-weight:600;text-align:left;cursor:pointer}.payment-gateway-toggle:hover,.payment-gateway-toggle:focus-visible,.payment-gateway-toggle.is-active{background:rgba(0,0,0,0.035)}.payment-gateway-toggle:focus-visible{outline:2px solid var(--br-accent);outline-offset:-2px}.payment-gateway-toggle__icon{width:0.7rem;height:0.7rem;margin-left:1rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform 0.2s ease}.payment-gateway-toggle[aria-expanded="true"] .payment-gateway-toggle__icon{transform:rotate(225deg)}.payment-gateway-panel{padding:0 1rem 1rem}.payment-gateway-panel[hidden]{display:none}.payment-gateway-panel .stripe-payment-section,.payment-gateway-panel .paypal-payment-section{max-width:none;margin-top:0}.payment-gateway-panel .stripe-payment-section>.step-title,.payment-gateway-panel .paypal-payment-section>.step-title{display:none}.paypal-payment-branding{display:flex;flex-direction:column;align-items:flex-start;gap:0.45rem;margin:0.35rem 0 0.75rem}.paypal-payment-branding img{display:block;width:auto;height:1.55rem;max-width:6.25rem;object-fit:contain}.paypal-payment-loading{padding:0.75rem 0;font-size:0.9rem}.paypal-payment-message{margin-top:0.75rem}.booking-calendar{max-width:100%;overflow-anchor:none}.booking-calendar__toolbar{display:flex;align-items:center;gap:0.6rem;margin-bottom:1rem}.booking-calendar__month{flex:1;font-size:1.15rem;text-align:center}.booking-calendar__nav{font:inherit;color:inherit;background:#fff;border:1px solid #ccc;border-radius:0.3rem;cursor:pointer;min-height:2.5rem}.booking-calendar__nav{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;padding:0}.booking-calendar__nav svg{display:block;width:1.25rem;height:1.25rem;fill:currentColor}.booking-calendar__nav[data-calendar-prev] svg{transform:rotate(180deg)}.booking-calendar__nav:hover:not(:disabled),.booking-calendar__day-button:hover:not(:disabled),.booking-calendar__time-button:hover:not(:disabled){border-color:var(--br-accent)}.booking-calendar button:focus-visible{outline:2px solid var(--br-accent);outline-offset:2px}.booking-calendar button:disabled{cursor:default}.booking-calendar__nav[aria-disabled="true"]{opacity:0.35;cursor:default}.booking-calendar__weekdays,.booking-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0.35rem}.booking-calendar__weekdays{margin-bottom:0.4rem;text-align:center;font-size:0.85rem;font-weight:600;color:#515151}.booking-calendar__cell{min-width:0}.booking-calendar__day-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.3rem;width:100%;min-height:3rem;padding:0.4rem 0.1rem;background:#fff;border:1px solid #d6d6d6;border-radius:0.35rem;font:inherit;color:inherit;cursor:pointer}.booking-calendar__day-button:disabled{background:#efefef;color:#999;border-color:#e2e2e2}.booking-calendar__day-button.is-available{border-color:var(--br-accent);background:#fff}.booking-calendar__day-button.is-selected,.booking-calendar__time-button.is-selected{background:var(--br-accent);color:#fff;border-color:var(--br-accent)}.booking-calendar__day-button.is-today:not(.is-selected) .booking-calendar__day-number{text-decoration:underline;text-underline-offset:0.22rem}.booking-calendar__day-number{font-weight:650;font-size:1.08rem;line-height:1.1}.booking-calendar__details{margin-top:1rem;background:#fff;border:1px solid #d6d6d6;border-left:2px solid var(--br-accent);border-radius:0.35rem;padding:1rem}.booking-calendar__details-heading{font-size:1rem;margin:0 0 0.25rem}.booking-calendar__details-date{margin:0 0 0.75rem}.booking-calendar__times{display:flex;flex-wrap:wrap;gap:0.5rem}.booking-calendar__time-button{background:#fff;border:1px solid #bcbcbc;border-radius:0.3rem;padding:0.6rem 0.8rem;color:inherit;font:inherit;cursor:pointer}@media (max-width:600px){.booking-online--calendar #step-2{padding:0.75rem}.booking-calendar__weekdays,.booking-calendar__grid{gap:0.15rem}.booking-calendar__day-button{padding:0.35rem 0;gap:0.2rem}.booking-calendar__day-number{font-size:0.95rem}.booking-calendar__toolbar{gap:0.3rem}.booking-calendar__month{font-size:0.98rem}}
