/* Contrast Overrides for Primary Backgrounds */
.bg-primary,
.bg-accent,
.bg-dark,
.btn-primary,
.bg-gradient,
.badge-primary {
    color: #ffffff !important;
}

.bg-primary *,
.bg-accent *,
.bg-dark *,
.btn-primary *,
.bg-gradient *,
.badge-primary * {
    color: inherit !important;
}


/* Specific button text color */
.btn-primary {
    color: #ffffff !important;
}

.btn-primary:hover {
    color: #ffffff !important;
}

/* Footer Customization */
.tt-footer,
.tt-footer-top,
.tt-footer-bottom {
    background-color: #0e121b !important;
    color: #ffffff !important;
}

.tt-footer *,
.tt-footer-top *,
.tt-footer-bottom *,
.tt-footer-widget *,
.tt-footer-menu li a,
.tt-footer-widget address,
.tt-footer-widget li {
    color: #ffffff !important;
}

.tt-footer-menu li a:hover {
    color: #ffcccc !important;
    text-decoration: underline !important;
}

.tt-footer h6,
.tt-footer .text-white {
    color: #ffffff !important;
}


/* Logo Optimization */
.logo-img {
    max-height: 28px !important;
    width: auto !important;
}



/* Typography for Light Sections (Home) */
section.ptb-100:not(.bg-dark):not(.bg-primary):not(.bg-accent):not(.bg-gradient) h2,
section.ptb-100:not(.bg-dark):not(.bg-primary):not(.bg-accent):not(.bg-gradient) h3,
section.ptb-100:not(.bg-dark):not(.bg-primary):not(.bg-accent):not(.bg-gradient) h5,
section.ptb-100:not(.bg-dark):not(.bg-primary):not(.bg-accent):not(.bg-gradient) p,
.bg-white h2,
.bg-white h3,
.bg-white h5,
.bg-white p,
.bg-white .card-title,
.bg-white .tt-price-wrap h2,
.bg-white .tt-price {
    color: #0e121b !important;
}

.bg-white .text-muted {
    color: #0e121b !important;
    opacity: 0.7;
}

/* Hero Section Subject-Background Contrast Fix */
.tt-hero-bg-custom {
    background: #0e121b !important;
    /* Matches footer for consistency and contrast */
}