        :root {
            --color-primary: #22281d; 
            --color-gold: #c5a85f;    
            --color-bg: #fbfaf8;      
            --color-surface: #ffffff;
            --color-text-main: #1a1a1a;
            --color-text-muted: #888888;
            --color-border: #eaeaea;
        }

        /* === БАЗОВЫЕ НАСТРОЙКИ === */
        * { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
        body { font-family: 'Montserrat', sans-serif; background-color: var(--color-surface); color: var(--color-text-main); line-height: 1.6; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
        h1, h2, h3, .serif { font-family: 'Cormorant Garamond', serif; font-weight: 600; }
        a { text-decoration: none; color: inherit; transition: 0.3s ease; }
        a:hover { color: var(--color-gold); }
        .container { max-width: 1400px; margin: auto; margin-top: 70px; padding: 0 40px; animation: fadeInOpacity 1s ease-out; }


        @keyframes fadeInOpacity { 0% { opacity: 0; transform: translateY(10px); } 100% { opacity: 1; transform: translateY(0); } }

        ::-webkit-scrollbar { width: 6px; }
        ::-webkit-scrollbar-track { background: var(--color-bg); }
        ::-webkit-scrollbar-thumb { background: #dcd7ce; }
        ::-webkit-scrollbar-thumb:hover { background: var(--color-gold); }

        /* === ПРЕМИУМ ШАПКА === */
       

        .breadcrumbs { padding: 30px 0 20px; font-size: 11px; color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 1.5px; }
        .breadcrumbs span { margin: 0 10px; color: #ccc; }

        /* === МАКЕТ СТРАНИЦЫ ТОВАРА === */
        .product-layout { display: grid; grid-template-columns: 55% 38%; gap: 7%; padding-bottom: 80px; align-items: start; }

        /* === ГАЛЕРЕЯ ТОВАРА === */
        .product-gallery { display: flex; gap: 25px; }
        .gallery-thumbnails { display: flex; flex-direction: column; gap: 15px; width: 90px; flex-shrink: 0; }
        .thumb { width: 90px; height: 120px; cursor: pointer; transition: 0.4s ease; opacity: 0.5; overflow: hidden; background: var(--color-bg); }
        .thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
        .thumb.active, .thumb:hover { opacity: 1; box-shadow: inset 0 0 0 1px var(--color-gold); }
        .thumb:hover img { transform: scale(1.05); }

        .gallery-main { flex-grow: 1; position: relative; background: var(--color-bg); overflow: hidden; }
        .gallery-main img { width: 100%; aspect-ratio: 3/4; object-fit: cover; display: block; transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94); mix-blend-mode: multiply; }
        @media (min-width: 901px) { .gallery-main:hover img { transform: scale(1.08); } }

        .gallery-badge { position: absolute; top: 25px; left: 25px; background: var(--color-primary); color: var(--color-gold); padding: 8px 16px; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 2px; z-index: 2; }
        .mobile-dots { display: none; }

        /* === ИНФОРМАЦИЯ О ТОВАРА === */
        .product-info { position: sticky; top: 100px; padding-top: 10px; }
        .product-meta { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 15px; border-bottom: 1px solid var(--color-border); padding-bottom: 15px; }
        .product-category { font-size: 11px; color: var(--color-gold); text-transform: uppercase; letter-spacing: 2px; font-weight: 600; }
        .product-article { font-size: 11px; color: var(--color-text-muted); letter-spacing: 1px; }
        .product-title { font-size: 42px; color: var(--color-primary); margin-bottom: 25px; line-height: 1.15; }

        .product-price-block { display: flex; align-items: center; gap: 20px; margin-bottom: 35px; }
        .price { font-family: 'Cormorant Garamond', serif; font-size: 36px; font-weight: 700; color: var(--color-primary); }
        .status { font-size: 11px; font-weight: 600; display: flex; align-items: center; gap: 8px; color: #3b823e; text-transform: uppercase; letter-spacing: 1px; }
        .status-dot { width: 6px; height: 6px; border-radius: 50%; background: #4caf50; box-shadow: 0 0 8px rgba(76,175,80,0.5); }

        .size-section { margin-bottom: 40px; }
        .size-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
        .size-title { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px; }
        .size-guide { font-size: 11px; color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 1px; cursor: pointer; display: flex; align-items: center; gap: 6px; transition: 0.3s; }
        .size-guide:hover { color: var(--color-gold); }

        .sizes-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(70px, 1fr)); gap: 12px; }
        .size-btn { padding: 14px 0; border: 1px solid var(--color-border); background: transparent; font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 500; cursor: pointer; transition: 0.3s; }
        .size-btn:hover:not(.disabled) { border-color: var(--color-primary); color: var(--color-primary); }
        .size-btn.selected { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }
        .size-btn.disabled { opacity: 0.3; cursor: not-allowed; background: var(--color-bg); text-decoration: line-through; }

        .action-buttons { display: flex; gap: 15px; margin-bottom: 50px; }
        .btn-add-cart { flex-grow: 1; padding: 20px; background: var(--color-primary); color: var(--color-gold); border: 1px solid var(--color-primary); font-family: inherit; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 2px; cursor: pointer; transition: 0.4s; }
        .btn-add-cart:hover { background: #1a1f16; color: #fff; }
        .btn-wishlist { width: 62px; height: 62px; border: 1px solid var(--color-border); background: transparent; font-size: 22px; color: var(--color-text-muted); cursor: pointer; transition: 0.4s; display: flex; align-items: center; justify-content: center; }
        .btn-wishlist:hover { border-color: var(--color-primary); color: var(--color-primary); }
        .btn-wishlist.active { color: #A33327; border-color: #A33327; }

        .accordion { border-top: 1px solid var(--color-border); }
        .accordion-item { border-bottom: 1px solid var(--color-border); }
        .accordion-header { width: 100%; padding: 25px 0; display: flex; justify-content: space-between; align-items: center; background: none; border: none; font-family: inherit; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 2px; cursor: pointer; transition: 0.3s; }
        .accordion-header:hover { color: var(--color-gold); }
        .accordion-header i { transition: transform 0.4s; font-size: 14px; }
        .accordion-header.active i { transform: rotate(180deg); color: var(--color-gold); }
        .accordion-content { max-height: 0; overflow: hidden; transition: max-height 0.5s ease; font-size: 14px; color: var(--color-text-muted); line-height: 1.8; }
        .accordion-content p { padding-bottom: 25px; }

        /* ========================================= */
        /* === ПОХОЖИЕ ТОВАРЫ (СЛАЙДЕР) === */
        /* ========================================= */
        .related-section { padding: 60px 0 100px; border-top: 1px solid var(--color-border); }
        .related-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 40px; }
        .related-title { font-size: 32px; color: var(--color-primary); }

        .slider-controls { display: flex; gap: 15px; }
        .slider-arrow { width: 45px; height: 45px; border: 1px solid var(--color-border); border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #fff; color: var(--color-primary); cursor: pointer; transition: 0.3s; font-size: 16px; }
        .slider-arrow:hover { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }

        .related-slider { display: flex; gap: 30px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 20px; scroll-behavior: smooth; }
        .related-slider::-webkit-scrollbar { display: none; }

        /* Стили Карточки товара (как в каталоге) */
        .product-card { flex: 0 0 calc(25% - 22.5px); scroll-snap-align: start; background: var(--color-surface); border: 1px solid var(--color-border); padding: 15px; display: flex; flex-direction: column; border-radius: 4px; position: relative; transition: 0.4s ease; }
        .product-card:hover { border-color: var(--color-gold); box-shadow: 0 15px 40px rgba(0,0,0,0.06); transform: translateY(-3px); }

        .badge { position: absolute; top: 25px; left: 25px; z-index: 10; padding: 5px 10px; font-size: 10px; font-weight: 600; text-transform: uppercase; color: #fff; border-radius: 2px; }
        .badge.sale { background: #A33327; } .badge.new { background: var(--color-primary); }

        .card-slider-container { position: relative; width: 100%; padding-top: 130%; overflow: hidden; background: var(--color-bg); margin-bottom: 20px; }
        .card-slider-track { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; }
        .card-slider-track img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; }

        /* Hover-смена фото и быстрые размеры на ПК */
        .desktop-quick-sizes { position: absolute; bottom: -60px; left: 0; width: 100%; padding: 15px; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(5px); display: flex; justify-content: center; gap: 8px; transition: 0.3s ease; opacity: 0; z-index: 5; border-top: 1px solid var(--color-border); }
        .ds-btn { width: 35px; height: 35px; border: 1px solid var(--color-border); border-radius: 2px; background: #fff; font-size: 12px; font-weight: 600; cursor: pointer; transition: 0.2s; display: flex; align-items: center; justify-content: center; }
        .ds-btn:hover { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }

        @media (min-width: 901px) {
            .card-slider-track img:nth-child(2) { position: absolute; top: 0; left: 0; opacity: 0; transition: opacity 0.5s ease; z-index: 2; }
            .product-card:hover .card-slider-track img:nth-child(2) { opacity: 1; }
            .product-card:hover .desktop-quick-sizes { bottom: 0; opacity: 1; }
        }

        .card-info { display: flex; flex-direction: column; flex-grow: 1; text-align: center; }
        .card-status { font-size: 11px; font-weight: 600; display: flex; align-items: center; justify-content: center; gap: 5px; margin-bottom: 8px; color: #3b823e; }
        .card-status-dot { width: 6px; height: 6px; border-radius: 50%; background: #4caf50; }
        .card-category { font-size: 11px; color: var(--color-gold); text-transform: uppercase; margin-bottom: 5px; letter-spacing: 1px; }
        .card-title { font-size: 15px; font-weight: 500; margin-bottom: 10px; color: var(--color-text-main); }
        .card-price-wrap { margin-top: auto; margin-bottom: 20px; }
        .card-price { font-family: 'Cormorant Garamond', serif; font-size: 26px; font-weight: 700; color: var(--color-primary); }

        .btn-buy { width: 100%; padding: 12px; background: transparent; border: 1px solid var(--color-primary); color: var(--color-primary); font-family: inherit; font-size: 12px; font-weight: 600; text-transform: uppercase; cursor: pointer; transition: 0.3s; letter-spacing: 1px; }
        .btn-buy:hover { background: var(--color-primary); color: #fff; }

        /* === ТАБЛИЦА РАЗМЕРОВ (МОДАЛКА) === */
        .modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.4); backdrop-filter: blur(8px); z-index: 1000; opacity: 0; visibility: hidden; transition: 0.4s; display: flex; align-items: center; justify-content: center; padding: 20px; }
        .modal-overlay.active { opacity: 1; visibility: visible; }
        .modal-content { background: var(--color-surface); width: 100%; max-width: 600px; padding: 40px; transform: translateY(30px); transition: 0.4s; position: relative; }
        .modal-overlay.active .modal-content { transform: translateY(0); }
        .modal-close { position: absolute; top: 20px; right: 25px; font-size: 24px; color: var(--color-text-muted); cursor: pointer; background: none; border: none; }
        .size-table { width: 100%; border-collapse: collapse; font-size: 13px; text-align: center; margin-top: 20px; }
        .size-table th { background: var(--color-bg); padding: 15px; color: var(--color-primary); }
        .size-table td { padding: 15px; border-bottom: 1px solid var(--color-border); }

        /* === ВИДЖЕТ СВЯЗИ === */
        .contact-widget { position: fixed; bottom: 40px; right: 40px; z-index: 900; display: flex; flex-direction: column; align-items: flex-end; gap: 15px; }
        .widget-menu { display: flex; flex-direction: column; gap: 12px; opacity: 0; visibility: hidden; transform: translateY(20px); transition: 0.4s; }
        .widget-menu.active { opacity: 1; visibility: visible; transform: translateY(0); }
        .widget-btn { width: 55px; height: 55px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 22px; color: #fff; cursor: pointer; border: none; box-shadow: 0 10px 25px rgba(0,0,0,0.15); transition: 0.3s; }
        .btn-main { background: var(--color-gold); width: 65px; height: 65px; font-size: 26px; z-index: 2; }
        .btn-tg { background: #2AABEE; } .btn-wa { background: #25D366; } .btn-phone { background: var(--color-primary); }

        /* === ПЛАВАЮЩАЯ ПАНЕЛЬ ПОКУПКИ (МОБАЙЛ) === */
        .mobile-sticky-buy { display: none; position: fixed; bottom: 0; left: 0; width: 100%; background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(15px); padding: 15px 25px 25px; z-index: 990; transform: translateY(100%); transition: 0.5s; align-items: center; justify-content: space-between; border-top: 1px solid rgba(0,0,0,0.05); }
        .mobile-sticky-buy.visible { transform: translateY(0); }
        .sticky-price { font-family: 'Cormorant Garamond', serif; font-size: 26px; font-weight: 700; color: var(--color-primary); }
        .sticky-btn { padding: 14px 30px; background: var(--color-primary); color: var(--color-gold); border: none; font-weight: 600; text-transform: uppercase; }

        /* ========================================= */
        /* === МОБИЛЬНАЯ ВЕРСИЯ === */
        /* ========================================= */
        @media (max-width: 900px) {
            .top-header { display: none; }
            .container { padding: 0 20px; }
            .product-layout { grid-template-columns: 1fr; gap: 0; padding-bottom: 40px; }

            .product-gallery { margin: 0 -20px 25px; overflow-x: auto; scroll-snap-type: x mandatory; }
            .gallery-thumbnails { display: none; }
            .gallery-main { width: 100%; flex-shrink: 0; scroll-snap-align: start; cursor: default; }
            .gallery-slide { width: 100%; flex-shrink: 0; scroll-snap-align: start; }
            .gallery-slide img { width: 100%; aspect-ratio: 4/5; object-fit: cover; mix-blend-mode: multiply; }

            .mobile-dots { display: flex; justify-content: center; gap: 8px; margin-bottom: 30px; }
            .dot { width: 6px; height: 6px; background: #e0e0e0; border-radius: 50%; transition: 0.3s; }
            .dot.active { background: var(--color-primary); transform: scale(1.4); }

            .product-info { position: static; }
            .product-title { font-size: 32px; }
            .price { font-size: 32px; }

            /* Слайдер похожих товаров на мобильном (2 карточки) */
            .related-title { font-size: 28px; }
            .slider-controls { display: none; } /* Скрываем стрелки на тач-экранах */
            .related-slider { gap: 15px; margin: 0 -20px; padding: 0 20px 20px; }
            .product-card { flex: 0 0 calc(65% - 15px); padding: 10px; } /* Полторы карточки видно */
            .product-card:hover { transform: none; box-shadow: none; }
            .card-title { font-size: 13px; }
            .card-price { font-size: 20px; }
            .btn-buy { padding: 10px; font-size: 10px; }

            .contact-widget { bottom: 100px; right: 20px; }
            .mobile-sticky-buy { display: flex; }
        }
        .cart-toast {
        position: fixed;
        bottom: -150px; /* Спрятана за экраном вниз */
        left: 50%;
        transform: translateX(-50%);
        background: #fff;
        box-shadow: 0 10px 30px rgba(0,0,0,0.15);
        border-radius: 12px;
        padding: 12px 16px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 90%;
        max-width: 450px;
        z-index: 9999;
        transition: bottom 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Эффект пружинки */
        border: 1px solid #eee;
    }
    .cart-toast.show {
        bottom: 20px; /* Выезжает наверх */
    }
    .toast-content {
        display: flex;
        align-items: center;
        gap: 12px;
        flex: 1;
        overflow: hidden;
    }
    .toast-content img {
        width: 50px;
        height: 50px;
        border-radius: 8px;
        object-fit: cover;
    }
    .toast-info {
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }
    .toast-status {
        font-size: 0.75rem;
        color: #27ae60;
        font-weight: 600;
        text-transform: uppercase;
        margin-bottom: 2px;
    }
    .toast-info strong {
        font-size: 0.9rem;
        color: #333;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis; /* Троеточие, если название длинное */
    }
    .toast-actions {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-left: 10px;
    }
    .btn-go-cart {
        background: #2c3e50;
        color: white;
        text-decoration: none;
        padding: 8px 14px;
        border-radius: 6px;
        font-size: 0.85rem;
        font-weight: 500;
        transition: 0.2s;
        white-space: nowrap;
    }
    .btn-go-cart:hover {
        background: #1a252f;
    }
    .btn-close-toast {
        background: none;
        border: none;
        color: #999;
        font-size: 1.2rem;
        cursor: pointer;
        padding: 5px;
    }
    .btn-close-toast:hover {
        color: #333;
    }

    /* Для мобилок */
    @media (max-width: 480px) {
        .cart-toast { padding: 10px; }
        .toast-content img { width: 40px; height: 40px; }
        .btn-go-cart { padding: 8px 10px; font-size: 0.8rem; }
    }
  