    /* ============================================ */
    /* BASE.CSS */
    /* ============================================ */
    :root {
        --bg-color: #f6f6f9;
        --bg-secondary: #ffffff;
        --card-bg: #ffffff;
        --text-color: #000000;
        --text-secondary: #888888;
        --header-gradient: linear-gradient(135deg, #66d9a8 0%, #89e4f0 100%);
        --banner-gradient: linear-gradient(135deg, #c0c0c0 0%, #4a7c8c 100%);
        --banner-text: #66d9a8;
        --input-bg: #ffffff;
        --input-text: #000000;
        --icon-bg: #ffffff;
        --shadow-light: rgba(0, 0, 0, 0.1);
        --shadow-medium: rgba(0, 0, 0, 0.15);
        --nav-border: #eeeeee;
        --nav-text: #999999;
        --nav-active: #66d9a8;
        --button-gradient: linear-gradient(135deg, #66d9a8 0%, #89e4f0 100%);
        --button-text: #000000;
        --cart-badge: #ff4757;
        --nav-bg: #ffffff;
        --border-color: #e0e0e0;
        --catalog-bg: linear-gradient(135deg, #66d9a8 0%, #89e4f0 100%);
        --catalog-shadow: rgba(102, 217, 168, 0.3);

        --auth-glass-bg: rgba(30, 41, 59, 0.7);
        --auth-glass-blur: 50px;
        --auth-glass-border: 1px solid rgba(255, 255, 255, 0.1);
        --auth-title-color: #5eead4;
        --auth-subtitle-color: rgba(255, 255, 255, 0.8);
        --auth-text: #ffffff;
    }

    [data-theme="dark"] {
        --bg-color: #0f0f1e;
        --bg-secondary: #1a1a2e;
        --card-bg: #16213e;
        --text-color: #ffffff;
        --text-secondary: #b0b0b0;
        --header-gradient: linear-gradient(135deg, #1e3a4a 0%, #2d4a3e 100%);
        --banner-gradient: linear-gradient(135deg, #2d3748 0%, #4a4a4a 100%);
        --banner-text: #66d9a8;
        --input-bg: #2d3748;
        --input-text: #ffffff;
        --icon-bg: #2d3748;
        --shadow-light: rgba(0, 0, 0, 0.3);
        --shadow-medium: rgba(0, 0, 0, 0.5);
        --nav-border: #2d3748;
        --nav-text: #b0b0b0;
        --nav-active: #66d9a8;
        --button-gradient: linear-gradient(135deg, #66d9a8 0%, #89e4f0 100%);
        --button-text: #000000;
        --cart-badge: #ff4757;
        --nav-bg: #16213e;
        --border-color: #2d3748;
        --catalog-bg: linear-gradient(135deg, #66d9a8 0%, #89e4f0 100%);
        --catalog-shadow: rgba(102, 217, 168, 0.5);

        --auth-glass-bg: rgba(15, 23, 42, 0.8);
        --auth-glass-blur: 60px;
        --auth-glass-border: 1px solid rgba(255, 255, 255, 0.05);
        --auth-title-color: #5eead4;
        --auth-subtitle-color: rgba(255, 255, 255, 0.7);
        --auth-text: #ffffff;
    }

    * {
        box-sizing: border-box;
    }

    .body {
        margin: 0;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
        background: var(--bg-color);
        background-image:
            radial-gradient(at 0% 0%, hsla(153, 58%, 63%, 0.15) 0px, transparent 50%),
            radial-gradient(at 50% 0%, hsla(188, 78%, 74%, 0.15) 0px, transparent 50%),
            radial-gradient(at 100% 0%, hsla(153, 58%, 63%, 0.15) 0px, transparent 50%);
        background-attachment: fixed;
        color: var(--text-color);
        padding-bottom: 70px;
        transition: background-color 0.3s ease, color 0.3s ease;
        min-height: 100vh;
        line-height: 1.6;
        overflow-x: hidden;
    }

    .body::before {
        content: "";
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: -1;
        background:
            radial-gradient(circle at 20% 30%, hsla(153, 58%, 63%, 0.1) 0%, transparent 40%),
            radial-gradient(circle at 80% 70%, hsla(188, 78%, 74%, 0.1) 0%, transparent 40%);
        filter: blur(80px);
        animation: mesh-float 20s ease-in-out infinite alternate;
    }

    @keyframes mesh-float {
        0% { transform: translate(0, 0) scale(1); }
        100% { transform: translate(50px, 20px) scale(1.1); }
    }

    .container {
        max-width: 1400px;
        margin: 0 auto;
        padding: 0 10px;
    }

    .header-desktop {
        display: none;
        background: var(--header-gradient);
        padding: 15px 40px;
        box-shadow: 0 4px 15px rgba(0,0,0,0.1);
        position: sticky;
        top: 0;
        z-index: 1000;
        transition: background 0.3s ease;
    }

    .header-content-desktop {
        display: flex;
        align-items: center;
        max-width: 1400px;
        margin: 0 auto;
        gap: 15px;
    }

    .header-desktop .logo {
        font-family: "Montserrat", sans-serif;
        font-size: 24px; 
        font-weight: 800;
        color: #000000;
        text-decoration: none;
        letter-spacing: 1px;
        white-space: nowrap;
        flex-shrink: 0;
        padding: 5px 10px;
        border-radius: 8px;
        border: 2px solid transparent;
        transition: all 0.3s ease;
    }
    .header-desktop .logo:hover {
    transform: scale(1.1);
    }

    [data-theme="dark"] .header-desktop .logo {
        border: 2px solid #66d9a8;
        color: #ffffff;
    }

    .header-desktop .catalog {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 10px 15px;
        background: var(--catalog-bg);
        border: none;
        border-radius: 12px;
        color: #000;
        font-size: 15px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s ease;
        text-decoration: none;
        margin-left: 15px;
        flex-shrink: 0;
        box-shadow: 0 2px 8px var(--catalog-shadow);
    }

    .header-desktop .catalog::before { content: '☰'; font-size: 18px; font-weight: bold; }
    .header-desktop .catalog::after { content: 'Каталог'; }
    .header-desktop .catalog:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 15px var(--catalog-shadow);
        background: linear-gradient(135deg, #55c998 0%, #79d4e0 100%);
    }
    .header-desktop .catalog:active { transform: translateY(0); }

    [data-theme="dark"] .header-desktop .catalog {
        background: transparent;
        border: 2px solid #66d9a8;
        color: #ffffff;
        box-shadow: none;
    }

    [data-theme="dark"] .header-desktop .catalog:hover {
        background: var(--catalog-bg);
        color: #000;
    }

    .header-desktop .search-box {
        flex: 1;
        max-width: 500px;
        margin: 0 auto;
    }

    .header-desktop .search-box input {
        width: 100%;
        padding: 12px 20px;
        border: none;
        border-radius: 20px;
        font-size: 14px;
        background: var(--input-bg);
        color: var(--input-text);
        box-shadow: 0 2px 5px rgba(0,0,0,0.1);
        outline: none;
        transition: all 0.3s ease;
    }

    .header-desktop .search-box input::placeholder { color: #999; }
    .header-desktop .navigation { display: flex; flex-shrink: 0; }
    .header-desktop .header-icons { display: flex; align-items: center; gap: 15px; }

    .header-desktop .icon, .header-desktop .theme-toggle {
        width: 40px;
        height: 40px;
        background: var(--icon-bg);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: all 0.2s;
        flex-shrink: 0;
        text-decoration: none;
        border: none;
        outline: none;
    }

    .header-desktop .theme-toggle:hover, .header-desktop .icon:hover {
        transform: scale(1.1);
        background: var(--bg-secondary);
    }

    .header-desktop .theme-icon { font-size: 20px; }
    .header-desktop .icon img { width: 24px; height: 24px; object-fit: contain; }

    .header-desktop .cart { position: relative; }
    .header-desktop .cart-count {
        position: absolute;
        top: -5px;
        right: -5px;
        background: var(--cart-badge);
        color: white;
        border-radius: 50%;
        width: 20px;
        height: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 12px;
        font-weight: bold;
    }

    .header-mobile {
        display: none;
        background: var(--header-gradient);
        padding: 12px 15px;
        box-shadow: 0 4px 15px rgba(0,0,0,0.1);
        position: sticky;
        top: 0;
        z-index: 1000;
        transition: background 0.3s ease;
    }

    .header-mobile .header-top-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        gap: 8px;
    }

    .header-mobile .logo {
        font-family: 'Arial', cursive;
        font-size: 20px;
        font-weight: bold;
        color: #000000;
        text-decoration: none;
        letter-spacing: 1px;
        white-space: nowrap;
        flex-shrink: 0;
        padding: 4px 8px;
        border-radius: 6px;
        border: 2px solid transparent;
    }

    .header-mobile .logo:hover {
        transform: scale(1.1);
    }

    [data-theme="dark"] .header-mobile .logo {
        border: 2px solid #66d9a8;
        color: #ffffff;
    }

    .header-mobile .catalog-mobile {
        display: flex;
        align-items: center;
        gap: 6px;
        padding: 8px 12px;
        background: var(--catalog-bg);
        border: none;
        border-radius: 8px;
        color: #000;
        font-size: 13px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s ease;
        text-decoration: none;
        flex-shrink: 0;
        box-shadow: 0 2px 8px var(--catalog-shadow);
    }

    .header-mobile .catalog-mobile::before { content: '☰'; font-size: 14px; font-weight: bold; }
    .header-mobile .catalog-mobile::after { content: 'Каталог'; }
    .header-mobile .catalog-mobile:hover { transform: translateY(-1px); box-shadow: 0 4px 12px var(--catalog-shadow); }

    [data-theme="dark"] .header-mobile .catalog-mobile {
        background: transparent;
        border: 2px solid #66d9a8;
        color: #ffffff;
        box-shadow: none;
    }
    [data-theme="dark"] .header-mobile .catalog-mobile:hover {
        background: var(--catalog-bg);
        color: #000;
    }

    .header-mobile .navigation { display: flex; flex-shrink: 0; }
    .header-mobile .header-icons { display: flex; align-items: center; gap: 6px; }

    .header-mobile .icon, .header-mobile .theme-toggle {
        width: 32px;
        height: 32px;
        background: var(--icon-bg);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: all 0.2s;
        flex-shrink: 0;
        text-decoration: none;
        border: none;
        outline: none;
    }

    .header-mobile .theme-toggle:hover, .header-mobile .icon:hover { transform: scale(1.1); background: var(--bg-secondary); }
    .header-mobile .theme-icon { font-size: 16px; }
    .header-mobile .icon img { width: 18px; height: 18px; object-fit: contain; }

    .header-mobile .cart { position: relative; }
    .header-mobile .cart-count {
        position: absolute;
        top: -4px;
        right: -4px;
        background: var(--cart-badge);
        color: white;
        border-radius: 50%;
        width: 18px;
        height: 18px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 10px;
        font-weight: bold;
    }

    .header-mobile .search-box {
        width: 100%;
        margin: 10px 0 0 0;
    }

    .header-mobile .search-box input {
        width: 100%;
        padding: 14px 20px;
        border: none;
        border-radius: 12px;
        font-size: 15px;
        background: var(--input-bg);
        color: var(--input-text);
        box-shadow: 0 2px 5px rgba(0,0,0,0.1);
        outline: none;
    }

    .site-footer {
        background: var(--bg-secondary);
        border-top: 1px solid var(--border-color);
        padding: 60px 0 30px;
        margin-top: 60px;
        transition: background-color 0.3s ease;
    }

    .footer-container { max-width: 1400px; margin: 0 auto; padding: 0 20px; }
    .footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 40px; margin-bottom: 40px; }
    .footer-column { display: flex; flex-direction: column; gap: 20px; }
    .footer-logo { font-family: 'Arial', cursive; font-size: 28px; font-weight: bold; color: var(--text-color); margin-bottom: 10px; }
    .footer-info p { margin: 5px 0; font-size: 14px; color: var(--text-secondary); }
    .footer-social { display: flex; gap: 10px; }

    .social-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        background: var(--icon-bg);
        border-radius: 50%;
        color: var(--text-color);
        text-decoration: none;
        font-size: 14px;
        font-weight: 600;
        transition: all 0.3s ease;
    }

    .social-link:hover { background: var(--header-gradient); transform: translateY(-3px); }

    .footer-lang { display: flex; gap: 10px; }
    .lang-btn {
        padding: 5px 15px;
        border: 1px solid var(--border-color);
        background: transparent;
        color: var(--text-color);
        border-radius: 5px;
        cursor: pointer;
        font-size: 14px;
        transition: all 0.3s ease;
    }

    .lang-btn:hover, .lang-btn.active { background: var(--header-gradient); border-color: transparent; color: #000; }
    .footer-column h4 { font-size: 16px; font-weight: 600; color: var(--text-color); margin: 0; text-transform: uppercase; letter-spacing: 0.5px; }
    .footer-links { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
    .footer-links a { color: var(--text-secondary); text-decoration: none; font-size: 14px; transition: all 0.3s ease; display: inline-block; }
    .footer-links a:hover { color: var(--nav-active); transform: translateX(5px); }
    .footer-bottom { text-align: center; padding-top: 20px; border-top: 1px solid var(--border-color); color: var(--text-secondary); font-size: 14px; }

    .loading-indicator {
        display: none;
        text-align: center;
        padding: 40px 20px;
        background: var(--bg-secondary);
        margin: 20px auto;
        max-width: 1400px;
        border-radius: 12px;
    }
    .loading-indicator.show { display: block; }
    .spinner {
        width: 50px;
        height: 50px;
        border: 4px solid var(--border-color);
        border-top-color: var(--nav-active);
        border-radius: 50%;
        margin: 0 auto 15px;
        animation: spin 1s linear infinite;
    }
    @keyframes spin { to { transform: rotate(360deg); } }
    .loading-indicator p { color: var(--text-secondary); font-size: 14px; margin: 0; }

   /* СТАЛО (ПРАВИЛЬНО) */
    @media (min-width: 769px) {
        .header-desktop { display: flex; } /* Лучше использовать flex, так как внутри flex-контейнер */
        .header-mobile { display: none; }
        .body { padding-bottom: 0; }
}

    @media (min-width: 1025px) {
        .header-desktop { display: block; }
        .header-mobile { display: none; }
        .body { padding-bottom: 0; }
    }