.bf{max-width:680px;margin:0 auto}.bf-progress{display:flex;justify-content:center;gap:var(--space-xs);margin-bottom:var(--space-2xl);padding:0 var(--space-sm)}.bf-progress__step{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);flex:1;max-width:100px}.bf-progress__dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:600;border:2px solid var(--color-border);color:var(--color-text-muted);background:transparent;transition:all var(--transition-base)}.bf-progress__label{font-size:.625rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.bf-progress__step--active .bf-progress__dot{border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 0 12px #d4a85340}.bf-progress__step--active .bf-progress__label{color:var(--color-accent)}.bf-progress__step--done .bf-progress__dot{border-color:var(--color-success);color:var(--color-success);background:#4a8c5c1a}.bf-progress__step--done .bf-progress__label{color:var(--color-text-secondary)}.bf-error{background:#c45b5b1f;border:1px solid var(--color-error);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);color:var(--color-error);font-size:var(--text-sm);margin-bottom:var(--space-lg)}.bf-step{animation:bf-fade-in .3s ease}.bf-step__title{font-size:var(--text-2xl);margin-bottom:var(--space-sm)}.bf-step__subtitle{color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-xl)}@keyframes bf-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bf-practitioners{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin-top:var(--space-lg)}@media(min-width:520px){.bf-practitioners{grid-template-columns:repeat(3,1fr)}}.bf-prac-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-secondary);cursor:pointer;transition:all var(--transition-base);text-align:left;color:var(--color-text-primary);padding:0}.bf-prac-card:hover{border-color:var(--color-border);transform:translateY(-2px)}.bf-prac-card--selected{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent),var(--shadow-glow)}.bf-prac-card__img{aspect-ratio:3 / 4;overflow:hidden;background:var(--color-bg-elevated)}.bf-prac-card__img img{width:100%;height:100%;object-fit:cover}.bf-prac-card__initial{display:flex;align-items:center;justify-content:center;height:100%;font-family:var(--font-display);font-size:var(--text-3xl);color:var(--color-accent);opacity:.3}.bf-prac-card__info{padding:var(--space-sm) var(--space-md) var(--space-md);display:flex;flex-direction:column;gap:2px}.bf-prac-card__name{font-family:var(--font-display);font-size:var(--text-base)}.bf-prac-card__tagline{font-size:var(--text-xs);color:var(--color-text-muted);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bf-prac-card__status{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;margin-top:2px}.bf-prac-card__status--available{color:var(--color-success)}.bf-prac-card__status--busy{color:var(--color-accent)}.bf-prac-card__check{position:absolute;top:var(--space-sm);right:var(--space-sm);width:24px;height:24px;border-radius:50%;background:var(--color-accent);color:var(--color-bg-primary);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:700}.bf-services{display:flex;flex-direction:column;gap:var(--space-md)}.bf-service-card{position:relative;display:block;text-align:left;padding:var(--space-lg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-bg-secondary);cursor:pointer;transition:all var(--transition-base);color:var(--color-text-primary);width:100%}.bf-service-card:hover{border-color:var(--color-border)}.bf-service-card--selected{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent),var(--shadow-glow)}.bf-service-card__header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.bf-service-card__name{font-family:var(--font-display);font-size:var(--text-lg)}.bf-service-card__cat{font-size:.625rem;text-transform:uppercase;letter-spacing:var(--tracking-widest);color:var(--color-accent);border:1px solid rgba(212,168,83,.3);border-radius:var(--radius-full);padding:1px 8px}.bf-service-card__desc{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-sm);line-height:var(--leading-relaxed)}.bf-service-card__meta{display:flex;justify-content:space-between;align-items:center}.bf-service-card__duration{font-size:var(--text-sm);color:var(--color-text-muted)}.bf-service-card__price{font-size:var(--text-lg);font-weight:600;display:flex;align-items:center;gap:var(--space-sm)}.bf-service-card__price-regular{text-decoration:line-through;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:400}.bf-service-card__price-offpeak{color:var(--color-success)}.bf-service-card__offpeak-badge{display:inline-block;margin-top:var(--space-sm);font-size:var(--text-xs);color:var(--color-success);letter-spacing:var(--tracking-wide);text-transform:uppercase}.bf-service-card__check{position:absolute;top:var(--space-md);right:var(--space-md);width:24px;height:24px;border-radius:50%;background:var(--color-accent);color:var(--color-bg-primary);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:700}.bf-dates{display:flex;gap:var(--space-sm);overflow-x:auto;scrollbar-width:none;padding:var(--space-md) 0;margin-top:var(--space-sm)}.bf-dates::-webkit-scrollbar{display:none}.bf-date-btn{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-size:var(--text-sm);white-space:nowrap;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.bf-date-btn:hover{border-color:var(--color-accent);color:var(--color-text-primary)}.bf-date-btn--selected{border-color:var(--color-accent);background:var(--color-accent-muted);color:var(--color-accent)}.bf-slots{margin-top:var(--space-lg)}.bf-slots__loading,.bf-slots__empty{color:var(--color-text-muted);font-size:var(--text-sm);text-align:center;padding:var(--space-xl) 0}.bf-slots__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm)}@media(min-width:520px){.bf-slots__grid{grid-template-columns:repeat(6,1fr)}}.bf-slot{padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);text-align:center}.bf-slot:hover{border-color:var(--color-accent);color:var(--color-text-primary)}.bf-slot--selected{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-bg-primary);font-weight:600}.bf-field{margin-bottom:var(--space-lg)}.bf-label{display:block;font-size:var(--text-sm);font-weight:500;margin-bottom:var(--space-xs);color:var(--color-text-primary)}.bf-required{color:var(--color-accent)}.bf-optional{color:var(--color-text-muted);font-weight:400}.bf-input{width:100%;padding:var(--space-sm) var(--space-md);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--text-base);transition:border-color var(--transition-fast)}.bf-input::placeholder{color:var(--color-text-muted)}.bf-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.bf-hint{display:block;font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-xs)}.bf-voucher-row{display:flex;gap:var(--space-sm)}.bf-voucher-row .bf-input{flex:1;text-transform:uppercase;letter-spacing:var(--tracking-widest);font-family:monospace}.bf-voucher-check{flex-shrink:0;font-size:var(--text-xs);padding:var(--space-sm) var(--space-md)}.bf-field-error{display:block;font-size:var(--text-xs);color:var(--color-error);margin-top:var(--space-xs)}.bf-voucher-valid{font-size:var(--text-sm);color:var(--color-success);margin-top:var(--space-sm);padding:var(--space-sm) var(--space-md);background:#4a8c5c14;border-radius:var(--radius-sm);border:1px solid rgba(74,140,92,.2)}.bf-summary{background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-xl)}.bf-summary__row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xs) 0;font-size:var(--text-sm)}.bf-summary__row span{color:var(--color-text-secondary)}.bf-summary__row strong{color:var(--color-text-primary)}.bf-summary__row--discount strong{color:var(--color-success)}.bf-summary__row--total{padding-top:var(--space-sm);font-size:var(--text-base)}.bf-summary__row--total strong{color:var(--color-accent);font-size:var(--text-lg)}.bf-summary__divider{height:1px;background:var(--color-border-subtle);margin:var(--space-sm) 0}.bf-summary__note{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-sm)}.bf-payment{margin-bottom:var(--space-xl)}.bf-stripe-mount{padding:var(--space-md);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:44px;margin-top:var(--space-xs)}.bf-submit{width:100%;padding:var(--space-md);font-size:var(--text-base)}.bf-submit:disabled{opacity:.5;cursor:not-allowed}.bf-discreet{text-align:center;font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-md)}.bf-deposit-terms{padding:var(--space-md) var(--space-lg);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-lg)}.bf-deposit-terms p{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin:0}.bf-agree{display:flex;align-items:flex-start;gap:var(--space-sm);margin:var(--space-lg) 0;cursor:pointer;font-size:var(--text-sm);color:var(--color-text-secondary)}.bf-agree input[type=checkbox]{margin-top:3px;accent-color:var(--color-accent);width:18px;height:18px;flex-shrink:0}.bf-closed{text-align:center;padding:var(--space-3xl) var(--space-lg)}.bf-closed__title{font-size:var(--text-2xl);margin-bottom:var(--space-md)}.bf-closed__text{color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-xl);max-width:40ch;margin-left:auto;margin-right:auto}.bf-confirmed__address{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-xs)}.bf-confirmed__deposit{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-lg);padding:var(--space-md);background:var(--color-bg-elevated);border-radius:var(--radius-md)}.bf-nav{display:flex;justify-content:space-between;gap:var(--space-md);margin-top:var(--space-2xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border-subtle)}.bf-nav .btn{min-width:100px}.bf-nav .btn--primary{margin-left:auto}.bf-nav .btn--primary:disabled{opacity:.4;cursor:not-allowed}.bf-nav--back-only{justify-content:flex-start}.bf-confirmed{text-align:center;padding:var(--space-2xl) 0;animation:bf-fade-in .4s ease}.bf-confirmed__icon{width:64px;height:64px;border-radius:50%;background:#4a8c5c26;border:2px solid var(--color-success);color:var(--color-success);font-size:var(--text-2xl);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-lg)}.bf-confirmed__title{font-size:var(--text-3xl);margin-bottom:var(--space-sm)}.bf-confirmed__ref{font-family:monospace;font-size:var(--text-sm);color:var(--color-accent);letter-spacing:var(--tracking-widest);margin-bottom:var(--space-xl)}.bf-confirmed__details{background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-xl);display:inline-block}.bf-confirmed__details p{font-size:var(--text-sm);color:var(--color-text-secondary)}.bf-confirmed__details strong{color:var(--color-text-primary);font-family:var(--font-display);font-size:var(--text-lg)}.bf-confirmed__note{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-xl)}.bf-confirmed__link{display:inline-flex}.booking-page[data-astro-cid-pdfs7twc]{padding:var(--space-2xl) 0 var(--space-4xl)}.booking-page__header[data-astro-cid-pdfs7twc]{text-align:center;margin-bottom:var(--space-2xl)}.booking-page__intro[data-astro-cid-pdfs7twc]{color:var(--color-text-secondary);font-size:var(--text-sm)}.booking-page__nojs[data-astro-cid-pdfs7twc]{text-align:center;padding:var(--space-2xl);color:var(--color-text-secondary);background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle)}.booking-page__nojs[data-astro-cid-pdfs7twc] p[data-astro-cid-pdfs7twc]+p[data-astro-cid-pdfs7twc]{margin-top:var(--space-sm);font-size:var(--text-sm);color:var(--color-text-muted)}
