@media screen and (max-width: 515px) {
    .item-page {
        margin: 0;
        padding: 0 10px;
    }
}

/* общий контейнер */
.product-gallery {
    margin-bottom: 20px;
    max-width: 262px;
}

.product-gallery .gallery-top, .assort3.swiper-container {
  --swiper-navigation-color: #ffffff;
  --swiper-theme-color: #007aff;
}


.product-gallery .swiper-container {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block
}

.product-gallery .swiper-container,
.product-gallery .gallery-thumbs .swiper-container {
    width: 100%;
    height: 80%;
    margin: 0 auto;
}

.product-gallery a,
.product-gallery .gallery-thumbs a {
    padding: 3px;
    border: 0;
    cursor: zoom-in;
    height: inherit;
}

/* сами слайды */
.product-gallery .swiper-slide,
.product-gallery .gallery-thumbs .swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    background-size: cover;
    background-position: center;
}

.product-gallery .swiper-slide img,
.product-gallery .gallery-thumbs .swiper-slide img {
    display: block;
    border-radius: 3px;
    overflow: hidden;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-gallery .gallery-top {
    height: 80%;
    width: 100%;
    position: relative;
}

/* стили стрелок */
.product-gallery .gallery-top .swiper-button-next,
.product-gallery .gallery-top .swiper-button-prev {
    text-shadow: 0 0 5px rgba(51,51,51,.2666666667);
}
.product-gallery .gallery-top .swiper-button-next:hover,
.product-gallery .gallery-top .swiper-button-prev:hover {
    text-shadow: 0 2px 10px #333333;
}
.product-gallery .gallery-top .swiper-button-next:after,
.product-gallery .gallery-top .swiper-button-prev:after {
    font-size: 30px;
}
.product-gallery .gallery-top .swiper-button-next:after {
    content: "▶";
}
.product-gallery .gallery-top .swiper-button-prev:after {
    content: "◀";
}

.product-gallery .gallery-thumbs {
    height: 20%;
    box-sizing: border-box;
    padding: 10px 0;
}

.product-gallery .gallery-thumbs img {
    cursor: pointer;
}

.product-gallery .gallery-thumbs .swiper-slide {
    width: 25%;    /* 4 миниатюры в ряд */
    height: 100%;
    opacity: .4;
}

.product-gallery .gallery-thumbs .swiper-slide-thumb-active {
    opacity: 1;
}

.js-standart-product-change {
    margin-bottom: 25px;
    display: flex;
    gap: 10px
}

.js-standart-product-change.simple {
    justify-content: center;
    margin-bottom: 10px
}

.js-standart-product-change.simple span {
    cursor: pointer;
    border-bottom: 1px solid #919191;
    color: #919191
}

.js-standart-product-change.simple span.active {
    font-weight: 700;
    color: #000;
    border-color: #000
}

.js-standart-product-change button {
    border: none;
    padding: 0 10px;
    border: 1px solid #2696d9;
    border-radius: 5px;
    cursor: pointer;
    width: auto;
    flex: 1
}

.js-standart-product-change button.active {
    background: #2696d9;
    color: #fff
}

.js-standart-product-change button:not(.active):hover {
    background: #81c7f1;
    border-color: #81c7f1;
    color: #fff
}

.product-price-block {
    display: flex;
    flex-direction: column;
    gap: 5px;
    align-items: center;
    margin-bottom: 20px
}

.product-price-block input[type=number]::-webkit-outer-spin-button,.product-price-block input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0
}

.product-counter {
    display: flex;
    gap: 2px
}

.product-counter__btn {
    width: 32px!important;
    height: 32px!important;
    padding: 0!important;
    margin: 0!important
}

.product-counter__count {
    width: 20px;
    border: 1px solid #d3d3d3;
    border-radius: 5px;
    height: 30px;
    width: 30px;
    padding: 0 5px;
    text-align: center
}

.price-form .form-group-col {
    position: relative;
    width: max-content;
    margin: auto
}

.price-form .form-group-col label {
    position: absolute;
    top: 7px;
    left: 20px
}

.price-form .form-group-col input {
    padding-left: 70px;
    max-width: 224px;
    width: 150px
}

.indicator {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    width: 100%
}
.indicator span {
    background: green;
    width: 15px;
    height: 15px;
    min-width: 16px;
    display: block;
    border-radius: 10px;
    margin-right: 5px
}

.indicator.default span {
    background: #2696d9
}

.indicator.chick span {
    background: #ffb90e
}

.action-button {
    background-color: green;
    border: none;
    height: 35px;
    color: #fff;
    font-size: 15px;
    padding: 2px 10px;
    border-radius: 5px;
    cursor: pointer;
    width: 165px;
    box-sizing: content-box;
    transition: all 1s linear
}

.action-button:hover {
    background: #00b900
}

.action-button a {
    color: #fff;
    text-decoration: none;
    font-size: 13px
}

.action-button_email {
    display: flex;
    justify-content: left;
    align-items: center;
    gap: 5px;
    background-color: #339ada;
    background-image: linear-gradient(to top,#339ada,#50a8df,#62b1e2,#76bbe6);
    margin-bottom: 10px;
}

.action-button_email span {
    pointer-events: none
}

.action-button_email:before {
    content: "";
    background: url('data:image/svg+xml, <svg width="24" height="22" viewBox="0 0 25 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M24 3.25C24 2.0125 22.965 1 21.7 1H3.3C2.035 1 1 2.0125 1 3.25M24 3.25V16.75C24 17.9875 22.965 19 21.7 19H3.3C2.035 19 1 17.9875 1 16.75V3.25M24 3.25L12.5 11.125L1 3.25" stroke="%23F0F4F8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg>') no-repeat center;
    background-size: contain;
    width: 15px;
    height: 15px
}

.link-dotted {
    color: #2a95d8;
    text-decoration-style: dotted!important;
    text-decoration: underline;
    cursor: pointer
}



.form input,.price-form input, .delivery-form input {
    display: block;
    margin: 5px auto;
    padding-left: 20px
}

.form button,.price-form button, .delivery-form button {
    margin: 20px auto;
    display: block;
    width: auto!important;
}

.form input:focus::-webkit-input-placeholder,.price-form input:focus::-webkit-input-placeholder,.delivery-form input:focus::-webkit-input-placeholder {
    color: transparent
}

.form input:focus::-moz-placeholder,.price-form input:focus::-moz-placeholder,.delivery-form input:focus::-moz-placeholder {
    color: transparent
}

.form input:focus::-ms-input-placeholder,.price-form input:focus::-ms-input-placeholder,.delivery-form input:focus::-ms-input-placeholder {
    color: transparent
}

.form input,.price-form input,.delivery-form input {
    width: 200px;
    height: 30px;
    border-radius: 5px;
    border: 1px solid #dddada
}

.form input:focus,.price-form input:focus,.delivery-form input:focus {
    outline: 1px solid #5aade0
}

input[name=email] {
    display: none;
    position: absolute;
    left: -9999px
}

.form p,.price-form p,.delivery-form p {
    font-size: 15px;
    text-align: center;
    color: #000;
    margin: 40px auto 20px;
    width: 100%;
    font-weight: 600
}

form input[type=checkbox],form input[type=radio] {
    display: inline-block;
    vertical-align: middle;
    width: auto;
    height: auto;
    margin-top: 0
}

.confidental-checkbox {
    max-width: 234px;
    margin: 10px auto;
    font-size: .7em
}

.request_call .confidental-checkbox {
    margin: -3px auto 0
}

.request_call .confidental-checkbox input[type=checkbox] {
    top: 10px;
    margin: -2px 0 0
}

form span.error {
    display: block;
    margin: auto;
    max-width: 230px
}

.table-simple {
    width: 100%
}

.table-simple th {
    text-align: center
}

.table-simple td {
    padding: 5px;
    border-radius: 4px;
    border: 1px solid rgba(238,238,238,.3333333333)
}

.table-simple tbody tr {
    transition: all .3s
}

.table-simple tbody tr:hover {
    background-color: #eee
}

th, td, caption {
    font-weight: 400;
}

/* Весь виджет с фоном, рамкой и скруглениями */
.yrw-widget {
  display: inline-block;
  background-color: #efefef;    
  border: 1px solid #e0e0e0;    /* тонкая серая рамка */
  border-radius: 3px;           /* небольшое скругление */
  padding: 8px 10px;            /* отступы вокруг содержимого */
  font-family: Arial, sans-serif;
  width: 165px;
  height: 60px;
    
}

/* Заголовок: капля + число + 5 звёзд в строку */
.yrw-header {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

/* Иконка капли */
.yrw-pin {
  flex-shrink: 0;
}

/* Цифра рейтинга */
.yrw-score {
  font-size: 16px;
  font-weight: bold;
  color: #222;
  line-height: 1;
}

/* Контейнер ровно под 5 звёзд (5×16px = 80px) */
.yrw-stars {
  position: relative;
  display: inline-block;
  width: 80px;
  height: 16px;
}

/* Общая настройка фоновых паттернов */
.yrw-stars-bg,
.yrw-stars-fill {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background-size: 16px 16px;
  background-repeat: repeat-x;
}

/* Серые “пустые” звёзды */
.yrw-stars-bg {
  background-image: url("data:image/svg+xml;charset=UTF-8,\
%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E\
%3Cpolygon points='8,0 10.4,5.6 16,6 11.6,9.4 12.8,15 8,12 3.2,15 4.4,9.4 0,6 5.6,5.6' fill='%23CCC'/%3E\
%3C/svg%3E");
}

/* Жёлтые “залитые” звёзды */
.yrw-stars-fill {
  overflow: hidden;
  background-image: url("data:image/svg+xml;charset=UTF-8,\
%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E\
%3Cpolygon points='8,0 10.4,5.6 16,6 11.6,9.4 12.8,15 8,12 3.2,15 4.4,9.4 0,6 5.6,5.6' fill='%23F8B400'/%3E\
%3C/svg%3E");
}

/* Подпись мелким шрифтом в одну строку */
.yrw-footer {
  margin-top: 6px;
  font-size: 10px;
  color: #666666;              
  text-align: center;
  white-space: nowrap;
}

.promotion-card {
    position: relative;
    border: 3px solid #2696d9;
    border-radius: 4px;
    padding: 10px;
    margin: 40px 0
}

.promotion-card__icon {
    width: max-content!important;
    background: #fff;
    padding: 0 20px;
    margin-top: -43px
}

.promotion-card__bottom {
    width: max-content;
    margin: 0 auto -31px;
    padding: 0 20px;
    background: #fff
}

.bold-center-text {
    font-weight: 700;
    text-align: center;
}

.mt-20 {
    margin-top: 20px;
}

.advatage-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 40px
}

.advatage-cards__item-image img {
    width: 55px;
    max-width: 100px;
    margin-bottom: 10px
}

.advatage-cards__item {
    text-align: center;
    width: calc(50% - 20px);
    position: relative;
    padding-left: 10px;
    display: flex;
    gap: 10px;
    align-items: center
}

@media (max-width: 520px) {
    .advatage-cards__item {
        width:100%
    }

    .advatage-cards__item-image img {
        max-width: 50px
    }
}

.review-form__success-msg {
    text-align: center;
    border: 1px solid #ececec;
    border-radius: 3px;
    padding: 20px
}

.review-form.loading {
    opacity: .7;
    pointer-events: none
}

.review-form {
    padding: 20px;
    background: #f6f6f6;
    border: 1px solid #ececec;
    border-radius: 3px;
    display: flex;
    flex-direction: column;
    gap: 20px
}

.review-form__group {
    display: flex;
    flex-direction: column
}

.review-form__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px
}

.review-form__btn-submit {
    width: max-content;
    padding: 10px 20px;
    border: none;
    border-radius: 3px;
    background: linear-gradient(to top,#339ada,#50a8df,#62b1e2,#76bbe6);
    color: #fff;
    cursor: pointer
}

.review-form__btn-submit:hover {
    background: linear-gradient(to top,#1d7bb6,#3494cf,#3a8ec3,#5495be)
}

.review-form input[type=text],.review-form textarea {
    margin: 0!important;
    outline: none;
    border: 1px solid #bdbdbd!important;
    padding: 5px 10px
}

@media (max-width: 700px) {
    .review-form__row {
        grid-template-columns:1fr
    }
}

.review-form rating input[type=radio] {
    -webkit-appearance: none;
    cursor: pointer;
    margin: 0;
    position: relative;
    top: -12px
}

.review-form rating input[type=radio]:after {
    content: "★";
    font-size: 32px
}

.review-form rating input[type=radio]:invalid:after {
    color: #ddd
}

.review-form rating input[type=radio]:hover {
    color: #fab840!important
}

.review-form rating {
    display: block;
    height: 24px
}

.review-form rating:focus-within input[type=radio]:invalid:after,.review-form rating:hover input[type=radio]:invalid:after {
    color: #888
}

.review-form input[type=radio]:hover~input[type=radio]:invalid:after,.review-form rating input[type=radio]:focus~input[type=radio]:invalid:after {
    color: #ddd
}

.review-form rating input[type=radio]:valid {
    color: orange
}

.review-form rating input[type=radio]:checked~input[type=radio]:not(:checked):after {
    color: #ccc
}

.assortCard{
    margin-bottom: 1.5rem;
}

.assort3.swiper-container {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block
}

/* стили стрелок */
.assort3.swiper-container .swiper-button-next,
.assort3.swiper-container .swiper-button-prev {
    text-shadow: 0 0 5px rgba(51,51,51,.2666666667);
}
.assort3.swiper-container .swiper-button-next:hover,
.assort3.swiper-container .swiper-button-prev:hover {
    text-shadow: 0 2px 10px #333333;
}
.assort3.swiper-container .swiper-button-next:after,
.assort3.swiper-container .swiper-button-prev:after {
    font-size: 30px;
}
.assort3.swiper-container .swiper-button-next:after {
    content: "▶";
}
.assort3.swiper-container .swiper-button-prev:after {
    content: "◀";
}

.assort3 a {display: block}
.assort3-item {
    position: relative;
    /* width: 29%!important; */
    /* border: 5px solid #2596d9; */
    height: auto;
    width: auto;
    box-shadow: 0 1px 4px 2px rgba(0,0,0,.2);
}
.assort3-item_hidden {display: none;}
.assort3-item img {
    height: auto;
    width: auto;
    max-width: 100%;
}
.assort3-caption {
	position: absolute;
	bottom: 0;
	text-align: center;
	width: 100%;
	color: white;
	font-weight: 700;
	/* background: rgba(0, 0, 0, 0.45); */
	background-color: rgba(37, 150, 217, .75);
	padding: 5px;
	box-sizing: border-box;
	height: 100%;
	max-height: 75px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.assort3-cost {
    font-size: 20px;
}

.assort3-item:hover .assort2-caption {
    background: rgb(18, 163, 249);
}

@media (max-width: 700px) {
   .assort3-item {
        width: 100%!important;
    }
}

#msGallery .swiper,.thumbs-gallery .swiper {
    width: 100%;
    height: 300px;
    margin-left: auto;
    margin-right: auto
}

#msGallery a,.thumbs-gallery a {
    padding: 3px;
    border: 0;
    cursor: zoom-in
}

#msGallery .swiper-slide,.thumbs-gallery .swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    background-size: cover;
    background-position: center
}

#msGallery .swiper-slide img,.thumbs-gallery .swiper-slide img {
    display: block;
    border-radius: 3px;
    overflow: hidden;
    width: 100%;
    height: 100%;
    object-fit: cover
}

#msGallery .mySwiper2,.thumbs-gallery .mySwiper2 {
    height: 80%;
    width: 100%;
    position: relative
}

#msGallery .mySwiper2 .swiper-button-next,#msGallery .mySwiper2 .swiper-button-prev,.thumbs-gallery .mySwiper2 .swiper-button-next,.thumbs-gallery .mySwiper2 .swiper-button-prev {
    text-shadow: 0 0 5px rgba(51,51,51,.2666666667)
}

#msGallery .mySwiper2 .swiper-button-next:hover,#msGallery .mySwiper2 .swiper-button-prev:hover,.thumbs-gallery .mySwiper2 .swiper-button-next:hover,.thumbs-gallery .mySwiper2 .swiper-button-prev:hover {
    text-shadow: 0 2px 10px #333333
}

#msGallery .mySwiper2 .swiper-button-next:after,#msGallery .mySwiper2 .swiper-button-prev:after,.thumbs-gallery .mySwiper2 .swiper-button-next:after,.thumbs-gallery .mySwiper2 .swiper-button-prev:after {
    font-size: 30px
}

#msGallery .mySwiper2 .swiper-button-next:after,.thumbs-gallery .mySwiper2 .swiper-button-next:after {
    content: "▶"
}

#msGallery .mySwiper2 .swiper-button-prev:after,.thumbs-gallery .mySwiper2 .swiper-button-prev:after {
    content: "◀"
}

#msGallery .mySwiper,.thumbs-gallery .mySwiper {
    height: 20%;
    box-sizing: border-box;
    padding: 10px 0
}

#msGallery .mySwiper img,.thumbs-gallery .mySwiper img {
    cursor: pointer
}

#msGallery .mySwiper .swiper-slide,.thumbs-gallery .mySwiper .swiper-slide {
    width: 25%;
    height: 100%;
    opacity: .4
}

#msGallery .mySwiper .swiper-slide-thumb-active,.thumbs-gallery .mySwiper .swiper-slide-thumb-active {
    opacity: 1
}

.table-simple {
    width: 100%
}

.table-simple th {
    text-align: center
}

.table-simple td {
    padding: 5px;
    border-radius: 4px;
    border: 1px solid rgba(238,238,238,.3333333333)
}

.table-simple tbody tr {
    transition: all .3s
}

.table-simple tbody tr:hover {
    background-color: #eee
}