/* Основные настройки */
* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Montserrat', sans-serif; scroll-behavior: smooth; }
body { background-color: #FAFAFA; color: #333; overflow-x: hidden; }

/* Эффект солнца на фоне */
.sun-rays {
    position: fixed; top: -50vh; left: -50vw; width: 200vw; height: 200vh;
    background: repeating-conic-gradient(from 0deg, transparent 0deg 15deg, rgba(255, 180, 0, 0.03) 15deg 30deg);
    animation: rotate-sun 150s linear infinite; z-index: -2; pointer-events: none;
}
@keyframes rotate-sun { 100% { transform: rotate(360deg); } }

/* Плавные анимации при скролле */
.animate-on-scroll {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.animate-on-scroll.show {
    opacity: 1;
    transform: translateY(0);
}

/* Шапка сайта */
header {
    display: flex; justify-content: space-between; align-items: center;
    padding: 15px 5%; background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px); position: fixed; width: 100%; top: 0; z-index: 1000;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}
.logo { font-size: 26px; font-weight: 800; color: #ff7b00; text-transform: uppercase; letter-spacing: 1px; }
.logo span { color: #008080; }
nav a { text-decoration: none; color: #444; margin: 0 15px; font-weight: 600; transition: color 0.3s; }
nav a:hover { color: #ff7b00; }
.header-right { display: flex; align-items: center; gap: 20px; }
select { padding: 5px 10px; border-radius: 8px; border: 2px solid #008080; outline: none; font-weight: 600; cursor: pointer; }

/* Корзина */
.cart-icon { font-size: 24px; cursor: pointer; position: relative; transition: 0.2s; }
.cart-icon:hover { transform: scale(1.1); }
.cart-badge {
    position: absolute; top: -5px; right: -10px; background: #ff004c; color: white;
    font-size: 12px; font-weight: bold; width: 20px; height: 20px; border-radius: 50%; display: flex; justify-content: center; align-items: center;
}
.cart-modal {
    position: fixed; top: 0; right: -400px; width: 400px; height: 100vh;
    background: white; box-shadow: -5px 0 30px rgba(0,0,0,0.2);
    transition: right 0.4s ease; z-index: 2000; padding: 20px; display: flex; flex-direction: column;
}
.cart-modal.open { right: 0; }
.close-cart { font-size: 30px; cursor: pointer; float: right; color: #888; }
.cart-items { flex-grow: 1; overflow-y: auto; margin-top: 20px; }
.cart-item { display: flex; justify-content: space-between; margin-bottom: 15px; border-bottom: 1px solid #eee; padding-bottom: 10px; }
.cart-item-info h4 { font-size: 14px; margin-bottom: 5px; color: #333; }
.cart-item-info p { color: #ff7b00; font-weight: bold; }
.remove-btn { color: red; cursor: pointer; border: none; background: none; font-weight: bold; }
.cart-footer { border-top: 2px solid #eee; padding-top: 20px; text-align: center; }

/* Бегущие строки */
.marquee-wrapper { margin-top: 65px; background: linear-gradient(90deg, #ff7b00, #ffc400, #ff7b00); color: white; padding: 12px 0; overflow: hidden; white-space: nowrap; box-shadow: 0 4px 10px rgba(255, 123, 0, 0.3); }
.marquee { display: inline-block; animation: marquee 25s linear infinite; font-size: 18px; font-weight: 800; letter-spacing: 2px; }
.marquee span { margin-right: 50px; }

.clients-marquee-wrapper { background: white; border-top: 2px solid #eee; border-bottom: 2px solid #eee; padding: 15px 0; overflow: hidden; white-space: nowrap; margin-top: 20px; }
.clients-marquee { display: inline-block; animation: marquee 35s linear infinite; font-size: 18px; font-weight: 600; color: #008080; }
.clients-marquee span { margin-right: 20px; }
@keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* Кнопки */
.btn {
    padding: 12px 25px; background: linear-gradient(45deg, #008080, #00a8a8);
    color: white; border: none; border-radius: 30px; cursor: pointer;
    font-weight: bold; font-size: 16px; transition: 0.3s; text-decoration: none; display: inline-block;
}
.btn:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0, 128, 128, 0.4); }

/* Главный экран */
.hero { height: 90vh; display: flex; align-items: center; justify-content: center; text-align: center; padding: 0 20px; background: radial-gradient(circle, rgba(255,230,180,0.5) 0%, rgba(250,250,250,0) 70%); }
.hero-content h1 { font-size: 45px; color: #d84b00; margin-bottom: 20px; text-shadow: 2px 2px 10px rgba(255, 165, 0, 0.2); font-weight: 800; text-transform: uppercase; }
.hero-content p { font-size: 20px; margin-bottom: 30px; color: #444; max-width: 700px; margin-inline: auto; line-height: 1.5; }

/* Секции */
.section-title { text-align: center; font-size: 36px; color: #008080; margin-bottom: 40px; text-transform: uppercase; font-weight: 800; }
.products-section, .about-section, .advantages-section, .contacts-section { padding: 80px 5%; text-align: center; }

/* Преимущества */
.adv-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 30px; }
.adv-card { background: white; padding: 30px 20px; border-radius: 20px; box-shadow: 0 10px 30px rgba(0,0,0,0.05); transition: 0.3s; }
.adv-card:hover { transform: translateY(-10px); }
.adv-icon { font-size: 50px; margin-bottom: 15px; }
.adv-card h3 { color: #d84b00; margin-bottom: 10px; font-size: 20px; }
.adv-card p { font-size: 14px; color: #666; line-height: 1.5; }

/* О нас */
.about-content { max-width: 900px; margin: 0 auto; background: white; padding: 40px; border-radius: 20px; box-shadow: 0 10px 30px rgba(0, 128, 128, 0.1); font-size: 18px; line-height: 1.7; text-align: center; }
.about-content b { color: #d84b00; font-size: 22px; }
.clients-title { margin-top: 60px; font-size: 24px; color: #333; }

/* Фильтры товаров */
.filters-container { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 15px; background: white; padding: 20px; border-radius: 15px; box-shadow: 0 5px 20px rgba(0,0,0,0.05); margin-bottom: 40px; max-width: 1000px; margin-inline: auto; }
.filters-container h3 { color: #008080; }
.filters-container select, .filters-container input { padding: 10px; border: 1px solid #ccc; border-radius: 8px; outline: none; font-size: 14px; }
.filter-btn { padding: 10px 20px; background: #ff7b00; }

/* Каталог */
.products-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 30px; }
.product-card { background: white; border-radius: 15px; padding: 20px; box-shadow: 0 10px 30px rgba(0,0,0,0.06); transition: 0.3s; text-align: center; display: flex; flex-direction: column; justify-content: space-between; position: relative;}
.product-card:hover { transform: translateY(-10px); box-shadow: 0 15px 40px rgba(0,0,0,0.1); }
.product-card img { width: 100%; height: 260px; object-fit: cover; border-radius: 10px; margin-bottom: 15px; }
.product-card h3 { font-size: 18px; margin-bottom: 10px; min-height: 44px; }
.price { font-size: 22px; font-weight: 800; color: #ff7b00; margin-bottom: 15px; }

/* Контакты */
.contacts-box { max-width: 700px; margin: 0 auto; background: white; padding: 40px; border-radius: 20px; box-shadow: 0 10px 30px rgba(0,0,0,0.05); text-align: center; font-size: 18px; line-height: 2; }
.contacts-box a { color: #008080; text-decoration: none; font-weight: bold; }
.phones { display: flex; flex-direction: column; gap: 10px; margin: 25px 0; }
.phones a { font-size: 22px; color: #333; }
.phones a:hover { color: #ff7b00; }
.tg-btn { display: flex; align-items: center; justify-content: center; gap: 10px; background: #0088cc; max-width: 300px; margin: 0 auto; }

/* Подвал */
footer { background: #222; color: white; text-align: center; padding: 20px; }           

/* Адаптация под телефоны */
@media (max-width: 768px) {
    header { flex-direction: column; gap: 10px; padding: 10px; }
    nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
    .marquee-wrapper { margin-top: 130px; }
    .hero-content h1 { font-size: 30px; }
    .cart-modal { width: 100%; right: -100%; }
    .filters-container { flex-direction: column; align-items: stretch; }
    
    /* ИСПРАВЛЕНИЕ ДЛЯ ТОВАРОВ: Идеальное выравнивание */
    .products-grid { 
        display: grid;
        grid-template-columns: 1fr; /* Строго 1 товар в ряд на весь экран */
        gap: 20px; 
    }
    
    /* ИСПРАВЛЕНИЕ АНИМАЦИИ: Гарантия видимости контента на телефонах */
    .animate-on-scroll { 
        opacity: 1 !important; 
        transform: translateY(0) !important; 
        transition: none !important;
    }
}