body.booking-public-body {
    --booking-button: #087c36;
    --booking-button-text: #ffffff;
    --booking-background: #f5f7fb;
    --booking-header: #ffffff;
    --booking-header-text: #000000;
    background: var(--booking-background);
}
.booking-public-body .booking-public-header {
    background: var(--booking-header);
    color: var(--booking-header-text);
}
.booking-public-body .booking-public-brand-sub,
.booking-public-body .booking-public-powered { color: inherit; }
.booking-public-body .btn-primary,
.booking-public-body .btn-success,
.booking-public-body .btn-primary:hover,
.booking-public-body .btn-success:hover,
.booking-public-body .btn-primary:focus,
.booking-public-body .btn-success:focus,
.booking-public-body .btn-primary:not(:disabled):not(.disabled):active,
.booking-public-body .btn-success:not(:disabled):not(.disabled):active,
.booking-public-body .booking-step.is-active,
.booking-public-body .booking-mode-option[aria-pressed="true"] {
    /* Override the shared ByteBox button theme only on public booking pages. */
    background: var(--booking-button) !important;
    border-color: var(--booking-button) !important;
    color: var(--booking-button-text) !important;
    text-shadow: none;
}
.booking-public-body .btn-primary:hover,
.booking-public-body .btn-success:hover { box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important; }
.booking-public-body .btn-primary:focus-visible,
.booking-public-body .btn-success:focus-visible,
.booking-public-body .booking-slot-choice:focus-visible {
    outline: 2px solid #1d2733;
    outline-offset: 3px;
}
.booking-public-body .booking-choice:hover,
.booking-public-body .booking-choice.is-selected {
    border-color: var(--booking-button);
    box-shadow: inset 0 0 0 1px var(--booking-button);
}
.booking-public-body .bbCalendarDayCell.has-slots {
    border-color: var(--booking-button);
    box-shadow: inset 0 -3px 0 var(--booking-button);
}
.booking-public-body .bbCalendarDayCell.is-selected-day {
    border-color: var(--booking-button);
    box-shadow: inset 0 0 0 2px var(--booking-button);
}
.booking-public-body .booking-slot-choice.is-selected { background: #f0f3f5; }
.booking-public-body .booking-slot-choice.is-selected .booking-slot-check {
    background: var(--booking-button);
    color: var(--booking-button-text);
    border-color: var(--booking-button);
}
.booking-public-body .booking-mode-switch,
.booking-public-body .booking-mode-option + .booking-mode-option { border-color: var(--booking-button); }
.booking-public-body .booking-mode-option { color: #1d2733; }
