/* public/assets/css/dark-mode-components.css */

/* Bootstrap Modal Dark Mode Enhancements */
body.dark-theme .modal-content {
    background-color: #1e293b !important;
    border: 1px solid #334155 !important;
}

body.dark-theme .modal-header {
    background-color: #334155 !important;
    border-bottom: 1px solid #475569 !important;
}

body.dark-theme .modal-title {
    color: #e2e8f0 !important;
}

body.dark-theme .modal-body {
    background-color: #1e293b !important;
    color: #e2e8f0 !important;
}

body.dark-theme .modal-footer {
    background-color: #334155 !important;
    border-top: 1px solid #475569 !important;
}

/* Bootstrap Alert Dark Mode */
body.dark-theme .alert {
    border: 1px solid #475569 !important;
}

body.dark-theme .alert-success {
    background-color: rgba(16, 185, 129, 0.1) !important;
    color: #10b981 !important;
    border-color: #10b981 !important;
}

body.dark-theme .alert-warning {
    background-color: rgba(245, 158, 11, 0.1) !important;
    color: #f59e0b !important;
    border-color: #f59e0b !important;
}

body.dark-theme .alert-danger {
    background-color: rgba(239, 68, 68, 0.1) !important;
    color: #ef4444 !important;
    border-color: #ef4444 !important;
}

body.dark-theme .alert-info {
    background-color: rgba(59, 130, 246, 0.1) !important;
    color: #3b82f6 !important;
    border-color: #3b82f6 !important;
}

/* Bootstrap Badge Dark Mode */
body.dark-theme .badge {
    background-color: #334155 !important;
    color: #e2e8f0 !important;
}

body.dark-theme .badge.bg-primary {
    background-color: #3b82f6 !important;
}

body.dark-theme .badge.bg-success {
    background-color: #10b981 !important;
}

body.dark-theme .badge.bg-warning {
    background-color: #f59e0b !important;
}

body.dark-theme .badge.bg-danger {
    background-color: #ef4444 !important;
}

body.dark-theme .badge.bg-info {
    background-color: #06b6d4 !important;
}

body.dark-theme .badge.bg-light {
    background-color: #6b7280 !important;
    color: #ffffff !important;
}

body.dark-theme .badge.bg-dark {
    background-color: #1f2937 !important;
    color: #e5e7eb !important;
}

/* Bootstrap Pagination Dark Mode */
body.dark-theme .pagination {
    --bs-pagination-bg: #1e293b;
    --bs-pagination-border-color: #334155;
    --bs-pagination-hover-color: #e2e8f0;
    --bs-pagination-hover-bg: #334155;
    --bs-pagination-hover-border-color: #475569;
    --bs-pagination-focus-color: #e2e8f0;
    --bs-pagination-focus-bg: #334155;
    --bs-pagination-focus-border-color: #10b981;
    --bs-pagination-active-color: #ffffff;
    --bs-pagination-active-bg: #10b981;
    --bs-pagination-active-border-color: #10b981;
    --bs-pagination-disabled-color: #6b7280;
    --bs-pagination-disabled-bg: #1e293b;
    --bs-pagination-disabled-border-color: #334155;
}

body.dark-theme .page-link {
    color: #e2e8f0 !important;
}

/* Bootstrap Nav Tabs Dark Mode */
body.dark-theme .nav-tabs {
    --bs-nav-tabs-border-color: #334155;
    --bs-nav-tabs-link-hover-border-color: #475569;
    --bs-nav-tabs-link-active-color: #e2e8f0;
    --bs-nav-tabs-link-active-bg: #334155;
    --bs-nav-tabs-link-active-border-color: #475569;
}

body.dark-theme .nav-link {
    color: #e2e8f0 !important;
}

body.dark-theme .nav-tabs .nav-link:hover {
    border-color: #475569 !important;
}

body.dark-theme .nav-tabs .nav-link.active {
    background-color: #334155 !important;
    border-color: #475569 !important;
}

/* Bootstrap Breadcrumb Dark Mode */
body.dark-theme .breadcrumb {
    --bs-breadcrumb-divider-color: #94a3b8;
}

body.dark-theme .breadcrumb-item + .breadcrumb-item::before {
    color: #94a3b8 !important;
}

/* Bootstrap Progress Dark Mode */
body.dark-theme .progress {
    background-color: #334155 !important;
}

body.dark-theme .progress-bar {
    background-color: #10b981 !important;
}

/* Bootstrap List Group Dark Mode */
body.dark-theme .list-group-item {
    background-color: #1e293b !important;
    border-color: #334155 !important;
    color: #e2e8f0 !important;
}

body.dark-theme .list-group-item:hover {
    background-color: #334155 !important;
}

body.dark-theme .list-group-item.active {
    background-color: #10b981 !important;
    border-color: #10b981 !important;
}

body.dark-theme .list-group-item.list-group-item-action:hover {
    background-color: #334155 !important;
}

/* Bootstrap Accordion Dark Mode */
body.dark-theme .accordion-item {
    background-color: #1e293b !important;
    border-color: #334155 !important;
}

body.dark-theme .accordion-header .accordion-button {
    background-color: #334155 !important;
    color: #e2e8f0 !important;
    border: none !important;
}

body.dark-theme .accordion-header .accordion-button:not(.collapsed) {
    background-color: #475569 !important;
    color: #e2e8f0 !important;
}

body.dark-theme .accordion-header .accordion-button::after {
    filter: invert(1) !important;
}

body.dark-theme .accordion-body {
    background-color: #1e293b !important;
    color: #e2e8f0 !important;
}

/* Bootstrap Offcanvas Dark Mode */
body.dark-theme .offcanvas-backdrop {
    background-color: rgba(0, 0, 0, 0.8) !important;
}

/* Bootstrap Toast Dark Mode */
body.dark-theme .toast {
    background-color: #1e293b !important;
    border-color: #334155 !important;
    color: #e2e8f0 !important;
}

body.dark-theme .toast-header {
    background-color: #334155 !important;
    color: #e2e8f0 !important;
    border-color: #475569 !important;
}

body.dark-theme .toast-body {
    color: #e2e8f0 !important;
}

/* Bootstrap Carousel Dark Mode */
body.dark-theme .carousel-indicators button {
    background-color: #6b7280 !important;
}

body.dark-theme .carousel-indicators button.active {
    background-color: #10b981 !important;
}

body.dark-theme .carousel-control-prev-icon,
body.dark-theme .carousel-control-next-icon {
    filter: invert(1) !important;
}

/* Bootstrap Spinner Dark Mode */
body.dark-theme .spinner-border {
    color: #10b981 !important;
}

body.dark-theme .spinner-grow {
    color: #10b981 !important;
}

/* Application Specific Components */

/* Menu Theme Selection Dark Mode */
body.dark-theme .theme-selection-container {
    background-color: #334155 !important;
    border-color: #475569 !important;
}

body.dark-theme .theme-option {
    background-color: #1e293b !important;
    border-color: #334155 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
}

body.dark-theme .theme-option:hover {
    border-color: #10b981 !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3) !important;
}

body.dark-theme .theme-option input[type="radio"]:checked + label {
    border-color: #10b981 !important;
    background-color: rgba(16, 185, 129, 0.1) !important;
}

/* Menu Item Cards Dark Mode */
body.dark-theme .menu-card,
body.dark-theme .item-card {
    background-color: #1e293b !important;
    border-color: #334155 !important;
    color: #e2e8f0 !important;
}

body.dark-theme .menu-card:hover,
body.dark-theme .item-card:hover {
    background-color: #334155 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
}

/* Cart Components Dark Mode */
body.dark-theme .cart-item {
    background-color: #1e293b !important;
    border-color: #334155 !important;
    color: #e2e8f0 !important;
}

body.dark-theme .cart-total {
    background-color: #334155 !important;
    color: #e2e8f0 !important;
}

/* Search Components Dark Mode */
body.dark-theme .search-container {
    background-color: #1e293b !important;
    border-color: #334155 !important;
}

body.dark-theme .search-results {
    background-color: #1e293b !important;
    border-color: #334155 !important;
    color: #e2e8f0 !important;
}

/* Status Indicators Dark Mode */
body.dark-theme .status-online {
    color: #10b981 !important;
}

body.dark-theme .status-offline {
    color: #ef4444 !important;
}

body.dark-theme .status-pending {
    color: #f59e0b !important;
}

/* Notification Components Dark Mode */
body.dark-theme .notification-item {
    background-color: #1e293b !important;
    border-color: #334155 !important;
    color: #e2e8f0 !important;
}

body.dark-theme .notification-item:hover {
    background-color: #334155 !important;
}

body.dark-theme .notification-unread {
    background-color: rgba(16, 185, 129, 0.1) !important;
    border-left: 3px solid #10b981 !important;
}

/* QR Code Container Dark Mode */
body.dark-theme .qr-container {
    background-color: #ffffff !important;
    padding: 20px !important;
    border-radius: 8px !important;
}

/* Override for QR code to ensure visibility */
body.dark-theme #qrcode-container {
    background-color: #ffffff !important;
    padding: 15px !important;
    border-radius: 8px !important;
}

body.dark-theme #qrcode-container svg path {
    fill: #000000 !important;
}

/* Theme Toggle Button Enhancements */
body.dark-theme #theme-toggle {
    background-color: transparent !important;
    border: 1px solid #475569 !important;
    border-radius: 6px !important;
    padding: 8px 12px !important;
    transition: all 0.3s ease !important;
}

body.dark-theme #theme-toggle:hover {
    background-color: #334155 !important;
    border-color: #10b981 !important;
}

/* Toastr Notifications Dark Mode */
body.dark-theme .toast-success {
    background-color: #065f46 !important;
    color: #d1fae5 !important;
}

body.dark-theme .toast-error {
    background-color: #991b1b !important;
    color: #fecaca !important;
}

body.dark-theme .toast-info {
    background-color: #1e40af !important;
    color: #dbeafe !important;
}

body.dark-theme .toast-warning {
    background-color: #92400e !important;
    color: #fef3c7 !important;
}

/* Loading Overlays Dark Mode */
body.dark-theme .loading-overlay {
    background-color: rgba(15, 23, 42, 0.9) !important;
}

body.dark-theme .loading-spinner {
    border-color: #334155 !important;
    border-top-color: #10b981 !important;
}

/* Form Validation Dark Mode */
body.dark-theme .is-invalid {
    border-color: #ef4444 !important;
}

body.dark-theme .is-valid {
    border-color: #10b981 !important;
}

body.dark-theme .invalid-feedback {
    color: #ef4444 !important;
}

body.dark-theme .valid-feedback {
    color: #10b981 !important;
}

/* Sidebar Dark Mode Enhancements */
body.dark-theme .sidebar .nav-link {
    color: #e2e8f0 !important;
}

body.dark-theme .sidebar .nav-link:hover {
    background-color: rgba(16, 185, 129, 0.1) !important;
    color: #10b981 !important;
}

body.dark-theme .sidebar .nav-link.active {
    background-color: rgba(16, 185, 129, 0.2) !important;
    color: #10b981 !important;
}

/* Footer Dark Mode */
body.dark-theme footer {
    background-color: #0f172a !important;
    color: #e2e8f0 !important;
    border-top: 1px solid #334155 !important;
}

/* Custom Scrollbar for Dark Mode */
body.dark-theme ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

body.dark-theme ::-webkit-scrollbar-track {
    background-color: #1e293b;
    border-radius: 4px;
}

body.dark-theme ::-webkit-scrollbar-thumb {
    background-color: #475569;
    border-radius: 4px;
    border: 1px solid #334155;
}

body.dark-theme ::-webkit-scrollbar-thumb:hover {
    background-color: #6b7280;
}

/* Firefox Scrollbar */
body.dark-theme * {
    scrollbar-width: thin;
    scrollbar-color: #475569 #1e293b;
}
