@font-face {
    /* 0xe1357 или \e1357 или &#xe1357 */ 
    font-family: 'closepp';
    src: url('/fonts/closepp.woff') format('woff');
    src: url('/fonts/closepp.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}
body {/* убираем стандартные пространства по всем краям */
    background-color: #fff;
    margin: 0px;
    font-family: 'Open Sans', sans-serif;
}
a {
    color: inherit; 
    text-decoration: none; 
    background-color: transparent; 
    -webkit-text-decoration-skip: objects;
}
a:hover, a:active, a:focus {
    color: inherit;
    text-decoration: none; 
    outline: 0; /
}
p {
    margin-top: 0;
    margin-bottom: 0;
  }
b {
    font-weight: 700; 
}  
h1, h2, h3 {
    all: unset;  
    display: block; 
    font-size: inherit; 
    font-weight: normal; 
    margin: 0; 
    padding: 0; 
    line-height: inherit; 
    color: inherit; 
}



header {/* хидер */
    background-color: #f2f2f2;
    height: 50px;
    width: 100%;
    display: flex;              
    justify-content: center; 
    align-items: center; 
    }
    .header-line {
    max-width: 1140px;
    background-color: #f2f2f2;
    height: 50px;
    width: 100%;  
    display: flex;  
    justify-content: space-between; 
    align-items: center; 
    }
    .write-us {
    color:#000; 
    font-family: Helvetica, Arial, sans-serif;
    font-weight: 200; 
    font-size: 17px;
    }
    .messenger a {
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    margin-right: 15px;
    }
    .logo, .messenger {
    display: flex;         
    align-items: center;       
    }
    .logo {
    margin-left: 15px;
}




/* блоки шапки */
.shapka {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Это создаст две колонки. Первая займет 1 долю доступного пространства, вторая - 2 доли */
    grid-template-rows: auto auto; /* Это создаст два ряда с автоматической высотой */
    gap: 0px; 
    max-width: 1140px;
    margin: 0 auto;
    padding-top: 80px;
    margin-bottom: 130px;

    }

    .product-name-wrapper { /* названи продукта как отдельная секция */
    grid-column: 1; 
    grid-row: 1; 
    margin-bottom: 15px;
    margin-top: 5px;
    }

    .left { /* левая колонка */
    grid-column: 1; /* Размещает элемент в первой колонке */
    grid-row: 2;    /* Размещает элемент во втором ряду */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    }

    .right { /* правая колонка */
    grid-column: 2; /* Размещает элемент во второй колонке */
    grid-row: 1 / 4; /* Размещает элемент в обоих рядах (ряд 1 и ряд 2) */
    }

    .product-name-wrapper, .left, .right {
    display: flex;
    justify-content: center;
    }

    @media (max-width: 880px) {
    .shapka {
        grid-template-columns: 1fr; /* Одна колонка на мобильных устройствах */
        grid-template-rows: auto auto auto;
        padding-top: 35px;
    }

    .product-name-wrapper {
        grid-column: 1;
        grid-row: 2; /* занимает второе место сверху */
    }

    .right {
        grid-column: 1;
        grid-row: 1; /* занимает первое место сверху */
    }

    .left {
        grid-column: 1;
        grid-row: 3; /* занимает третье место сверху */
    }
}

/* Стили описания продукта (блок left) */
.product-name {
    text-align: left; 
    color: #363636 !important;
    font-size: 20px;
    font-weight: 700; 
    max-width: 400px;
    word-wrap: break-word;
    margin-left: auto; 
    margin-right: auto;
    }
    .product-discripton {
    text-align: left; 
    color: #363636 !important;
    font-size: 15px;
    font-weight: 400; 
    max-width: 400px;
    }
    .chose-qty {
    display: flex;
    align-items: center;
    max-width: 339px;
    margin: auto;
    color: #252525;
    font-size: 16px;
    font-family: Verdana, Arial, sans-serif;
    font-weight: 400;
    white-space: nowrap; 
    background-color: white;
    padding: 0 10px;
    position: relative;
    top: -11px;
    }
    .black-friday-qty {
        display: flex;
        align-items: center;
        max-width: 339px;
        margin: auto;
        color: #fff;
        font-size: 16px;
        font-family: Verdana, Arial, sans-serif;
        font-weight: 600;
        white-space: nowrap; 
        background-color: rgb(0, 0, 0);
        border-radius:4px;
        /* border: 1px solid #e17675; */
        padding: 2px 10px 4px 10px;
        position: relative;
        top: -14px;
    }
    .line {
    display: flex;
    border-top: 1px solid black;
    min-width: 339px;
    align-items: center;
    margin-bottom: 5px;
    margin-top: 30px;
}

/* Стили виджета цен */
.price-block {
    display: flex;
    flex-direction: row;
    justify-content: center; 
    }
    .price1, .price2, .price3 {
    width: 113px;
    }
    .price-incide1 {
    border: dashed #d4d4d4;
    border-width: 1px 0px 1px 1px;
    border-radius: 7px;
    padding-bottom: 9px;
    margin-bottom: 6px;
    }
    .price-incide2 {
    border: dashed #d4d4d4;
    border-width: 1px 1px 1px 1px;
    border-radius: 7px;
    padding-bottom: 9px;
    margin-bottom: 6px;
    }
    .price-incide3 {
    border: dashed #d4d4d4;
    border-width: 1px 1px 1px 0px;
    border-radius: 7px;
    padding-bottom: 9px;
    margin-bottom: 6px;
    }
    .pref1 {
    text-align: center; 
    color: transparent;
    font-weight: normal;
    font-family: 'Arial', sans-serif; 
    font-size: 12px;
    background-color: transparent;
    border-radius: 10px;
    }
    .pref2 {
    text-align: center; 
    color: #666666;
    font-weight: normal;
    font-family: 'Arial', sans-serif; 
    font-size: 12px;
    background-color: yellow;
    border-radius: 10px;
    }
    .pref3 {
    text-align: center; 
    color: #fff;
    font-weight: normal;
    font-family: 'Arial', sans-serif; 
    font-size: 12px;
    background-color: #05b31e;
    border-radius: 10px;
    }
    .product-img {
        display:flex;
        justify-content: center;
    }
    .price-text {
    margin-top: 12px;
    text-align: center; 
    color: #666666; 
    font-weight: bold; 
    font-size: 16px; 
    font-family: 'Arial', sans-serif;
    }
    .price-value {
    margin-top: 1px;
    text-align: center; 
    }
    .value {
    font-family: 'Arial', sans-serif; 
    font-weight: bold; 
    }
    .whole-part {
    color: #e77575;
    font-size: 28px;
    }
    .fractional-part {
    color: #e77575;
    font-size: 16px;
    }
    .lv {
    color: #e77575;
    font-size: 12px;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: normal;
    }
    .gvalue {
    color: #666666;
    font-size: 12px;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: normal;
    }
    .buy {
    /* Сброс стандартных стилей кнопки со всех устройств всех браузеров */
    border: none;
    outline: none;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;  
    /* Мои стили */
    border-radius: 5px;
    width: calc(100% - 10px); /* Уменьшаем ширину кнопки на 10px (5px слева и 5px справа) */
    min-height: 30px;
    background-color: #e07575;
    font-family: 'Arial', sans-serif;
    font-size: 12px;
    font-weight: bold !important;
    color: #fff !important;
    text-align: center;
    padding: 13px 0px 13px 0px !important;
    margin: 0 5px; /* Внешние отступы слева и справа по 5px */
    display: inline-block; /* Это необходимо, чтобы ссылка вела себя как кнопка */
    text-decoration: none; /* Убрать подчёркивание у ссылки */
    }
    .buy:hover {
    background-color: rgb(221, 91, 91);
}

/* слайдер */
.slider {
    width: 450px;
    height: 450px;
    margin-bottom: 20px;
    }
    .wrapper {
    overflow: hidden;
    position: relative;
    background: #222;
    z-index: 1;
    border-radius: 15px;
    }
    #items {
    width: 10000px;
    position: relative;
    top: 0;
    left: 0px;
    }
    #items.shifting {
    transition: left .2s ease-out;
    }
    .slide {
    width: 450px;
    height: 450px;
    float: left;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: all 1s;
    position: relative;
    background: #ffffff;
    cursor: grab;
    }
    .slide img {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover; 
    }
    .slide img {
    -webkit-object-fit: cover;  /* Для Safari */
    object-fit: cover;
    }
    .dots {
    display: flex;
    justify-content: center; /* центрирование содержимого по горизонтали */
    position: absolute;
    left: 0; /* новое */
    right: 0; /* новое */
    bottom: 8px;
    margin: 0;
    z-index: 999999;
    }
    .dots .dot {
    width: 8px;
    height: 8px;
    margin: 0 5px;
    background-color: #d4d4d4;
    border-radius: 50%;
    cursor: pointer;
    transition: background-color 0.1s;
    }
    .dots .dot.active {
    background-color: #838383;
}
/* Конец блока шапки */




/* Блок описания продукта */
.opisanie { /* Большой серый контейнер */
    background-color: #f7f7f7;
    width: 100%;
    padding-bottom: 50px;
    }
    .opisanie-inside { /* Средний белый контейнер для табов и содержимого */
    background-color: #fff;
    max-width: 1140px;
    border-radius: 15px;
    position: relative;
    top: -30px;
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.06);
    margin-bottom: 0px;
    margin-left: auto;
    margin-right: auto;
    }
    @media (max-width: 1180px) {
    .opisanie-inside {
        max-width: calc(100% - 40px);
    }
}


.delivery-text { /* Динамичный текст курьера */
    color: #363636 !important;
    font-weight: 400; 
    font-size: 16px;
    }
    .curiers-logo {
    display: flex;
    justify-content: flex-start; 
    }
    .curiers-logo img {
    margin-top: 5px;
    margin-right: 10px; 
    margin-bottom: 20px;
    }
    @media (max-width: 470px) {
        .curiers-logo {
            justify-content: center; 
        }
    }
    @media (max-width: 360px) {
        .curiers-logo img {
            margin-right: 0px; 
        }        
}


.tab-list {/* табы и секции */
    list-style: none;
    display: flex;
    margin-left: 0; /* сбросить левый маргин */
    padding-left: 0; /* сбросить левый паддинг */
    margin-bottom: 0;
    margin-top: 0;
  }
  
  .tab-list li {
    padding: 10px;
    cursor: pointer;
    color: #000000;
    font-weight: 200; 
    font-size: 16px;
    border-radius: 15px;
  }
    /* Для активной вкладки */
    .tab-list li.active {
    background-color: #e5e5e5;
    color: #000;
    }
    /* При наведении на вкладку */
    .tab-list li:hover {
    background-color: #e5e5e5;
    color: #000;
    }

  .tab-content {
    display: none;
  }
  
  .tab-content.active,
  .tab-list li.active {
    display: block;
    }
    .content { /* Секция в которой находится описание продуктов, доставки и отзывов */
    padding: 31px 30px 31px 30px; 
    font-size: 15px;
    font-weight: 400;
}


/* Стили самого описания продукта из ДВУХ колонок */
.twocol { /* стиль для создания двух колонок и переобразования одну под другую (оборачивающий div) */
    display: flex;
    justify-content: space-between;
    }
    @media (max-width: 880px) {
    .twocol {
      flex-direction: column;
      align-items: center;  
    }
}

.col-first-small {/* Стили для верхнего блока описаний с гифкой */
    min-width: 385px;
    text-align: left;
    color: #161616 !important;
    font-size: 16px;
    font-weight: 300;
    }
  .col-second-big {
    flex: 1;
    text-align: left;
    color: #161616;
    font-size: 16px;
    font-weight: 300;
    }
    @media (max-width: 880px) {
        .col-first-small {
            min-width: 100%;
            text-align: center;
        }
    }
    .gif {
    width: 350px;
    height: 350px;
    border-radius: 15px;
    }
    @media (max-width: 470px) {
    .gif {
        width: 100%;
        height: auto;
        aspect-ratio: 1/1; /* Это гарантирует, что картинка будет квадратной */
    }
}

.col-first-big {/* Стили для второго блока инструкций или дополнительного описания где фотка справа, текст слева */
    flex: 1;
    text-align: left;
    color: #161616 !important;
    font-size: 16px;
    font-weight: 300;
    margin-top: 25px;
    }
    .col-second-small {
    min-width: 500px;
    text-align: right;
    color: #161616;
    font-size: 16px;
    font-weight: 300;
    margin-top: 25px;
    }   
    @media (max-width: 880px) {
        .col-first-big {
          order: 2;
          margin-top: 0px;
        }
        .col-second-small {
            order: 1;
            margin-top: 10px;
            text-align: center;
            min-width: 300px;
          }
    }
    .instructions {
        width: 350px;
        height: 350px;
        border-radius: 15px;
        }
        @media (max-width: 470px) {
        .instructions {
            width: 100%;
            height: auto;
            aspect-ratio: 1/1; /* Это гарантирует, что картинка будет квадратной */
        }
} 
/* Конец Стили самого описания продукта из ДВУХ колонок */
/* Конец Блока описания продукта  */

/* Приемущества */
.prefers {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    }
    .pref-square {
    flex: 1;
    min-width: calc(25% - 20px);
    margin-left: 10px;
    margin-right: 10px;
    box-sizing: border-box;
    background-color: #ffffff;
    color: #000000;
    font-size: 16px;
    font-weight: 200;
    border-radius: 10px;
    padding: 10px;
    }
    .pref-square:hover {
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.06);
    cursor: default;

    }
    .pref-square:first-child {
    margin-left: 0;  /* Сбрасываем отступ слева для первого элемента */
    }
    .pref-square:last-child {
    margin-right: 0;  /* Сбрасываем отступ справа для последнего элемента */
    }
    /* Стили для экранов с шириной меньше 880 пикселей */
    @media (max-width: 1180px) {
        .pref-square {
            min-width: calc(25% - 20px);
            margin-bottom: 20px;
        }
        .prefers {
            max-width: calc(100% - 40px);/* делает паддинги на моб устройствах по 10 пикселей с каждой стороны имея при этом 100% ширины */
        }
    }    
    @media (max-width: 880px) {
    .pref-square {
        min-width: calc(50% - 20px);
        margin-bottom: 20px;
    }

    .pref-square:nth-child(odd) {
        margin-right: 10px;
        margin-left: 0;
    }

    .pref-square:nth-child(even) {
        margin-left: 10px;
        margin-right: 0;
    }
    .prefers {
        max-width: calc(100% - 40px);/* делает паддинги на моб устройствах по 10 пикселей с каждой стороны имея при этом 100% ширины */
    }
    @media (max-width: 470px) {
    .pref-square {
            min-width: calc(50% - 10px);
            margin-bottom: 10px;
    }
    
    .pref-square:nth-child(odd) {
            margin-right: 5px;
            margin-left: 0;
    }
    
    .pref-square:nth-child(even) {
            margin-left: 5px;
            margin-right: 0;
    }
    .prefers {
            max-width: calc(100% - 20px);/* делает паддинги на моб устройствах по 10 пикселей с каждой стороны имея при этом 100% ширины */
        }
    }
}



/* Футер */
.footer {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 122px;
    background-color: rgb(71, 71, 71);
}

.footer-links {
    margin: 0 10px;  /* Отступы между ссылками */
    color: #999999;
    font-size: 16px;
    font-weight: 300;
    text-decoration: none;  /* Убираем подчеркивание */
}


/* Скомбинированные медиа запросы */
@media (max-width: 470px) {
    .shapka {
        padding-top: 0px;
        margin-bottom: 100px;
    }
    .slider {
        width: 100vw;  /* 100% ширины вьюпорта */
        height: 100vw;  /* 100% ширины вьюпорта (создает соотношение сторон 1:1) */
        margin-bottom: 10px;
        overflow: hidden; 
    }
    .slide {
        width: 100vw;
        height: 100vw;
    }
    .wrapper {
        border-radius: 0px;
    }
    .write-us {
        display: none;
    }
    .product-name-wrapper {
        margin-bottom: 7px;
    }
    .product-name {
        text-align: left; 
        padding-left: 15px;
        padding-right: 10px;
    }
    .product-discripton {
        text-align: left; 
        padding-left: 15px;
        padding-right: 10px;
        margin-bottom: 5px;
    }
    .opisanie-inside { /* Средний контейнер для табов и содержимого */
        max-width: calc(100% - 20px);
    }
    .content { 
        padding: 25px 10px 35px 10px; 
    }
    .footer {
        flex-direction: column;  /* Меняем направление оси на вертикальную */
    }
    
    .footer-links {
        margin: 4px 0;  /* Добавляем вертикальные отступы */
    }

}



.popup {
    display: none;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.5);
}
@media screen and (max-width: 500px) {
    .popup  {
        background-color: rgba(0,0,0,0.8);
    }
}

.popup-content {
    position: relative;
    background-color: #f1f1f1;
    margin: 50px auto;
    padding: 10px;
    border-radius: 20px;
    max-width: 500px;
    width: 100%;
    box-sizing: border-box;
}

@media screen and (max-width: 500px) {
    .popup-content {
        width: 100%; 
        height: auto;
        position: fixed;
        bottom: 0px;
        margin-left: 0px;
        margin-right: 0px;
        margin-bottom: 0px;
        border-radius: 20px 20px 0px 0px;
        box-sizing: border-box;
    }
}
@font-face {
    /* 0xe1357 или \e1357 или &#xe1357 */ 
    font-family: 'closepp';
    src: url('/fonts/closepp.woff') format('woff');
    src: url('/fonts/closepp.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}
.closeBtn {
    position: absolute;
    color: #292929;
    background-color: transparent;
    border-radius: 30px;
    padding: 6px;
    right: 5px;
    top: 5px;
    font-size: 20px;
    font-weight: normal;
    font-family: 'closepp';

}
.closeBtn:hover,
.closeBtn:focus {
    color: black;
    background-color: #dcdcdc;
    text-decoration: none;
    cursor: pointer;
}

.cart-added-product-container {
    width: 100%;
    display: flex;
    justify-content: center;
}
.cart-added-product {
    display: flex; 
    align-items: flex-start; 
    border: 0px dashed #aaaaaa;
    border-radius: 6px;
    background-color: #fff;
    padding: 5px;
    max-width: 400px;
    box-sizing: border-box;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.09);
}


  

.c-a-img {
    min-width: 60px;
}
@media screen and (max-width: 560px) {
    .c-a-img  {
        min-width: 50px;
    }
}

/* .c-a-total {
} */

.c-a-total-text {
    font-weight: 600;
    font-size: 15px;
    text-align: end;
    width: 70px;
}
@media screen and (max-width: 400px) {
    .c-a-total-text {
        font-size: 14px;
    }
}

.c-a-name-qty-price {
    flex-grow: 1; 
    padding-left: 10px;
    padding-right: 10px;
}
.c-a-name {
    font-size: 14px;
}
@media screen and (max-width: 400px) {
    .c-a-name  {
        font-size: 12px;
    }
}
.c-a-qty-price {
    font-size: 13px;
    color: gray;
    padding-top: 3px;
}

.c-a-img img {
    max-width: 100%; /* Гарантирует, что изображение не выйдет за пределы блока */
    height: auto; /* Поддерживает соотношение сторон изображения */
    border-radius: 5px;
}


.success-checkmark {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-bottom: 15px;
    margin-top: 10px;
}
.success-text {
    display: flex;
    justify-content: center;
    margin-bottom: 13px;
    font-weight: 600;
}
.crossale-text {
    display: flex;
    justify-content: center;
    margin-top: 20px;
    margin-bottom: 10px;
    font-weight: 600;
}



.checkmark {
    width: 56px;
    height: 56px;
    display: inline-block;
    stroke-width: 2;
    stroke: #4CAF50;
    stroke-miterlimit: 10;
}

.checkmark-circle {
    stroke-dasharray: 166;
    stroke-dashoffset: 166;
    stroke-width: 2;
    animation: stroke .6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}

.checkmark-check {
    stroke-dasharray: 48;
    stroke-dashoffset: 48;
    animation: stroke .6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}

@keyframes stroke {
    100% {
        stroke-dashoffset: 0;
    }
}



.popup-message {
    display: inline-block;
    vertical-align: top;
}

.cross-blocks {
    display: flex; /* Включает Flexbox для контейнера */
    flex-wrap: nowrap; /* Запрещает перенос блоков на новую строку */
    overflow-x: auto; /* Добавляет горизонтальную прокрутку, если блоки не помещаются */
    justify-content: center;
    gap: 10px;
}


.cross-block {
    border-radius: 10px;
    width: 150px;
    background-color: #fff;
    flex: 0 0 auto; /* Задает блокам не растягиваться и не сжиматься, сохраняя их исходный размер */
    position: relative;
    display: flex; /* Применяем Flexbox */
    flex-direction: column; /* Устанавливаем направление столбца */
    justify-content: flex-start; /* Выравниваем содержимое сверху вниз */
}
@media screen and (max-width: 400px) {
    .cross-block  {
        width: 140px;
    }
}
.cross-price, .add-cross-btn {
    margin-top: auto; /* Автоматически перемещает блок вниз */
}


.cross-added-message {
    display: none;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgb(124 186 124 / 95%); 
    color: white;
    text-align: center;
    font-size: 15px;
    border-radius: 10px; 
    justify-content: center; 
    align-items: center; 
}


.cross-img {
    border-radius: 10px;
    max-width: 100%; 
    height: auto; 
}
.cross-name {
    font-size: 14px;
    padding: 5px;
    text-align: left;
}
@media screen and (max-width: 400px) {
    .cross-name  {
        font-size: 12px;
    }
}
.cross-price {
    text-align: center;
    font-size: 16px;
}

/* зачеркивание старой цены */
.cross-strike {
    color: gray;
    font-size: 16px;
    position: relative;
    display: inline-block; /* Для правильного расчета ширины */
}
.cross-strike::after {
    content: '';
    position: absolute;
    left: -3px; /* Удлиняем линию слева */
    right: -3px; /* Удлиняем линию справа */
    top: 50%;
    border-bottom: 1px solid gray; /* Создаем линию, которая будет зачеркивать текст */
    width: calc(100% + 10px); /* Рассчитываем ширину, учитывая удлинение */
}


.cross-price-value {
    font-weight: 600;
    color: red;
}



.add-cross-btn {
    width: 100%;
    padding: 10px 5px;
    border-radius: 0px 0px 10px 10px;
    border: 0px;
    background-color: #69bd6d;
    color: #fff;
    margin-top: 10px;
    font-size: 14px;
}
.add-cross-btn:hover {
    background-color: #54ad58;
    cursor: pointer;
}




.proceed-to-checkout {
    margin-top: 30px;
    margin-bottom: 30px;
    display: flex;
    justify-content: center;
}

@media screen and (max-width: 400px) {
    .proceed-to-checkout  {
        margin-top: 20px;
        margin-bottom: 10px;
    }
}
.btn-checkout {
    background-color: #f16334;
    color: #fff;
    border-radius: 7px;
    padding: 10px 5px;
    text-align: center;
    font-size: 17px;
    font-weight: 600;
    max-width: 304px;
    width: 100%;
}
.btn-checkout:hover {
    background-color: #e94813;
    color: #fff; 
    cursor: pointer;
}




.gstar {
    margin-bottom: 0px;
}


.review {
    margin-bottom: 20px;
}
.review-name {
    color: black;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 3px;
}
.review-grade-date {
    display: flex;
    align-items: flex-start;
}
.review-grade {
    margin-right: 7px;
}
.review-date {
    color: #70757a;
    font-size: 14px;
}
.review-text {
    margin-top: 5px;
    width: 100%;
    max-width: 750px;
}

.btnMore {
    padding: 0;
    font-size: 14px;
    color: #1a73e8;
    background-color: transparent; 
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-weight: bold;
}

.btnMore:hover {
    color: #1a73e8;
}

.btnMore:focus {
    outline: none;
}

.review-img {
    margin-top: 15px;
    margin-right: 5px;
    width: 100px;
    border-radius: 3px;
    cursor: pointer;
}
.review-likes {
    margin-top: 20px;
    margin-left: 5px;
}
.like-icon {
    margin-right: 3px;
    width: 14px;
    cursor: pointer;
}

.review-border-bottom {
    margin-bottom: 20px;
    border-bottom: 1px solid #e5e5e5;
}

.general-star-rating .stars,
.star-rating .stars {
    display: inline-flex;
}

.general-star-rating .star,
.star-rating .star {
    width: 16px;
    height: 16px;
    background-color: #dbdce0;
    clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
    margin: 1px;
    background-repeat: no-repeat;
}

.general-star-rating .star.full,
.star-rating .star.full {
    background-color: #fbbc06; /* Полностью закрашенная звезда */
}

.general-star-rating .star.partial,
.star-rating .star.partial {
    /* background для частичного заполнения с использованием линейного градиента */
    background: linear-gradient(to right, #fbbc06 0%, #fbbc06 var(--fill), #dbdce0 var(--fill), #dbdce0 100%);
}
.general-star-rating {
    position: relative;
    top: -7px;
}
.reviews-total {
    position: relative;
    top: -8px;
}
.powered-by {
    width: 100px;
    position: relative;
    top: -6px;
}


.general-raiting {
    display: flex;
    gap: 20px;
    /* margin-bottom: 30px; */
}

.gen-grade-block {
    display: flex;
    flex-direction: column;
    position: relative;
    top: -12px;
}
.gen-grade {
    font-size: 3.5rem;
    font-weight: 500;
}
.reviews-total {
    font-size: 13px;
    color: gray;
}

.scale {
    display: flex;
    margin-bottom: 5px;
}
.grade-label {
    margin-right: 13px;
    color: #70757a;
    font-size: 14px;
}

.rating-scale {
    width: 230px;
    height: 8px;
    background-color: #f1f3f4; /* Фоновый цвет незаполненной шкалы */
    border-radius: 4px;
    margin: 5px 0;
    position: relative;
}
@media (max-width: 419px) {
    .rating-scale {
        width: 220px; 
    }
}
@media (max-width: 409px) {
    .rating-scale {
        width: 210px; 
    }
}
@media (max-width: 399px) {
    .rating-scale {
        width: 200px; 
    }
}
@media (max-width: 389px) {
    .rating-scale {
        width: 190px; 
    }
}
@media (max-width: 379px) {
    .rating-scale {
        width: 180px; 
    }
}
@media (max-width: 369px) {
    .rating-scale {
        width: 170px; 
    }
}
@media (max-width: 359px) {
    .rating-scale {
        width: 160px; 
    }
}
@media (max-width: 349px) {
    .rating-scale {
        width: 150px; 
    }
}
.rating-scale-filled {
    height: 8px;
    background-color: #fbbc04; /* Цвет заполнения шкалы */
    border-radius: 4px;
    position: absolute;
    top: 0;
    left: 0;
}


#imagePopupImgrev {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
}
.popup-overlayImgrev {
    position: absolute;
    width: 100%;
    height: 100%;
}
.popup-contentImgrev {
    position: relative;
    padding: 20px;
}
.close-buttonImgrev {
    position: absolute;
    top: -15px;
    right: 17px;
    color: white;
    font-size: 30px;
    cursor: pointer;
}
.imgPopRev {
    width: 100%;
    max-width: 500px;
    border-radius: 4px;
}

#reviewPopup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
}
.popup-contentReview {
    position: relative;
    width: 100%;
    max-width: 500px;
    padding: 10px;
}
.rev-container {
    background-color: #fff;
    border-radius: 10px 18px 10px 10px;
    padding: 10px;
}
@media (max-width: 499px) {
    #reviewPopup {
        align-items: flex-end; /* Прижимает содержимое попапа к нижней части экрана */
    }
    .popup-contentReview {
        width: 100%; 
        max-width: none; 
        margin-bottom: 20px; 
    }
}
.closeBtn {
    color: #292929;
    background-color: #eceeea;
    border-radius: 30px;
    padding: 6px;
    float: right;
    font-size: 20px;
    font-weight: normal;
    font-family: 'closepp';

}
.closeBtn:hover,
.closeBtn:focus {
    color: black;
    background-color: #dcdcdc;
    text-decoration: none;
    cursor: pointer;
}
.rev-textarea {
    display: flex;
    flex-direction: column;
    margin-bottom: 15px;
}


.leave-yor-review-text {
    text-align: center;
    font-size: 15px;
}
/* звездный рейтинг в отзыве попапа */
.rating {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    gap: 5px;
    margin-top: 15px;
    margin-bottom: 14px;
}
.rating input[type="radio"] {
    display: none; /* Скрываем радиокнопки */
}
.rating label {
    width: 35px;
    height: 35px;
    cursor: pointer;
    background-color: #e0e0e0; 
    clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}
/* Подсветка при наведении мышкой */
.rating label:hover,
.rating label:hover ~ label {
    background-color: gold; 
}
/* Закрашивание после выбора */
.rating input[type="radio"]:checked ~ label {
    background-color: #ffc519; 
}
#emtyStarRaitingError {
    color: red;
    text-align: center;
    margin-right: 35px;
    font-weight: 600;
    display: none;
}
#fileUpload {
    margin: 10px 0;
    display: block;
}
.submit-block {
    display: flex;
    justify-content: center;
}
.submin-review {
    background-color: #007BFF;
    color: white;
    padding: 10px 30px;
    border: 0px;
    outline: none;
    border-radius: 4px;
    margin-top: 20px;
    margin-bottom: 15px;
    cursor: pointer;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
}
.submin-review:hover {
    background-color: #2f8ef4;
}

/* Textarea отзыва */
.rev-textarea {
    position: relative;
    padding: 10px 0 0;
    margin-top: 5px;
    width: 100%;
}
.rev-textarea textarea {
    width: 100%;
    height: 100px;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #818181;
    border-radius: 4px;
    resize: none; /* Отключаем изменение размера */
    font-family: Helvetica, Arial, sans-serif;
    font-size: 15px;
    transition: border-color 0.2s;
}
.rev-textarea textarea:focus {
    border: 1px solid #007BFF;
    outline: none;
}
.rev-textarea label {
    position: absolute;
    top: 15px;
    left: 10px;
    cursor: text;
    transition: 0.2s;
    color: #818181;
}
.rev-textarea textarea:focus + label,
.rev-textarea textarea:not(:placeholder-shown) + label {
    top: 0px;
    left: 10px;
    font-size: 12px;
    color: #007BFF;
    background: white;
    padding: 0 5px;
}

/* Имя отзыва */
.rev-name {
    position: relative;
    padding: 15px 0 0;
    margin-top: 10px;
    width: 100%;
}
.rev-name input {
    width: 60%;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #818181;
    border-radius: 4px;
    resize: none;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 15px;
    transition: border-color 0.2s;
}
@media (max-width: 430px) {
    .rev-name input {
        width: 100%;
    }
}
.rev-name input:focus {
    border: 1px solid #007BFF;
    outline: none;
}
.rev-name label {
    position: absolute;
    top: 23px;
    left: 10px;
    cursor: text;
    transition: 0.2s;
    color: #818181;
    background: white;
    padding: 0 5px;
}
.rev-name input:focus + label,
.rev-name input:not(:placeholder-shown) + label {
    top: 4px; /* Измените это значение по желанию для корректного позиционирования */
    left: 10px;
    font-size: 12px;
    color: #007BFF;
}


.pagination {
    display: flex; 
    justify-content: center; 
    padding: 10px; 
}

.page-item {
    margin: 0 5px; 
}

.page-link {
    text-decoration: none; 
    padding: 2px 7px; 
    border: 1px solid #ccc;
    border-radius: 5px;
}

.page-link.active {
    font-weight: bold; 
    color: #fff; 
    background-color: #e07575; 
    border: 1px solid #e07575;
}

.reviews-filter {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid #e5e5e5; 
    align-items: center;
    padding: 5px 5px;
    background-color: #fafafa;
}


.sort-sel {
    padding: 3px 1px;
    border-radius: 3px;
    border: 1px solid #c8c8c8;
    background-color: #fafafa;
    color: black;
    outline: none;
}
.srtby {
    width: 24px;
    position: relative;
    right: 3px;
    top: 2px;
}
@media (max-width: 420px) {
    .srtby {
        display: none;
    }
}
.rev-selector {
    display: flex;
}

.add-review-block {
    display: flex;
    justify-content: flex-start;
    padding-left: 70px;
}
@media (max-width: 599px) {
    .add-review-block {
        justify-content: center;
        padding-left: 0px;
    }
}
.add-review-button {
    background: #fff;
    border: 1px solid #dadce0;
    box-shadow: none;
    border-radius: 36px;
    box-sizing: border-box;
    cursor: pointer;
    padding: 8px 15px;
    font-weight: 500;
    font-size: 15px;
    margin-bottom: 35px;
    margin-top: 10px;
    color: #1a73e8;
}
@media (max-width: 599px) {
    .add-review-button {
        margin-bottom: 38px;
        margin-top: 18px;
    }
}
.add-review-button:hover {
    border: 1px solid #1a73e8;
}
.pencil_rev2 {
    width: 13px;
    position: relative;
    top: 1px;
    margin-right: 3px;
}


/* Стили спинера для оверлея загрузки отзывов */
.rev-container.loading {
    position: relative;
    opacity: 1; /* Полная непрозрачность для контейнера */
}

.rev-container.loading::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8); /* Белый фон с прозрачностью 80% */
    z-index: 1; /* Убедитесь, что фон находится над другим содержимым контейнера, но под спиннером */
    border-radius: 10px 18px 10px 10px;

}
/* спинер загрузки отпарвки отзыва */
.loader {
    border: 5px solid #f3f3f3; /* Цвет фона */
    border-top: 5px solid #2e2e2e; /* Цвет анимации */
    border-radius: 50%;
    width: 30px;
    height: 30px;
    animation: spin 2s linear infinite;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -25px; /* Отступ чтобы центрировать элемент */
    margin-top: -25px;
    z-index: 1000;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Спинер целой страницы */
.reviews-loader {
    border: 5px solid #f3f3f3; /* Цвет фона */
    border-top: 5px solid #2e2e2e; /* Цвет анимации */
    border-radius: 50%;
    width: 30px;
    height: 30px;
    animation: spin 2s linear infinite;
    position: absolute;
    top: 100px;
    left: 50%;
    margin-left: -25px; /* Отступ чтобы центрировать элемент */
    margin-top: -25px;
    z-index: 1000;
}

@keyframes reviewsSpin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}



.no-reviews-yet-text {
    text-align: start;
    margin-bottom: 10px;
    margin-left: 20px;
}
@media (max-width: 599px) {
    .no-reviews-yet-text {
        text-align: center;
        margin-left: 0px;
    }
}