/* Paired text/background colours derived from Design. Loaded after theme styles. */
body:not(.md-admin-ui) { color-scheme:var(--md-page-color-scheme,light);color:var(--md-text-color); }
body:not(.md-admin-ui) :is(.card,.md-content-card,.md-auth-card,.home-panel,.home-account-panel,.home-feature-card,.home-news-card,.md-home-service-card,.md-booking-card,.md-reschedule-current,.md-reschedule-day,.bg-light,.bg-white,.text-bg-light) {
    --md-text-color:var(--md-surface-text);
    --md-secondary-color:var(--md-surface-muted);
    color:var(--md-text-color);
}
body:not(.md-admin-ui) :is(.text-secondary,.text-muted,.text-body-secondary,.form-text) {color:var(--md-secondary-color)!important;}
body:not(.md-admin-ui) :is(.form-control,.form-select,select) {color-scheme:var(--md-input-color-scheme,light);}
body:not(.md-admin-ui) :is(select option,select optgroup) {background:var(--md-input-bg)!important;color:var(--md-input-text-color)!important;}
body:not(.md-admin-ui) :is(.form-control,textarea)::placeholder {color:var(--md-input-placeholder)!important;opacity:1!important;}
body:not(.md-admin-ui) :is(.form-control,.form-select):disabled {background:var(--md-input-bg)!important;color:var(--md-input-text-color)!important;opacity:1;}
body:not(.md-admin-ui) :is(.modal-content,.md-reschedule-dialog) {
    --md-text-color:var(--md-modal-text);--md-secondary-color:var(--md-modal-muted);
    background:var(--md-modal-bg)!important;color:var(--md-modal-text)!important;
}
body:not(.md-admin-ui) :is(.modal-header,.md-reschedule-dialog-head) {
    --md-text-color:var(--md-modal-header-text);--md-secondary-color:var(--md-modal-header-muted);
    background:var(--md-modal-header-bg)!important;color:var(--md-modal-header-text)!important;
}
body:not(.md-admin-ui) :is(.modal-title,.md-reschedule-dialog-head h2) {color:inherit!important;}
body:not(.md-admin-ui) :is(.btn-primary,.btn-dark,.vl-btn:not(.vl-btn-ghost)) {
    background:var(--md-button-color)!important;color:var(--md-button-text-color)!important;
}
body:not(.md-admin-ui) :is(.btn-primary,.btn-dark,.vl-btn:not(.vl-btn-ghost)):is(:hover,:focus-visible,:active) {
    background:var(--md-button-hover-color)!important;color:var(--md-button-hover-text)!important;
}
body:not(.md-admin-ui) :is(.btn-outline-dark,.btn-outline-secondary,.vl-btn-ghost) {
    background:var(--md-surface-color)!important;color:var(--md-surface-text)!important;
}
body:not(.md-admin-ui) :is(.btn-outline-dark,.btn-outline-secondary,.vl-btn-ghost):is(:hover,:focus-visible,:active) {
    background:var(--md-button-hover-color)!important;color:var(--md-button-hover-text)!important;
}
body:not(.md-admin-ui) .alert:not(.alert-light) :is(.text-secondary,.text-muted,.text-dark,.form-text,label) {color:var(--bs-alert-color)!important;}
body:not(.md-admin-ui) .md-calendar-mobile-overview-day:not(:disabled):hover {color:var(--md-calendar-overview-active-hover-text)!important;}
body.md-theme-velune .vl-nav-social-link {color:var(--md-header-text)!important;}
body.md-theme-velune .vl-footer {color:var(--md-footer-text-color)!important;background:var(--md-footer-bg)!important;}
body.md-theme-velune .vl-footer :is(p,a,span,.md-mandatory-offer-note) {color:inherit;}
body.md-theme-velune .vl-footer .vl-footer-social-link {background:var(--md-surface-color);color:var(--md-surface-text)!important;}
/* Admin controls remain legible when public inputs/modal colours are dark. */
body.md-admin-ui {color-scheme:light;--md-input-text-color:#20252a;--md-input-bg:#ffffff;--md-modal-bg:#f8f8f6;--md-modal-header-bg:#e3e6e8;--md-modal-close-color:#20252a;}
body.md-admin-ui :is(.form-control,.form-select,.input-group-text,textarea,select option,select optgroup) {background:#fff!important;color:#20252a!important;-webkit-text-fill-color:#20252a;}
body.md-admin-ui :is(.form-control,textarea)::placeholder {color:#596168!important;opacity:1;}
body.md-admin-ui :is(.form-control,.form-select):disabled {background:#e9ecef!important;color:#505860!important;-webkit-text-fill-color:#505860;opacity:1;}
body.md-admin-ui :is(.modal-content,.modal-title,.modal-body,.modal-footer) {color:#20252a!important;}
body.md-admin-ui :is(.text-muted,.text-body-secondary,.form-text) {color:#596168!important;}
/* Restore keyboard focus removed by the global reset. */
html body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
    outline:2px solid currentColor!important;outline-offset:3px!important;
}
body.md-admin-ui {--md-admin-muted:#596168;}
body.md-admin-ui .text-secondary {color:#596168!important;}
body.md-admin-ui .alert :is(.text-secondary,.text-muted,.text-body-secondary,.form-text) {color:var(--bs-alert-color)!important;}
body:not(.md-admin-ui) .md-reschedule-time {color:var(--md-surface-text);}
body:not(.md-admin-ui) .md-reschedule-time.is-selected {color:var(--md-button-text-color);}
body:not(.md-admin-ui) .md-reschedule-day:disabled {opacity:1;color:var(--md-surface-muted);}
