/* SRV-CORE — Global button / link hover visibility
 * Nexus theme.min.css: white text + --grayscale-lifted on hover (invisible).
 * Vue cart UPage back link: hover:text-neutral-lifted too light on white.
 * Load after theme.min.css and style.min.css.
 */

:root {
    --grayscale-lifted: #cbd5e1;
    --vl-neutral-lifted: #475569;
    --vl-neutral-accented: #334155;
    --color-neutral-lifted: #475569;
    --color-neutral-accented: #334155;
    --color-grayscale-lifted: #94a3b8;
}

/* ── Bootstrap primary ───────────────────────────────────────────────────── */

.btn-primary,
.btn-primary:not(:disabled):not(.disabled) {
    background-color: var(--brand-primary, #1062fe) !important;
    border-color: var(--brand-primary, #1062fe) !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled):hover {
    background-color: var(--brand-primary-dark, #0c4fd6) !important;
    border-color: var(--brand-primary-dark, #0c4fd6) !important;
    color: #fff !important;
}

/* ── Bootstrap default / secondary ───────────────────────────────────────── */

.btn-default,
.btn-secondary {
    background-color: #fff !important;
    border: 1px solid var(--brand-border, #e8eaed) !important;
    color: var(--brand-heading, #17191c) !important;
}

.btn-default:hover,
.btn-default:focus,
.btn-secondary:hover,
.btn-secondary:focus,
.btn-default:not(:disabled):not(.disabled):hover,
.btn-secondary:not(:disabled):not(.disabled):hover {
    background-color: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
    color: var(--brand-heading, #17191c) !important;
}

/* ── Bootstrap success ───────────────────────────────────────────────────── */

.btn-success {
    background-color: var(--brand-primary, #1062fe) !important;
    border-color: var(--brand-primary, #1062fe) !important;
    color: #fff !important;
}

.btn-success:hover,
.btn-success:focus,
.btn-success:not(:disabled):not(.disabled):hover {
    background-color: var(--brand-primary-dark, #0c4fd6) !important;
    border-color: var(--brand-primary-dark, #0c4fd6) !important;
    color: #fff !important;
}

/* ── Bootstrap link (theme sets color:#fff on hover) ─────────────────────── */

.btn-link {
    color: var(--brand-primary, #1062fe) !important;
}

.btn-link:hover,
.btn-link:focus {
    color: var(--brand-primary-dark, #0c4fd6) !important;
    text-decoration: underline !important;
}

/* ── Outline ─────────────────────────────────────────────────────────────── */

.btn-outline-primary {
    color: var(--brand-primary, #1062fe) !important;
    border-color: var(--brand-primary, #1062fe) !important;
    background: #fff !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background: var(--brand-primary, #1062fe) !important;
    border-color: var(--brand-primary, #1062fe) !important;
    color: #fff !important;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
    background: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
    color: var(--brand-heading, #17191c) !important;
}

/* ── Sidebar & client-area card buttons ──────────────────────────────────── */

body .sidebar .btn-success:hover {
    background: var(--brand-primary-dark, #0c4fd6) !important;
    border-color: var(--brand-primary-dark, #0c4fd6) !important;
    color: #fff !important;
}

body .sidebar .btn-default:hover {
    background: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
    color: var(--brand-heading, #17191c) !important;
}

body .primary-content .client-home-cards .card .card-header .btn:hover,
body .primary-content .client-home-cards .mc-promo-manage .card-header .btn:hover,
body .primary-content .client-home-cards .mc-promo-login .card-header .btn:hover {
    background: var(--brand-primary-dark, #0c4fd6) !important;
    border-color: var(--brand-primary-dark, #0c4fd6) !important;
    color: #fff !important;
}

body .primary-content .client-home-cards .card .btn-success:hover,
body .primary-content .client-home-cards .mc-promo-manage .btn-success:hover,
body .primary-content .client-home-cards .mc-promo-login .btn-success:hover {
    background: var(--brand-primary-dark, #0c4fd6) !important;
    border-color: var(--brand-primary-dark, #0c4fd6) !important;
    color: #fff !important;
}

body .primary-content .btn-success.btn-lg[name=enable]:hover,
body .primary-content .btn-group-lg > .btn-success[name=enable].btn:hover {
    background: var(--brand-primary-dark, #0c4fd6) !important;
    border-color: var(--brand-primary-dark, #0c4fd6) !important;
    color: #fff !important;
}

/* ── Vue / WHMCS UI (domain renew, modern cart routes) ─────────────────────── */

.hover\:text-neutral-lifted:hover {
    color: #475569 !important;
}

.hover\:decoration-neutral-lifted:hover {
    -webkit-text-decoration-color: #475569 !important;
    text-decoration-color: #475569 !important;
}

.hover\:border-neutral-lifted:hover {
    border-color: #94a3b8 !important;
}

.hover\:text-primary-lifted:hover {
    color: var(--brand-primary-dark, #0c4fd6) !important;
}

.hover\:border-primary-lifted:hover {
    border-color: var(--brand-primary-dark, #0c4fd6) !important;
}

.hover\:text-lifted:hover {
    color: #64748b !important;
}

/* ── Logged-in topbar (notifications, client name, switch account) ──────────
 * Theme: white text on var(--grayscale-accented) — often undefined or overridden
 * to white surface on mobile, so labels/icons disappear after login.
 */

header.header .topbar {
    background-color: #f1f5f9 !important;
    color: var(--brand-heading, #17191c) !important;
    border-bottom: 1px solid var(--brand-border, #e8eaed);
}

header.header .topbar .btn {
    color: var(--brand-heading, #17191c) !important;
    background: transparent !important;
    border-color: transparent !important;
}

header.header .topbar .btn:hover,
header.header .topbar .btn:focus {
    color: var(--brand-primary, #1062fe) !important;
    background: rgba(16, 98, 254, 0.08) !important;
}

header.header .topbar .active-client .input-group-text {
    color: var(--brand-muted, #64748b) !important;
    background: transparent !important;
    border-color: transparent !important;
}

header.header .topbar .active-client .btn,
header.header .topbar .active-client .btn.btn-active-client {
    color: var(--brand-heading, #17191c) !important;
    background: transparent !important;
}

header.header .topbar .active-client .btn:hover,
header.header .topbar .active-client .btn:focus {
    color: var(--brand-primary, #1062fe) !important;
    background: rgba(16, 98, 254, 0.08) !important;
}

header.header .topbar .active-client .btn.btn-active-client span {
    color: var(--brand-heading, #17191c) !important;
    border-bottom-color: var(--brand-primary, #1062fe) !important;
}

header.header .topbar .btn.btn-return-to-admin {
    color: var(--brand-heading, #17191c) !important;
    background: #e2e8f0 !important;
}

header.header .topbar .btn.btn-return-to-admin:hover {
    color: var(--brand-primary, #1062fe) !important;
    background: #cbd5e1 !important;
}

/* ── Footer language / currency selector ───────────────────────────────────── */

footer.footer .btn-outline-light,
footer.footer button[data-target="#modalChooseLanguage"] {
    color: var(--brand-heading, #17191c) !important;
    border-color: #cbd5e1 !important;
    background-color: #fff !important;
    font-weight: 600 !important;
}

footer.footer .btn-outline-light:hover,
footer.footer .btn-outline-light:focus,
footer.footer button[data-target="#modalChooseLanguage"]:hover,
footer.footer button[data-target="#modalChooseLanguage"]:focus {
    color: var(--brand-primary, #1062fe) !important;
    border-color: var(--brand-primary, #1062fe) !important;
    background-color: #f8fafc !important;
}

.modal-localisation .item-selector .item {
    color: #334155 !important;
    background-color: rgba(255, 255, 255, 0.92) !important;
    border-color: #e2e8f0 !important;
}

.modal-localisation .item-selector .item:hover,
.modal-localisation .item-selector .item.active {
    color: var(--brand-primary, #1062fe) !important;
    background-color: #fff !important;
    border-color: var(--brand-primary, #1062fe) !important;
}

/* Checkout: "Already registered" uses outline-primary + solid fill — keep text visible */
#order-standard_cart #btnAlreadyRegistered.btn-outline-primary,
#order-standard_cart #btnAlreadyRegistered.btn-outline-primary:hover,
#order-standard_cart #btnAlreadyRegistered.btn-outline-primary:focus {
    color: #fff !important;
    background-color: var(--brand-primary, #1062fe) !important;
    border-color: var(--brand-primary, #1062fe) !important;
}

#order-standard_cart #btnAlreadyRegistered.btn-outline-primary:hover,
#order-standard_cart #btnAlreadyRegistered.btn-outline-primary:focus {
    background-color: var(--brand-primary-dark, #0c4fd6) !important;
    border-color: var(--brand-primary-dark, #0c4fd6) !important;
}
