/* КАРТОЧКА ТОВАРА - ПОЛНЫЙ ЦИКЛ ПРАВОК */

.kt-h-mt30 { margin-top: 30px !important; }

.kt-good__wrapper {
    display: flex;
    box-shadow: 0 2px 16px rgba(0, 0, 0, .12);
    background: #fff;
    box-sizing: border-box;
}

.kt-polosa {
    width: 100%; height: 1px; background-color: #eaeaea;
    margin: 20px 0; flex-basis: 100%; order: 3;
}

/* Сетка и адаптив */
@media (max-width: 1023px) {
    .kt-good__wrapper { flex-direction: column; padding: 20px 10px; }
    .kt-good__left { order: 1; width: 100%; max-width: 500px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; }
    .kt-good__right { order: 2; width: 100%; }
    .kt-main__img_flag { margin-top: 40px !important; width: 100%; justify-content: center; }
    .kt-main__img_flag:after { top: -40px !important; }
}

@media (min-width: 1024px) {
    .kt-good__wrapper { justify-content: space-between; flex-wrap: wrap; padding: 15px 30px 37px; }
    .kt-good__left { width: 39%; display: flex; flex-direction: column; align-items: center; }
    .kt-good__right { width: 57.3%; z-index: 1; }
}

/* Изображение */
.kt-good__image { max-width: 100%; height: auto; }
.kt-main__img_flag { margin-top: 90px; display: flex; position: relative; }
.kt-main__img_flag:after { position: absolute; content: url(../../images/flagi.png); top: -60px; right: 0; }

/* Цена */
.kt-good__price { color: #1a1a1a; } /* ЗАДАЧА: почти черный */
@media (max-width: 1023px) { .kt-good__price { margin: 47px 0 0; text-align: center; } }
@media (min-width: 1024px) { .kt-good__price { margin: 40px 0 6px; } }

.kt-good__price--name { font-weight: 700; text-transform: uppercase; font-size: 1.2em; }
.kt-good__price--value { font-weight: 600; font-size: 1.1em; }
.kt-price-num { color: #282e6a; font-weight: 800; font-size: 1.8em; }

/* Кнопки - ГИБКИЕ НАСТРОЙКИ */
.kt-good__buttons { 
    margin-bottom: 36px; 
    display: flex; 
    flex-wrap: wrap; 
    gap: 10px; 
}

.kt-button {
    display: inline-flex; 
    align-items: center; 
    justify-content: center;
    padding: 13px 20px; 
    
    flex: 1 1 auto;      /* Кнопки растут и сужаются пропорционально */
    width: auto;         
    min-width: max-content; /* Сужается строго до границ текста */
    max-width: 100%;
    white-space: nowrap; /* Текст в одну строку, пока есть место */
    
    font-size: 14px; 
    font-weight: 600; 
    text-align: center;
    color: #167f2b; 
    text-transform: uppercase; 
    border: 2px solid #167f2b;
    border-radius: 30px; 
    background: transparent; 
    box-shadow: 0 6px 6px rgba(0, 0, 0, .12); 
    cursor: pointer; 
    transition: 0.3s;
}

@media (max-width: 1023px) {
    .kt-button {
        flex: 1 1 100%; /* На мобильных на всю ширину */
        white-space: normal; 
    }
}

.kt-button-full { color: #fff !important; background: #167f2b !important; }
.kt-button:hover { box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2); }

/* Модальное окно */
.kt-modal-overlay {
    display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.7); z-index: 9999000; justify-content: center; align-items: center;
}
.kt-modal-content { background: #fff; padding: 30px; border-radius: 15px; width: 95%; max-width: 450px; position: relative; text-align: center; }
.kt-modal-close { 
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 24px;
    border: none;
    background: none;
    cursor: pointer;
    color: #1a1a1a; }
#modal-title { color: #167f2b; font-weight: 700; font-size: 1.4em; margin-bottom: 20px; line-height: 1.2; text-align: center; }

/* Формы */
.kt-form { text-align: center; }
.kt-form input, .kt-form textarea { width: 100%; margin-bottom: 15px; padding: 12px; border: 1px solid #ccc; border-radius: 10px; box-sizing: border-box; font-family: inherit; text-align: left; color: #1a1a1a; }
.kt-form .kt-button { background: #167f2b; color: #fff; text-transform: none; border: none; margin: 10px auto 0; }
.kt-form input:focus, .kt-form textarea:focus { outline: none; border-color: #167f2b; box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.15); transition: all 0.3s ease; }

.kt-checkbox-label { display: inline-flex; align-items: center; justify-content: center; font-size: 12px; cursor: pointer; margin: 0 auto 20px; line-height: 1.4; user-select: none; text-align: left; color: #1a1a1a; }
.kt-checkbox-label input[type="checkbox"] { margin: 0 10px 0 0; width: auto; cursor: pointer; }
.kt-file-label { display: block; border: 1px dashed #167f2b; padding: 15px; text-align: center; margin-bottom: 15px; cursor: pointer; border-radius: 10px; color: #167f2b; font-size: 14px; }

/* Характеристики - СЕТКА В 2 КОЛОНКИ */
.kt-char__title { font-weight: 600; margin-bottom: 14px; font-size: 1.25em; color: #1a1a1a; }
.kt-char-block { display: flex; flex-wrap: wrap; border-top: 1px solid #eaeaea; border-bottom: 1px solid #eaeaea; padding: 20px 0; }
.kt-char-ico { position: relative; padding-left: 30px; margin-bottom: 10px; width: 49%; line-height: 22px; color: #1a1a1a; box-sizing: border-box; } /* ЗАДАЧА: почти черный */

@media (max-width: 1023px) { .kt-char-ico { width: 100%; padding-left: 26px; } }


/* Базовый контейнер */
.kt-char-ico {
    position: relative;
    padding-left: 30px; /* Оставляем место под картинку */
    margin-bottom: 12px;
    width: 49%;
    min-height: 44px; /* Резервируем высоту под 2 строки */
    box-sizing: border-box;
}

/* Стили для самой иконки */
.kt-ico-img {
    position: absolute;
    left: 0;
    top: 3px; /* Выравниваем по первой строке текста */
    display: block;
    object-fit: contain;
}

@media (max-width: 1023px) {
    .kt-char-ico {
        width: 100%;
        min-height: 40px;
    }
}