

/* Start:/assets/css/components/news-section.css?17793622275647*/
/* ===========================
   NEWS SECTION (.news)
   =========================== */
.news {
    width: 100%;
}

.news__inner {
    display: flex;
    flex-direction: column;
    gap: var(--space-32);
    min-width: 0;
    width: 100%;
}

/* --- Header --- */
.news__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

.news__title {
    margin: 0;
}

/* --- Tags --- */
.news__tags {
    overflow-x: auto;
    overflow-y: visible;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 8px 8px 0;
    margin: -8px -8px 0;
}

.news__tags::-webkit-scrollbar {
    display: none;
}

/* --- Content wrapper --- */
.news__content {
    position: relative;
    margin-top: -12px;
    min-width: 0;
    width: 100%;
}

/* --- Grid --- */
.news__grid {
    min-width: 0;
    width: 100%;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.news__slider.swiper {
    min-width: 0;
    width: 100%;
    overflow: visible;
}

.news__slider.swiper > .swiper-wrapper > .swiper-slide {
    width: auto;
}

/* --- Loader --- */
.news__loader {
    position: absolute;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

.news__content.is-loading .news__grid {
    opacity: 0.35;
    filter: blur(4px);
    pointer-events: none;
    transition: opacity 0.2s ease, filter 0.2s ease;
}

.news__content.is-loading .news__loader {
    display: flex;
}

.news__spinner {
    width: 32px;
    height: 32px;
    border: 3px solid var(--stroke-default);
    border-top-color: var(--stroke-accent);
    border-radius: 50%;
    animation: news-spin 0.6s linear infinite;
}

@keyframes news-spin {
    to { transform: rotate(360deg); }
}

/* --- Empty state --- */
.news__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-12);
    padding: var(--space-48) var(--space-16);
}

.news__empty-icon {
    width: 48px;
    height: 48px;
    color: var(--gray-200);
}

.news__empty-title {
    font-family: var(--font-base);
    font-size: var(--text-18);
    line-height: var(--lh-24);
    font-weight: 500;
    color: var(--fg-primary);
}

.news__empty-text {
    font-family: var(--font-base);
    font-size: var(--text-14);
    line-height: var(--lh-20);
    color: var(--fg-secondary);
}

/* ===========================
   NEWS CARD (.news-card)
   =========================== */
.news-card {
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
    width: 100%;
}

.news__slider.swiper > .swiper-wrapper > .swiper-slide {
    width: 180px;
}

.news-card__media {
    border-radius: var(--radius-12);
    overflow: hidden;
    aspect-ratio: 3 / 2;
}

.news-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.news-card__body {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
}

.news-card__title {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.news-card__meta {
    display: flex;
    align-items: center;
    gap: var(--space-8);
    min-width: 0;
}

.news-card__source {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.news-card__date {
    white-space: nowrap;
    flex-shrink: 0;
    color: var(--gray-400);
}
.news .news__link-desktop {
    display: none;
}

.news .news__link-mobile {
    flex-shrink: 0;
}

@media (min-width: 475px) {
    .news__slider.swiper > .swiper-wrapper > .swiper-slide {
        width: 320px;
    }
}

/* ===========================
   DESKTOP (1025px+)
   =========================== */
@media (min-width: 1025px) {

    .news .news__link-desktop {
        display: inline-flex;
    }

    .news .news__link-mobile {
        display: none;
    }

    .news__inner {
        gap: var(--space-48);
    }

    .news__tags {
        flex-wrap: wrap;
        overflow-x: visible;
    }

    .news__slider.swiper > .swiper-wrapper > .swiper-slide {
        width: 380px;
    }

}

/* ===========================
   LARGE DESKTOP (1440px+)
   =========================== */
@media (min-width: 1440px) {
    .news__grid,
    .news__slider.swiper {
        overflow: visible;
    }

    .news__slider.swiper > .swiper-wrapper {
        display: grid;
        grid-template-columns: 1fr 488px;
        gap: 0 var(--space-24);
    }

    .news__slider.swiper > .swiper-wrapper > .swiper-slide {
        width: 100% !important;
        min-width: 0;
    }

    /* Featured card: left column, span all rows, sticky */
    .news__slider.swiper .news__slide--featured {
        grid-column: 1;
        grid-row: 1 / span 50;
        position: sticky;
        top: calc(var(--header-h, 130px) + 32px);
        align-self: start;
        height: fit-content;
    }

    .news-card--featured .news-card__media {
        border-radius: var(--radius-20);
        aspect-ratio: 16 / 9;
    }

    /* Sidebar cards: right column, stacked with margin */
    .news__slider.swiper > .swiper-wrapper > .swiper-slide:not(.news__slide--featured) {
        grid-column: 2;
        margin-bottom: var(--space-48);
    }

    .news__slider.swiper > .swiper-wrapper > .swiper-slide:not(.news__slide--featured):last-child {
        margin-bottom: 0;
    }

    .news__slider.swiper > .swiper-wrapper > .swiper-slide:not(.news__slide--featured) .news-card__media {
        height: 320px;
        aspect-ratio: auto;
    }

    .news__slider.swiper > .swiper-wrapper > .swiper-slide:not(.news__slide--featured) .news-card__title {
        max-height: 64px;
    }
}

/* End */


/* Start:/assets/css/components/news-page.css?17793622277638*/
/* ===========================
   NEWS LISTING PAGE (.news-page)
   =========================== */
.news-page {
  display: flex;
  flex-direction: column;
}

.news-page__title {
  margin: 0;
  color: var(--fg-primary);
}

/* --- Filter tabs --- */
.news-page__filters {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--space-8);
  margin-top: var(--space-24);
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 8px 8px 0;
  margin-left: -8px;
  margin-right: -8px;
}

.news-page__filters::-webkit-scrollbar {
  display: none;
}

.news-page__filters .tab-main {
  flex-shrink: 0;
}

/* --- Grid --- */
.news-page__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-32);
  margin-top: var(--space-48);
}

.news-page__grid .news-card {
  width: auto;
}

/* --- Content wrapper (for AJAX loading) --- */
.news-page__content {
  transition: opacity 0.2s ease, filter 0.2s ease;
}

.news-page__content.is-loading {
  opacity: 0.35;
  filter: blur(4px);
  pointer-events: none;
}

/* --- Show more --- */
.news-page__more {
  align-self: center;
  margin-top: var(--space-48);
}

.news-page__more-spinner {
  display: none;
  position: absolute;
  width: 20px;
  height: 20px;
  border: 2px solid var(--stroke-default);
  border-top-color: var(--stroke-accent);
  border-radius: 50%;
  animation: newspage-spin 0.6s linear infinite;
}

.news-page__more.is-loading {
  pointer-events: none;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.news-page__more.is-loading .btn__label {
  visibility: hidden;
}

.news-page__more.is-loading .news-page__more-spinner {
  display: block;
}

@keyframes newspage-spin {
  to { transform: rotate(360deg); }
}

/* --- Empty state --- */
.news-page__empty {
  display: flex;
  justify-content: center;
  padding: var(--space-48) var(--space-16);
  color: var(--fg-secondary);
}

/* ===========================
   CATEGORY SECTIONS (.news-page-category)
   =========================== */
.news-page-category {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
}

.news-page-category__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-16);
}

.news-page-category__title {
  margin: 0;
}

.news-page-category__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-32);
}

.news-page-category__grid .news-card {
  width: auto;
}

/* ===========================
   RESPONSIVE: 769px+
   =========================== */
@media (min-width: 769px) {

  .news-page__filters {
    margin-top: var(--space-32);
  }

  .news-page__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-48) var(--space-20);
  }

  .news-page-category__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-48) var(--space-20);
  }

  .news-page-category {
    gap: var(--space-48);
  }
}

/* ===========================
   RESPONSIVE: 1025px+
   =========================== */
@media (min-width: 1025px) {
  .news-page__filters {
    margin-top: var(--space-40);
    flex-wrap: wrap;
    overflow-x: visible;
  }

  .news-page__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-48) var(--space-20);
  }

  .news-page-category__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-48) var(--space-20);
  }
}

/* ===========================
   RESPONSIVE: 1025px+
   =========================== */
@media (min-width: 1025px) {

  .news-page__grid {
    gap: var(--space-48) var(--space-24);
  }

  .news-page-category__grid {
    gap: var(--space-48) var(--space-24);
  }
}

/* ===========================
   RESPONSIVE: 1440px+
   =========================== */
@media (min-width: 1440px) {
  .news-page__grid {
    margin-top: var(--space-48);
  }

  /* Featured wrapper: takes grid position */
  .news-page__featured-wrap {
    grid-column: 1 / 3;
    grid-row: 1 / 5;
  }

  /* Featured card: sticky inside wrapper */
  .news-page__featured-wrap .news-card--featured {
    position: sticky;
    top: calc(var(--header-h, 130px) + 32px);
    height: fit-content;
  }

  .news-page__featured-wrap .news-card__media {
    border-radius: var(--radius-20);
    aspect-ratio: 16 / 9;
  }

  .news-page__more {
    margin-top: var(--space-96);
  }
}

/* ===========================
   NEWS ARTICLE PAGE (.news-article)
   =========================== */
.news-article {
  display: flex;
  flex-direction: column;
  gap: var(--space-48);
}

.news-article__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  width: 100%;
}

.news-article__title {
  margin: 0;
  color: var(--fg-primary);
}

.news-article__meta {
  display: flex;
  align-items: center;
  gap: var(--space-8);
}

.news-article__category {
  color: var(--fg-primary);
}

.news-article__date {
  color: var(--fg-secondary);
}

/* --- Constructor body (stacks blocks) --- */
.news-article__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-48);
}

/* ===========================
   ARTICLE BLOCK: IMAGE (.article-image)
   =========================== */
.article-image__frame {
  border-radius: var(--radius-20);
  overflow: hidden;
  height: 280px;
  background: var(--bg-surface-darker);
}

.article-image__frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ===========================
   ARTICLE BLOCK: SLIDER (.article-slider)
   =========================== */
.article-slider {
  overflow: hidden;
}

.article-slider__swiper.swiper {
  overflow: visible !important;
}

.article-slider .swiper-slide {
  width: calc(100vw - 32px);
  max-width: var(--container-size);
}

.article-slider__slide {
  border-radius: var(--radius-20);
  overflow: hidden;
  height: 280px;
  background: var(--bg-surface-darker);
}

.article-slider__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ===========================
   ARTICLE LAYOUT (.article)
   Typography/elements handled by .block-wysiwyg-content
   =========================== */
.article {
  max-width: 736px;
  width: 100%;
  margin: 0 auto;
}

/* ===========================
   RELATED NEWS (.news-related)
   =========================== */
.news-related {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
}

.news-related__title {
  margin: 0;
}

.news-related__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-32);
}

.news-related__grid .news-card {
  width: auto;
}

/* ===========================
   ARTICLE RESPONSIVE: 769px+
   =========================== */
@media (min-width: 769px) {
  .news-related__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-48) var(--space-20);
  }

  .news-article__body {
    gap: var(--space-80);
  }

  .article-image__frame,
  .article-slider__slide {
    height: 400px;
  }
}

/* ===========================
   ARTICLE RESPONSIVE: 1025px+
   =========================== */
@media (min-width: 1025px) {
  .news-related__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-48) var(--space-20);
  }

  .news-related {
    gap: var(--space-48);
  }

  .news-article__body {
    gap: var(--space-120);
  }
}

/* ===========================
   ARTICLE RESPONSIVE: 1025px+
   =========================== */
@media (min-width: 1025px) {
  .news-related__grid {
    gap: var(--space-48) var(--space-24);
  }

  .article-image__frame,
  .article-slider__slide {
    height: 640px;
  }

  .article-slider .swiper-slide {
    width: calc(100vw - 64px);
    max-width: var(--container-size);
  }
}

/* End */


/* Start:/assets/css/components/blog-products.css?17911964084647*/
/* ===========================
   BLOG — блок «Товары» в статье (.blog-products)
   Карточка — общий .product-card каталога. Блок стоит внутри
   .block-wysiwyg-content, поэтому стили редактора здесь гасятся.
   На всех ширинах — один ряд с горизонтальной прокруткой
   (scroll-snap, без JS-слайдера).
   =========================== */

.block-wysiwyg-content .blog-products {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: 95vw;          /* блок не шире экрана — без горизонтальной прокрутки страницы */
  min-width: 0;
  contain: inline-size;     /* ширина ряда карточек не раздвигает родителей */
  overflow: hidden;
  margin: var(--space-40) auto;
  padding: var(--space-20) var(--space-16) var(--space-24);
  background: var(--bg-surface-darker);
  border-radius: var(--radius-20);
  text-align: left;
}

.block-wysiwyg-content > .blog-products:first-child {
  margin-top: 0;
}

.block-wysiwyg-content > .blog-products:last-child {
  margin-bottom: 0;
}

.blog-products__title {
  margin: 0 0 var(--space-16);
  color: var(--fg-primary);
}

/* Гасим стили редактора для картинок внутри карточки */
.block-wysiwyg-content .blog-products img {
  border-radius: 0;
  margin: 0;
}

.block-wysiwyg-content .blog-products .product-card__slider .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* --- Ряд карточек: одна строка, прокрутка + scroll-snap --- */
.blog-products__row {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--space-8);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}

.blog-products__row::-webkit-scrollbar {
  display: none;
}

.blog-products__item {
  flex: 0 0 200px;
  min-width: 0;
  scroll-snap-align: start;
}

@media (min-width: 768px) {
  .block-wysiwyg-content .blog-products {
    padding: var(--space-24);
  }

  .blog-products__row {
    gap: var(--space-16);
  }

  .blog-products__item {
    flex-basis: 220px;
  }
}

/* Мышь: видимая тонкая полоса прокрутки, чтобы ряд можно было пролистать */
@media (hover: hover) and (pointer: fine) {
  .blog-products__row {
    scrollbar-width: thin;
    scrollbar-color: var(--blue-25) transparent;
    padding-bottom: var(--space-12);
  }

  .blog-products__row::-webkit-scrollbar {
    display: block;
    height: 6px;
  }

  .blog-products__row::-webkit-scrollbar-thumb {
    background: var(--blue-25);
    border-radius: 3px;
  }

  .blog-products__row::-webkit-scrollbar-track {
    background: transparent;
  }

  /* Листание зажатой мышью (blog-products.js) */
  .blog-products__row {
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
  }

  .blog-products__row img,
  .blog-products__row a {
    -webkit-user-drag: none;
  }

  .blog-products__row.is-dragging {
    cursor: grabbing;
    scroll-snap-type: none;
    user-select: none;
  }

  .blog-products__row.is-dragging * {
    cursor: grabbing;
    pointer-events: none;
  }
}

/* --- Десктоп: тот же ряд с прокруткой.
   В каталоге кнопки карточки выпадают под карточку при наведении
   (position: absolute) — в ряду с прокруткой они обрезались бы,
   поэтому здесь кнопки всегда видны под карточкой. --- */
@media (min-width: 1025px) {
  .blog-products__item {
    flex-basis: 240px;
  }

  .blog-products .product-card,
  .blog-products .product-card:hover {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
  }

  .blog-products .product-card:hover .product-card__image {
    background: #fff;
  }

  .blog-products .product-card__buttons,
  .blog-products .product-card:hover .product-card__buttons {
    display: flex;
    position: static;
    transform: none;
    padding: var(--space-16) 0 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
  }

  .blog-products .product-card__quick-btn {
    display: inline-flex;
  }

  .blog-products .product-card__actions {
    top: 12px;
    right: 12px;
  }
}
/* End */
/* /assets/css/components/news-section.css?17793622275647 */
/* /assets/css/components/news-page.css?17793622277638 */
/* /assets/css/components/blog-products.css?17911964084647 */
