body.dark-mode {
    --bg-light: #121212;
    --bg-grey: #1a1a1a;
    --white: #1e1e1e;
    --text-dark: #e0e0e0;
    --text-black: #ffffff;
    --border-grey: #333333;
}

html:has(body.dark-mode) {
    background-color: #1a1a1a;
}

/* --- Component Overrides --- */
body.dark-mode header, 
body.dark-mode .category-nav-wrapper,
body.dark-mode .full-screen-modal,
body.dark-mode .categories-modal-card,
body.dark-mode .custom-modal-card,
body.dark-mode .sidebar-box,
body.dark-mode .menu-items,
body.dark-mode .menu-item {
    background-color: var(--white);
    color: var(--text-black);
    border-color: var(--border-grey);
}

body.dark-mode .item-name,
body.dark-mode .item-price,
body.dark-mode .category-title,
body.dark-mode .sidebar-title,
body.dark-mode .nav-link-item,
body.dark-mode .modal-header h2 {
    color: var(--text-black);
}

body.dark-mode .item-desc,
body.dark-mode .sidebar-text {
    color: var(--text-dark);
}

body.dark-mode .menu-item:hover {
    background-color: #252525;
}

body.dark-mode .btn-close {
    background: #333333;
    color: #ffffff;
}

body.dark-mode .btn-toggle-extra,
body.dark-mode .modal-qty-control {
    background-color: #252525;
    border-color: var(--border-grey);
    color: var(--text-black);
}

body.dark-mode .custom-modal-footer {
    background-color: #1a1a1a;
    border-top-color: var(--border-grey);
}

body.dark-mode .delivery-switch {
    background: #333333;
}

body.dark-mode .switch-slider {
    background: var(--primary-green);
}

body.dark-mode .switch-option.active {
    color: var(--white);
}

body.dark-mode .switch-option:not(.active) {
    color: var(--text-dark);
}

/* --- Icons --- */
body.dark-mode .header-icon,
body.dark-mode .nav-link-item i,
body.dark-mode .sidebar-title i,
body.dark-mode .help-contact-item i,
body.dark-mode .theme-option i {
    color: var(--text-black);
}

body.dark-mode .burger-menu-icon span {
    background-color: #ffffff;
}

/* --- Loyalty --- */
body.dark-mode .btn-back-loyalty {
    background: #333333;
    color: #ffffff;
}

body.dark-mode .loyalty-progress-section,
body.dark-mode .loyalty-reward-card,
body.dark-mode .loyalty-voucher-card {
    background-color: var(--white);
    border-color: var(--border-grey);
}

body.dark-mode .loyalty-reward-card.locked {
    opacity: 0.4;
}

body.dark-mode .btn-redeem:disabled {
    background: #333333;
    color: #888888;
}

/* --- Sections (Orders, Settings, Help) --- */
body.dark-mode .btn-back {
    background: #333333;
    color: #ffffff;
}

body.dark-mode .section-card,
body.dark-mode .order-card {
    background-color: var(--white);
    border-color: var(--border-grey);
}

body.dark-mode .form-input {
    background: #252525;
    border-color: var(--border-grey);
    color: var(--text-black);
}

body.dark-mode .form-input:focus {
    background: #1e1e1e;
}

body.dark-mode .toggle-slider-round {
    background: #444444;
}

body.dark-mode .btn-danger {
    border-color: #ef4444;
    color: #ef4444;
}

body.dark-mode .btn-danger:hover {
    background: rgba(239, 68, 68, 0.1);
}

body.dark-mode .cart-upsell-section {
    background: #1a1a1a;
}

body.dark-mode .faq-question {
    color: var(--text-black);
}

body.dark-mode .help-contact-value {
    color: var(--text-black);
}

/* --- Welcome Screen --- */
body.dark-mode .welcome-card {
    background-color: var(--white);
    border-color: var(--border-grey);
}

body.dark-mode .welcome-card:hover {
    border-color: var(--primary-green);
    background-color: #252525;
}

body.dark-mode .welcome-card-title {
    color: var(--text-black);
}

body.dark-mode .welcome-card-desc {
    color: var(--text-dark);
}

body.dark-mode .welcome-footer {
    color: var(--text-dark);
}

body.dark-mode .welcome-footer a {
    color: var(--text-dark);
}

body.dark-mode .cookie-modal {
    background-color: var(--white);
}

body.dark-mode .cookie-modal-title {
    color: var(--text-black);
}

body.dark-mode .cookie-modal-text {
    color: var(--text-dark);
}

body.dark-mode .btn-cookie-customize {
    background: #252525;
    color: var(--text-black);
    border-color: var(--border-grey);
}

body.dark-mode .btn-cookie-necessary {
    color: var(--text-dark);
}

/* --- Aggressive Fixes for Cart in Dark Mode --- */
body.dark-mode .cart-item-name,
body.dark-mode .cart-header h3,
body.dark-mode .total-row,
body.dark-mode .price-row,
body.dark-mode .upsell-title,
body.dark-mode .upsell-item-name,
body.dark-mode .upsell-card-name,
body.dark-mode .qty-number {
    color: #ffffff !important;
}

body.dark-mode .cart-item-extras {
    color: #cccccc !important;
}

body.dark-mode .cart-empty-text {
    color: #aaaaaa;
}

body.dark-mode .cart-empty-icon {
    opacity: 0.5;
    color: #ffffff;
}

/* --- Button Text Fixes --- */
body.dark-mode #mobile-cart-button,
body.dark-mode .btn-checkout,
body.dark-mode .btn-primary,
body.dark-mode .btn-reorder,
body.dark-mode .btn-auth {
    color: #ffffff !important;
}

/* --- Close Button Fix --- */
body.dark-mode .btn-close,
body.dark-mode .btn-close i {
    color: #ffffff !important;
    background-color: transparent !important;
}
body.dark-mode .btn-close {
    background-color: #333333 !important;
}

/* --- Category List Visibility --- */
body.dark-mode .modal-category-item {
    color: #ffffff !important;
}


