
div.videos {
    display: flex;
    gap: var(--gap-24);
    flex-wrap: wrap;
    margin-bottom: var(--gap-32);
}

div.video:has(iframe) {
    position: relative;
	max-width: 280px;
	width:100%;
	aspect-ratio: 9/16;
	height: auto;
}

@media (max-width: 991px) {
    div.videos {
        gap: var(--gap-16);
    }
    div.video:has(iframe) {
        max-width: calc(33.33% - var(--gap-16) * 2 / 3);
    }
}

@media (max-width: 767px) {
    div.video:has(iframe) {
        max-width: calc(50% - var(--gap-12));
    }
}

div.video:has(iframe) iframe {
    width: 100%;
    border: 0;
    aspect-ratio: 9/16;
}

div.video .name {
    padding: var(--gap-8);
    font: var(--text-14-m);
}




.menu_category {
  max-width: 100%;
  overflow: hidden; /* Скрываем то, что не влезает */
  position: relative;
  padding:1rem 0;
}

.menu_category::after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 6rem;
  background: linear-gradient(to left, var(--color-bg-light), transparent);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s;
}

/* Показывать только если есть скролл */
.menu_category.scrolled::after {
  opacity: 1;
}

.menu_category__indent {
  display: flex;
  flex-wrap: nowrap; /* Все в одну строку */
  overflow-x: auto; /* Горизонтальный скролл при переполнении */
  width: 100%;
  gap: var(--gap-16); /* Расстояние между элементами */
  padding: 1rem 0; /* Опционально: отступы сверху/снизу */
  scrollbar-width: thin; /* Для Firefox */
  -ms-overflow-style: none; /* Для IE/Edge */
}

/* Скрываем стандартный скроллбар (опционально, красиво на мобильных) */
.menu_category__indent::-webkit-scrollbar {
  display: none;
}

.menu_category__indent .item {
    white-space: nowrap;
}

.item {
  flex: 0 0 auto; /* Не сжимаются, не растягиваются */
  white-space: nowrap; /* Текст не переносится */
  padding: .8rem 1.2rem;
  background: var(--color-white);
  border-radius: var(--brd-radius-sm);
}

.item * {
    white-space: wrap;
}

.item a.act {
    color: var(--color-violet);
}




.search-form input[type="text"]{
    flex-grow: 1;
    border: 0.1rem solid var(--color-bg-middle);
    border-radius: var(--brd-radius-sm);
    padding: .8rem;
}

.search-form .btn {
    width: 20rem;
}

.search-result-title {
    padding-top: var(--gap-32);
    margin-bottom: var(--gap-32);
}

.goods-search {
    display: flex;
    flex-direction: column;
    gap: var(--gap-24);
    margin-bottom: var(--gap-32);
}

.goods-item b {
    display: inline-block;
    min-width: 3rem;
}




.stock {
    font: var(--text-14-m);
}

.stock .yes {
    color:var(--color-violet);
}

.stock .no {
    color:var(--color-red);
}





.article article table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: var(--gap-16);
}

.article article table tr th {
    text-align: left;
    border:1px solid var(--color-gray);
    padding: var(--gap-4);
}

.article article table tr td {
    border:1px solid var(--color-gray);
    padding: var(--gap-4);
}





/* Плитка разделов в корне каталога (компонент 266) */
.goods.catalog_sections .card a {
    gap: var(--gap-16);
}

.goods.catalog_sections .card .name_box {
    height: auto;
    max-height: none;
    flex-grow: 0;
}

.goods.catalog_sections .card .name {
    font: var(--text-20-m);
}




/* Кнопки после текста на главной (компонент 251) */
.article article .text_buttons {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-16);
}

.article article .text_buttons .btn {
    width: auto;
    min-width: 24rem;
}

@media (max-width: 575px) {
    .article article .text_buttons .btn {
        width: 100%;
        min-width: 0;
    }
}

/* Плитка разделов: отступ до футера */
.category:has(> .goods.catalog_sections) {
    margin-bottom: var(--mb-48);
}

/* Пустой aside в текстовом блоке занимал место рамкой и паддингами */
.article > aside:empty {
    display: none;
}

/* Текстовый блок главной (с кнопками): отступ до следующего блока */
.article:has(.text_buttons) {
    margin-bottom: var(--mb-48);
}

@media (max-width: 767px) {
    .article:has(.text_buttons) {
        margin-bottom: 0;
    }
}




/* Блок преимуществ (компонент 267) */
.advantages {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-32);
    margin-bottom: var(--mb-48);
}

.advantages .advantage {
    display: flex;
    flex-direction: column;
    gap: var(--gap-16);
    width: calc(100% / 3 - (var(--gap-32) * 2 / 3));
    padding: var(--box-padding);
    background: var(--color-white);
    border-radius: var(--brd-radius);
}

.advantages .advantage .ico {
    display: block;
    width: 4.8rem;
    height: 4.8rem;
    flex: 0 0 auto;
}

.advantages .advantage .ico img {
    display: block;
    width: 100%;
    height: 100%;
}

.advantages .advantage .text {
    display: flex;
    flex-direction: column;
    gap: var(--gap-8);
}

.advantages .advantage .name {
    font: var(--text-20-m);
    color: var(--color-black);
}

.advantages .advantage .annonce,
.advantages .advantage .annonce p {
    font: var(--text-16);
    line-height: 2.2rem;
    color: var(--color-gray);
    margin: 0;
}

.advantages .advantage .annonce a {
    color: var(--color-violet);
}

.advantages .advantage .annonce a:hover {
    text-decoration: underline;
}

@media (max-width: 1199px) {
    .advantages .advantage {
        width: calc(100% / 2 - (var(--gap-32) / 2));
    }
}

@media (max-width: 991px) {
    .advantages {
        gap: var(--gap-16);
    }
    .advantages .advantage {
        width: calc(100% / 2 - (var(--gap-16) / 2));
    }
}

@media (max-width: 575px) {
    .advantages {
        gap: var(--gap-16);
    }
    .advantages .advantage {
        width: 100%;
        padding: var(--box-padding);
    }
}

/* Если у блока преимуществ не задан заголовок — свой отступ сверху */
.advantages.no-title {
    margin-top: var(--mb-48);
}

@media (max-width: 767px) {
    .advantages.no-title {
        margin-top: var(--mb-24);
    }
}




/* Слайдер отзывов (компонент 268) */
.reviews_slider {
    position: relative;
    margin-bottom: var(--mb-48);
}

.reviews_slider .slider-viewport {
    overflow: hidden;
}

.reviews_slider .slider-track {
    display: flex;
    gap: var(--gap-32);
    align-items: stretch;
    transition: transform .5s ease-in-out;
    will-change: transform;
}

.reviews_slider .review {
    flex: 0 0 calc((100% - var(--gap-32) * 2) / 3);
    display: flex;
    flex-direction: column;
    gap: var(--gap-16);
    padding: var(--box-padding);
    background: var(--color-white);
    border-radius: var(--brd-radius);
}

.reviews_slider .review_head {
    display: flex;
    flex-direction: column;
    gap: var(--gap-8);
}

.reviews_slider .review_author {
    display: flex;
    flex-direction: column;
    gap: var(--gap-4);
}

.reviews_slider .review_author .name {
    font: var(--text-18-m);
    color: var(--color-black);
}

.reviews_slider .review_author .date {
    font: var(--text-14-m);
    color: var(--color-gray);
}

.reviews_slider .stars {
    display: flex;
    gap: var(--gap-4);
}

.reviews_slider .stars svg {
    width: 1.8rem;
    height: 1.8rem;
}

.reviews_slider .stars svg.empty path {
    fill: var(--color-bg-middle);
}

.reviews_slider .review_text {
    font: var(--text-16);
    line-height: 2.2rem;
    color: var(--color-dark);
    display: -webkit-box;
    -webkit-line-clamp: 7;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.reviews_slider .review.expanded .review_text {
    -webkit-line-clamp: unset;
    overflow: visible;
}

.reviews_slider .review_more {
    align-self: flex-start;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    font: var(--text-14-m);
    color: var(--color-violet);
}

.reviews_slider .review_more:hover {
    text-decoration: underline;
}

.reviews_slider .review_source {
    display: flex;
    align-items: center;
    gap: var(--gap-8);
    margin-top: auto;
    font: var(--text-14-m);
    color: var(--color-gray);
}

.reviews_slider .review_source svg {
    width: 5.2rem;
    height: 1.8rem;
    flex: 0 0 auto;
}

.reviews_slider .review_source:hover {
    color: var(--color-violet);
}

.reviews_slider .slider-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--gap-16);
    margin-top: var(--gap-24);
}

.reviews_slider .slider-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.4rem;
    height: 4.4rem;
    padding: 0;
    border: .1rem solid var(--color-bg-middle);
    border-radius: 50%;
    background: var(--color-white);
    cursor: pointer;
    transition: ease-in-out all .3s;
}

.reviews_slider .slider-btn svg {
    width: 2rem;
    height: 2rem;
    fill: var(--color-black);
    transition: ease-in-out all .3s;
}

.reviews_slider .slider-btn:hover {
    border-color: var(--color-violet);
}

.reviews_slider .slider-btn:hover svg {
    fill: var(--color-violet);
}

.reviews_slider .slider-indicators {
    display: flex;
    gap: var(--gap-8);
}

.reviews_slider .slider-indicators .indicator {
    width: 1.6rem;
    height: .3rem;
    border-radius: .2rem;
    background: var(--color-bg-middle);
    transition: ease-in-out all .4s;
}

.reviews_slider .slider-indicators .indicator.active {
    width: 2.4rem;
    background: var(--color-violet);
}

.reviews_slider.single .slider-nav {
    display: none;
}

@media (max-width: 1199px) {
    .reviews_slider .review {
        flex: 0 0 calc((100% - var(--gap-32)) / 2);
    }
}

@media (max-width: 991px) {
    .reviews_slider .slider-track {
        gap: var(--gap-16);
    }
    .reviews_slider .review {
        flex: 0 0 calc((100% - var(--gap-16)) / 2);
    }
}

@media (max-width: 767px) {
    .reviews_slider .review {
        flex: 0 0 100%;
    }
}

/* Кнопка «Купить» в карточках товара на главной (шаблон 264) */
.goods .card .card_buy {
    margin-top: auto;
    padding: 1rem 1.6rem;
    font: var(--text-16-m);
}




/* Блок «Магазин в Краснодаре» (компонент 269) */
.shop {
    display: flex;
    gap: var(--gap-32);
    align-items: stretch;
    margin-bottom: var(--mb-48);
}

.shop .shop_photos {
    flex: 1 1 50%;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(24rem, 1fr));
    gap: var(--gap-16);
}

.shop .shop_photos img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: var(--color-bg-middle);
    border-radius: var(--brd-radius);
}

.shop .shop_info {
    flex: 1 1 50%;
    display: flex;
    flex-direction: column;
    gap: var(--gap-24);
    padding: var(--box-padding);
    background: var(--color-white);
    border-radius: var(--brd-radius);
}

.shop .shop_rows {
    display: flex;
    flex-direction: column;
    gap: var(--gap-20);
}

.shop .shop_row {
    display: flex;
    align-items: flex-start;
    gap: var(--gap-16);
}

.shop .shop_row .ico {
    flex: 0 0 auto;
    width: 2.4rem;
    height: 2.4rem;
}

.shop .shop_row_text {
    display: flex;
    flex-direction: column;
    gap: var(--gap-4);
}

.shop .shop_row .label {
    font: var(--text-14-m);
    color: var(--color-gray);
}

.shop .shop_row .value {
    font: var(--text-18-m);
    color: var(--color-black);
}

.shop .shop_row a.value:hover {
    color: var(--color-violet);
}

.shop .shop_text,
.shop .shop_text p {
    font: var(--text-16);
    line-height: 2.2rem;
    color: var(--color-dark);
    margin: 0;
}

.shop .shop_actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-16);
    margin-top: auto;
}

.shop .shop_actions .btn {
    width: auto;
    min-width: 22rem;
}

@media (max-width: 991px) {
    .shop {
        flex-direction: column;
        gap: var(--gap-16);
    }
}

@media (max-width: 575px) {
    .shop .shop_actions .btn {
        width: 100%;
        min-width: 0;
    }
}

/* фото магазина: кадрируем ближе к верху, чтобы вывеска не срезалась */
.shop .shop_photos img {
    object-position: center 30%;
}
