/*
Theme Name: IPTV Market
Theme URI: https://example.com/
Author: Alex
Author URI: https://example.com/
Description: Тема IPTV Market — маркетплейс IPTV‑плейлистов.
Version: 1.0.5
Text Domain: iptv-market
*/

@import url('css/style.css');

/* Category cards (как на iptvpiconshop.ru) */
.category-menu {
    margin: 3rem 0;
}

.category-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin-top: 2rem;
}

.category-item {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.category-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.category-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2rem 1rem 1rem;
    text-decoration: none;
    color: #333333;
    transition: all 0.3s ease;
    flex: 1;
}

.category-link:hover {
    color: #007cba;
}

.category-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
    display: block;
}

.category-name {
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    text-align: center;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    justify-content: center;
}

/* Mobile: allow long category names to fully fit */
.category-name {
    width: 100%;
    max-width: 100%;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.category-count {
    font-size: 0.9rem;
    color: #666666;
    font-weight: 500;
}

.category-description {
    padding: 0 1rem 1.5rem;
    margin-top: auto;
    font-size: 0.9rem;
    color: #666666;
    line-height: 1.5;
    text-align: center;
}

@media (max-width: 1024px) {
    .category-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .category-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }

    .category-link {
        padding: 1.5rem 0.75rem 0.75rem;
    }

    .category-icon {
        font-size: 2.25rem;
        margin-bottom: 0.75rem;
    }

    .category-name {
        font-size: 1.05rem;
        line-height: 1.2;
        gap: 0.35rem;
    }

    .category-count {
        font-size: 0.85rem;
    }
}

@media (max-width: 480px) {
    .category-grid {
        grid-template-columns: 1fr;
        gap: 0.75rem;
        margin-top: 1rem;
    }

    .category-item {
        border-radius: 10px;
    }

    .category-link {
        flex-direction: row;
        padding: 0.75rem 1rem 0.5rem;
        gap: 0.75rem;
    }

    .category-icon {
        font-size: 1.75rem;
        margin-bottom: 0;
        flex-shrink: 0;
    }

    .category-name {
        font-size: 0.95rem;
        text-align: left;
        justify-content: flex-start;
        margin-bottom: 0;
    }

    .category-count {
        font-size: 0.8rem;
    }

    .category-description {
        padding: 0 1rem 0.75rem;
        font-size: 0.8rem;
        line-height: 1.4;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

/* Скрыть бейджи категорий с иконкой и ссылкой (оставляем только текст, например «Кино») */
.product-category:has(.category-icon),
.product-category:has(a) {
    display: none !important;
}


/* Адаптивное видео на странице товара (мобильные и планшеты) */
.video-modal-wrapper {
    position: relative;
    width: 100%;
    max-width: 100%;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    background: #000;
}
.video-modal-wrapper .video-preview-frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-width: 100%;
    border: none;
}
@media (max-width: 768px) {
    .video-modal-wrapper {
        margin-left: calc(-1 * var(--spacing-4, 1rem));
        margin-right: calc(-1 * var(--spacing-4, 1rem));
        width: calc(100% + 2 * var(--spacing-4, 1rem));
        max-width: none;
    }
}

/* Сетка товаров (компактные карточки — стили в components.css) */
.products-grid {
    margin-top: 1.5rem;
}

/* Развёрнутые карточки (Новинки — как на iptvpiconshop.ru) */
.products-grid .product-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.products-grid .product-card:hover {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

.products-grid .product-card__image {
    position: relative;
    overflow: hidden;
    min-height: 260px;
    background: #f5f5f5;
}

.products-grid .product-card__image img {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.products-grid .product-card:hover .product-card__image img {
    transform: scale(1.03) !important;
}

.products-grid .product-favorite-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 40px;
    height: 40px;
    border: none;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition: background 0.2s, transform 0.2s;
}

.products-grid .product-favorite-btn:hover {
    background: #fff;
    transform: scale(1.05);
}

.products-grid .product-category {
    position: absolute;
    bottom: 10px;
    left: 10px;
    background: rgba(0, 124, 186, 0.9);
    color: #fff;
    padding: 0.25rem 0.75rem;
    border-radius: 15px;
    font-size: 0.8rem;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    z-index: 2;
}

.products-grid .product-info {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.products-grid .product-price-header {
    font-size: 1.35rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 0.5rem;
}

.products-grid .product-header {
    margin: 0 0 0.5rem 0;
}

.products-grid .product-title {
    font-size: 1.1rem;
    margin: 0;
    line-height: 1.35;
}

.products-grid .product-title a {
    color: inherit;
    text-decoration: none;
}

.products-grid .product-title a:hover {
    color: #007cba;
}

.products-grid .product-title-sub {
    display: block;
    margin-top: 6px;
    font-size: 0.875rem;
    color: #666;
    font-weight: 400;
    line-height: 1.4;
}

.products-grid .product-content {
    flex: 1;
    margin-bottom: 0.75rem;
}

.products-grid .product-excerpt,
.products-grid .product-description {
    font-size: 0.875rem;
    color: #666;
    line-height: 1.5;
    margin: 0.25rem 0 0 0;
}

.products-grid .product-excerpt p,
.products-grid .product-description p {
    margin: 0 0 0.5rem 0;
}

.products-grid .product-footer {
    margin-top: auto;
    padding-top: 0.75rem;
    border-top: 1px solid #eee;
}

.products-grid .product-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.products-grid .product-actions .btn {
    flex: 1;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 0.75rem;
    font-size: 0.8rem;
}

.products-grid .product-actions .btn-buy-now-icon {
    flex: 0 0 auto;
    padding: 0.5rem;
}

.products-grid .product-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.8rem;
    color: #999;
}

.products-grid .product-category-badge {
    background: #f0f0f0;
    padding: 0.2rem 0.5rem;
    border-radius: 10px;
    font-size: 0.75rem;
    font-weight: 500;
}

@media (max-width: 768px) {
    .products-grid .product-title-sub {
        display: none;
    }

    .products-grid .product-info {
        padding: 1rem;
    }
}

/* Переключатель вида: Сетка / Список */
.section__header-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.products-view-toggle {
    display: inline-flex;
    border: 1px solid var(--color-gray-200, #e5e7eb);
    border-radius: var(--radius-md, 8px);
    overflow: hidden;
    background: var(--color-gray-100, #f3f4f6);
}

.view-toggle-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--color-gray-600, #4b5563);
    background: transparent;
    border: none;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}

.view-toggle-btn:hover {
    background: rgba(255, 255, 255, 0.8);
    color: var(--color-gray-900, #111);
}

.view-toggle-btn.active {
    background: #fff;
    color: var(--color-primary, #007cba);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

.view-toggle-btn svg {
    flex-shrink: 0;
}

/* Сетка в виде списка (компактные карточки) */
.products-grid.list-view {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.products-grid.list-view .product-card {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    max-width: 100%;
    padding: 0;
    min-height: auto;
}

.products-grid.list-view .product-card__image {
    flex: 0 0 120px;
    min-width: 120px;
    max-width: 120px;
    height: 120px;
    min-height: 120px;
    padding-top: 0 !important;
    aspect-ratio: unset !important;
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-md);
}

.products-grid.list-view .product-card__image img {
    position: relative !important;
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    transition: transform 0.3s ease;
}

.products-grid.list-view .product-card:hover .product-card__image img {
    transform: scale(1.05);
}

.products-grid.list-view .product-card__image a[style*="gradient"] {
    min-height: 120px;
}

/* Кнопка избранного в режиме списка */
.products-grid.list-view .product-card__favorite-btn {
    bottom: 10px;
    right: 10px;
    width: 32px;
    height: 32px;
}

/* Рейтинг в режиме списка — меньше на 30% */
.products-grid.list-view .product-card__rating-badge {
    padding: 4px 7px;
    font-size: 9px;
    top: 8px;
    right: 8px;
    border-radius: 6px;
}
.products-grid.list-view .product-card__rating-badge::before {
    font-size: 10px;
}

.products-grid.list-view .product-card__body {
    flex: 1;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1rem;
    min-width: 0;
}

.products-grid.list-view .product-card__category {
    margin-bottom: 0;
    order: 1;
    flex: 0 0 auto;
}

.products-grid.list-view .product-card__title {
    flex: 1 1 100%;
    margin-bottom: 0;
    order: 2;
    min-width: 0;
}

.products-grid.list-view .product-card__price {
    margin-bottom: 0;
    order: 3;
    flex: 0 0 auto;
}

.products-grid.list-view .product-card__actions {
    order: 4;
    margin-left: auto;
    flex: 0 0 auto;
}

/* Список: развёрнутые карточки (Новинки) */
.products-grid.list-view .product-card .product-image-container {
    flex: 0 0 120px;
    min-width: 120px;
    max-width: 120px;
    height: 120px;
    position: relative;
    overflow: hidden;
}

.products-grid.list-view .product-card .product-image-container img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.products-grid.list-view .product-card .product-info {
    flex: 1;
    min-width: 0;
    padding: 1rem 1.25rem;
}

.products-grid.list-view .product-card .product-content {
    display: none;
}

.products-grid.list-view .product-card .product-actions .btn-tertiary {
    display: none;
}

@media (max-width: 768px) {
    .products-grid.list-view .product-card__image {
        flex: 0 0 100px;
        min-width: 100px;
        max-width: 100px;
        height: 100px;
        min-height: 100px;
    }

    .view-toggle-btn span {
        display: none;
    }
}

/* Пагинация WP (paginate_links) в каталоге — как .pagination__item */
.pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 var(--spacing-3, 0.75rem);
    font-size: var(--font-size-sm, 0.875rem);
    font-weight: var(--font-weight-medium, 500);
    color: var(--color-gray-700, #374151);
    background-color: var(--color-white, #fff);
    border: 1px solid var(--color-gray-300, #d1d5db);
    border-radius: var(--radius-md, 8px);
    text-decoration: none;
    transition: all 0.2s;
}
.pagination .page-numbers:hover {
    background-color: var(--color-gray-50, #f9fafb);
    border-color: var(--color-gray-400, #9ca3af);
}
.pagination .page-numbers.current {
    background-color: var(--color-primary, #007cba);
    color: #fff;
    border-color: var(--color-primary, #007cba);
}
.pagination .page-numbers.dots,
.pagination .page-numbers.prev.disabled,
.pagination .page-numbers.next.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Страница «Инструкция» — видео с Google Drive */
.page-content.instruction-content {
    max-width: 900px;
}
.page-content.instruction-content h1 {
    font-size: var(--font-size-3xl, 1.875rem);
    margin-bottom: var(--spacing-6, 1.5rem);
}
.page-content.instruction-content h2 {
    font-size: var(--font-size-xl, 1.25rem);
    margin-top: var(--spacing-8, 2rem);
    margin-bottom: var(--spacing-4, 1rem);
}
.page-content.instruction-content p {
    margin-bottom: var(--spacing-4, 1rem);
}
.instruction-video-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    margin-bottom: var(--spacing-6, 1.5rem);
}
.instruction-video-wrapper .instruction-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* Страница «Источники EPG (телепрограмма)» */
.page-content.epg-content,
.page-content.user-agreement-content.epg-content {
    max-width: 900px;
}
.page-content.epg-content h1 {
    font-size: var(--font-size-3xl, 1.875rem);
    margin-bottom: var(--spacing-6, 1.5rem);
}
.page-content.epg-content h2 {
    font-size: var(--font-size-xl, 1.25rem);
    margin-top: var(--spacing-8, 2rem);
    margin-bottom: var(--spacing-4, 1rem);
}
.page-content.epg-content p,
.page-content.epg-content ul {
    margin-bottom: var(--spacing-4, 1rem);
}
.page-content.epg-content ul {
    padding-left: 1.5rem;
}
.epg-table-wrapper {
    overflow-x: auto;
    margin: var(--spacing-6, 1.5rem) 0;
    border: 1px solid var(--color-gray-200, #e5e7eb);
    border-radius: var(--radius-md, 8px);
}
.epg-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm, 0.875rem);
}
.epg-table th,
.epg-table td {
    padding: var(--spacing-3, 0.75rem) var(--spacing-4, 1rem);
    text-align: left;
    border-bottom: 1px solid var(--color-gray-200, #e5e7eb);
}
.epg-table thead th {
    background: var(--color-gray-100, #f3f4f6);
    font-weight: 600;
}
.epg-table tbody tr:hover {
    background: var(--color-gray-50, #f9fafb);
}
.epg-table a {
    color: var(--color-primary, #007cba);
    word-break: break-all;
}
.epg-table a:hover {
    text-decoration: underline;
}

/* Страница «Плееры и приложения» */
.page-content.pleery-prilozhenija-content,
.page-content.user-agreement-content.pleery-prilozhenija-content {
    max-width: 900px;
}
.pleery-prilozhenija-content .pleery-page-title {
    font-size: var(--font-size-3xl, 1.875rem);
    margin-bottom: var(--spacing-2, 0.5rem);
}
.pleery-prilozhenija-content .pleery-app-name {
    font-size: var(--font-size-xl, 1.25rem);
    font-weight: 600;
    margin-bottom: var(--spacing-6, 1.5rem);
}
.pleery-prilozhenija-content .pleery-subtitle {
    font-size: var(--font-size-lg, 1.125rem);
    margin-bottom: var(--spacing-4, 1rem);
}
.pleery-features-list {
    margin: var(--spacing-4, 1rem) 0;
}
.pleery-features-list ul {
    padding-left: 1.5rem;
    margin-bottom: var(--spacing-6, 1.5rem);
}
.pleery-features-list li {
    margin-bottom: var(--spacing-2, 0.5rem);
}
.pleery-author {
    margin-bottom: var(--spacing-6, 1.5rem);
    color: var(--color-gray-600, #4b5563);
}
.pleery-video-section {
    margin: var(--spacing-8, 2rem) 0;
}
.pleery-video-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    margin-bottom: var(--spacing-4, 1rem);
}
.pleery-video-wrapper .pleery-video-iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
.pleery-video-title {
    font-size: var(--font-size-lg, 1.125rem);
    margin-bottom: var(--spacing-4, 1rem);
}
.pleery-downloads {
    margin-top: var(--spacing-6, 1.5rem);
}
.pleery-download-item {
    margin-bottom: var(--spacing-4, 1rem);
}
.pleery-download-item .btn-secondary.buy-now {
    display: inline-block;
    padding: var(--spacing-2, 0.5rem) var(--spacing-4, 1rem);
    font-weight: 600;
    color: #fff;
    background-color: var(--color-primary, #007cba);
    border-radius: var(--radius-md, 8px);
    text-decoration: none;
}
.pleery-download-item .btn-secondary.buy-now:hover {
    opacity: 0.9;
}

/* --- Страница товара: кнопки и форма --- */
.product-actions a.btn.buy-now {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.5rem;
    font-size: var(--font-size-base, 1rem);
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    text-decoration: none;
    color: #fff;
    background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
    border: none;
    border-radius: var(--radius-lg, 12px);
    box-shadow: 0 4px 14px rgba(220, 38, 38, 0.4);
    transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
}
.product-actions a.btn.buy-now:hover {
    color: #fff;
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    box-shadow: 0 6px 20px rgba(220, 38, 38, 0.5);
    transform: translateY(-1px);
}

/* Мобильная адаптация кнопки "Купить за 1 клик" (Samsung S8/S10 и похожие) */
@media (max-width: 420px) {
    .iptv-product-page .product-actions a.btn.buy-now,
    .iptv-sticky-buybar .buy-now {
        width: 100% !important;
        min-height: 46px;
        padding: 12px 10px !important;
        font-size: 14px !important;
        line-height: 1.2;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        text-align: center;
        word-break: normal;
    }

    .iptv-product-page .share-button-wrapper .share-option {
        min-height: 44px;
        padding: 10px 10px !important;
        font-size: 14px !important;
        line-height: 1.25;
        white-space: normal !important;
        text-overflow: clip !important;
    }

    .iptv-product-page .share-button-wrapper .share-option[href*="connect.ok.ru"] span {
        font-size: 12px !important;
        white-space: nowrap !important;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .iptv-product-page .share-button-wrapper .share-option[href*="api.whatsapp.com"] span,
    .iptv-product-page .share-button-wrapper .share-option[href*="t.me/share/url"] span,
    .iptv-product-page .share-button-wrapper .share-option[href*="vk.com/share.php"] span {
        font-size: 12px !important;
        white-space: nowrap !important;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .iptv-product-page .share-button-wrapper .share-option#copy-link-btn .copy-link-label {
        font-size: 12px !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        line-height: 1.2;
    }

    .iptv-product-page .share-button-wrapper .share-option#copy-link-btn .copy-link-label-break {
        display: block;
    }

    .iptv-product-page .share-button-wrapper .share-toggle-btn svg {
        width: 22px !important;
        height: 22px !important;
        min-width: 22px;
        min-height: 22px;
    }
}

@media (max-width: 360px) {
    .iptv-product-page .product-actions a.btn.buy-now,
    .iptv-sticky-buybar .buy-now {
        font-size: 13px !important;
        padding: 11px 8px !important;
    }

    .iptv-product-page .share-button-wrapper .share-option {
        padding: 9px 8px !important;
        font-size: 13px !important;
    }

    .iptv-product-page .share-button-wrapper .share-option[href*="connect.ok.ru"] span {
        font-size: 11px !important;
    }

    .iptv-product-page .share-button-wrapper .share-option[href*="api.whatsapp.com"] span,
    .iptv-product-page .share-button-wrapper .share-option[href*="t.me/share/url"] span,
    .iptv-product-page .share-button-wrapper .share-option[href*="vk.com/share.php"] span {
        font-size: 11px !important;
    }

    .iptv-product-page .share-button-wrapper .share-option#copy-link-btn .copy-link-label {
        font-size: 11px !important;
    }

    .iptv-product-page .share-button-wrapper .share-toggle-btn svg {
        width: 20px !important;
        height: 20px !important;
        min-width: 20px;
        min-height: 20px;
    }
}

.product-actions form.cart {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}
.product-actions form.cart .quantity {
    margin: 0;
}
.product-actions form.cart .quantity .input-text.qty {
    width: 4rem;
    height: 2.75rem;
    padding: 0 0.75rem;
    font-size: 1rem;
    font-weight: 600;
    text-align: center;
    color: var(--color-gray-800, #1f2937);
    background: var(--color-gray-100, #f3f4f6);
    border: 2px solid var(--color-gray-200, #e5e7eb);
    border-radius: var(--radius-md, 8px);
    -moz-appearance: textfield;
    appearance: textfield;
}
.product-actions form.cart .quantity .input-text.qty::-webkit-outer-spin-button,
.product-actions form.cart .quantity .input-text.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.product-actions form.cart .quantity .input-text.qty:focus {
    outline: none;
    border-color: var(--color-primary, #3366FF);
    box-shadow: 0 0 0 3px var(--color-primary-light, #E8EEFF);
}
.product-actions form.cart .single_add_to_cart_button {
    height: 2.75rem;
    padding: 0 1.25rem;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(135deg, var(--color-primary, #3366FF) 0%, #2563eb 100%);
    border: none;
    border-radius: var(--radius-md, 8px);
    box-shadow: 0 2px 8px rgba(51, 102, 255, 0.3);
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
}
.product-actions form.cart .single_add_to_cart_button:hover {
    background: linear-gradient(135deg, var(--color-primary-hover, #2855E6) 0%, #1d4ed8 100%);
    box-shadow: 0 4px 12px rgba(51, 102, 255, 0.4);
    transform: translateY(-1px);
}

.product-actions .reviews-panel-toggle-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
}
.product-actions .reviews-panel-toggle__count {
    position: absolute;
    top: -2px;
    right: -2px;
    display: none;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: var(--font-weight-bold, 700);
    line-height: 1;
    color: #fff;
    background: var(--color-primary, #3366FF);
    pointer-events: none;
}
.product-actions .reviews-panel-toggle__count.is-visible {
    display: inline-flex;
}

/* Hard override (some caches/plugins inject conflicting styles) */
.product-actions .reviews-panel-toggle-wrap {
    position: relative !important;
}
#iptv-product-reviews-count {
    position: absolute !important;
    top: -2px !important;
    right: -2px !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 2 !important;
    background: var(--color-primary, #3366FF) !important;
    color: #fff !important;
    border-radius: 999px !important;
    min-width: 18px !important;
    height: 18px !important;
    padding: 0 4px !important;
    font-size: 10px !important;
    line-height: 18px !important;
    text-align: center !important;
}
.product-actions .reviews-panel-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem 1.25rem;
    font-size: var(--font-size-sm, 0.875rem);
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--color-gray-700, #374151);
    background: var(--color-gray-100, #f3f4f6);
    border: 2px solid var(--color-gray-200, #e5e7eb);
    border-radius: var(--radius-md, 8px);
    cursor: pointer;
    transition: color 0.2s, background 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.product-actions .reviews-panel-toggle:hover {
    color: var(--color-gray-900, #111827);
    background: var(--color-gray-200, #e5e7eb);
    border-color: var(--color-gray-300, #d1d5db);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.product-actions .reviews-panel-toggle[aria-expanded="true"] {
    color: var(--color-primary, #3366FF);
    background: var(--color-primary-light, #E8EEFF);
    border-color: var(--color-primary, #3366FF);
}

/* Reviews preview under trust strip */
.iptv-reviews-preview {
    display: flex;
    flex-direction: column;
    margin-bottom: var(--spacing-6);
}
.iptv-reviews-preview:empty {
    display: none;
}
.iptv-reviews-preview > li {
    order: 1;
    list-style: none;
}
#iptv-reviews-preview .commentlist {
    order: 1;
    margin: 0;
    padding: 0;
    list-style: none !important;
}
#iptv-reviews-preview ol.commentlist {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    padding-inline-start: 0 !important;
    margin-inline-start: 0 !important;
}
#iptv-reviews-preview .commentlist > li,
#iptv-reviews-preview .commentlist li {
    list-style: none !important;
}
#iptv-reviews-preview .commentlist > li::marker,
#iptv-reviews-preview .commentlist li::marker {
    content: "" !important;
}
#iptv-reviews-preview .vkitCommentBase__root--tipbq {
    order: 1;
}
#iptv-reviews-preview > .btn.btn--outline {
    order: 99;
}

/* Reviews modal (Product page) */
.iptv-modal {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 16px;
    z-index: 9999;
}
.iptv-modal.is-open {
    display: flex;
}
.iptv-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(17, 24, 39, 0.6);
    backdrop-filter: blur(2px);
    z-index: 0;
    pointer-events: auto;
}
.iptv-modal__panel {
    position: relative;
    z-index: 1;
    pointer-events: auto;
    width: min(980px, 100%);
    max-height: min(86vh, 820px);
    background: var(--bg-surface, #fff);
    border-radius: var(--radius-xl, 16px);
    box-shadow: 0 18px 60px rgba(0,0,0,0.35);
    overflow: hidden;
    border: 1px solid var(--color-gray-200, #e5e7eb);
}
.iptv-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--color-gray-200, #e5e7eb);
    background: var(--bg-surface, #fff);
}
.iptv-modal__title {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: var(--color-gray-900, #111827);
}
.iptv-modal__close {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    border: 1px solid var(--color-gray-200, #e5e7eb);
    background: var(--color-gray-100, #f3f4f6);
    color: var(--color-gray-700, #374151);
    cursor: pointer;
    font-size: 22px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.iptv-modal__close:hover {
    background: var(--color-gray-200, #e5e7eb);
}
.iptv-modal__body {
    padding: 16px;
    overflow: auto;
    max-height: calc(min(86vh, 820px) - 56px);
}

/* Ensure review buttons are always clickable inside modal */
.iptv-modal__panel #review-form .review-actions {
    position: relative;
    z-index: 5;
}
.iptv-modal__panel #submit-review {
    position: relative;
    z-index: 6;
    pointer-events: auto;
}

/* Channels list modal (product 11082) */
.iptv-channels-trigger {
    cursor: pointer;
}
.iptv-channels-section {
    margin-bottom: 18px;
}
.iptv-channels-section__title {
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--color-gray-900, #111827);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.iptv-channels-list {
    user-select: text;
    line-height: 1.8;
    font-size: 13px;
    color: var(--color-gray-700, #374151);
    word-break: break-word;
}

.iptv-channels-loading {
    margin: 0;
    color: var(--color-gray-500, #6b7280);
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.iptv-channels-loading::before {
    content: "";
    width: 14px;
    height: 14px;
    border: 2px solid var(--color-gray-300, #d1d5db);
    border-top-color: var(--color-primary, #2563eb);
    border-radius: 50%;
    animation: iptv-spin 0.8s linear infinite;
}
@keyframes iptv-spin {
    to { transform: rotate(360deg); }
}

/* VK-like composer for reviews */
.iptv-vk-composer {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 10px 0;
}
.iptv-vk-composer__avatar img {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    display: block;
}
.iptv-vk-composer__main {
    flex: 1;
    min-width: 0;
}
.iptv-vk-composer__name {
    font-size: 13px;
    font-weight: 700;
    color: var(--color-gray-900, #111827);
    margin-bottom: 6px;
}
.iptv-vk-composer__editor-wrap {
    position: relative;
    background: var(--color-gray-100, #f3f4f6);
    border: 1px solid var(--color-gray-200, #e5e7eb);
    border-radius: 12px;
    padding: 10px 12px;
    width: 100%;
    box-sizing: border-box;
}
.iptv-vk-composer__placeholder {
    color: var(--color-gray-500, #6b7280);
    font-size: 14px;
    line-height: 1.4;
    user-select: none;
}

/* После открытия композера плейсхолдер скрывается, но обёртка оставалась «полоской» — убираем её. */
#review-form:not(.is-collapsed) .iptv-vk-composer__editor-wrap {
    display: none !important;
}

/* Make the editor adaptive on all screens */
.product-reviews-section #review_form_wrapper,
.product-reviews-section #respond,
.product-reviews-section #respond .comment-form {
    width: 100% !important;
    max-width: none !important;
}
.product-reviews-section .review-text-editor {
    display: block !important;
    width: 753px !important;
    max-width: 100% !important;
    box-sizing: border-box;
    min-height: 100px !important;
    height: 100px !important;
    max-height: 100px !important;
    overflow: auto !important;
    border-radius: 12px;
    background: var(--color-gray-200, #e5e7eb) !important;
    border: 2px solid var(--color-gray-300, #d1d5db) !important;
    padding: 14px 16px !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}
.product-reviews-section .review-text-editor:focus {
    outline: none;
    border-color: var(--color-primary, #3366FF) !important;
    box-shadow: 0 0 0 3px rgba(51, 102, 255, 0.18), inset 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

/* Rating + emoji controls in review composer */
.product-reviews-section .comment-form-rating {
    margin: 10px 0;
}
.product-reviews-section .comment-form-rating select#rating {
    width: 100%;
    max-width: 320px;
    padding: 8px 10px;
    border-radius: 10px;
    border: 1px solid var(--color-gray-200, #e5e7eb);
    background: #fff;
}
.product-reviews-section .comment-form-rating .stars {
    margin: 10px 0 0;
}
.product-reviews-section .comment-form-rating .stars > span {
    display: inline-flex;
    gap: 6px;
}
.product-reviews-section .comment-form-rating .stars a {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    border: 1px solid var(--color-gray-200, #e5e7eb);
    background: var(--color-gray-100, #f3f4f6);
    text-indent: -9999px;
    overflow: hidden;
    position: relative;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.product-reviews-section .comment-form-rating .stars a::before {
    content: "\2605";
    position: absolute;
    inset: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-indent: 0;
    color: #f59e0b;
    font-size: 18px;
}
.product-reviews-section .comment-form-rating .stars a.active {
    background: #fff3c4;
    border-color: #f59e0b;
}
.product-reviews-section .emoji-dropdown {
    margin: 10px 0 6px;
    position: relative;
}
.product-reviews-section .emoji-toggle {
    border: 1px solid var(--color-gray-200, #e5e7eb);
    background: var(--color-gray-100, #f3f4f6);
    border-radius: 10px;
    padding: 8px 10px;
    cursor: pointer;
    font-weight: 600;
}
.product-reviews-section .emoji-picker {
    margin-top: 8px;
    border: 1px solid var(--color-gray-200, #e5e7eb);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(0,0,0,0.10);
}
.product-reviews-section .emoji-picker__close {
    width: 28px;
    height: 28px;
    border-radius: 10px;
    border: 1px solid var(--color-gray-200, #e5e7eb);
    background: var(--color-gray-100, #f3f4f6);
    cursor: pointer;
}

/* Bigger emojis in reviews and picker (2x) */
.product-reviews-section img.emoji {
    width: 59px;
    height: 59px;
    display: inline-block;
    vertical-align: -0.25em;
}
.product-reviews-section .emoji-picker img.emoji {
    width: 59px;
    height: 59px;
    vertical-align: middle;
}
.product-reviews-section .emoji-btn {
    width: 77px;
    height: 77px;
    padding: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Inserted emoji inside editor (from picker) */
.product-reviews-section .emoji-ico {
    width: 39px;
    height: 39px;
    display: inline-block;
    vertical-align: -0.25em;
}
@media (max-width: 640px) {
    .iptv-modal__panel {
        width: 100%;
        max-height: 92vh;
        border-radius: 14px;
    }
    .iptv-modal__body {
        padding: 12px;
    }
    .product-reviews-section .review-text-editor {
        min-height: 100px !important;
        height: 100px !important;
        max-height: 100px !important;
        font-size: 16px; /* prevent iOS zoom */
    }
}

/* Collapsed state: hide heavy UI until user clicks "Оставить отзыв" */
#review-form.is-collapsed .comment-form-rating,
#review-form.is-collapsed .emoji-dropdown,
#review-form.is-collapsed #review-text-editor,
#review-form.is-collapsed .review-media-upload,
#review-form.is-collapsed .review-actions,
#review-form.is-collapsed .review-text {
    display: none !important;
}

/* VK-like review item (minimal styling for injected blocks) */
.vkitCommentBase__root--tipbq {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    border-bottom: 1px solid var(--color-gray-100, #f3f4f6);
}
.vkitCommentBase__title--aBWtJ {
    width: 100%;
}
.vkitCommentBase__actions--SiUyy {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
}
.iptv-comment-like {
    border: none;
    background: transparent;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 6px;
    border-radius: 10px;
    color: var(--color-gray-700, #374151);
}
.iptv-comment-like:hover {
    background: var(--color-gray-100, #f3f4f6);
}
.iptv-comment-like[data-user-likes="true"] {
    color: var(--color-primary, #3366FF);
}
.iptv-comment-like [data-iptv-like-count] {
    font-size: 12px;
    font-weight: 600;
    color: inherit;
}
.vkitComment__infoLeft--g7KBB {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.iptv-comment-action {
    border: none;
    background: transparent;
    color: var(--color-gray-500, #6b7280);
    cursor: pointer;
    padding: 4px;
    border-radius: 8px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.iptv-comment-action:hover {
    background: var(--color-gray-100, #f3f4f6);
    color: var(--color-gray-800, #1f2937);
}
.iptv-comment-text--editing {
    outline: 2px solid var(--color-primary-light, #E8EEFF);
    border-radius: 10px;
    padding: 8px 10px;
    background: #fff;
}
.vkuiAvatar__host img {
    border-radius: 999px;
    display: block;
}
.vkitCommentBase__in--9swaG {
    flex: 1;
    min-width: 0;
}
.vkitFeedShowMoreText__text--0wZYb {
    color: var(--color-gray-900, #111827);
    font-size: 14px;
    line-height: 1.4;
    word-wrap: break-word;
}
.vkitComment__info--ajrqg {
    margin-top: 6px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.vkitComment__date--6PSiG a {
    color: var(--color-gray-500, #6b7280);
    font-size: 12px;
    text-decoration: none;
}

/* Reply / share: VK-like double footnote + pressed state */
.vkitComment__reply--9dOj5[data-iptv-comment-action] {
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    user-select: none;
    border-radius: 6px;
    padding: 2px 4px;
    margin: -2px -4px;
    color: var(--color-primary, #3366ff);
    transition: background-color 0.12s ease, color 0.12s ease, opacity 0.12s ease;
}
.vkitComment__reply--9dOj5[data-iptv-comment-action]:hover {
    background: var(--color-gray-100, #f3f4f6);
}
.vkitComment__reply--9dOj5[data-iptv-comment-action]:active,
.vkitComment__reply--9dOj5[data-iptv-comment-action].is-pressed {
    background: var(--color-gray-200, #e5e7eb);
    color: var(--color-primary-dark, #254eda);
}
.vkitComment__reply--9dOj5[data-iptv-comment-action] > .vkuiFootnote__host + .vkuiFootnote__densityCompact {
    position: absolute;
    left: 4px;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0;
    pointer-events: none;
    white-space: nowrap;
}
.vkitComment__reply--9dOj5[data-iptv-comment-action]:hover > .vkuiFootnote__host:first-child,
.vkitComment__reply--9dOj5[data-iptv-comment-action]:active > .vkuiFootnote__host:first-child,
.vkitComment__reply--9dOj5[data-iptv-comment-action].is-pressed > .vkuiFootnote__host:first-child {
    opacity: 0;
}
.vkitComment__reply--9dOj5[data-iptv-comment-action]:hover > .vkuiFootnote__densityCompact,
.vkitComment__reply--9dOj5[data-iptv-comment-action]:active > .vkuiFootnote__densityCompact,
.vkitComment__reply--9dOj5[data-iptv-comment-action].is-pressed > .vkuiFootnote__densityCompact {
    opacity: 1;
}

.woocommerce-Reviews .commentlist {
    list-style: none;
    padding: 0;
    margin: 0;
}
.woocommerce-Reviews .commentlist .iptv-vk-comment-li {
    list-style: none;
    margin: 0;
    padding: 0;
}
.woocommerce-Reviews .commentlist > li,
.woocommerce-Reviews .commentlist li {
    list-style: none !important;
    display: block;
}
.woocommerce-Reviews .commentlist > li::marker,
.woocommerce-Reviews .commentlist li::marker {
    content: "" !important;
}
.woocommerce-Reviews ol.commentlist,
.woocommerce-Reviews #comments ol.commentlist,
.woocommerce-Reviews #reviews ol.commentlist,
#comments ol.commentlist,
#reviews ol.commentlist {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    padding-inline-start: 0 !important;
    margin-inline-start: 0 !important;
}

/* Вложенные ответы (VK / WordPress ol.children) */
.woocommerce-Reviews .commentlist ol.children {
    list-style: none;
    margin: 10px 0 0 0;
    padding: 0 0 0 44px;
}
.woocommerce-Reviews .commentlist ol.children > .iptv-vk-comment-li {
    margin-top: 10px;
}
.woocommerce-Reviews .commentlist ol.children > .iptv-vk-comment-li:first-child {
    margin-top: 0;
}

.iptv-vk-comment-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    padding: 3px 7px;
    border-radius: 6px;
    background: var(--color-gray-100, #f3f4f6);
    color: var(--color-gray-500, #6b7280);
}

/* Оценка в опубликованном отзыве (звёзды из comment meta rating) */
.iptv-review-stars-wrap {
    margin-bottom: 6px;
    line-height: 1;
}
.iptv-review-stars {
    display: inline-flex;
    gap: 3px;
    font-size: 20px;
    user-select: none;
}
.iptv-review-stars__star {
    color: var(--color-gray-300, #d1d5db);
}
.iptv-review-stars__star.is-on {
    color: #e6a000;
}

.review-text-editor .iptv-vk-mention {
    color: var(--color-primary, #3366ff);
    text-decoration: none;
    font-weight: 600;
    cursor: default;
    pointer-events: none;
}

#review-form.is-reply-mode .comment-form-rating {
    display: none !important;
}
/* Search in mobile menu below social */
.mobile-menu__search {
    padding: var(--spacing-4, 1rem) var(--spacing-6, 1.5rem);
    margin-bottom: var(--spacing-2, 0.5rem);
    border-bottom: 1px solid var(--color-gray-200, #e5e7eb);
}
.mobile-menu__search.header__search {
    max-width: 100%;
}

/* Контейнер кнопок: вертикальное расположение */
.product-card__actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 15px;
}

/* Все кнопки одинакового размера */
.product-card__actions .btn,
.product-card__actions .btn--sm {
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 12px;
    padding: 8px 6px;
}

/* Большая кнопка "В корзину" */
.product-card__actions .btn--primary[data-add-to-cart] {
    flex: 1;
}

/* Нижний ряд кнопок: Подробнее и Купить сейчас */
.product-card__buttons-row {
    display: grid;
    grid-template-columns: 1fr 1fr; /* делим пополам */
    gap: 8px;
}

/* Общие стили для кнопок, чтобы текст не вылезал */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;     /* текст в одну строку */
    overflow: hidden;        /* прячем лишнее */
    text-overflow: ellipsis; /* если не влезет — будет троеточие */
    padding: 8px 4px;        /* уменьшаем боковые отступы */
    font-size: 13px;         /* подбираем размер под ширину */
    border-radius: 4px;
}

/* Позиционирование сердечка на картинке */
.product-card__favorite-btn {
    position: absolute;
    bottom: 10px;
    right: 10px;
    background: rgba(0,0,0, 0.55);
    backdrop-filter: blur(4px);
    border: none;
    border-radius: 50%;
    padding: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 10;
    opacity: 1;
    visibility: visible;
    color: #fff;
}
.product-card__favorite-btn:hover { 
    background: rgba(0,0,0, 0.8);
    transform: scale(1.1);
    box-shadow: 0 2px 12px rgba(0,0,0,0.3);
}

/* Keep favorite button visible on product image hover */
.product-card__image:hover .product-card__favorite-btn,
.product-card:hover .product-card__favorite-btn {
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 10 !important;
    pointer-events: auto !important;
}

/* Анимация пульсации для избранного */
@keyframes heart-pulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.3);
    }
}

.product-card__favorite-btn.is-animating svg {
    animation: heart-pulse 0.4s ease-in-out 3;
    stroke: #dc2626 !important;
}

/* Анимация/активное состояние для кнопок избранного вне карточек (например, на странице товара) */
[data-favorite-toggle].is-animating svg {
    animation: heart-pulse 0.4s ease-in-out 3;
    stroke: #dc2626 !important;
}

.product-card__favorite-btn.header__action-btn--active svg,
.product-card__favorite-btn.is-favorite svg {
    fill: #dc2626;
    stroke: #dc2626;
}

[data-favorite-toggle].header__action-btn--active svg,
[data-favorite-toggle].is-favorite svg {
    fill: #dc2626;
    stroke: #dc2626;
}

.iptv-trust-item {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 13px;
    color: #334155;
}

.iptv-faq-list {
    display: grid;
    gap: 10px;
}

.iptv-faq-item {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 10px 12px;
    background: #fff;
}

.iptv-faq-item summary {
    cursor: pointer;
    font-weight: 600;
}

.iptv-faq-item p {
    margin: 10px 0 0;
    color: #475569;
}

.iptv-social-proof {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #b45309;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 999px;
    padding: 4px 10px;
    margin-bottom: 8px;
}

.iptv-sticky-buybar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 999;
    background: rgba(255, 255, 255, 0.98);
    border-top: 1px solid #e5e7eb;
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.08);
}

.iptv-sticky-buybar__price {
    font-weight: 700;
    color: #0f172a;
}

@media (max-width: 900px) {
    .iptv-sticky-buybar {
        display: flex !important;
        transform: translateY(110%);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: transform 0.22s ease, opacity 0.22s ease, visibility 0.22s ease;
    }
    .iptv-sticky-buybar.is-visible {
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
    .iptv-product-page {
        padding-bottom: 90px;
    }
    .iptv-trust-strip {
        grid-template-columns: 1fr !important;
    }

    .iptv-product-page .share-button-wrapper {
        width: 100% !important;
    }

    .iptv-product-page .share-button-wrapper .share-toggle-btn {
        width: 100% !important;
        min-height: 46px !important;
        justify-content: center !important;
    }

    .iptv-product-page .share-button-wrapper .share-dropdown {
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box;
    }

    .iptv-product-page .share-button-wrapper .share-option {
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        text-align: left;
    }

    .iptv-product-page .share-button-wrapper .share-option svg,
    .iptv-product-page .share-button-wrapper .share-option img {
        flex-shrink: 0;
    }

    .iptv-product-page .share-button-wrapper .share-option span {
        min-width: 0;
        white-space: normal !important;
        overflow-wrap: anywhere;
        word-break: break-word;
    }
}

/* NEW бейдж для новых товаров */
.product-card__badge {
    position: absolute;
    top: 10px;
    left: 10px;
    background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
    color: white;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 8px rgba(245, 87, 108, 0.4);
    z-index: 3;
    animation: badge-pulse 2s infinite;
}

@keyframes badge-pulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
}

/* Скрыть элементы Google Translate */
.goog-te-banner-frame,
.goog-te-menu-frame,
.goog-te-gadget,
.goog-te-spinner-pos,
.goog-te-spinner,
.goog-te-balloon-frame,
.VIpgJd-TzA9Ye-eEGnhe,
.ndfHFb-c4YZDc-uWtm3-ORHb,
.ndfHFb-c4YZDc-SjW3R-ORHb,
.ndfHFb-c4YZDc-L7w45e-ORHb,
.ndfHFb-c4YZDc-oKM7Re-L7w45e-ORHb,
.goog-logo-link,
.goog-te-gadget-simple,
.skiptranslate,
body {
    top: 0 !important;
}

/* Скрыть верхнюю панель Google Translate */
.goog-te-banner-frame.skiptranslate,
.goog-te-banner-frame {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
}

body {
    position: static !important;
    top: 0 !important;
}

/* Адаптивность для сетки товаров */
.products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--spacing-6);
}

/* 4 колонки на больших экранах */
@media (min-width: 1200px) {
    .products-grid.style-4-columns {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* Планшеты: 2 колонки */
@media (max-width: 1199px) {
    .products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--spacing-4);
    }
}

/* Телефоны: 1 колонка */
@media (max-width: 768px) {
    .products-grid {
        grid-template-columns: 1fr;
        gap: var(--spacing-4);
    }

    .products-grid .product-card__image {
        aspect-ratio: auto;
        min-height: 200px;
    }
    
    /* Адаптивность для цен WooCommerce */
    .woocommerce-Price-amount {
        font-size: var(--font-size-lg) !important;
    }
    
    .woocommerce-Price-currencySymbol {
        font-size: 0.9em !important;
    }
    
    /* Уменьшаем размеры в карточке товара */
    .product-card__price {
        font-size: var(--font-size-base) !important;
    }
    
    .product-card__title {
        font-size: var(--font-size-base) !important;
    }
    
    .product-card__actions .btn {
        padding: 8px 6px !important;
        font-size: 11px !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

/* Очень маленькие экраны */
@media (max-width: 480px) {
    .products-grid {
        grid-template-columns: 1fr;
    }

    .product-card__price {
        font-size: var(--font-size-base) !important;
    }

    .woocommerce-Price-amount {
        font-size: var(--font-size-base) !important;
    }

    /* Кнопки остаются вертикальными */
    .product-card__actions {
        flex-direction: column;
    }

    /* Блок просмотров под изображением, без наложения */
    .product-views {
        margin-top: var(--spacing-4) !important;
    }

    .product-card__actions .btn {
        width: 100%;
        font-size: 11px !important;
        padding: 8px 6px !important;
    }
}

/* ========================================
   Кнопка "Наверх" (Back to Top)
   ======================================== */
.back-to-top {
    background: rgba(0, 0, 0, 0.7) !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 50% !important;
    width: 50px !important;
    height: 50px !important;
    cursor: pointer !important;
    opacity: 0 !important;
    visibility: hidden !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 1000 !important;
    transition: all 0.3s ease !important;
    padding: 0 !important;
    position: fixed !important;
    bottom: 30px !important;
    left: 30px !important;
    right: auto !important;
    line-height: 0 !important;
}

.back-to-top svg {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    pointer-events: none !important;
}

.back-to-top:hover {
    background: rgba(0, 0, 0, 0.9) !important;
    transform: translateY(-3px) !important;
}

.back-to-top.visible {
    opacity: 1 !important;
    visibility: visible !important;
}

/* ========================================
   Переключатель языка
   ======================================== */
.language-selector {
    position: relative !important;
}

.language-toggle {
    background: none !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 6px !important;
    padding: 6px 8px !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    transition: all 0.2s ease !important;
    color: inherit !important;
}

.language-toggle:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: rgba(255, 255, 255, 0.4) !important;
}

.language-flag img {
    width: 18px !important;
    height: 18px !important;
}

.language-code {
    color: inherit !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

.language-arrow {
    opacity: 0.7 !important;
    transition: transform 0.2s ease !important;
}

.language-toggle[aria-expanded="true"] .language-arrow {
    transform: rotate(180deg) !important;
}

/* Выпадающее меню языков */
.language-dropdown {
    background: white !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    min-width: 140px !important;
    z-index: 1001 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    transform: translateY(-10px) !important;
    transition: opacity 0.2s ease, transform 0.2s ease !important;
}

.language-dropdown .language-option {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 12px !important;
    width: 100% !important;
    border: none !important;
    background: none !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
    text-align: left !important;
    font-size: 13px !important;
    color: #333 !important;
}

.language-dropdown .language-option:hover {
    background: #f5f5f5 !important;
}

.language-dropdown .language-option:first-child:hover {
    background: #f0f0f0 !important;
}

.language-dropdown .language-option img {
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
}

/* ========================================
   Голосовой поиск (микрофон)
   ======================================== */
.mic-circle {
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    padding: 4px !important;
    border-radius: 50% !important;
}

.mic-circle:hover {
    background: rgba(0, 0, 0, 0.05) !important;
}

.mic-circle.is-listening {
    background: rgba(255, 0, 0, 0.1) !important;
    animation: mic-pulse 1s infinite !important;
}

.mic-icon {
    transition: all 0.2s ease !important;
}

.mic-circle.is-listening .mic-icon {
    stroke: #ff3b30 !important;
}

@keyframes mic-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

.mic-hint {
    position: absolute !important;
    left: 50% !important;
    bottom: calc(100% + 8px) !important;
    transform: translateX(-50%) !important;
    background: rgba(15, 23, 42, 0.9) !important;
    color: rgb(255, 255, 255) !important;
    padding: 6px 8px !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
    z-index: 50 !important;
    opacity: 0 !important;
    transition: opacity 0.15s ease !important;
    pointer-events: none !important;
}

.mic-circle:hover .mic-hint {
    opacity: 1 !important;
}

/* ========================================
   Голосовой помощник Юля
   ======================================== */
.yula-voice-assistant {
    transition: transform 0.3s ease !important;
}

.yula-voice-assistant:hover {
    transform: scale(1.1) !important;
}

.yula-voice-assistant.yula-listening .yula-avatar {
    animation: yula-active 1.5s infinite !important;
}

.yula-voice-assistant.yula-listening .yula-wave {
    animation: yula-pulse 1s infinite !important;
}

@keyframes yula-pulse {
    0% {
        width: 100%;
        height: 100%;
        opacity: 1;
    }
    100% {
        width: 200%;
        height: 200%;
        opacity: 0;
    }
}

@keyframes yula-active {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.15);
    }
}

.yula-avatar {
    position: relative !important;
    display: inline-block !important;
}

.yula-icon {
    display: block !important;
}

/* Адаптивность для Юли */
@media (max-width: 768px) {
    .yula-voice-assistant {
        display: none !important;
    }
}

/* ========================================
   Адаптивность для мобильных устройств
   ======================================== */
@media (max-width: 768px) {
    .back-to-top,
    #back-to-top {
        width: 45px !important;
        height: 45px !important;
        bottom: 10px !important;
        left: 10px !important;
        right: auto !important;
    }

    .tocha__launch-button {
        right: 20px !important;
        bottom: 20px !important;
        padding: 10px 16px 10px 45px !important;
        font-size: 13px !important;
    }

    .tocha__launch-button span:not(.tocha__unread-messages) {
        display: none !important;
    }

    .language-toggle {
        display: none !important;
    }
    
    /* Сетка из 4 товаров на планшетах - 2 в ряд */
    .related-products .products-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* На очень маленьких экранах - 1 товар */
@media (max-width: 480px) {
    .related-products .products-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Адаптивность для похожих товаров на мобильных */
@media (max-width: 768px) {
    .related-products {
        margin-top: var(--spacing-8) !important;
    }
    
    .related-products .products-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: var(--spacing-4) !important;
    }
    
    .related-products .product-card__price {
        font-size: var(--font-size-base) !important;
    }
    
    .related-products .btn {
        padding: 6px 10px !important;
        font-size: 12px !important;
    }
}

@media (max-width: 480px) {
    .related-products .products-grid {
        grid-template-columns: 1fr !important;
    }

    .related-products .product-card__image img {
        width: 100% !important;
        height: auto !important;
    }
}

/* ========================================
   Платная подписка на сайт
   ======================================== */

/* Анимация корон */
.pricing-card svg {
    transition: transform 0.3s ease, filter 0.3s ease;
}

.pricing-card:hover svg {
    transform: translateY(-5px) scale(1.05);
}

.pricing-card--basic:hover svg {
    filter: drop-shadow(0 8px 16px rgba(205, 127, 50, 0.4));
}

.pricing-card--popular:hover svg {
    filter: drop-shadow(0 8px 16px rgba(102, 126, 234, 0.4));
}

.pricing-card--premium:hover svg {
    filter: drop-shadow(0 8px 16px rgba(255, 215, 0, 0.5));
}

/* Чек-лист запуска */
.pricing-card h4 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 1rem;
}

/* Анимация кнопок */
.pricing-pay-btn {
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.pricing-pay-btn::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    transform: translate(-50%, -50%);
    transition: width 0.6s ease, height 0.6s ease;
}

.pricing-pay-btn:hover::before {
    width: 300px;
    height: 300px;
}

.pricing-pay-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

/* Подсветка популярного тарифа */
.pricing-card--popular {
    /* animation временно отключена — мешает неону */
}

@keyframes popularPulse {
    0%, 100% {
        box-shadow: 0 4px 20px rgba(102, 126, 234, 0.3);
    }
    50% {
        box-shadow: 0 8px 30px rgba(102, 126, 234, 0.5);
    }
}

/* Свечение для премиум */
.pricing-card--premium {
    position: relative;
}

.pricing-card--premium::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(135deg, #ffd700, #ff8c00, #ffd700);
    border-radius: inherit;
    z-index: -1;
    opacity: 0;
    transition: opacity 0.3s ease;
    background-size: 200% 200%;
    animation: goldShimmer 3s linear infinite;
}

.pricing-card--premium:hover::before {
    opacity: 1;
}

@keyframes goldShimmer {
    0% {
        background-position: 0% 50%;
    }
    100% {
        background-position: 200% 50%;
    }
}

/* Таблица сравнения */
.table tbody tr:hover {
    background: linear-gradient(90deg, #f8f9fa 0%, #ffffff 100%);
    transition: background 0.2s ease;
}

/* Адаптивность для тарифов */
@media (max-width: 1024px) {
    .pricing-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .pricing-grid {
        grid-template-columns: 1fr;
    }
    
    .section__title {
        font-size: var(--font-size-3xl) !important;
    }
    
    .pricing-card {
        padding: var(--spacing-6) !important;
    }
    
    .pricing-card svg {
        width: 60px !important;
        height: 60px !important;
    }
}

@media (max-width: 480px) {
    .pricing-grid {
        gap: var(--spacing-4) !important;
    }
    .pricing-card {
        --spacing-6: 1rem;
        --spacing-4: 0.75rem;
        --spacing-2: 0.375rem;
        --spacing-3: 0.625rem;
        --font-size-3xl: 1.25rem;
        --font-size-lg: 1rem;
        --font-size-sm: 0.75rem;
        --font-size-xs: 0.625rem;
        --radius-xl: 0.75rem;
    }
    .pricing-pay-btn {
        width: 100% !important;
        padding: 14px 24px !important;
        font-size: 14px !important;
    }
}

/* Модальное окно */
.pricing-plan-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pricing-plan-modal[aria-hidden="true"] {
    display: none;
}

.pricing-plan-modal__backdrop {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.pricing-plan-modal[aria-hidden="false"] .pricing-plan-modal__backdrop {
    opacity: 1;
}

.pricing-plan-modal__box {
    position: relative;
    background: white;
    border-radius: var(--radius-xl);
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
    transform: scale(0.9);
    opacity: 0;
    transition: all 0.3s ease;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.pricing-plan-modal[aria-hidden="false"] .pricing-plan-modal__box {
    transform: scale(1);
    opacity: 1;
}

.pricing-plan-modal__header {
    padding: var(--spacing-6);
    border-bottom: 1px solid var(--color-gray-200);
    text-align: center;
}

.pricing-plan-modal__title {
    font-size: var(--font-size-2xl);
    margin-bottom: var(--spacing-2);
    color: var(--color-gray-900);
}

.pricing-plan-modal__price {
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
}

.pricing-plan-modal__close {
    position: absolute;
    top: var(--spacing-4);
    right: var(--spacing-4);
    background: none;
    border: none;
    font-size: 28px;
    cursor: pointer;
    color: var(--color-gray-500);
    transition: color 0.2s ease;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pricing-plan-modal__close:hover {
    color: var(--color-gray-900);
    background: var(--color-gray-100);
}

.pricing-plan-modal__body {
    padding: var(--spacing-6);
}

.pricing-plan-modal__hint {
    color: var(--color-gray-600);
    font-size: var(--font-size-sm);
    margin-bottom: var(--spacing-4);
}

.pricing-plan-products {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-3);
    max-height: 300px;
    overflow-y: auto;
}

.pricing-plan-product-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: var(--spacing-2);
    padding: var(--spacing-3);
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: all 0.2s ease;
}

.pricing-plan-product-item:hover {
    border-color: var(--color-primary);
    background: var(--color-gray-50);
}

.pricing-plan-product-item .product-card__badge {
    position: absolute;
    top: 6px;
    left: 6px;
    padding: 2px 7px;
    border-radius: 999px;
    font-size: 9px;
    letter-spacing: 0.3px;
    line-height: 1.1;
    z-index: 2;
}

.pricing-plan-product-item input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.pricing-plan-product-name {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
    position: relative;
    padding-top: 8px;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-900);
}

.pricing-plan-product-name-text {
    min-width: 0;
}

.pricing-plan-product-badge {
    position: absolute !important;
    top: -8px !important;
    right: 0 !important;
    left: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 3px 9px !important;
    border-radius: 12px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    line-height: 1.2 !important;
    color: #fff !important;
    background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%) !important;
    box-shadow: 0 2px 8px rgba(245, 87, 108, 0.4) !important;
    flex-shrink: 0 !important;
    z-index: 3 !important;
    animation: badge-pulse 2s infinite !important;
}

.pricing-plan-product-price {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    color: var(--color-primary);
}

.pricing-plan-modal__footer {
    padding: var(--spacing-6);
    border-top: 1px solid var(--color-gray-200);
}

@media (max-width: 600px) {
    .pricing-plan-products {
        grid-template-columns: 1fr;
    }

    .pricing-plan-modal__contacts {
        grid-template-columns: 1fr !important;
    }
}

/* Увеличение изображения при наведении - НОВЫЕ ПРАВИЛА v1.0.1 */
.products-grid .product-card:hover .product-card__image img {
    transform: scale(1.03) !important;
    -webkit-transform: scale(1.03) !important;
    -moz-transform: scale(1.03) !important;
    -o-transform: scale(1.03) !important;
}

.products-grid .product-card__image img {
    transition: transform 0.3s ease, -webkit-transform 0.3s ease !important;
}

/* Выравнивание карточек товаров по вертикали в сетке */
.products-grid {
    align-items: stretch;
}

.products-grid .product-card {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.products-grid .product-card__image {
    position: relative;
    overflow: hidden;
    aspect-ratio: auto !important;
    padding-top: 0 !important;
    min-height: 260px;
    background: #f5f5f5;
}

.products-grid .product-card__image img {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.products-grid .product-card__body {
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* ===================================
   Изображение на странице товара
   =================================== */

/* Двухколоночная раскладка страницы товара */
.product-page {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--spacing-10, 2.5rem);
    align-items: start;
}

/* Усиление: некоторые плагины/стили Woo могут перетирать display у контейнеров.
   Для страницы товара фиксируем сетку жёстко, чтобы правая колонка всегда была справа. */
.iptv-product-page .product-page {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
}
/* Keep columns in fixed positions (left media, right details/actions). */
.iptv-product-page .product-page > div:first-child {
    grid-column: 1 !important;
}
.iptv-product-page .product-page > div:nth-child(2) {
    grid-column: 2 !important;
}
@media (max-width: 900px) {
    .product-page {
        grid-template-columns: 1fr;
        gap: var(--spacing-6, 1.5rem);
    }
    .iptv-product-page .product-page {
        grid-template-columns: 1fr !important;
    }
    .iptv-product-page .product-page > div:first-child,
    .iptv-product-page .product-page > div:nth-child(2) {
        grid-column: 1 !important;
    }
}

/* Типографика правой колонки — как на примере */
.iptv-product-page .product-page > div:last-child .product-title {
    font-size: 34px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 10px !important;
}
.iptv-product-page .product-page > div:last-child .product-price {
    font-size: 30px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    color: #2f6bff !important;
    margin: 0 0 14px !important;
}
.iptv-product-page .product-page > div:last-child .product-price .woocommerce-Price-amount,
.iptv-product-page .product-page > div:last-child .product-price .woocommerce-Price-currencySymbol {
    color: inherit !important;
}
.iptv-product-page .product-page > div:last-child .product-description {
    margin-bottom: 18px !important;
}
.iptv-product-page .product-page > div:last-child .product-description,
.iptv-product-page .product-page > div:last-child .product-description * {
    font-size: 14px;
    line-height: 1.55;
    color: #6b7280;
}
.iptv-product-page .product-page > div:last-child .product-description h2,
.iptv-product-page .product-page > div:last-child .product-description h3,
.iptv-product-page .product-page > div:last-child .product-description h4 {
    color: #111827;
    font-weight: 800;
    line-height: 1.2;
    margin: 16px 0 8px;
}
.iptv-product-page .product-page > div:last-child .product-description ul,
.iptv-product-page .product-page > div:last-child .product-description ol {
    margin: 8px 0 12px;
    padding-left: 18px;
}
.iptv-product-page .product-page > div:last-child .product-description li {
    margin: 3px 0;
}

@media (max-width: 900px) {
    .iptv-product-page .product-page > div:last-child .product-title {
        font-size: 26px !important;
    }
    .iptv-product-page .product-page > div:last-child .product-price {
        font-size: 24px !important;
    }
}

/* Увеличение изображения при клике на 30% */
.product-page .product-main-image {
    cursor: pointer;
    transition: all 0.3s ease;
    overflow: visible !important;
}

/* Убираем WooCommerce атрибуты */
.product-page .product-main-image[role="button"] {
    cursor: pointer !important;
}

.product-page .product-main-image img {
    max-width: 100% !important;
    height: auto !important;
    transition: transform 0.3s ease !important;
    pointer-events: auto !important;
}

.product-page .product-main-image.image-zoomed img {
    transform: scale(1.3) !important;
    -webkit-transform: scale(1.3) !important;
    -moz-transform: scale(1.3) !important;
    -o-transform: scale(1.3) !important;
}

/* Отключаем WooCommerce zoom/lightbox */
.product-page .product-main-image a {
    pointer-events: none;
    cursor: pointer;
    text-decoration: none;
}

/* Адаптация для мобильных устройств */
@media (max-width: 768px) {
    .product-page .product-main-image {
        padding: var(--spacing-6) !important;
        margin-bottom: var(--spacing-4) !important;
    }

    .product-page .product-main-image img {
        max-width: 100% !important;
        height: auto !important;
    }

    .product-page .product-main-image.image-zoomed img {
        transform: scale(1.2) !important;
    }
}

@media (max-width: 480px) {
    .product-page .product-main-image {
        padding: var(--spacing-4) !important;
        border-radius: var(--radius-md) !important;
    }
}

/* Мобильная адаптация страницы товара (визуал, без изменения логики) */
@media (max-width: 768px) {
    .iptv-product-page .container {
        padding-left: 12px;
        padding-right: 12px;
    }

    .iptv-product-page .product-page {
        gap: var(--spacing-5, 1.25rem) !important;
    }

    .iptv-product-page .product-title {
        font-size: 1.5rem !important;
        line-height: 1.25 !important;
        margin-bottom: var(--spacing-3) !important;
    }

    .iptv-product-page .product-price {
        font-size: 1.75rem !important;
        margin-bottom: var(--spacing-4) !important;
    }

    .iptv-product-page .product-description {
        margin-bottom: var(--spacing-4) !important;
    }

    .iptv-product-page .product-description,
    .iptv-product-page .product-description * {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }

    .iptv-product-page .product-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        margin-bottom: var(--spacing-6) !important;
    }

    .iptv-product-page .product-actions > div,
    .iptv-product-page .product-actions > a {
        width: 100% !important;
        min-width: 0 !important;
    }

    .iptv-product-page .product-actions form.cart {
        width: 100% !important;
        display: block !important;
    }

    .iptv-product-page .product-actions form.cart .single_add_to_cart_button,
    .iptv-product-page .product-actions .buy-now,
    .iptv-product-page .product-actions .reviews-panel-toggle,
    .iptv-product-page .product-actions .share-toggle-btn {
        width: 100% !important;
        min-height: 46px !important;
        justify-content: center !important;
    }

    .iptv-product-page .product-actions .yith-wcwl-add-to-wishlist,
    .iptv-product-page .product-actions .yith-wcwl-add-to-wishlist a,
    .iptv-product-page .product-actions [data-favorite-toggle] {
        width: 100% !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 46px !important;
    }

    .iptv-product-page .share-button-wrapper .share-dropdown {
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .iptv-product-page .product-meta {
        padding-top: var(--spacing-4) !important;
    }

    .iptv-product-page .product-meta > div {
        grid-template-columns: 1fr !important;
        gap: 4px !important;
        margin-bottom: var(--spacing-3) !important;
    }

    .iptv-product-page .video-trigger-wrapper {
        margin-top: var(--spacing-6) !important;
    }

    .iptv-product-page .video-preview-frame {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 9;
    }
}

@media (max-width: 480px) {
    .iptv-product-page .product-main-image {
        padding: var(--spacing-4) !important;
        margin-bottom: var(--spacing-3) !important;
    }

    .iptv-product-page .product-title {
        font-size: 1.25rem !important;
    }

    .iptv-product-page .product-price {
        font-size: 1.5rem !important;
    }
}

/* Убираем правую "пустую полосу" на телефонах (горизонтальное переполнение) */
@media (max-width: 768px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden !important;
    }

    .section,
    .container,
    .catalog-layout,
    .products-grid {
        max-width: 100%;
    }
}

/* ===================================
   Адаптация /novoe/ для мобильных
   =================================== */

/* Планшеты и ниже */
@media (max-width: 991px) {
    .section__header h1 {
        font-size: var(--font-size-3xl) !important;
    }
}

@media (max-width: 768px) {
    /* Секция заголовка */
    .section__header {
        flex-direction: column;
        align-items: flex-start !important;
        gap: var(--spacing-3) !important;
    }
    .section__header > div:first-child {
        width: 100%;
    }
    .section__header h1 {
        font-size: var(--font-size-2xl) !important;
        margin-bottom: var(--spacing-1) !important;
    }
    .section__header p {
        font-size: var(--font-size-sm);
        max-width: 100% !important;
    }

    /* Список: более компактные карточки */
    .products-grid.list-view .product-card__image {
        flex: 0 0 80px !important;
        min-width: 80px !important;
        max-width: 80px !important;
        height: 80px !important;
        min-height: 80px !important;
    }
    .products-grid.list-view .product-card__body {
        padding: var(--spacing-2);
        gap: var(--spacing-1);
    }
    .products-grid.list-view .product-card__rating-badge {
        font-size: 8px !important;
        padding: 3px 5px !important;
        top: 5px !important;
        right: 5px !important;
    }
    .products-grid.list-view .product-card__category {
        font-size: 10px !important;
    }
    .products-grid.list-view .product-card__title {
        font-size: var(--font-size-sm) !important;
    }
    .products-grid.list-view .product-title-sub {
        font-size: 11px !important;
    }
    .products-grid.list-view .product-card__price {
        font-size: var(--font-size-sm) !important;
    }
    /* Кнопки: в ряд по 2 */
    .products-grid.list-view .product-card__popularity {
        display: inline-flex !important;
        align-items: center;
        gap: 4px;
        font-size: 10px !important;
        margin: 0 !important;
    }
    .products-grid.list-view .product-card__popularity-icon {
        display: none !important;
    }
    .products-grid.list-view .product-card__popularity-label {
        font-size: 10px !important;
    }
    .products-grid.list-view .product-card__popularity-bar {
        width: 50px !important;
        height: 4px !important;
        flex: 0 0 auto !important;
    }
    .products-grid.list-view .product-card__popularity-fill {
        height: 4px !important;
    }
    .products-grid.list-view .product-card__actions {
        flex-direction: row !important;
        flex-wrap: wrap;
        gap: 4px !important;
        margin-left: 0 !important;
        margin-top: 4px !important;
    }
    .products-grid.list-view .product-card__actions .btn {
        font-size: 10px !important;
        padding: 4px 6px !important;
        white-space: nowrap;
    }

    /* Сетка каналов */
    .channels-grid {
        gap: var(--spacing-4) !important;
    }
    .channels-list__link {
        font-size: 0.75rem !important;
    }
    .product-channels__rating-badge {
        font-size: 8px !important;
        padding: 1px 4px !important;
    }

    /* Скрываем блок "Купили за всё время" на мобильных */
    .iptv-social-proof {
        font-size: 10px !important;
        margin-bottom: 2px !important;
    }
}

@media (max-width: 480px) {
    /* Ещё более компактно */
    .products-grid.list-view .product-card__image {
        flex: 0 0 64px !important;
        min-width: 64px !important;
        max-width: 64px !important;
        height: 64px !important;
        min-height: 64px !important;
    }
    .products-grid.list-view .product-card__body {
        padding: 6px !important;
        gap: 2px !important;
    }
    .products-grid.list-view .product-title-sub {
        display: none !important;
    }
    .products-grid.list-view .product-card__popularity {
        display: inline-flex !important;
        align-items: center;
        gap: 4px;
        font-size: 9px !important;
        margin: 0 !important;
    }
    .products-grid.list-view .product-card__popularity-icon {
        display: none !important;
    }
    .products-grid.list-view .product-card__popularity-label {
        font-size: 9px !important;
    }
    .products-grid.list-view .product-card__popularity-bar {
        width: 40px !important;
        height: 4px !important;
        flex: 0 0 auto !important;
    }
    .products-grid.list-view .product-card__popularity-fill {
        height: 4px !important;
    }
    .products-grid.list-view .iptv-social-proof {
        display: none !important;
    }
    .products-grid.list-view .product-card__rating-badge {
        font-size: 5px !important;
        padding: 1px 3px !important;
        gap: 2px !important;
    }
    .products-grid.list-view .product-card__rating-badge::before {
        font-size: 6px !important;
    }
    .products-grid.list-view .product-card__favorite-btn {
        width: 20px !important;
        min-width: 20px !important;
        height: 20px !important;
        min-height: 20px !important;
        padding: 2px !important;
        bottom: 4px !important;
        right: 4px !important;
    }
    .products-grid.list-view .product-card__favorite-btn svg {
        width: 13px !important;
        height: 13px !important;
    }
    .products-grid.list-view .product-card__badge {
        font-size: 6px !important;
        padding: 1px 5px !important;
        top: 4px !important;
        left: 4px !important;
        border-radius: 6px !important;
    }
    .products-grid.list-view .product-card__hover-meta {
        display: none !important;
    }
    /* Кнопки: мелкий шрифт */
    .products-grid.list-view .product-card__actions .btn {
        font-size: 9px !important;
        padding: 3px 4px !important;
    }
    .products-grid.list-view .product-card__price {
        font-size: var(--font-size-xs) !important;
    }
    .products-grid.list-view .product-card__title {
        font-size: var(--font-size-xs) !important;
    }

    /* Заголовок */
    .section__header h1 {
        font-size: var(--font-size-xl) !important;
    }

    /* Категории каналов */
    .channels-grid > div h3 {
        font-size: var(--font-size-sm) !important;
    }
    .channels-list__item {
        padding: 2px 0 !important;
    }
    .channels-list__link {
        font-size: 0.7rem !important;
        max-width: 180px;
    }
}

