/* Dark Mode CSS Styles */

/* Base Dark Mode Styles */
body.dark-mode {
    background-color: #1a1a1a;
    color: #ffffff;
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Header and Navigation Dark Mode */
body.dark-mode .header {
    background-color: #2d2d2d;
    border-bottom: 1px solid #404040;
}

body.dark-mode .navbar {
    background-color: #2d2d2d;
    border-bottom-color: #404040;
}

/* Navigation Links */
body.dark-mode .nav-links a {
    color: #ffffff;
}

body.dark-mode .nav-links a:hover {
    color: #cccccc;
}

body.dark-mode .logo-rect {
    background-color: #ffffff;
}

body.dark-mode .hamburger-btn span {
    background-color: #ffffff;
}

/* Navigation Buttons */
body.dark-mode .search-btn,
body.dark-mode .cart-btn,
body.dark-mode .profile-btn,
body.dark-mode .theme-toggle-btn {
    color: #ffffff;
    background-color: transparent;
}

body.dark-mode .search-btn:hover,
body.dark-mode .cart-btn:hover,
body.dark-mode .profile-btn:hover,
body.dark-mode .theme-toggle-btn:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

body.dark-mode .cart-badge {
    background-color: #ff4444;
    color: #ffffff;
}

/* Theme Toggle Button Specific Styles */
.theme-toggle-btn {
    background: none;
    border: none;
    color: inherit;
    cursor: pointer;
    padding: 8px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease, transform 0.2s ease;
    position: relative;
    overflow: hidden;
}

.theme-toggle-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s ease;
}

.theme-toggle-btn:hover::before {
    left: 100%;
}

.theme-toggle-btn:hover {
    background-color: rgba(0, 0, 0, 0.1);
    transform: scale(1.05);
}

body.dark-mode .theme-toggle-btn:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.theme-toggle-btn svg {
    transition: opacity 0.3s ease, transform 0.3s ease;
    width: 20px;
    height: 20px;
}

.theme-toggle-btn:active {
    transform: scale(0.95);
}

/* Icon Visibility Control */
.sun-icon {
    display: block;
}

.moon-icon {
    display: none;
}

body.dark-mode .sun-icon {
    display: none !important;
}

body.dark-mode .moon-icon {
    display: block !important;
}

/* Mobile Theme Icons */
.sun-icon-mobile {
    display: block;
}

.moon-icon-mobile {
    display: none;
}

body.dark-mode .sun-icon-mobile {
    display: none !important;
}

body.dark-mode .moon-icon-mobile {
    display: block !important;
}

/* Footer Dark Mode */
body.dark-mode .footer {
    background-color: #1a1a1a;
    border-top: 1px solid #404040;
}

body.dark-mode .footer-heading {
    color: #ffffff;
}

body.dark-mode .footer-link {
    color: #cccccc;
}

body.dark-mode .footer-link:hover {
    color: #ffffff;
}

body.dark-mode .social-link {
    color: #cccccc;
    border-color: #404040;
}

body.dark-mode .social-link:hover {
    color: #ffffff;
    background-color: rgba(255, 255, 255, 0.1);
}

body.dark-mode .brand-icon {
    color: #ffffff;
}

body.dark-mode .brand-name,
body.dark-mode .brand-sub {
    color: #ffffff;
}

body.dark-mode .tech-label,
body.dark-mode .tech-description {
    color: #cccccc;
}

body.dark-mode .footer-copyright {
    color: #cccccc;
    border-top-color: #404040;
}

body.dark-mode .privacy-link {
    color: #cccccc;
}

body.dark-mode .privacy-link:hover {
    color: #ffffff;
}

/* Search Section Dark Mode */
body.dark-mode .search-section {
    background-color: #2d2d2d;
    border-bottom-color: #404040;
}

body.dark-mode .search-input-wrapper {
    background-color: #404040;
}

body.dark-mode .search-input-wrapper:focus-within {
    background-color: #4a4a4a;
}

body.dark-mode .search-input {
    background-color: transparent;
    color: #ffffff;
}

body.dark-mode .search-icon {
    color: #cccccc;
}

body.dark-mode .category-link {
    color: #ffffff;
}

body.dark-mode .category-link:hover {
    color: #cccccc;
}

body.dark-mode .category-link.active {
    color: #ffffff;
}

body.dark-mode .category-link.active::after {
    background-color: #ffffff;
}

/* Hero Section Dark Mode */
body.dark-mode .hero-section {
    background-color: #2d2d2d;
}

body.dark-mode .hero-title,
body.dark-mode .title-new,
body.dark-mode .title-collection {
    color: #ffffff;
}

body.dark-mode .hero-subtitle {
    color: #cccccc;
}

/* Slide Product Info Dark Mode */
body.dark-mode .slide-product-info {
    background-color: rgba(45, 45, 45, 0.95);
}

body.dark-mode .slide-product-title {
    color: #ffffff;
}

body.dark-mode .slide-product-price {
    color: #ffffff;
}

/* Section Dark Mode */
body.dark-mode .section-title {
    color: #ffffff;
}

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

body.dark-mode .section-header {
    color: #ffffff;
}

/* Content Sections Dark Mode */
body.dark-mode .new-week-section,
body.dark-mode .collections-section,
body.dark-mode .approach-section,
body.dark-mode .content-section {
    background-color: #1a1a1a;
}

body.dark-mode .content-section h2 {
    color: #ffffff;
}

/* Approach Section Dark Mode */
body.dark-mode .approach-title {
    color: #ffffff;
}

body.dark-mode .approach-description {
    color: #cccccc;
}

/* Collections Dark Mode */
body.dark-mode .collections-title,
body.dark-mode .collections-year {
    color: #ffffff;
}

body.dark-mode .collections-link {
    color: #cccccc;
}

body.dark-mode .collections-link:hover,
body.dark-mode .collections-link.active {
    color: #ffffff;
}

/* Product Cards Dark Mode */
body.dark-mode .product-card {
    background-color: #2d2d2d;
    border-color: #404040;
}

body.dark-mode .product-card:hover {
    background-color: #333333;
    border-color: #4a4a4a;
}

body.dark-mode .product-name {
    color: #ffffff;
}

body.dark-mode .product-category {
    color: #cccccc;
}

body.dark-mode .product-price {
    color: #ffffff;
}

body.dark-mode .product-count {
    color: #cccccc;
}

/* Collection Cards Dark Mode */
body.dark-mode .collection-card {
    background-color: #2d2d2d;
}

body.dark-mode .collection-card:hover {
    background-color: #333333;
}

body.dark-mode .collection-name {
    color: #ffffff;
}

body.dark-mode .collection-category {
    color: #cccccc;
}

body.dark-mode .collection-price {
    color: #ffffff;
}

/* Category Product Cards Dark Mode */
body.dark-mode .category-product-card {
    background-color: #2d2d2d;
}

body.dark-mode .category-product-card:hover {
    background-color: #333333;
}

body.dark-mode .category-product-name {
    color: #ffffff;
}

body.dark-mode .category-product-category {
    color: #cccccc;
}

body.dark-mode .category-product-price {
    color: #ffffff;
}

/* Buttons Dark Mode */
body.dark-mode .see-all-btn {
    background-color: #404040;
    color: #ffffff;
    border-color: #555555;
}

body.dark-mode .see-all-btn:hover {
    background-color: #4a4a4a;
}

body.dark-mode .more-btn {
    background-color: #404040;
    color: #ffffff;
    border-color: #555555;
}

body.dark-mode .more-btn:hover {
    background-color: #4a4a4a;
}

body.dark-mode .add-to-cart-btn,
body.dark-mode .add-to-collection-btn {
    background-color: #404040;
    color: #ffffff;
    border-color: #555555;
}

body.dark-mode .add-to-cart-btn:hover,
body.dark-mode .add-to-collection-btn:hover {
    background-color: #4a4a4a;
}

/* Slider Controls Dark Mode */
body.dark-mode .nav-btn,
body.dark-mode .nav-arrow {
    background-color: #404040;
    color: #ffffff;
    border-color: #555555;
}

body.dark-mode .nav-btn:hover,
body.dark-mode .nav-arrow:hover {
    background-color: #4a4a4a;
}

body.dark-mode .nav-btn:disabled,
body.dark-mode .nav-arrow:disabled {
    background-color: #2d2d2d;
    color: #666666;
}

body.dark-mode .slider-btn,
body.dark-mode .products-slider-btn {
    background-color: #404040;
    color: #ffffff;
    border-color: #555555;
}

body.dark-mode .slider-btn:hover,
body.dark-mode .products-slider-btn:hover {
    background-color: #4a4a4a;
}

/* Indicators Dark Mode */
body.dark-mode .indicator {
    background-color: #404040;
}

body.dark-mode .indicator.active {
    background-color: #ffffff;
}

body.dark-mode .indicator:hover {
    background-color: #555555;
}

/* Sidebar Dark Mode */
body.dark-mode .sidebar {
    background-color: #2d2d2d;
    border-color: #404040;
}

body.dark-mode .sidebar-header {
    background-color: #2d2d2d;
    border-bottom-color: #404040;
}

body.dark-mode .sidebar-header h2 {
    color: #ffffff;
}

body.dark-mode .sidebar-close {
    color: #cccccc;
}

body.dark-mode .sidebar-close:hover {
    background-color: rgba(255, 255, 255, 0.1);
    color: #ffffff;
}

body.dark-mode .nav-button {
    background-color: #404040;
    color: #ffffff;
    border-color: #555555;
}

body.dark-mode .nav-button:hover {
    background-color: #4a4a4a;
}

body.dark-mode .action-button {
    background-color: #404040;
    color: #ffffff;
    border-color: #555555;
}

body.dark-mode .action-button:hover {
    background-color: #4a4a4a;
}

/* Text Elements Dark Mode */
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6 {
    color: #ffffff;
}

body.dark-mode p {
    color: #cccccc;
}

/* Borders and Dividers Dark Mode */
body.dark-mode .section-divider,
body.dark-mode hr {
    border-color: #404040;
}

/* Category Sections Dark Mode */
body.dark-mode .category-section {
    background-color: #1a1a1a !important;
}

body.dark-mode .category-section .section-title {
    color: #ffffff;
}

body.dark-mode .category-section .product-count {
    background: #333;
    color: #ccc;
}

body.dark-mode .category-section .section-header {
    border-bottom-color: #444;
}

body.dark-mode .category-section .see-all-btn {
    background: #0d6efd;
}

body.dark-mode .category-section .see-all-btn:hover {
    background: #0b5ed7;
}

/* Loading Spinner Dark Mode */
body.dark-mode .loading-spinner {
    color: #cccccc;
}

/* No Results Dark Mode */
body.dark-mode .no-results h3 {
    color: #ffffff;
}

body.dark-mode .no-results p {
    color: #cccccc;
}

/* Enhanced Cart Badge Dark Mode */
body.dark-mode .cart-badge {
    background-color: #ffffff;
    color: #1a1a1a;
}
body.dark-mode .product-container {
    background-color: #2d2d2d;
    color: #ffffff;
}
body.dark-mode .detailes-container {
    background-color: #2d2d2d;
    color: #ffffff;
}

/* Responsive Dark Mode Adjustments */
@media (max-width: 768px) {
    body.dark-mode .navbar {
        background-color: #2d2d2d;
    }
    
    body.dark-mode .hamburger-btn span {
        background-color: #ffffff;
    }
    
    body.dark-mode .nav-links {
        background-color: #2d2d2d;
        border-top-color: #404040;
    }
}

/* Dark Mode Animation Classes */
.dark-mode-transition {
    transition: all 0.3s ease !important;
}

.dark-mode-transition * {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease !important;
}

/* Theme Toggle Animation Effects */
.theme-toggle-btn.switching {
    animation: togglePulse 0.3s ease;
}

@keyframes togglePulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
    }
}

/* Dark Mode Glow Effects */
body.dark-mode .theme-toggle-btn:hover {
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.2);
}

body.dark-mode .nav-button.active {
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.1);
}

/* Dark Mode Focus States */
body.dark-mode *:focus {
    outline-color: #ffffff;
}

body.dark-mode input:focus,
body.dark-mode button:focus,
body.dark-mode select:focus,
body.dark-mode textarea:focus {
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.3);
}

/* Smooth Theme Transition */
.theme-transitioning,
.theme-transitioning * {
    transition: all 0.3s ease !important;
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
    body.dark-mode {
        background-color: #000000;
        color: #ffffff;
    }
    
    body.dark-mode .navbar,
    body.dark-mode .sidebar,
    body.dark-mode .product-card {
        background-color: #000000;
        border-color: #ffffff;
    }
}
