/*
Theme Name: Royal Elementor Kit Child
Template: royal-elementor-kit
*/
/* ==========================================
   Контент страницы товара — на всю ширину
   ========================================== */

/* 1. ОСНОВНОЕ ПРАВИЛО — вместо блока с 800px */
body.single-product .site-content,
body.single-product .container,
body.single-product .custom-product-wrapper {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box;
}

/* 2. ДОПОЛНИТЕЛЬНО — потолок для очень широких экранов */
@media (min-width: 1920px) {
    body.single-product .custom-product-wrapper {
        max-width: 1920px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* 3. ДОПОЛНИТЕЛЬНО — адаптив для мобильных */
@media (max-width: 768px) {
    body.single-product .site-content,
    body.single-product .container,
    body.single-product .custom-product-wrapper {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

/* Стили для разделительных линий */
.custom-divider {
    border: none;
    border-top: 1px solid #e0e0e0;
    margin: 20px 0 25px 0;
}

/* Убираем фон и лишние отступы у блока с ACF-ценами */
.acf-prices-wrapper {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
}

/* Дополнительный отступ для блока с ценами */
.acf-prices-wrapper p {
    margin: 5px 0 !important;
}

/* Блок с сообщением */
.sip-frame-message {   
    color: #ffffff;                         /* Белый текст */
    padding: 15px 20px;                    /* Внутренние отступы */
    border-radius: 0;                      /* 0 = 90 градусов (прямые углы) */
    margin: 15px 0;                       /* Отступы сверху и снизу */
    font-size: 16px;                      /* Размер шрифта */
    font-weight: 500;                     /* Полужирный */
    line-height: 1.5;                     /* Межстрочный интервал */
    display: block;                       /* Блочный элемент */
    width: 100%;                          /* На всю ширину */
    box-sizing: border-box;              /* Учет padding в ширине */
    border: 1px solid rgba(255, 255, 255, 0.1); /* Тонкая рамка для четкости */
    min-height: 60px;                    /* Минимальная высота для лучшего отображения фона */
    background-size: cover;              /* Растягиваем изображение на весь блок */
    background-position: center;         /* Центрируем изображение */
    background-repeat: no-repeat;        /* Не повторяем изображение */
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8); /* Тень для текста для лучшей читаемости */
}

/* Адаптив для мобильных */
@media (max-width: 768px) {
    .sip-frame-message {
        font-size: 14px;
        padding: 12px 15px;
        min-height: 60px;
    }
}

/* Отступ от шапки на странице архива товаров (магазин) */
body.woocommerce-shop .site-content,
body.woocommerce-shop .container,
body.woocommerce-shop .elementor-section.elementor-section-boxed > .elementor-container,
body.woocommerce-shop .woocommerce-page {
    padding-top: 40px !important;
}

/* Если используется обертка */
body.woocommerce-shop .custom-product-wrapper {
    padding-top: 40px !important;
}

/**
 * Стили для кнопки "Подробнее" на странице архива товаров
 */
.woocommerce ul.products li.product .button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button,
.woocommerce a.button {
    background-color: #69727d !important; /* Серый фон */
    color: #ffffff !important; /* Белый текст */
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    padding: 10px 25px !important;
    border-radius: 4px !important;
    border: none !important;
    text-transform: none !important;
    transition: all 0.3s ease !important;
}

/* Стиль кнопки при наведении */
.woocommerce ul.products li.product .button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover,
.woocommerce a.button:hover {
    background-color: #0c7a1a !important; /* Темно-зеленый фон */
    color: #ffffff !important; /* Белый текст */
    text-decoration: none !important;
}

/* Дополнительно: кнопка "В корзину" на странице товара */
.single-product .cart .button,
.single-product .single_add_to_cart_button {
    background-color: #139722 !important;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    padding: 12px 30px !important;
    border-radius: 4px !important;
    border: none !important;
    transition: all 0.3s ease !important;
}

.single-product .cart .button:hover,
.single-product .single_add_to_cart_button:hover {
    background-color: #0c7a1a !important;
    color: #ffffff !important;
}

/**
 * Изменяем размер шрифта заголовка товара в архиве
 */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product h3 {
    font-size: 18px !important; /* Увеличьте или уменьшите значение */
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
	color: #01421e;
}

/* ==========================================
   СТРАНИЦА АРХИВА ТОВАРОВ (САЙДБАР СЛЕВА)
   ========================================== */

/* ==========================================
   Обёртка архива — на всю ширину с отступами
   ========================================== */
.woocommerce-archive-wrapper {
    max-width: 100% !important;
    width: 100% !important;
    margin: 40px 0 0 0 !important;
    padding: 0 20px !important;
    box-sizing: border-box;
}

/* Потолок для очень широких экранов (опционально) */
@media (min-width: 1920px) {
    .woocommerce-archive-wrapper {
        max-width: 1920px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* Адаптив для мобильных */
@media (max-width: 768px) {
    .woocommerce-archive-wrapper {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

/* Flex-контейнер для сайдбара (слева) и контента (справа) */
.woocommerce-archive-container {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    width: 100%;
}

/* Сайдбар слева — 30% */
.woocommerce-archive-sidebar {
    flex: 0 0 calc(30% - 30px);
    max-width: calc(30% - 30px);
    width: calc(30% - 30px);
    min-width: 0;
    order: 1; /* Сайдбар первый */
}

/* Основной контент справа — 70% */
.woocommerce-archive-main {
    flex: 0 0 70%;
    max-width: 70%;
    width: 70%;
    min-width: 0;
    order: 2; /* Контент второй */
}

/* Стили для виджетов в сайдбаре */
.woocommerce-archive-sidebar .widget {
    margin-bottom: 20px;
    padding: 15px;
    background: #f5f5f5;
    border-radius: 4px;
}

.woocommerce-archive-sidebar .widget-title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 15px;
    color: #333;
}

/* Убираем лишние отступы от родительской темы */
body.woocommerce-shop .site-content,
body.woocommerce-shop .container,
body.woocommerce-shop .site-main,
body.woocommerce-shop .woocommerce-page {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

body.woocommerce-shop .site-main {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

/* Адаптив для мобильных */
@media (max-width: 992px) {
    .woocommerce-archive-container {
        flex-direction: column;
    }
    
    .woocommerce-archive-sidebar,
    .woocommerce-archive-main {
        flex: 0 0 100%;
        max-width: 100%;
        width: 100%;
    }
    
    .woocommerce-archive-sidebar {
        order: 1; /* На мобильных сайдбар сверху */
    }
    
    .woocommerce-archive-main {
        order: 2;
    }
}

/* ==========================================
   СТИЛИ ДЛЯ МИНИАТЮРЫ ВИДЕО (новая иконка)
   ========================================== */

.woocommerce-product-gallery .flex-control-thumbs li[data-video="true"] {
    position: relative;
    border: none;
    border-radius: 0;
    overflow: visible;
}

/* Скрываем стандартную иконку (если есть) */
.woocommerce-product-gallery .flex-control-thumbs li .video-play-icon,
.woocommerce-product-gallery .flex-control-thumbs li .play-icon {
    display: none !important;
}

/* Стили для вашей новой иконки (без символа ▶) */
.woocommerce-product-gallery .flex-control-thumbs li[data-video="true"] .custom-video-play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: transparent;
    border: 3px solid #ffffff;
    display: flex !important;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 5;
    transition: all 0.3s ease;
}

/* Создаём треугольник через псевдоэлемент вместо символа */
.woocommerce-product-gallery .flex-control-thumbs li[data-video="true"] .custom-video-play-icon::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-left: 18px solid #ffffff;
    border-top: 11px solid transparent;
    border-bottom: 11px solid transparent;
    margin-left: 5px;
    transition: all 0.3s ease;
}

.woocommerce-product-gallery .flex-control-thumbs li[data-video="true"]:hover .custom-video-play-icon {
    border-color: #ffffff;
    transform: translate(-50%, -50%) scale(1.1);
}

.woocommerce-product-gallery .flex-control-thumbs li[data-video="true"]:hover .custom-video-play-icon::after {
    border-left-color: #ffffff;
}

.woocommerce-product-gallery .flex-control-thumbs li[data-video="true"].flex-active {
    border-color: #139722;
}

/* Адаптив для мобильных */
@media (max-width: 768px) {
    .woocommerce-product-gallery .flex-control-thumbs li[data-video="true"] .custom-video-play-icon {
        width: 35px;
        height: 35px;
    }
    
    .woocommerce-product-gallery .flex-control-thumbs li[data-video="true"] .custom-video-play-icon::after {
        border-left-width: 9px;
        border-top-width: 6px;
        border-bottom-width: 6px;
        margin-left: 3px;
    }
}


/* ===== СТИЛИ ДЛЯ КОНТАКТНОЙ ФОРМЫ ===== */

/* Подключаем шрифт Montserrat */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600&display=swap');

/* 1. Текст-интро перед формой */
.form-intro-text {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 30px;
    text-align: center;
    margin-bottom: 10px !important;
    line-height: 1.3;
	color: #000000;
}

/* 2. Общие стили для всей формы */
.wpcf7-form {
    font-family: 'Montserrat', sans-serif;
    max-width: 600px;
    margin: 0 auto;
}

/* 3. Стили для подписей (label) - "Ваше имя", "Номер телефона" */
.wpcf7-form label {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 18px;
    text-align: left;
    display: block;
    margin-bottom: 25px;
    color: #333;
    width: 100%;
}

/* 4. Стили для полей ввода - на всю ширину */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea,
.wpcf7-form select {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 18px;
    text-align: left;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    padding: 12px 15px;
    border: 2px solid #ddd;
    border-radius: 6px;
    box-sizing: border-box;
    margin-bottom: 20px;
    transition: border-color 0.3s ease;
    display: block;
}

/* 5. Стиль для полей при фокусе */
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form textarea:focus {
    border-color: #0073aa;
    outline: none;
    box-shadow: 0 0 8px rgba(0, 115, 170, 0.15);
}

/* 6. Стиль для плейсхолдера (подсказки внутри поля) */
.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: #999;
}

/* 7. Стиль для кнопки отправки - на всю ширину */
.wpcf7-form input[type="submit"] {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 18px;
    background-color: #000000;
    color: #ffffff;
    padding: 14px 30px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    display: block;
    margin: 10px 0 0;
    text-align: center;
    width: 100% !important;
    box-sizing: border-box;
}

/* 8. Стиль для кнопки при наведении */
.wpcf7-form input[type="submit"]:hover {
    background-color: #333333;
}

/* 9. Стиль для каждого блока с полем */
.wpcf7-form p {
    margin-bottom: 15px;
    width: 100%;
}

/* 10. Стиль для текста с согласиями (под кнопкой) */
.wpcf7-form .consent-text {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 12px;
    text-align: center;
    margin-top: 0px !important;
    margin-bottom: 15px;
    color: #000000;
    line-height: 1.6;
}

.wpcf7-form .consent-text a {
    color: #000000;
    text-decoration: underline;
    transition: color 0.3s ease;
}

.wpcf7-form .consent-text a:hover {
    color: #0073aa;
}

/* 11. Стиль для сообщений об ошибках */
.wpcf7-not-valid-tip {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #dc3232;
    text-align: left;
    margin-top: -15px;
    margin-bottom: 10px;
}

/* 12. Стиль для сообщения об успехе */
.wpcf7-response-output {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 16px;
    border-radius: 6px;
    padding: 15px;
    text-align: center;
    margin-top: 20px;
}

/* ===== АДАПТИВНОСТЬ (МОБИЛЬНЫЕ УСТРОЙСТВА) ===== */

/* Планшеты и маленькие ноутбуки (до 1024px) */
@media (max-width: 1024px) {
    .wpcf7-form {
        max-width: 100%;
        padding: 0 15px;
    }
}

/* Телефоны (до 768px) */
@media (max-width: 768px) {
    /* Уменьшаем текст-интро */
    .form-intro-text {
        font-size: 24px;
        margin-bottom: 20px;
    }
    
    /* Уменьшаем подписи полей */
    .wpcf7-form label {
        font-size: 16px;
    }
    
    /* Уменьшаем поля ввода */
    .wpcf7-form input[type="text"],
    .wpcf7-form input[type="email"],
    .wpcf7-form input[type="tel"],
    .wpcf7-form textarea,
    .wpcf7-form select {
        font-size: 16px;
        padding: 10px 12px;
        margin-bottom: 15px;
    }
    
    /* Уменьшаем кнопку */
    .wpcf7-form input[type="submit"] {
        font-size: 16px;
        padding: 12px 20px;
    }
    
    /* Уменьшаем текст с согласиями */
    .wpcf7-form .consent-text {
        font-size: 11px;
        margin-top: 12px;
    }
}

/* Маленькие телефоны (до 480px) */
@media (max-width: 480px) {
    /* Ещё сильнее уменьшаем текст-интро */
    .form-intro-text {
        font-size: 20px;
        margin-bottom: 15px;
    }
    
    /* Ещё сильнее уменьшаем подписи */
    .wpcf7-form label {
        font-size: 14px;
    }
    
    /* Ещё сильнее уменьшаем поля */
    .wpcf7-form input[type="text"],
    .wpcf7-form input[type="email"],
    .wpcf7-form input[type="tel"],
    .wpcf7-form textarea,
    .wpcf7-form select {
        font-size: 14px;
        padding: 8px 10px;
        margin-bottom: 12px;
    }
    
    /* Ещё сильнее уменьшаем кнопку */
    .wpcf7-form input[type="submit"] {
        font-size: 14px;
        padding: 10px 16px;
    }
    
    /* Ещё сильнее уменьшаем текст согласий */
    .wpcf7-form .consent-text {
        font-size: 10px;
        margin-top: 10px;
        line-height: 1.5;
    }
}

/* ===== ДОПОЛНИТЕЛЬНЫЙ КЛАСС ДЛЯ КОНТАКТНОЙ ФОРМЫ ===== */

/* Новый класс для текста в форме */
.wpcf7-form .dop-text-cf7 {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    color: #000000;
    text-align: center;
    margin-bottom: 15px;
    line-height: 1.6;
}

/* Если нужно применить к конкретным элементам */
.wpcf7-form .dop-text-cf7 p,
.wpcf7-form .dop-text-cf7 span,
.wpcf7-form .dop-text-cf7 div {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    color: #000000;
    text-align: center;
}

/* Адаптив для мобильных */
@media (max-width: 768px) {
    .wpcf7-form .dop-text-cf7 {
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .wpcf7-form .dop-text-cf7 {
        font-size: 13px;
    }
}


/* ===== ВЫРАВНИВАНИЕ ПОП АП ОКОН ===== */

/* Универсальное выравнивание для всех попапов */
.pum-container {
    top: 50% !important;
    transform: translateY(-50%) !important;
}

/* Для больших экранов (ноутбуки, компьютеры) */
@media (min-width: 1024px) {
    .pum-container.pum-responsive {
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: 60% !important;
    }
}

/* ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ (до 768px) */
@media (max-width: 768px) {
    /* Контейнер попапа */
    .pum-container {
        top: 30px !important;
        transform: none !important;
        max-width: 90% !important;
        margin: 0 auto !important;
        position: relative !important;
        padding-top: 50px !important; /* Отступ сверху, чтобы кнопка не перекрывала текст */
    }
    
    /* Кнопка закрытия - внутри контейнера, но выше контента */
    .pum-container .pum-close.popmake-close,
    .pum-container > .pum-close.popmake-close,
    #popmake-5076 .pum-close.popmake-close,
    .pum-container button.pum-close.popmake-close {
        position: absolute !important;
        top: -45px !important;  /* Поднимаем выше контейнера */
        right: 5px !important;  /* Прижимаем к правому краю */
        left: auto !important;
        bottom: auto !important;
        font-size: 32px !important;
        line-height: 32px !important;
        width: 36px !important;
        height: 36px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #ffffff !important;
        border-radius: 50% !important;
        border: 1px solid #dddddd !important;
        padding: 0 !important;
        margin: 0 !important;
        z-index: 999999 !important;
        box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important;
        color: #000000 !important;
        opacity: 1 !important;
        text-shadow: none !important;
        cursor: pointer !important;
        pointer-events: auto !important;
    }
}

/* Для очень маленьких экранов (до 480px) */
@media (max-width: 480px) {
    .pum-container {
        top: 15px !important;
        max-width: 95% !important;
        padding-top: 40px !important;
    }
    
    .pum-container .pum-close.popmake-close,
    .pum-container > .pum-close.popmake-close,
    #popmake-5076 .pum-close.popmake-close,
    .pum-container button.pum-close.popmake-close {
        top: -38px !important;
        right: 5px !important;
        font-size: 28px !important;
        line-height: 28px !important;
        width: 32px !important;
        height: 32px !important;
    }
}

/* Для категорий woocommerce в блоке Похожие проекты */
.woocommerce ul.products li.product .loop-product-cats {
    color: #9C9C9C;
    text-align: left;
    font-size: 14px;
    line-height: 1.4;
    margin: 5px 0 0 0;
    display: block;
}

.woocommerce ul.products li.product .loop-product-cats a {
    color: #9C9C9C;
    text-decoration: none;
}

.woocommerce ul.products li.product .loop-product-cats a:hover {
    color: #9C9C9C;
    text-decoration: underline;
}


/* Убираем сине-фиолетовый фон button:focus у кнопок квиза */
[class*="rqz-popup-btn-"]:hover,
[class*="rqz-popup-btn-"]:focus,
[class*="rqz-popup-btn-"]:focus-visible,
[class*="rqz-popup-btn-"]:active {
    color: #000000 !important;
    background: rgba(255, 255, 255, 0) !important;
    background-color: rgba(255, 255, 255, 0) !important;
    border-color: #000000 !important;
    text-decoration: none !important;
    outline: none !important;
    box-shadow: none !important;
}


/* Уменьшаем картинки в вопросах "Выбор (изображение)" и "Выбор (текст + изображение)" в плагине Royal Quiz Builder */
.rqz-image-choice img,
.rqz-text-image-choice img {
    max-width: 160px !important;
    max-height: 160px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 auto 8px auto !important;
}

.rqz-image-choice,
.rqz-text-image-choice {
    min-height: auto !important;
    padding: 12px 8px !important;
}

.rqz-image-choice .rqz-image-label,
.rqz-text-image-choice span {
    font-size: 15px !important;
}


/* ==========================================
   Характеристики с иконками (страница товара)
   ========================================== */

/* Базовые стили — ПК (1200px+) */
.product-characteristics-icons {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 20px 0;
}

.product-characteristics-icons .characteristic-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.product-characteristics-icons .characteristic-icon {
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    object-fit: contain;
    display: block;
}

.product-characteristics-icons .characteristic-value {
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    color: #01421e;
    font-weight: 500;
    line-height: 1.4;
}

/* ===== Ноутбук (≤ 1199px) ===== */
@media (max-width: 1199px) {
    .product-characteristics-icons .characteristic-icon {
        width: 40px;
        height: 40px;
        flex: 0 0 40px;
    }
    .product-characteristics-icons .characteristic-value {
        font-size: 18px;
    }
}

/* ===== Планшет, альбомная ориентация (≤ 1024px) ===== */
@media (max-width: 1024px) {
    .product-characteristics-icons {
        gap: 9px;
    }
    .product-characteristics-icons .characteristic-item {
        gap: 11px;
    }
    .product-characteristics-icons .characteristic-icon {
        width: 36px;
        height: 36px;
        flex: 0 0 36px;
    }
    .product-characteristics-icons .characteristic-value {
        font-size: 17px;
    }
}

/* ===== Планшет, книжная ориентация (≤ 820px) ===== */
@media (max-width: 820px) {
    .product-characteristics-icons {
        gap: 8px;
        margin: 18px 0;
    }
    .product-characteristics-icons .characteristic-item {
        gap: 10px;
    }
    .product-characteristics-icons .characteristic-icon {
        width: 32px;
        height: 32px;
        flex: 0 0 32px;
    }
    .product-characteristics-icons .characteristic-value {
        font-size: 16px;
    }
}

/* ===== Мобильный, альбомная ориентация (≤ 640px) ===== */
@media (max-width: 640px) {
    .product-characteristics-icons {
        gap: 7px;
        margin: 15px 0;
    }
    .product-characteristics-icons .characteristic-item {
        gap: 9px;
    }
    .product-characteristics-icons .characteristic-icon {
        width: 28px;
        height: 28px;
        flex: 0 0 28px;
    }
    .product-characteristics-icons .characteristic-value {
        font-size: 15px;
    }
}

/* ===== Мобильный, книжная ориентация (≤ 480px) ===== */
@media (max-width: 480px) {
    .product-characteristics-icons {
        gap: 6px;
        margin: 12px 0;
    }
    .product-characteristics-icons .characteristic-item {
        gap: 8px;
    }
    .product-characteristics-icons .characteristic-icon {
        width: 24px;
        height: 24px;
        flex: 0 0 24px;
    }
    .product-characteristics-icons .characteristic-value {
        font-size: 14px;
    }
}


/* ==========================================
   Цены перед вкладками — три блока в ряд
   ========================================== */
.single-product .acf-prices-fullwidth {
    /* Для grid-родителя */
    grid-column: 1 / -1;
    /* Для flex-родителя */
    flex-basis: 100% !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    /* Для block-родителя с float-детьми */
    clear: both;
    /* Общее */
    width: 100% !important;
    box-sizing: border-box;
    margin: 10px 0 30px 0;

    /* Три блока в ряд */
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
}

/* Один блок с ценой */
.single-product .acf-price-card {
    flex: 0 0 calc(33.333% - 14px);
    max-width: calc(33.333% - 14px);
    box-sizing: border-box;
    padding: 20px 15px;
    border: 1px solid #01421e;
    border-radius: 4px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* Название цены */
.single-product .acf-price-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 25px;
    font-weight: 600;
    color: #01421e;
    line-height: 1.3;
    margin-bottom: 10px;
}

/* Значение цены */
.single-product .acf-price-value {
    font-family: 'Montserrat', sans-serif;
    font-size: 22px;
    font-weight: 400;
    color: #01421e;
    line-height: 1.3;
}

/* Адаптив: планшет — два в ряд */
@media (max-width: 1024px) {
    .single-product .acf-price-card {
        flex: 0 0 calc(50% - 10px);
        max-width: calc(50% - 10px);
    }
    .single-product .acf-price-title {
        font-size: 22px;
    }
    .single-product .acf-price-value {
        font-size: 20px;
    }
}

/* Адаптив: мобильный — один в столбик */
@media (max-width: 640px) {
    .single-product .acf-prices-fullwidth {
        gap: 15px;
        margin: 10px 0 20px 0;
    }
    .single-product .acf-price-card {
        flex: 0 0 100%;
        max-width: 100%;
        padding: 18px 15px;
    }
    .single-product .acf-price-title {
        font-size: 20px;
    }
    .single-product .acf-price-value {
        font-size: 18px;
    }
}

/* Убираем осветление неактивных миниатюр в галерее */
.woocommerce-product-gallery .flex-control-thumbs img,
.woocommerce-product-gallery .flex-control-nav img {
    opacity: 1 !important;
}

.woocommerce-product-gallery .flex-control-thumbs img:hover,
.woocommerce-product-gallery .flex-control-thumbs img.flex-active,
.woocommerce-product-gallery .flex-control-nav img:hover,
.woocommerce-product-gallery .flex-control-nav img.flex-active {
    opacity: 1 !important;
}

.woocommerce-product-gallery .flex-control-thumbs li[data-video="true"] .custom-video-play-icon {
    /* ... остальные свойства ... */
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5));
}