      * { 
            box-sizing: border-box; 
            margin: 0; 
            padding: 0; 
        }
        body { 
            font-family: system-ui, -apple-system, sans-serif; 
            color: #374151; 
            background-color: #ffffff; 
        }
        a { 
            text-decoration: none; 
            color: inherit; 
        }

        .container { 
            width: 100%;
            max-width: 1200px; 
            margin: 0 auto; 
            padding: 0 15px; 
        }

        header { 
            background: #000; 
            padding-top: 15px;
        }
        .header-top-row { 
            display: flex; 
            align-items: center; 
            justify-content: space-between; 
        }
        
        .header-logo img { 
            max-height: 60px; 
            border-radius: 4px; 
            display: block;
        }

        .header-contacts { 
            color: #fff; 
            font-size: 14px; 
        }
        .header-contacts a { 
            font-size: 22px; 
            font-weight: bold; 
            color: #fff; 
            display: block; 
            margin-top: 2px;
        }
        .header-contacts a:hover { 
            color: #f59e0b; 
        }

        .header-schedule { 
            color: #fff; 
            font-size: 14px; 
        }
        .header-schedule p { 
            font-size: 16px; 
            margin-top: 4px; 
        }

        .header-search { 
            position: relative; 
        }
        .search-input { 
            border-radius: 20px; 
            padding: 6px 35px 6px 15px; 
            border: none; 
            outline: none; 
            width: 220px; 
            font-size: 14px; 
        }
        .search-btn { 
            position: absolute; 
            right: 10px; 
            top: 5px;
            background: none; 
            border: none; 
            cursor: pointer; 
            color: #666; 
        }
        .search-btn svg { 
            width: 18px; 
            height: 18px; 
            stroke: currentColor; 
        }

        .header-login {
            position: relative;
        }
        .header-login-btn { 
            color: #fff; 
            text-align: center; 
            cursor: pointer; 
            display: block;
        }
        .header-login-btn:hover { 
            color: #f59e0b; 
        }
        .header-login-btn svg { 
            width: 32px; 
            height: 32px; 
            stroke: currentColor; 
            margin: 0 auto; 
            display: block;
        }
        .header-login-btn span { 
            display: block; 
            font-size: 12px; 
            font-weight: 500; 
            border-bottom: 1px dotted rgba(255,255,255,0.5); 
            margin-top: 2px; 
        }

        .desktop-nav-wrap {
            margin-top: 15px;
            padding-bottom: 15px;
        }
        .desktop-nav {
            display: flex;
            justify-content: space-around;
            background: linear-gradient(to bottom, #f59e0b, #ea580c);
            border-radius: 16px;
            padding: 4px 0;
        }
        .desktop-nav a {
            color: #fff;
            padding: 8px 16px;
            font-size: 16px;
            font-weight: 600;
            border-radius: 9999px;
            transition: background 0.3s;
        }
        .desktop-nav a:hover {
            background-color: #f59e0b;
        }

        .mobile-header, #burger-toggle, .mobile-menu-overlay {
            display: none;
        }

        @media (max-width: 767px) {
            .header-top-row, .desktop-nav-wrap {
                display: none;
            }
            header {
                padding-top: 0;
            }

            .mobile-header {
                display: flex;
                align-items: center;
                justify-content: space-between;
                padding: 10px 15px;
                background: #000;
            }

            .mobile-logo img {
                max-height: 40px;
                border-radius: 4px;
                display: block;
            }

            .mobile-actions {
                display: flex;
                align-items: center;
                gap: 15px;
                color: #fff;
            }
            .mobile-actions svg {
                width: 24px;
                height: 24px;
                stroke: currentColor;
                display: block;
            }

            .burger-btn {
                display: flex;
                flex-direction: column;
                justify-content: space-between;
                width: 24px;
                height: 18px;
                cursor: pointer;
            }
            .burger-btn span {
                display: block;
                height: 2px;
                width: 100%;
                background-color: #fff;
                transition: transform 0.3s, opacity 0.3s;
            }

            .mobile-menu-overlay {
                display: block;
                position: fixed;
                top: 0;
                left: -100%;
                width: 280px;
                height: 100%;
                background-color: #111827;
                z-index: 100;
                padding: 25px 20px;
                transition: left 0.3s ease-in-out;
                box-shadow: 5px 0 15px rgba(0,0,0,0.5);
            }

            .mobile-menu-title {
                color: #fff;
                font-size: 18px;
                font-weight: bold;
                margin-bottom: 25px;
                padding-bottom: 10px;
                border-bottom: 1px solid #374151;
            }

            .mobile-nav {
                display: flex;
                flex-direction: column;
                gap: 5px;
            }
            .mobile-nav a {
                color: #d1d5db;
                font-size: 16px;
                font-weight: 500;
                padding: 10px 0;
                border-bottom: 1px solid #1f2937;
            }
            .mobile-nav a:hover {
                color: #f59e0b;
            }

            .close-menu-btn {
                position: absolute;
                top: 22px;
                right: 20px;
                color: #9ca3af;
                cursor: pointer;
            }

            #burger-toggle:checked ~ .mobile-menu-overlay {
                left: 0;
            }

            #burger-toggle:checked ~ header .burger-btn span:nth-child(1) {
                transform: translateY(8px) rotate(45deg);
            }
            #burger-toggle:checked ~ header .burger-btn span:nth-child(2) {
                opacity: 0;
            }
            #burger-toggle:checked ~ header .burger-btn span:nth-child(3) {
                transform: translateY(-8px) rotate(-45deg);
            }
        }

        .desktop-nav-wrap { 
            padding: 15px 0; 
        }
        .desktop-nav { 
            display: flex; 
            justify-content: space-around; 
            background: linear-gradient(to bottom, #f59e0b, #ea580c); 
            border-radius: 30px; 
            padding: 5px 15px; 
        }
        .desktop-nav a { 
            color: #fff; 
            font-weight: bold; 
            font-size: 15px; 
            padding: 8px 15px; 
            border-radius: 20px; 
        }
        .desktop-nav a:hover { 
            background: #f59e0b; 
        }

        .main-catalog-section {
            background-image: url('assets/body-bg.jpg');
            background-position: center top;
            background-repeat: repeat;
            background-size: auto; 
            padding: 40px 0 60px 0;
        }

        .catalog-intro-text {
            text-align: center;
            max-width: 960px;
            margin: 0 auto 35px auto;
            font-size: 17px;
            line-height: 1.6;
            color: #4b5563;
            font-weight: 500;
        }
        
        .section-title { 
            text-align: center; 
            font-size: 28px; 
            font-weight: bold;
            color: #111827;
            margin-bottom: 30px; 
        }
        
        .products-grid { 
            display: grid; 
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); 
            gap: 20px; 
            margin-bottom: 50px;
        }

        .product-card { 
            background: #fff; 
            border-radius: 20px; 
            overflow: hidden; 
            box-shadow: 0 4px 6px rgba(0,0,0,0.05); 
            width: 100%;
            text-align: center; 
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        @media (max-width: 767px) {
            .benefits-grid {
                flex-direction: column;
                gap: 30px;
            }
    
            .section-title {
                font-size: 22px;
                margin-bottom: 20px;
            }
    
            .catalog-intro-text {
                font-size: 15px;
                margin-bottom: 25px;
            }
        }

        @media (max-width: 767px) {
            .benefits-grid {
                flex-direction: column;
                gap: 30px;
            }
    
            .section-title {
                font-size: 22px;
                margin-bottom: 20px;
            }
            
            .catalog-intro-text {
                font-size: 15px;
                margin-bottom: 25px;
            }
        }


        .product-card img { 
            width: 100%; 
            height: 220px; 
            object-fit: cover; 
        }
        .product-info { 
            padding: 15px 15px 0 15px; 
            flex-grow: 1;
        }
        .product-title { 
            font-size: 16px; 
            font-weight: bold; 
            margin-bottom: 12px; 
            display: block; 
            min-height: 44px; 
        }

        .weight-selector {
            display: flex;
            justify-content: center;
            gap: 8px;
            margin-bottom: 15px;
        }
        .weight-btn {
            background: #f3f4f6;
            color: #4b5563;
            border: 1px solid #e5e7eb;
            padding: 4px 12px;
            font-size: 12px;
            font-weight: 500;
            border-radius: 12px;
            cursor: default;
        }
        .weight-btn.active {
            background: #f59e0b;
            color: #fff;
            border-color: #f59e0b;
            font-weight: bold;
        }
        
        .price-panel { 
            display: flex; 
            justify-content: space-between; 
            align-items: center; 
            padding: 0 15px 15px; 
        }
        .price-value { 
            font-size: 18px; 
            font-weight: bold; 
            color: #111827; 
        }
        .btn-buy { 
            background: #ea580c; 
            color: #fff; 
            border: none; 
            padding: 8px 22px; 
            border-radius: 30px; 
            cursor: pointer; 
            font-weight: bold; 
            font-size: 14px;
        }
        .btn-buy:hover {
            background: #f59e0b;
        }

        .benefits-grid {
            display: flex;
            justify-content: space-between;
            gap: 20px;
            margin-top: 20px;
        }
        .benefit-item {
            flex: 1;
            text-align: center;
            background: transparent;
            padding: 10px;
        }
        .benefit-icon-wrap {
            width: 96px;
            height: 96px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background-color: #e5e7eb; 
            border-radius: 50%;
        }
        .benefit-icon-wrap img {
            width: 64px;
            height: 64px;
        }
        .benefit-item h3 {
            font-size: 16px;
            font-weight: bold;
            color: #111827;
            margin: 16px 0 8px 0;
        }
        .benefit-item p {
            font-size: 13px;
            line-height: 1.5;
            color: #4b5563;
            font-weight: 500;
        }

        footer {
            background-color: #1f2937; 
            color: #ffffff;
            font-size: 14px;
            padding: 30px 0 40px 0;
        }
        .footer-top {
            display: flex;
            justify-content: space-between;
            font-weight: bold;
            padding-bottom: 30px;
            border-bottom: 1px solid #4b5563;
        }
        .footer-col {
            width: 33.333%;
        }
        .footer-col.left {
            text-align: left;
        }
        .footer-col.center {
            text-align: center;
        }
        .footer-col.right {
            text-align: right;
        }
        .footer-links-inline {
            margin-top: 10px;
            display: flex;
            gap: 15px;
        }
        .footer-links-inline a, .footer-bottom-links a, .softart-wrap a {
            border-bottom: 1px solid rgba(255, 255, 255, 0.4);
        }
        .footer-col a[href^="mailto:"] {
            color: #ffffff;
            font-weight: normal;
        }
        .footer-feedback-btn {
            display: inline-block;
            margin-top: 10px;
        }

        .footer-bottom {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            padding-top: 30px;
            color: #d1d5db;
            font-size: 13px;
            font-weight: normal;
            line-height: 1.6;
        }
        .footer-bottom-links {
            display: flex;
            flex-direction: column;
            gap: 4px;
            text-align: center;
        }
        
        .softart-wrap {
            display: flex;
            align-items: flex-start;
            text-align: left;
            gap: 12px;
        }
        .softart-logo {
            display: block;
        }
        .softart-logo img {
            border: none;
        }
        .softart-text-links {
            margin-top: 8px;
            display: flex;
            gap: 8px;
        }
        .full-width-banner {
            width: 100%;
            display: block;
            overflow: hidden;
            line-height: 0;
        }
        .full-width-banner img {
            width: 100%;
            height: auto;
            display: block;
            object-fit: cover;
        }