.btn-primary,
.frame-type-felogin_login input[type="submit"] {
    --bs-btn-color: var(--blx-color-action-primary-fg);
    --bs-btn-bg: var(--blx-color-action-primary-bg);
    --bs-btn-border-color: var(--blx-color-action-primary-bg);
    --bs-btn-hover-color: var(--blx-color-action-primary-fg);
    --bs-btn-hover-bg: var(--blx-color-action-primary-hover-bg);
    --bs-btn-hover-border-color: var(--blx-color-action-primary-hover-bg);
    --bs-btn-focus-shadow-rgb: var(--blx-color-ui-primary-rgb);
    --bs-btn-active-color: var(--blx-color-action-primary-fg);
    --bs-btn-active-bg: var(--blx-color-action-primary-hover-bg);
    --bs-btn-active-border-color: var(--blx-color-action-primary-hover-bg);
    --bs-btn-disabled-color: var(--blx-color-action-primary-fg);
    --bs-btn-disabled-bg: var(--blx-color-action-primary-bg);
    --bs-btn-disabled-border-color: var(--blx-color-action-primary-bg);
}

.btn-secondary {
    --bs-btn-color: var(--blx-color-action-secondary-fg);
    --bs-btn-bg: var(--blx-color-action-secondary-bg);
    --bs-btn-border-color: var(--blx-color-action-secondary-border);
    --bs-btn-hover-color: var(--blx-color-action-secondary-fg);
    --bs-btn-hover-bg: var(--blx-color-action-secondary-hover-bg);
    --bs-btn-hover-border-color: var(--blx-color-action-secondary-hover-border);
    --bs-btn-focus-shadow-rgb: var(--blx-color-ui-primary-rgb);
    --bs-btn-active-color: var(--blx-color-action-secondary-fg);
    --bs-btn-active-bg: var(--blx-color-action-secondary-hover-bg);
    --bs-btn-active-border-color: var(--blx-color-action-secondary-hover-border);
    --bs-btn-disabled-color: var(--blx-color-text-muted);
    --bs-btn-disabled-bg: var(--blx-color-surface-soft);
    --bs-btn-disabled-border-color: var(--blx-color-border);
}

/*
 * The appointment extension ships with a coral default accent. The website
 * theme maps interactive booking states to the same navy used by all CTAs.
 * Semantic error and destructive states remain red in the extension itself.
 */
:root .tx-blxappointments {
    --booking-accent: var(--blx-color-ui-primary);
    --booking-accent-dark: var(--blx-color-ui-primary-hover);
    --booking-navy: var(--blx-color-ui-primary);
    padding-block: clamp(2rem, 4vw, 3rem);
}

:root .tx-blxappointments .blx-booking__field input:focus,
:root .tx-blxappointments .blx-booking__field textarea:focus {
    outline-color: rgb(var(--blx-color-ui-primary-rgb) / 14%);
}

:root .tx-blxappointments .blx-booking__check a {
    color: var(--blx-color-ui-primary);
    text-decoration-color: currentcolor;
}

:root .tx-blxappointments .blx-booking__check a:hover {
    color: var(--blx-color-ui-primary-hover);
}

:root .tx-blxappointments .blx-booking__check a:focus-visible {
    border-radius: 0.125rem;
    outline: 0.125rem solid var(--blx-color-focus);
    outline-offset: 0.1875rem;
}
