.drecha-booking-panel :is(input, select, textarea, button, a):focus-visible,
.drecha-customer-account :is(input, select, textarea, button, a):focus-visible,
.drecha-appointments :is(input, select, textarea, button, a):focus-visible {
    outline: 3px solid #ffbf47;
    outline-offset: 2px;
}

/* Neutralize explicit theme text colors inside Drecha's light frontend surfaces. */
.drecha-booking-panel :where(h1, h2, h3, h4, h5, h6, p, li, legend, label, span, strong, small),
.drecha-customer-account :where(h1, h2, h3, h4, h5, h6, p, li, dt, dd, legend, label, span, strong, small),
.drecha-appointments :where(h1, h2, h3, h4, h5, h6, p, li, legend, label, span, strong, small) {
    color: inherit;
}

.drecha-customer-account a:not(.drecha-customer-link-button) {
    color: var(--drecha-customer-accent);
}

@media (forced-colors: active) {
    .drecha-booking-panel,
    .drecha-customer-card,
    .drecha-customer-header,
    .drecha-customer-booking,
    .drecha-appointments {
        border: 1px solid CanvasText;
    }
}

@media (prefers-reduced-motion: reduce) {
    .drecha-booking-panel *,
    .drecha-customer-account *,
    .drecha-appointments * {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
