/**
 * Bliska Psychologia - shared interaction states.
 *
 * This file is intentionally limited to BP custom UI classes. It does not
 * reset generic WordPress, GeneratePress, Gutenberg, or admin buttons.
 */

:root {
    --bp-ui-navy: #1B3A4B;
    --bp-ui-navy-hover: #122C3A;
    --bp-ui-navy-active: #0E2430;
    --bp-ui-teal: #3D7E8F;
    --bp-ui-teal-dark: #2A6070;
    --bp-ui-teal-soft: #EBF4F6;
    --bp-ui-cream: #F4F1EC;
    --bp-ui-paper: #FFFFFF;
    --bp-ui-surface: #FDFCFA;
    --bp-ui-text: #1B2E38;
    --bp-ui-muted: #5E6C73;
    --bp-ui-border: #E8E4DC;
    --bp-ui-danger: #A23B3B;
    --bp-ui-danger-dark: #7F2424;
    --bp-ui-danger-soft: #FCE6E6;
    --bp-ui-focus: rgba(61, 126, 143, 0.38);
    --bp-ui-focus-strong: rgba(255, 255, 255, 0.72);
    --bp-ui-disabled-bg: #F2F4F4;
    --bp-ui-disabled-border: #D8DEE1;
    --bp-ui-disabled-text: #5E6C73;
}

.bp-btn,
a.bp-btn,
button.bp-btn,
.bp-booking__btn,
.bp-booking__nav-btn,
.bp-contact__btn,
.bpc-register-banner__btn,
.bp-am-btn,
.bp-google-login__continue {
    color: var(--bp-ui-navy);
    text-decoration: none;
}

.bp-btn:visited,
a.bp-btn:visited,
.bp-booking__btn:visited,
.bp-booking__nav-btn:visited,
.bp-contact__btn:visited,
.bpc-register-banner__btn:visited {
    color: var(--bp-ui-navy);
}

.bp-btn:not(.bp-btn--p):not(.bp-btn--primary):not(.bp-btn--s):not(.bp-btn--secondary):not(.bp-btn--g):not(.bp-btn--ghost):not(.bp-btn--danger):not(.bp-btn--on-dark):not(.bp-btn--ghost-dark):hover,
.bp-btn:not(.bp-btn--p):not(.bp-btn--primary):not(.bp-btn--s):not(.bp-btn--secondary):not(.bp-btn--g):not(.bp-btn--ghost):not(.bp-btn--danger):not(.bp-btn--on-dark):not(.bp-btn--ghost-dark):active {
    background: var(--bp-ui-cream);
    border-color: var(--bp-ui-teal);
    color: var(--bp-ui-navy);
}

.bp-btn--p,
.bp-btn--primary,
a.bp-btn--p,
a.bp-btn--primary,
button.bp-btn--p,
button.bp-btn--primary,
.bp-booking__btn--primary,
.bp-contact__btn--primary,
.bpc-register-banner__btn:not(.bpc-register-banner__btn--ghost),
.bp-am-btn,
.bp-google-login__continue {
    background: var(--bp-ui-navy);
    border-color: var(--bp-ui-navy);
    color: #FFFFFF;
}

.bp-btn--p:visited,
.bp-btn--primary:visited,
a.bp-btn--p:visited,
a.bp-btn--primary:visited,
.bp-contact__btn--primary:visited,
.bpc-register-banner__btn:visited {
    color: #FFFFFF;
}

.bp-btn--p:hover,
.bp-btn--primary:hover,
.bp-booking__btn--primary:hover,
.bp-contact__btn--primary:hover,
.bpc-register-banner__btn:not(.bpc-register-banner__btn--ghost):hover,
.bp-am-btn:hover,
.bp-google-login__continue:hover {
    background: var(--bp-ui-navy-hover);
    border-color: var(--bp-ui-navy-hover);
    color: #FFFFFF;
}

.bp-btn--p:active,
.bp-btn--primary:active,
.bp-booking__btn--primary:active,
.bp-contact__btn--primary:active,
.bpc-register-banner__btn:not(.bpc-register-banner__btn--ghost):active,
.bp-am-btn:active,
.bp-google-login__continue:active {
    background: var(--bp-ui-navy-active);
    border-color: var(--bp-ui-navy-active);
    color: #FFFFFF;
}

.bp-btn--s,
.bp-btn--secondary,
a.bp-btn--s,
a.bp-btn--secondary,
button.bp-btn--s,
button.bp-btn--secondary,
.bp-booking__btn--secondary,
.bp-booking__nav-btn,
.bp-contact__btn--outline,
.bpc-register-banner__btn--ghost {
    background: var(--bp-ui-paper);
    border-color: var(--bp-ui-border);
    color: var(--bp-ui-navy);
}

.bp-btn--s:hover,
.bp-btn--s:active,
.bp-btn--secondary:hover,
.bp-btn--secondary:active,
.bp-booking__btn--secondary:hover,
.bp-booking__btn--secondary:active,
.bp-booking__nav-btn:hover:not(:disabled),
.bp-booking__nav-btn:active:not(:disabled),
.bp-contact__btn--outline:hover,
.bp-contact__btn--outline:active,
.bpc-register-banner__btn--ghost:hover,
.bpc-register-banner__btn--ghost:active {
    background: var(--bp-ui-cream);
    border-color: var(--bp-ui-teal);
    color: var(--bp-ui-navy);
}

.bp-contact__btn--outline-light,
.bp-contact__btn--outline-light:visited {
    background: transparent;
    border-color: rgba(255, 255, 255, 0.45);
    color: #FFFFFF;
}

.bp-contact__btn--outline-light:hover,
.bp-contact__btn--outline-light:active {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.85);
    color: #FFFFFF;
}

.bp-btn--g,
.bp-btn--ghost,
a.bp-btn--g,
a.bp-btn--ghost,
button.bp-btn--g,
button.bp-btn--ghost,
.bp-booking__btn--ghost,
.bp-contact__btn--ghost,
.bp-link,
.bp-dash-link {
    background: transparent;
    color: var(--bp-ui-teal-dark);
}

.bp-btn--g:hover,
.bp-btn--g:active,
.bp-btn--ghost:hover,
.bp-btn--ghost:active,
.bp-booking__btn--ghost:hover,
.bp-booking__btn--ghost:active,
.bp-contact__btn--ghost:hover,
.bp-contact__btn--ghost:active,
.bp-link:hover,
.bp-link:active,
.bp-dash-link:hover,
.bp-dash-link:active {
    background: var(--bp-ui-teal-soft);
    border-color: var(--bp-ui-teal);
    color: var(--bp-ui-navy);
}

.bp-btn--danger,
button.bp-btn--danger,
a.bp-btn--danger {
    background: #FFFFFF;
    border-color: #D7A0A0;
    color: var(--bp-ui-danger);
}

.bp-btn--danger:hover,
.bp-btn--danger:active,
.bp-danger-zone .bp-btn:hover {
    background: var(--bp-ui-danger-soft);
    border-color: var(--bp-ui-danger);
    color: var(--bp-ui-danger-dark);
}

.bp-btn--on-dark,
a.bp-btn--on-dark {
    background: #EAF6F8;
    border-color: #C7E4EB;
    color: #153745;
}

.bp-btn--on-dark:hover,
.bp-btn--on-dark:active {
    background: #FFFFFF;
    border-color: #FFFFFF;
    color: #102D3A;
}

.bp-btn--ghost-dark,
a.bp-btn--ghost-dark {
    background: rgba(234, 246, 248, 0.10);
    border-color: rgba(234, 246, 248, 0.55);
    color: #EAF6F8;
}

.bp-btn--ghost-dark:hover,
.bp-btn--ghost-dark:active {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(234, 246, 248, 0.78);
    color: #FFFFFF;
}

.bp-kons-filter__chip,
.bp-kons__side button,
.bp-booking__auth-tab,
.bp-am-tab {
    color: var(--bp-ui-navy);
}

.bp-kons-filter__chip:hover,
.bp-kons__side button:hover,
.bp-booking__auth-tab:hover,
.bp-am-tab:hover:not(.bp-am-tab--active) {
    background: var(--bp-ui-cream);
    border-color: var(--bp-ui-teal);
    color: var(--bp-ui-navy);
}

.bp-booking__auth-tab--active,
.bp-booking__auth-tab--active:hover,
.bp-am-tab--active,
.bp-am-tab--active:hover {
    background: var(--bp-ui-navy);
    border-color: var(--bp-ui-navy);
    color: #FFFFFF;
}

.bp-booking__auth-tab--active:active,
.bp-am-tab--active:active {
    background: var(--bp-ui-navy-active);
    border-color: var(--bp-ui-navy-active);
    color: #FFFFFF;
}

.bp-kons-filter__chip.is-active,
.bp-kons-filter__chip.is-active:hover,
.bp-kons__side button.is-active,
.bp-kons__side button.is-active:hover {
    background: var(--bp-ui-navy);
    border-color: var(--bp-ui-navy);
    color: #FFFFFF;
}

.bp-kons-filter__chip.is-active:hover,
.bp-kons__side button.is-active:hover {
    background: var(--bp-ui-navy-hover);
    border-color: var(--bp-ui-navy-hover);
}

.bp-booking__slot:hover,
.bp-booking__slot--selected,
.bp-booking__date--selected,
.bp-booking__date--selected:hover {
    background: var(--bp-ui-navy);
    border-color: var(--bp-ui-navy);
    color: #FFFFFF;
}

.bp-booking__date--available:hover {
    background: var(--bp-ui-teal-soft);
    border-color: var(--bp-ui-teal);
    color: var(--bp-ui-navy);
}

.bp-e2ee-modal__btn {
    text-decoration: none;
}

.bp-e2ee-modal__btn--secondary {
    background: var(--bp-ui-paper);
    border-color: var(--bp-ui-border);
    color: var(--bp-ui-navy);
}

.bp-e2ee-modal__btn--secondary:hover,
.bp-e2ee-modal__btn--secondary:active {
    background: var(--bp-ui-cream);
    border-color: var(--bp-ui-teal);
    color: var(--bp-ui-navy);
}

.bp-e2ee-modal__btn--primary,
.bp-e2ee-modal__actions button[type="submit"] {
    background: var(--bp-ui-navy);
    border-color: var(--bp-ui-navy);
    color: #FFFFFF;
}

.bp-e2ee-modal__btn--primary:hover,
.bp-e2ee-modal__actions button[type="submit"]:hover {
    background: var(--bp-ui-navy-hover);
    border-color: var(--bp-ui-navy-hover);
    color: #FFFFFF;
}

.bp-e2ee-modal__btn--primary:active,
.bp-e2ee-modal__actions button[type="submit"]:active {
    background: var(--bp-ui-navy-active);
    border-color: var(--bp-ui-navy-active);
    color: #FFFFFF;
}

.bp-btn:focus-visible,
.bp-link:focus-visible,
.bp-dash-link:focus-visible,
.bp-booking__btn:focus-visible,
.bp-booking__nav-btn:focus-visible,
.bp-booking__slot:focus-visible,
.bp-booking__date:focus-visible,
.bp-booking__auth-tab:focus-visible,
.bp-kons-filter__chip:focus-visible,
.bp-kons__side button:focus-visible,
.bp-contact__btn:focus-visible,
.bpc-register-banner__btn:focus-visible,
.bp-am-btn:focus-visible,
.bp-am-tab:focus-visible,
.bp-google-login__continue:focus-visible {
    outline: 3px solid var(--bp-ui-focus);
    outline-offset: 3px;
}

.bp-btn--p:focus-visible,
.bp-btn--primary:focus-visible,
.bp-booking__btn--primary:focus-visible,
.bp-booking__auth-tab--active:focus-visible,
.bp-contact__btn--primary:focus-visible,
.bpc-register-banner__btn:not(.bpc-register-banner__btn--ghost):focus-visible,
.bp-am-btn:focus-visible,
.bp-kons-filter__chip.is-active:focus-visible,
.bp-kons__side button.is-active:focus-visible,
.bp-booking__slot--selected:focus-visible,
.bp-booking__date--selected:focus-visible {
    box-shadow: 0 0 0 5px var(--bp-ui-focus-strong);
}

.bp-e2ee-modal__btn:focus-visible,
.bp-e2ee-modal__form input:focus-visible {
    outline: 3px solid var(--bp-ui-focus);
    outline-offset: 3px;
}

.bp-e2ee-modal__btn--primary:focus-visible,
.bp-e2ee-modal__actions button[type="submit"]:focus-visible {
    box-shadow: 0 0 0 5px var(--bp-ui-focus-strong);
}

.bp-btn:disabled,
.bp-btn[disabled],
.bp-booking__btn:disabled,
.bp-booking__nav-btn:disabled,
.bp-booking__slot:disabled,
.bp-booking__date:disabled,
.bp-contact__btn:disabled,
.bpc-register-banner__btn:disabled,
.bp-am-btn:disabled,
.bp-google-login__continue:disabled {
    background: var(--bp-ui-disabled-bg);
    border-color: var(--bp-ui-disabled-border);
    color: var(--bp-ui-disabled-text);
    cursor: not-allowed;
    opacity: 1;
    transform: none;
}
