/* Accessibility Contrast Improvements for UJUZIPOS */
/* WCAG AA compliant colors (4.5:1 contrast ratio minimum) */

/* Override low-contrast colors globally */
body.age-verification-active {
    /* Ensure the body with overlay maintains sufficient contrast */
    background-color: rgba(0, 0, 0, 0.8) !important;
}

/* Fix common low-contrast text colors */
.text-muted,
.muted,
small.text-muted {
    color: #555 !important; /* Changed from #6c757d or #999 */
}

/* Product-related elements */
.product-code {
    color: #555 !important; /* Changed from #666 */
}

.product-name {
    color: #212529 !important; /* Ensure maximum contrast for product names */
}

.category-description,
.section-title-category-description {
    color: #333 !important; /* Changed from #666 */
}

/* Navigation and link improvements */
.view-all-link {
    color: #0056b3 !important; /* Darker blue for better contrast */
}

.view-all-link:hover {
    color: #004494 !important; /* Even darker on hover */
}

/* Breadcrumb improvements */
.breadcrumb-item a {
    color: #333 !important; /* Changed from #666 */
}

/* Age verification modal improvements */
.age-verification-body p {
    color: #333 !important;
}

.age-verification-footer small {
    color: #555 !important;
}

/* Footer and subsidiary text */
.footer-text,
.copyright-text {
    color: #333 !important;
}

/* Price display improvements */
.product-price-original {
    color: #6c757d !important; /* Better contrast for strikethrough prices */
}

/* Form labels and help text */
.form-text,
.help-text {
    color: #555 !important;
}

/* Search and filter text */
.search-placeholder,
.filter-text {
    color: #333 !important;
}

/* Card subtitle and metadata */
.card-subtitle,
.metadata-text {
    color: #555 !important;
}

/* Alert improvements */
.alert-secondary {
    color: #383d41 !important; /* Ensure sufficient contrast */
    background-color: #e2e3e5 !important;
    border-color: #d6d8db !important;
}

/* Button text improvements */
.btn-outline-secondary {
    color: #495057 !important; /* Better contrast for outline buttons */
    border-color: #6c757d !important;
}

.btn-outline-secondary:hover {
    color: #fff !important;
    background-color: #6c757d !important;
    border-color: #6c757d !important;
}

/* Table improvements */
.table-secondary {
    background-color: #e9ecef !important;
    color: #212529 !important;
}

/* Input placeholder improvements */
::placeholder {
    color: #555 !important;
    opacity: 1 !important;
}

/* Focus states for accessibility */
.btn:focus,
.form-control:focus,
a:focus {
    outline: 2px solid #007bff !important;
    outline-offset: 2px !important;
}

/* Age verification specific improvements */
#ageVerificationModal .age-verification-content {
    background: white !important;
    color: #212529 !important;
}

#ageVerificationModal .age-verification-header h3 {
    color: #212529 !important;
}

#ageVerificationModal .access-denied-message h3 {
    color: #212529 !important;
}

#ageVerificationModal .access-denied-message p {
    color: #333 !important;
}

/* Ensure sufficient contrast for all secondary text */
.secondary-text,
.subtitle,
.description {
    color: #333 !important;
}

/* Mobile responsive text improvements */
@media (max-width: 768px) {
    .mobile-text {
        color: #333 !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .text-muted,
    .muted,
    .secondary-text {
        color: #000 !important;
    }
    
    .bg-light {
        background-color: #fff !important;
    }
    
    .bg-secondary {
        background-color: #000 !important;
        color: #fff !important;
    }
}

/* Print accessibility */
@media print {
    .text-muted,
    .muted,
    .secondary-text {
        color: #000 !important;
    }
}
