/* Comprehensive Text Visibility Fix - Global Solution */

/* ===== GLOBAL TEXT VISIBILITY RULES ===== */

/* Force proper text colors based on background context */
body {
    color: #E8E8E8 !important;
}

/* ===== HEADINGS AND TITLES ===== */
h1, h2, h3, h4, h5, h6,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
    color: #FFFFFF !important;
}

/* Dark sections - white text */
section[style*="background: var(--gradient-dark)"] h1,
section[style*="background: var(--gradient-dark)"] h2,
section[style*="background: var(--gradient-dark)"] h3,
section[style*="background: var(--gradient-dark)"] h4,
section[style*="background: var(--gradient-dark)"] h5,
section[style*="background: var(--gradient-dark)"] h6,
section[style*="background: var(--gradient-dark)"] .display-1,
section[style*="background: var(--gradient-dark)"] .display-2,
section[style*="background: var(--gradient-dark)"] .display-3,
section[style*="background: var(--gradient-dark)"] .display-4,
section[style*="background: var(--gradient-primary)"] h1,
section[style*="background: var(--gradient-primary)"] h2,
section[style*="background: var(--gradient-primary)"] h3,
section[style*="background: var(--gradient-primary)"] h4,
section[style*="background: var(--gradient-primary)"] .display-4,
.elite-hero h1,
.elite-hero h2,
.elite-hero h3,
.elite-hero .display-1,
.elite-hero .display-3 {
    color: #FFFFFF !important;
}

/* Light sections - dark text */
section[style*="background: var(--gradient-light)"] h1,
section[style*="background: var(--gradient-light)"] h2,
section[style*="background: var(--gradient-light)"] h3,
section[style*="background: var(--gradient-light)"] h4,
section[style*="background: var(--gradient-light)"] h5,
section[style*="background: var(--gradient-light)"] h6,
section[style*="background: var(--gradient-light)"] .display-1,
section[style*="background: var(--gradient-light)"] .display-2,
section[style*="background: var(--gradient-light)"] .display-3,
section[style*="background: var(--gradient-light)"] .display-4 {
    color: #000000 !important;
}

/* ===== PARAGRAPH AND BODY TEXT ===== */
p, span, div, li, td, th {
    color: inherit !important;
}

/* Dark sections - light text */
section[style*="background: var(--gradient-dark)"] p,
section[style*="background: var(--gradient-dark)"] span,
section[style*="background: var(--gradient-dark)"] div,
section[style*="background: var(--gradient-dark)"] .lead,
section[style*="background: var(--gradient-primary)"] p,
section[style*="background: var(--gradient-primary)"] span,
section[style*="background: var(--gradient-primary)"] div,
section[style*="background: var(--gradient-primary)"] .lead,
.elite-hero p,
.elite-hero span,
.elite-hero div {
    color: #E8E8E8 !important;
}

/* Light sections - dark text */
section[style*="background: var(--gradient-light)"] p,
section[style*="background: var(--gradient-light)"] span,
section[style*="background: var(--gradient-light)"] div,
section[style*="background: var(--gradient-light)"] .lead {
    color: #333333 !important;
}

/* ===== MUTED TEXT ===== */
.text-muted,
.text-white-50,
.text-white-75 {
    color: #A0A0A0 !important;
}

section[style*="background: var(--gradient-light)"] .text-muted {
    color: #666666 !important;
}

/* ===== CARD TEXT ===== */
.card-title {
    color: #000000 !important;
}

.card-text {
    color: #333333 !important;
}

.card-body p {
    color: #333333 !important;
}

/* Dark cards */
.elite-glass .card-title,
.elite-glass-dark .card-title,
.glass-dark-modern .card-title,
.testimonial-card .card-title {
    color: #FFFFFF !important;
}

.elite-glass .card-text,
.elite-glass-dark .card-text,
.glass-dark-modern .card-text,
.testimonial-card .card-text {
    color: #E8E8E8 !important;
}

/* ===== BUTTONS ===== */
/* Primary buttons - lime green background with black text */
.btn-luxury,
.btn-brand,
.btn-gold,
.elite-btn,
.btn-primary {
    background: linear-gradient(135deg, #d3df37 0%, #c0cc28 100%) !important;
    color: #000000 !important;
    border: none !important;
    font-weight: 700 !important;
}

.btn-luxury:hover,
.btn-brand:hover,
.btn-gold:hover,
.elite-btn:hover,
.btn-primary:hover {
    background: linear-gradient(135deg, #c0cc28 0%, #9da01f 100%) !important;
    color: #000000 !important;
}

/* Outline buttons - white border and text */
.btn-outline-light,
.btn-outline-elegant,
.btn-outline-gold {
    background: transparent !important;
    border: 2px solid #FFFFFF !important;
    color: #FFFFFF !important;
}

.btn-outline-light:hover,
.btn-outline-elegant:hover,
.btn-outline-gold:hover {
    background: #FFFFFF !important;
    border-color: #FFFFFF !important;
    color: #000000 !important;
}

/* Dark outline buttons */
.btn-outline-dark {
    background: transparent !important;
    border: 2px solid #000000 !important;
    color: #000000 !important;
}

.btn-outline-dark:hover {
    background: #000000 !important;
    border-color: #000000 !important;
    color: #FFFFFF !important;
}

/* Light buttons */
.btn-light {
    background: #FFFFFF !important;
    color: #000000 !important;
    border: none !important;
}

.btn-light:hover {
    background: #F8F9FA !important;
    color: #000000 !important;
}

/* ===== ICONS ===== */
/* Default icons - black */
.fas, .fab, .far, .fal, .fad,
i[class*="fa-"] {
    color: #000000 !important;
}

/* Button icons inherit button color */
.btn .fas, .btn .fab, .btn .far, .btn i {
    color: inherit !important;
}

/* White buttons keep black icons */
.btn-light .fas, .btn-light .fab, .btn-light i,
.btn-outline-light .fas, .btn-outline-light .fab, .btn-outline-light i {
    color: #000000 !important;
}

.btn-light:hover .fas, .btn-light:hover i,
.btn-outline-light:hover .fas, .btn-outline-light:hover i {
    color: #000000 !important;
}

/* Dark buttons get white icons when hovered */
.btn-outline-dark:hover .fas, .btn-outline-dark:hover i {
    color: #FFFFFF !important;
}

/* Floating buttons - white icons */
.floating-btn i {
    color: #FFFFFF !important;
}

/* Social media icons - white */
.social-icon i {
    color: #FFFFFF !important;
}

/* Navigation icons */
.nav-link i {
    color: #E8E8E8 !important;
}

.nav-link:hover i {
    color: #d3df37 !important;
}

/* Star ratings - yellow */
.fa-star {
    color: #FFC107 !important;
}

/* Special accent icons */
.heading-sparkle i,
.swiper-button-next,
.swiper-button-prev {
    color: #d3df37 !important;
}

/* ===== BADGES AND LABELS ===== */
.badge,
.badge-text,
.premium-text {
    background: linear-gradient(135deg, #d3df37 0%, #c0cc28 100%) !important;
    color: #000000 !important;
}

/* ===== NAVIGATION ===== */
.nav-link {
    color: #E8E8E8 !important;
}

.nav-link:hover,
.nav-link.active {
    color: #d3df37 !important;
}

.navbar-brand {
    color: #FFFFFF !important;
}

/* ===== FORMS ===== */
.form-control,
.elite-form-control {
    background: rgba(26, 26, 26, 0.8) !important;
    border: 2px solid rgba(211, 223, 55, 0.2) !important;
    color: #E8E8E8 !important;
}

.form-control:focus,
.elite-form-control:focus {
    border-color: #d3df37 !important;
    color: #E8E8E8 !important;
}

.form-control::placeholder,
.elite-form-control::placeholder {
    color: #A0A0A0 !important;
}

.form-label,
.elite-form-label {
    color: #A0A0A0 !important;
}

.elite-form-control:focus + .elite-form-label,
.elite-form-control:not(:placeholder-shown) + .elite-form-label {
    color: #d3df37 !important;
}

/* ===== SPECIAL ELEMENTS ===== */
/* Remove gradient text effects that cause visibility issues */
.gradient-text,
.elite-gradient-text,
.brand-gradient-text {
    background: none !important;
    -webkit-background-clip: unset !important;
    -webkit-text-fill-color: unset !important;
    background-clip: unset !important;
    color: #d3df37 !important;
}

/* Light sections get dark accent text */
section[style*="background: var(--gradient-light)"] .gradient-text,
section[style*="background: var(--gradient-light)"] .elite-gradient-text,
section[style*="background: var(--gradient-light)"] .brand-gradient-text {
    color: #000000 !important;
}

/* Achievement numbers */
.achievement-number,
.elite-counter {
    background: none !important;
    -webkit-background-clip: unset !important;
    -webkit-text-fill-color: unset !important;
    color: #d3df37 !important;
}

section[style*="background: var(--gradient-light)"] .achievement-number,
section[style*="background: var(--gradient-light)"] .elite-counter {
    color: #000000 !important;
}

/* ===== TESTIMONIALS ===== */
.testimonial-content p {
    color: #E8E8E8 !important;
}

.testimonial-footer h6 {
    color: #d3df37 !important;
}

.testimonial-footer small {
    color: #A0A0A0 !important;
}

/* ===== SWIPER ELEMENTS ===== */
.swiper-pagination-bullet-active {
    background: #d3df37 !important;
}

/* ===== FOOTER ===== */
footer h4, footer h5, footer h6 {
    color: #d3df37 !important;
}

footer p, footer span, footer small {
    color: #A0A0A0 !important;
}

footer a {
    color: #A0A0A0 !important;
}

footer a:hover {
    color: #d3df37 !important;
}

/* ===== MODAL ===== */
.modal-title {
    color: #000000 !important;
}

.modal-body {
    color: #E8E8E8 !important;
}

/* ===== ALERTS ===== */
.alert-success {
    background: rgba(211, 223, 55, 0.1) !important;
    border: 1px solid #d3df37 !important;
    color: #d3df37 !important;
}

.alert-danger {
    background: rgba(220, 53, 69, 0.1) !important;
    border: 1px solid #DC3545 !important;
    color: #FF6B7A !important;
}

/* ===== ICON BOXES ===== */
.icon-box,
.brand-icon-box,
.elite-icon-box,
.feature-icon-modern,
.process-icon {
    background: linear-gradient(135deg, #d3df37 0%, #c0cc28 100%) !important;
}

.icon-box i,
.brand-icon-box i,
.elite-icon-box i,
.feature-icon-modern i,
.process-icon i {
    color: #000000 !important;
}

/* ===== RESPONSIVE FIXES ===== */
@media (max-width: 768px) {
    /* Ensure mobile text remains visible */
    .display-1, .display-2, .display-3 {
        font-size: 2.5rem !important;
    }
    
    .lead {
        font-size: 1.1rem !important;
    }
}

/* ===== FORCE OVERRIDES ===== */
/* Override any inline styles that cause visibility issues */
[style*="color: var(--brand-lime)"],
[style*="color: var(--primary-gold)"],
[style*="color: #d3df37"] {
    color: #d3df37 !important;
}

section[style*="background: var(--gradient-light)"] [style*="color: var(--brand-lime)"],
section[style*="background: var(--gradient-light)"] [style*="color: var(--primary-gold)"],
section[style*="background: var(--gradient-light)"] [style*="color: #d3df37"] {
    color: #000000 !important;
}

/* Ensure proper contrast for all text elements */
.text-white {
    color: #FFFFFF !important;
}

.text-dark {
    color: #000000 !important;
}

/* Fix any remaining visibility issues */
.card-header {
    color: #000000 !important;
}

.list-group-item {
    background: rgba(26, 26, 26, 0.8) !important;
    color: #E8E8E8 !important;
    border-color: rgba(211, 223, 55, 0.2) !important;
}

/* Ensure dropdown visibility */
.dropdown-menu {
    background: #1A1A1A !important;
    border: 1px solid rgba(211, 223, 55, 0.2) !important;
}

.dropdown-item {
    color: #E8E8E8 !important;
}

.dropdown-item:hover {
    background: rgba(211, 223, 55, 0.1) !important;
    color: #d3df37 !important;
}

/* Table visibility */
.table {
    color: #E8E8E8 !important;
}

.table th {
    color: #d3df37 !important;
    border-color: rgba(211, 223, 55, 0.2) !important;
}

.table td {
    border-color: rgba(211, 223, 55, 0.1) !important;
}

/* Pagination visibility */
.page-link {
    background: #1A1A1A !important;
    border: 1px solid rgba(211, 223, 55, 0.2) !important;
    color: #E8E8E8 !important;
}

.page-link:hover {
    background: #d3df37 !important;
    color: #000000 !important;
}

.page-item.active .page-link {
    background: #d3df37 !important;
    border-color: #d3df37 !important;
    color: #000000 !important;
}