        /* ============================================================
           ОБЩИЕ СТИЛИ ТАБЛИЦЫ
           ============================================================ */
        .price-table {
            width: 100%;
            border-collapse: collapse;
            text-align: left;
        }

        .price-table thead th {
            background-color: #f8fafc;
            color: #64748b;
            font-weight: 700;
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            padding: 1.25rem 1.5rem;
            border-bottom: 1px solid #e2e8f0;
            vertical-align: bottom;
            line-height: 1.4;
        }

        /* --- СТРОКА ПРОИЗВОДИТЕЛЯ --- */
        .pt-vendor-row {
            cursor: pointer;
            transition: background-color 0.2s ease;
        }

        .pt-vendor-row td { background-color: #eff6ff; }
        .pt-vendor-row:hover td { background-color: #dbeafe; }

        .pt-vendor-row td {
            font-weight: 700;
            color: #0f172a;
            font-size: 1.05rem;
            padding: 1rem 1.5rem;
            border-top: 1px solid #bfdbfe;
            border-bottom: 1px solid #bfdbfe;
        }

        tbody.pt-group:first-of-type .pt-vendor-row td { border-top: none; }

        .pt-vendor-row .vendor-title-wrapper {
            display: flex;
            align-items: center;
            gap: 0.75rem;
        }

        .pt-chevron {
            width: 20px;
            height: 20px;
            color: #2563eb;
            transition: transform 0.3s ease;
            flex-shrink: 0;
        }

        tbody.pt-group.expanded .pt-chevron { transform: rotate(180deg); }

        /* --- СТРОКА КАТЕГОРИИ (АККОРДЕОН) --- */
        .pt-category-row td {
            padding: 0;
            border: none;
            background-color: #ffffff;
            transition: background-color 0.2s ease;
        }

        .pt-category-row:hover td { background-color: #f8fafc; }

        .td-content {
            display: flex;
            align-items: center;
            max-height: 0;
            padding: 0 1.5rem;
            opacity: 0;
            overflow: hidden;
            border-bottom: 0px solid transparent;
            transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                        opacity 0.3s ease,
                        padding 0.4s ease,
                        border-width 0.4s ease;
        }

        tbody.pt-group.expanded .td-content {
            max-height: 100px;
            padding-top: 0.85rem;
            padding-bottom: 0.85rem;
            opacity: 1;
            border-bottom: 1px solid #f1f5f9;
        }

        /* Знак рубля */
        .price-val:not(:empty)::after {
            content: ' ₽';
            color: #94a3b8;
            font-weight: 500;
            margin-left: 2px;
        }

        .pt-vendor-row .price-val:not(:empty)::after { color: inherit; font-weight: 600; }

        .no-price { color: #cbd5e1 !important; font-weight: 400 !important; }

        /* ============================================================
           AKRIL: 2 колонки
           ============================================================ */
        .price-table:not(.hpl-price-table) thead th:last-child {
            text-align: center;
            width: 50%;
        }

        .price-table:not(.hpl-price-table) .pt-vendor-row td:last-child {
            color: #2563eb;
            text-align: center;
        }

        /* Первая колонка AKRIL */
        .pt-col-main .td-content {
            padding-left: 3.5rem;
            position: relative;
            color: #475569;
            font-size: 0.95rem;
        }

        .pt-col-main .td-content::before {
            content: '';
            position: absolute;
            left: 2rem;
            top: 50%;
            transform: translateY(-50%);
            width: 10px;
            height: 10px;
            border-left: 2px solid #cbd5e1;
            border-bottom: 2px solid #cbd5e1;
        }

        .pt-col-price .td-content {
            justify-content: center;
            font-weight: 600;
            color: #334155;
            font-size: 0.95rem;
        }

        /* ============================================================
           HPL: 5 колонок, sticky первая, горизонтальный скролл
           ============================================================ */
        .hpl-table-container {
            width: 100%;
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
            border-radius: 1rem;
            border: 1px solid #e2e8f0;
            box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
        }

        .hpl-price-table {
            min-width: 900px;
        }

        /* Sticky первая колонка */
        .hpl-price-table .col-main {
            position: sticky;
            left: 0;
            z-index: 10;
            border-right: 1px solid #e2e8f0;
            box-shadow: 4px 0 6px -2px rgba(0,0,0,0.03);
            width: 280px;
        }

        .hpl-price-table thead th.col-main { z-index: 11; }

        /* Sticky фон для vendor и category строк */
        .hpl-price-table .pt-vendor-row td.col-main { background-color: #eff6ff; transition: background-color 0.2s ease; }
        .hpl-price-table .pt-vendor-row:hover td.col-main { background-color: #dbeafe; }
        .hpl-price-table .pt-category-row td.col-main { background-color: #ffffff; transition: background-color 0.2s ease; }
        .hpl-price-table .pt-category-row:hover td.col-main { background-color: #f8fafc; }

        /* Ценовые колонки HPL */
        .hpl-price-table .col-price {
            width: 150px;
            text-align: center;
        }

        .hpl-price-table .pt-vendor-row td.col-price { color: #2563eb; }

        /* Подзаголовок в th */
        .th-subtitle {
            display: block;
            font-size: 0.7rem;
            color: #94a3b8;
            font-weight: 500;
            margin-top: 0.2rem;
            text-transform: none;
            letter-spacing: normal;
        }

        /* Первая колонка HPL — анимированный аккордеон */
        .hpl-price-table .col-main .td-content {
            padding-left: 3.5rem;
            position: relative;
            color: #475569;
            font-size: 0.95rem;
        }

        .hpl-price-table .col-main .td-content::before {
            content: '';
            position: absolute;
            left: 2rem;
            top: 50%;
            transform: translateY(-50%);
            width: 10px;
            height: 10px;
            border-left: 2px solid #cbd5e1;
            border-bottom: 2px solid #cbd5e1;
        }

        .hpl-price-table .col-price .td-content {
            justify-content: center;
            font-weight: 600;
            color: #334155;
            font-size: 0.95rem;
        }

        /* Дисклеймер */
        /* .price-disclaimer {
            background-color: var(--color-light-gray, #f9fafb);
            padding: 1.25rem 1.25rem 1.25rem 3rem;
            margin-top: 2rem;
            border-radius: var(--radius-md, 0.5rem);
            font-size: 0.75rem;
            color: var(--color-gray, #6b7280);
            line-height: 1.5;
            position: relative;
            border: 1px solid var(--color-border, #e5e7eb);
        }

        .price-disclaimer::before {
            content: "i";
            position: absolute;
            left: 1.25rem;
            top: 1.25rem;
            width: 20px;
            height: 20px;
            background-color: var(--color-primary, #2563eb);
            color: #fff;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.75rem;
            font-weight: bold;
            font-style: italic;
            font-family: serif;
            line-height: 1;
        }

        .price-disclaimer .product-price-info__title {
            color: var(--color-dark, #111827);
            font-weight: 600;
            display: block;
            margin-bottom: 0.25rem;
        } */

            
    .price-info-wrapper {
        position: relative;
        margin: 10px 0 0;
        text-align: center;
    }

    .btn-price-info-toggle {
        background: none;
        border: none;
        padding: 0;
        cursor: pointer;
        color: var(--color-primary);
        font-size: 0.85rem;
        border-bottom: 1px dashed var(--color-primary);
        font-family: var(--font-family);
        transition: var(--transition-slow);
    }
    
    .btn-price-info-toggle:hover {
        color: var(--color-primary-hover);
        border-bottom-color: var(--color-primary-hover);
    }

    .product-price-info {
        display: none;
        position: absolute;
        top: calc(100% + 12px);
        left: calc(50% - 160px);
        background: #fff;
        padding: 16px;
        border-radius: var(--border-radius);
        box-shadow: var(--shadow-lg);
        font-size: 0.8rem;
        color: var(--color-gray);
        line-height: 1.5;
        z-index: 10;
        width: 320px;
        border: 1px solid var(--color-border);
    }

    .product-price-info__arrow {
        position: absolute;
        top: -6px;
        left: 20px;
        width: 12px;
        height: 12px;
        background: #fff;
        border-top: 1px solid var(--color-border);
        border-left: 1px solid var(--color-border);
        transform: rotate(45deg);
    }

    .product-price-info__title {
        color: var(--color-dark);
        display: block;
        margin-bottom: 8px;
        font-weight: 600;
    }

        /* ============================================================
           АДАПТИВНОСТЬ
           ============================================================ */
        @media (max-width: 640px) {
            .price-table thead th { padding: 1rem; font-size: 0.65rem; }
            .pt-vendor-row td { padding: 0.875rem 1rem; font-size: 0.95rem; }
            .pt-chevron { width: 16px; height: 16px; }
            .td-content { padding: 0 1rem; }

            /* HPL на мобильных — компактные колонки и шрифты */
            .hpl-price-table { min-width: 520px; }
            .hpl-price-table thead th { padding: 0.6rem 0.5rem; font-size: 0.6rem; }
            .hpl-price-table .th-subtitle { font-size: 0.6rem; margin-top: 0.1rem; }

            .hpl-price-table .col-main { width: 130px; }
            .hpl-price-table .col-price { width: 80px; }

            .hpl-price-table .pt-vendor-row td { padding: 0.6rem 0.5rem; font-size: 0.78rem; }
            .hpl-price-table .pt-vendor-row .vendor-title-wrapper { gap: 0.4rem; }
            .hpl-price-table .pt-chevron { width: 14px; height: 14px; }

            .hpl-price-table .col-main .td-content { padding-left: 1.75rem; font-size: 0.75rem; }
            .hpl-price-table .col-main .td-content::before { left: 0.75rem; width: 7px; height: 7px; }
            .hpl-price-table .col-price .td-content { font-size: 0.75rem; padding: 0 0.35rem; white-space: nowrap; }

            .hpl-price-table .price-val:not(:empty)::after { margin-left: 1px; font-size: 0.7rem; }
        }
