/* =========================================================
   MBS GLOBAL BUTTON + NAV FIX
   Apply after custom.css on every page.
   Fixes invisible button labels and prevents logo/nav jump.
   ========================================================= */

/* Header logo: no lift, no square, no background box */
#header .logo,
#header .logo:hover,
#header .logo:focus,
#header .logo img,
#header .logo:hover img,
#header .logo:focus img {
    transform: none !important;
    translate: none !important;
    scale: 1 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    outline: none !important;
    filter: none !important;
}

#header .logo:hover img {
    opacity: 0.92 !important;
}

/* Navbar hover: color only, no movement or background box */
#navbar a,
#navbar a:focus,
#navbar a:hover,
#navbar .active,
#navbar .active:focus,
#navbar li:hover > a {
    transform: none !important;
    translate: none !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}

#navbar a:hover,
#navbar li:hover > a {
    color: #f5a400 !important;
}

/* Global button text visibility */
.btn,
button,
a.btn,
.open-quote-modal,
.take-offer-btn,
.mbs-card-btn,
.division-card a,
.service-card a,
.service-card .btn,
.impact-service a,
.impact-service .btn,
.offer-card a,
.offer-card .btn,
.price-table a,
.price-table .btn,
.service-action,
.service-btn,
.tap-btn,
.cta-btn {
    text-indent: 0 !important;
    letter-spacing: normal !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

/* Outline buttons on white cards */
.service-card .btn,
.impact-service .btn,
.division-card .btn,
.price-table .btn,
.mbs-card-btn,
.service-action,
.service-btn,
a.btn-outline-primary,
button.btn-outline-primary {
    color: #08213d !important;
    -webkit-text-fill-color: #08213d !important;
    background: #ffffff !important;
    border: 1.5px solid #0d6efd !important;
    border-radius: 999px !important;
    padding: 12px 24px !important;
    min-width: 190px !important;
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Hover state for outline buttons */
.service-card .btn:hover,
.impact-service .btn:hover,
.division-card .btn:hover,
.price-table .btn:hover,
.mbs-card-btn:hover,
.service-action:hover,
.service-btn:hover,
a.btn-outline-primary:hover,
button.btn-outline-primary:hover {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: #0d6efd !important;
    border-color: #0d6efd !important;
}

/* Primary buttons */
.btn-primary,
button.btn-primary,
a.btn-primary,
.open-quote-modal {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: #0d6efd !important;
    border-color: #0d6efd !important;
}

/* Warning / TAP buttons */
.btn-warning,
button.btn-warning,
a.btn-warning,
.tap-btn {
    color: #051321 !important;
    -webkit-text-fill-color: #051321 !important;
    background: #ffb400 !important;
    border-color: #ffb400 !important;
}

/* Fix icons inside buttons */
.btn i,
button i,
a.btn i {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
    margin-right: 8px;
}

/* Smooth card animation only, not menu/logo */
.service-card,
.division-card,
.impact-service,
.price-table {
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}

.service-card:hover,
.division-card:hover,
.impact-service:hover,
.price-table:hover {
    transform: translateY(-4px) !important;
}

/* Mobile button sizing */
@media (max-width: 767px) {
    .service-card .btn,
    .impact-service .btn,
    .division-card .btn,
    .price-table .btn,
    .mbs-card-btn,
    .service-action,
    .service-btn {
        width: 100% !important;
        min-width: 0 !important;
        white-space: normal !important;
    }
}
