        :root {
            --bg-color: #ffffff;
            --text-color: #000080;
            --primary-blue: #000080;
            --secondary-gold: #d4af37;
            --accent-red: #D30000;
            --light-gray: #ffffff;
        }
        body { background: var(--bg-color); color: var(--text-color); margin: 0; font-family: 'Outfit', sans-serif;}
        .hero { 
            padding: 140px 5% 40px; 
            background: radial-gradient(circle at 50% 0%, #fffdf0 0%, #ffffff 60%);
            color: var(--primary-blue); 
            text-align: center;
            border-bottom: 2px solid var(--secondary-gold);
        }
        .main-container { display: flex; max-width: 1400px; margin: 0 auto; padding: 2rem 20px; gap: 30px; }
        .catalog-section { flex: 3; }
        .basket-sidebar { 
            flex: 1; 
            background: #fff; 
            padding: 20px; 
            border-radius: 12px; 
            box-shadow: 0 10px 30px rgba(212,175,55,0.15);
            position: sticky;
            top: 100px;
            height: fit-content;
            border: 2px solid var(--secondary-gold);
        }
        .category-header { 
            border-bottom: 2px solid var(--accent-red); 
            padding-bottom: 10px; 
            margin-bottom: 2rem; 
            color: var(--primary-blue);
            display: flex;
            align-items: center;
            gap: 15px;
            font-size: 1.8rem;
        }
        .test-grid { 
            display: grid; 
            grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); 
            gap: 20px; 
            margin-bottom: 4rem;
        }
        .test-card { 
            background: #ffffff; 
            padding: 25px; 
            border-radius: 20px; 
            border: 2px solid var(--accent-red);
            outline: 4px solid var(--primary-blue); 
            outline-offset: -8px; 
            transition: all 0.3s;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            position: relative;
        }
        .test-card::before { content: ''; position: absolute; top: -5px; right: -5px; width: 15px; height: 15px; background: var(--secondary-gold); border-radius: 50%; }
        .test-card:hover { transform: translateY(-5px); box-shadow: 0 15px 40px rgba(212, 175, 55, 0.4); }
        .test-card h4 { margin: 0 0 10px 0; color: var(--accent-red); font-size: 1.2rem; font-weight: 800;}
        .test-card p { font-size: 0.85rem; color: var(--primary-blue); margin-bottom: 15px; flex-grow: 1; font-weight: 500;}
        .price-row { display: flex; justify-content: space-between; align-items: center; }
        .price-tag { font-weight: 800; color: var(--accent-red); font-size: 1.1rem; }
        .btn-add { 
            background: var(--primary-blue); color: white; border: 1.5px solid var(--accent-red); padding: 10px 20px; 
            border-radius: 30px; cursor: pointer; font-weight: 700; font-size: 0.8rem; text-transform: uppercase;
        }
        .btn-add:hover { background: white; color: var(--primary-blue); }
        
        .basket-item { 
            display: flex; justify-content: space-between; align-items: center; 
            padding: 10px 0; border-bottom: 1px solid #eee; font-size: 0.9rem; color: var(--primary-blue);
        }
        .total-row { 
            margin-top: 20px; padding-top: 15px; border-top: 2px solid var(--primary-blue); 
            font-weight: 800; font-size: 1.2rem; display: flex; justify-content: space-between;
        }
        .checkout-btn { 
            width: 100%; padding: 15px; background: var(--primary-blue); color: white; border: 1.5px solid var(--accent-red); 
            border-radius: 30px; font-weight: 700; cursor: pointer; margin-top: 15px;
        }
        
        .search-area { margin-bottom: 30px; }
        .search-input { width: 100%; padding: 18px; border-radius: 35px; border: 2px solid var(--primary-blue); font-family: inherit; font-size: 1rem; color: var(--primary-blue); }
        .search-input:focus { border-color: var(--secondary-gold); outline: none; }
