/* =========================
   КАТАЛОГ
   ========================= */
.wrapper-catalog {
    height: 150px;
}
@media (max-width: 767px) {
    .wrapper-catalog {
        height: 100px;
    }
}

h1.catalog {
    font-family: 'IBM Plex Mono', Arial, sans-serif;
    letter-spacing: 3.0px;
    font-size: 52px;
    font-weight: 900;
    line-height: 1.1;
    color: #2a2c2e;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    height: 100%;
    margin: 0;
    background-position: center center;
    border: transparent solid;
}
@media (max-width: 767px) {
    h1.catalog {
        font-size: 22px;
    }
}

h2.catalog {
    color: #414141;
    font-size: 26px;
    font-family: 'IBM plex mono',Arial,sans-serif;
    line-height: 1.2;
    font-weight: 900;
    text-transform: uppercase;
    margin-top: 30px;
    margin-bottom: 15px;
}
@media (max-width: 767px) {
    h2.catalog {
        font-size: 24px;
    }
}

/* =========================
   ОБВОДКА КАРТОЧЕК
   ========================= */

.t-store .t-store__card__wrap_all {
    border-width: 1px;
    border-color: black;
    border-style: solid; 
    background-color: #f5f4f0;
}
.t-store__card-list .t-store__card__wrap_txt-and-btns {
    border-top: 1px;
    border-style: solid;
    border-color: black;
}
.t-store__card__mark {
    border-radius: 0px !important;
    box-sizing: border-box;
    border-width: 1px;
    border-color: black;
    border-style: solid;
}

.t-store__card__mark-wrapper {
    right: -1px !important;
    top: -1px !important;
 }

/* =========================
   ХЛЕБНЫЕ КРОШКИ
   ========================= */
.breadcrumbs {
  font-size: 14px;
  font-weight: 300;
  text-transform: uppercase;
  font-family: 'Exo2.0', Arial, sans-serif;
  color: #2a2c2e !important;
  line-height: 1.2; /* ???? аккуратная высота строки при переносах */
}
.breadcrumbs ol {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 4px !important;
}
.breadcrumbs li {
  display: flex;
  align-items: center;
  color: #2a2c2e !important;
}
.breadcrumbs a {
  color: #2a2c2e !important;
  text-decoration: none;
}
.breadcrumbs .separator {
  margin: 0 6px;
  color: #2a2c2e !important;
}
.breadcrumbs .active {
  font-weight: 500;
  color: #2a2c2e !important;
}

/* =========================
   БЛОГ
   ========================= */
.blog h2 {
    font-family: 'Exo2.0', Arial, sans-serif;
    font-size: 22px;
    font-weight: 900;
    line-height: 24px;
    color: #013226;
    margin: 60px 0 15px;
    text-transform: uppercase;
}

.blog h3 {
    font-family: 'HelveticaNeue', Arial, sans-serif;        
    font-size: 18px;
    font-weight: 900;
    line-height: 20px;
    color: #5c6654;
    margin: 30px 0 20px;
    text-transform: uppercase;
}

.blog p {
    font-family: 'HelveticaNeue', Arial, sans-serif;        
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    color: #000;
    margin-bottom: 16px;
}

/* Стилизация ссылки */
.blog-link {
  color: #5c6654 !important;
  text-decoration: none !important;              /* гасим стандартное подчёркивание Тильды */
  background-image: linear-gradient(#b27340, #b27340); /* «фальш-подчёркивание» */
  background-size: 100% 2px;                     /* толщина 2px */
  background-position: 0 100%;
  background-repeat: no-repeat;
  font-weight: 600;
}

/* Списки */
.blog ul {
    font-family: 'HelveticaNeue', Arial, sans-serif;        
    font-size: 16px;
    color: #000;
    padding-left: 20px;
    margin-bottom: 20px;
}

.blog li {
    font-family: 'HelveticaNeue', Arial, sans-serif;
    font-size: 16px;        
    font-weight: 400;
    line-height: 26px;
    list-style-type: none;
    padding-left: 20px;
    padding-bottom: 10px;
}

.blog ul li::before {
    content: "•";
    color: #013226;
    margin-right: 10px;
}

/* Нумерованные списки */
.blog ol {
    font-family: 'HelveticaNeue', Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
    color: #000;
    counter-reset: item;
    padding-left: 20px;
    margin-bottom: 20px;
}

.blog ol li {
    list-style: none;
    position: relative;
    padding-left: 30px;
    padding-bottom: 10px;
}

.blog ol li::before {
    counter-increment: item;
    content: counter(item) ".";
    position: absolute;
    left: 0;
    color: #013226;
    font-weight: 900;
}

/* Таблицы */
.blog table {
    border: 1px solid #262424;
    border-collapse: collapse;
}

.blog th,
.blog td {
    border: 1px solid #262424;
    font-family: 'HelveticaNeue', Arial, sans-serif;
    font-size: 16px;
    font-weight: 600;
    padding: 8px;
}

.blog-goods .goods-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
@media (min-width: 768px) {
  .blog-goods .goods-grid {
    grid-template-columns: 1fr 1fr; /* по два товара в ряд */
  }
}

/* Картинки в блоге */
  .blog-img {
    width: 100%;
    height: auto;
    border-radius: 16px;
    display: block;
    margin: 20px 0;
  }

/* Маленькие картинки в блоге */
.img-small {
  display: block;
  margin: 20px auto;    
  width: 600px;         
  max-width: 100%;      
  height: auto;         
  border-radius: 16px;  
}

/* Две картинки в ряд в блоге */
.blog-photos-row{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
  margin:20px 0;
}
@media (min-width: 992px){
  .blog-photos-row{ grid-template-columns: repeat(3, minmax(0,1fr)); }
  .blog-photos-row.cols-2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
/* Модификатор для вертикальных картинок */
.blog-img--vert{
  width:100%;
  height:auto;
  aspect-ratio:3/4;        /* аккуратная сетка, если исходники разные */
  object-fit:cover;
  border-radius:16px;
  display:block;
}

/* Мета-данные статьи */
.blog p.blog-meta {
  font-family: 'HelveticaNeue', Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.2;
  color: #8e8e8e;
  margin: 30px 0 0;     /* чтобы не ловить margin-bottom из .blog p */
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* Карточки товаров в блоге */
.blog-goods .good {
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  position: relative; /* создаём контекст */
  margin: 0; /* убираем глобальные отступы */
}

.blog-goods .good__img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s ease; /* плавный переход */
  z-index: 1; /* картинка ниже */
  position: relative;
}

.blog-goods .good:hover .good__img {
  transform: scale(1.05); /* лёгкий зум */
}

.blog-goods .good__info {
  background: #f8f8f8; /* блок под фото */
  padding: 16px;
  position: relative;
  z-index: 2; /* описание выше картинки */
}

.blog-goods .good__title {
  font-size: 20px;
  color: #414141;
  font-weight: 900;
  font-family: 'Exo2.0', Arial, sans-serif;
  text-transform: uppercase;
  margin: 0 0 6px 0;
  line-height: 1.2;
}

.blog-goods .good__title a,
.blog-goods .good__title-link{
  color: #414141 !important;
  text-decoration: none !important;
}

.blog-goods .good__price {
  font-size: 18px;
  color: #5c6654;
  font-weight: 600;
  font-family: 'Exo2.0', Arial, sans-serif;
  margin: 0;
  line-height: 1.2;
}

.blog-goods .goods-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  justify-items: center; /* центровка по горизонтали */
}

/* Кнопки с вариантами товара */
.good__option-block {
  margin: 10px 0 14px;
}

.good__option-title {
  font-family: 'HelveticaNeue', Arial, sans-serif;
  font-size: 14px;
  color: #414141;
  font-weight: 600;
  margin-bottom: 8px;
}

.good__option-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.good__option-btn {
  font-family: 'Exo2.0', Arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  color: #414141;
  background: #f0f0f0;
  border: 1px solid #ddd;
  border-radius: 16px;
  padding: 10px 10px 8px 10px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.good__option-btn:hover {
  background: #5c6654;
  color: #fff;
  border-color: #5c6654;
}

.good__option-btn.is-active {
  background: #5c6654;
  color: #fff;
  border-color: #5c6654;
}

@media (min-width: 768px) {
  .blog-goods .goods-grid {
    grid-template-columns: 1fr 1fr; /* по два товара в ряд */
  }
}

/* центрируем единственную карточку и задаём вменяемую ширину */
.blog-goods .goods-grid:has(.good:only-child) {
  grid-template-columns: minmax(280px, 500px);
  justify-content: center;   /* центр всего грида */
  justify-items: center;     /* центр самой карточки */
}

/* фиксация размера карточки товара, если товар в блоке один */
.blog-goods .goods-grid .good:only-child {
  width: 100%;
  max-width: 500px;
}

/* отступ снизу только у последней карточки */
.blog-goods .goods-grid .good:last-child {
  margin-bottom: 30px;
}  

/* =========================
   КАРТОЧКИ ТОВАРОВ
   ========================= */
#rec943411191 .t744__title {
    text-decoration: underline;
    text-decoration-color: #b27340;
    text-decoration-thickness: 5px;
}
@media screen and (max-width: 480px),
       (orientation: landscape) and (max-height: 480px) {
    #rec943411191 .t744__title {
        font-size: 22px;
    }
}

.t-descr_xxs {
    font-size: 16px;
    padding-top: 10px;
    font-weight: 500;
}
@media screen and (max-width: 1200px) {
    .t-descr_xxs {
        font-size: 16px;
    }
}

.js-product .t-product__option-variants_buttons .t-product__option-item_simple {
    border: 1px solid #ddd;
    border-radius: 16px;
    background-color: #c2c2c2;
}

.js-product .t-product__option-variants_buttons 
.t-product__option-item_simple.t-product__option-item_active {
    border: 1px solid #5c6654;
    background: #5c6654;
    border-radius: 16px;
}

.js-product .t-product__option-variants_buttons 
.t-product__option-title_buttons {
    padding: 12px 10px 10px;
    color: #fff;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 500;
}

.t-btn td {
    padding-top: 2px;
}

h2.product {
  font-family: 'IBM Plex Mono', Arial, sans-serif;
  font-size: 22px;
  font-weight: 900;
  color: #2e2e2e;
  text-transform: uppercase;
  margin: 30px 0 10px;
}

.product p {
    font-family: 'HelveticaNeue', Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    margin-bottom: 20px;
}

.product ul {
    font-family: 'HelveticaNeue', Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #2e2e2e;
    list-style-type: disc;
    list-style-position: inside;
    padding-left: 20px;
    margin-bottom: 30px;
}

.product ul li {
    margin-bottom: 10px;
    color: #2e2e2e;
}

.product ul li::marker {
    color: #5c6654;
}

/* =========================
   ХАРАКТЕРИСТИКИ
   ========================= */
.specs-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 5%;
    margin-bottom: 2rem;
    font-family: 'Manrope', Arial, sans-serif;
    font-size: 16px;
    color: #333;
}
@media (max-width: 768px) {
    .specs-wrapper {
        font-size: 14px;
        padding: 0 4px;
    }
}

.specs-left,
.specs-right {
    width: 45%;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
@media (max-width: 768px) {
    .specs-left,
    .specs-right {
        width: 100%;
    }
}

.spec-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid #ddd;
    padding: 0.4rem 0;
}

.label {
    font-weight: 600;
}

.value {
    text-align: right;
    color: #555;
}


/* =========================
   КНОПКИ ПОСАДОК КАТАЛОГА
   ========================= */
/* Палитра и базовые отступы блока */
.subcats{
  --c-bg:#f5f4f0;
  --c-text:#2a2c2e;
  --c-border:#2a2c2e;
  --c-hover-bg:#2a2c2e;
  --c-hover-text:#f5f4f0;
  --c-active:#2a2c2e;
  margin:12px 0 20px;
}

/* Обёртка: резерв под подсказку + защита от выпадений */
.subcats__wrap{
  position:relative !important;
  padding-bottom:48px !important;
  overflow:hidden !important;
}

/* Лента кнопок: десктоп */
.subcats__scroller{
  display:flex;
  gap:10px;
  justify-content:flex-start;
  align-items:stretch;
  flex-wrap:wrap;
}

/* Мобильная лента */
@media (max-width:767px){
  .subcats__scroller{
    position:relative !important;
    z-index:2 !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;      /* Firefox */
    -ms-overflow-style:none !important;   /* IE / old Edge */
    touch-action:pan-x !important;
    overscroll-behavior-x:contain !important;
    padding-bottom:0 !important;
  }

  .subcats__scroller::-webkit-scrollbar{
    display:none !important;              /* Chrome / Safari / Android / iOS */
    width:0 !important;
    height:0 !important;
  }

  .subcats__scroller .btn.catalog{
    flex:0 0 auto !important;
  }
}

/* Кнопка подраздела */
.subcats .btn.catalog{
  --btn-h:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:var(--btn-h) !important;

  text-decoration:none !important;
  text-transform:uppercase !important;
  font-family:'Manrope', Arial, sans-serif !important;
  font-size:clamp(12px, 1.2vw, 14px) !important;
  font-weight:700 !important;
  line-height:1 !important;

  padding:0 14px !important;
  white-space:nowrap !important;
  border-radius:0px !important;

  background:var(--c-bg) !important;
  color:var(--c-text) !important;
  border:1px solid var(--c-border) !important;

  transition:background .2s, color .2s, border-color .2s, transform .06s !important;
}

@media (max-width:360px){
  .subcats .btn.catalog{
    --btn-h:38px;
  }
}

/* Ховер / фокус */
.subcats .btn.catalog:hover,
.subcats .btn.catalog:focus-visible{
  background:var(--c-hover-bg) !important;
  color:var(--c-hover-text) !important;
  border-color:var(--c-hover-text) !important;
  outline:none !important;
}

.subcats .btn.catalog:active{
  transform:translateY(1px) !important;
}

/* Текущая страница */
.subcats .btn.catalog.is-active,
.subcats .btn.catalog[aria-current="page"]{
  background:var(--c-active) !important;
  border-color:var(--c-active) !important;
  color:#ffffff !important;
  pointer-events:none !important;
  cursor:default !important;
}

/* Родительская категория на вложенных URL */
.subcats .btn.catalog.is-parent{
  background:transparent !important;
  color:var(--c-active) !important;
  border-color:var(--c-active) !important;
  box-shadow:inset 0 0 0 1px var(--c-active) !important;
}

.subcats .btn.catalog.is-parent:hover,
.subcats .btn.catalog.is-parent:focus-visible{
  background:#ffffff !important;
  color:var(--c-active) !important;
  border-color:var(--c-active) !important;
}

/* Подсказка свайпа */
.subcats__hint{
  display:none;
}

@media (max-width:767px){
  .subcats__hint{
    position:absolute !important;
    right:8px !important;
    bottom:6px !important;
    top:auto !important;
    transform:none !important;

    z-index:1 !important;
    pointer-events:none !important;

    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;

    min-height:34px !important;
    padding:8px 14px !important;
    border-radius:999px !important;

    font-family:'Manrope', Arial, sans-serif !important;
    font-weight:700 !important;
    font-size:12px !important;
    line-height:1 !important;
    text-transform:uppercase !important;
    letter-spacing:.02em !important;
    color:#2a2c2e !important;
    white-space:nowrap !important;
  }

  .subcats__hand{
    width:20px !important;
    height:20px !important;
    border-radius:50% !important;
    background:radial-gradient(circle at 60% 35%, #2a2c2e 35%, rgba(42,44,46,0) 36%) no-repeat !important;
    animation:handSwipe 1.5s ease-in-out infinite;
    opacity:.9 !important;
  }

  @keyframes handSwipe{
    0%{transform:translateX(0);opacity:.95}
    50%{transform:translateX(-14px);opacity:1}
    100%{transform:translateX(0);opacity:.95}
  }
}

/* =========================
   SEO-тексты разделов
   ========================= */
/* h2 */
.desc h2 {
    color: #414141;
    font-size: 26px;
    font-family: 'Exo2.0',Arial,sans-serif;
    line-height: 1.2;
    font-weight: 900;
    text-transform: uppercase;
    margin-top: 30px;
    margin-bottom: 15px;
}
@media (max-width: 767px) {
    desc h2 {
        font-size: 20px;
    }
}

/* h3 */
.desc h3 {
    color: #414141;
    font-size: 22px;
    font-family: 'Exo2.0',Arial,sans-serif;
    line-height: 1.2;
    font-weight: 900;
    text-transform: uppercase;
    margin-top: 30px;
    margin-bottom: 15px;
}
@media (max-width: 767px) {
    desc h3 {
        font-size: 18px;
    }
}

/* h4 */
.desc h4 {
  color: #414141;
  font-size: 18px;
  font-family: 'Exo2.0', Arial, sans-serif;
  line-height: 1.2;
  font-weight: 900;
  text-transform: uppercase;
  margin-top: 22px;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  .desc h4 { font-size: 16px; }
}

.desc p {
    color: #414141;
    font-size: 16px;
    font-family: 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.5;
    font-weight: 500;
    margin-bottom: 20px;
}
@media (max-width: 767px) {
    desc p {
        font-size: 14px;
    }
}

.desc a {
  color: #5c6654 !important;
  -webkit-text-fill-color: #5c6654 !important; /* для Safari */
  text-decoration: underline !important;
  text-decoration-color: #5c6654 !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 2px !important;

  /* на случай тильдовского оформления */
  background-image: none !important;
  box-shadow: none !important;
  border-bottom: 0 !important;
}

.desc a:hover,
.desc a:focus {
  color: #5c6654 !important;
  -webkit-text-fill-color: #5c6654 !important;
  opacity: 0.85 !important;
  outline: none !important;
}

.desc a:active {
  color: #5c6654 !important;
  -webkit-text-fill-color: #5c6654 !important;
  opacity: 0.7 !important;
}

.desc li {
    font-size: 16px;
    font-family: 'Helvetica Neue', Arial, sans-serif;
    line-height: 1.4;
    font-weight: 500;
    color: #414141;
    margin-bottom: 10px;
}

/* Заголовки вопросов */
.desc .faq-item h4 {
  color: #414141;
  font-size: 18px;
  font-family: 'Exo2.0', Arial, sans-serif;
  line-height: 1.2;
  font-weight: 900;
  text-transform: uppercase;
  margin-top: 30px;
  margin-bottom: 15px;
}

@media (max-width: 767px) {
  .desc .faq-item h4 {
    font-size: 16px;
  }
}

/* Тексты ответов */
.desc .faq-item p[itemprop="text"] {
  color: #414141;
  font-size: 16px;
  font-family: 'Helvetica Neue', Arial, sans-serif;
  line-height: 1.5;
  font-weight: 500;
  margin-bottom: 20px;
}

@media (max-width: 767px) {
  .desc .faq-item p[itemprop="text"] {
    font-size: 14px;
  }
}

/* Обрезка SEO-текста на определённой высоте */
.desc-collapsible {
  position: relative;
  max-height: 680px; /* сколько строк видно до кнопки */
  overflow: hidden;
  transition: max-height 0.6s ease;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 70%, rgba(0,0,0,0.1) 100%);
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 70%, rgba(0,0,0,0.1) 100%);
}

/* Градиент с размытием внизу свёрнутого блока */
.desc-collapsible::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 120px; /* высота размытия */
  pointer-events: none;
  background: linear-gradient(to top, rgba(251,251,251,1) 40%, rgba(251,251,251,0) 100%);
  transition: opacity 0.4s ease;
  filter: blur(10px); /* лёгкое размытие границы */
}

/* Развёрнутый SEO-текст */
.desc-collapsible.is-open {
  max-height: 9999px;
  mask-image: none;
  -webkit-mask-image: none;
}
.desc-collapsible.is-open::after {
  opacity: 0;
}

/* Кнопка разворачивания/сворачивания */
.desc-toggle {
  display: block; /* чтобы по центру */
  margin: 20px auto 0;
  cursor: pointer;
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 14px;
  text-transform: uppercase;
  font-weight: 600;
  color: #414141;
  background: none;
  border: none;
  padding: 0;
  letter-spacing: 0.05em;
  transition: opacity 0.2s ease;
  text-align: center;
}
.desc-toggle:hover {
  opacity: 0.7;
}

/* Таблицы внутри SEO-блока */
.desc table {
  width: 100%;
  border-collapse: collapse;
  margin: 18px 0 24px;
  font-family: 'Helvetica Neue', Arial, sans-serif;
  font-size: 16px;
  line-height: 1.4;
  color: #414141;
}
.desc table th,
.desc table td {
  border: 1px solid rgba(65,65,65,.18);
  padding: 12px 12px;
  vertical-align: top;
}
.desc table th {
  font-family: 'Exo2.0', Arial, sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  background: rgba(65,65,65,.04);
}
@media (max-width: 767px) {
  .desc table { font-size: 14px; }
  .desc table th,
  .desc table td { padding: 10px 10px; }
}

/* Цитаты */
.desc blockquote {
  er: none;
  margin: 18px 0 24px;
  padding: 12px 16px;
  background: rgba(65,65,65,.04);
  border-left: 4px solid #5c6654;
}
.desc blockquote p {
  margin: 0;
}


/* =========================
   ФИКСЫ КРИВОГО СТАНДАРТНОГО ДИЗАЙНА ТИЛЬДЫ
   ========================= */
.t-btnflex__text {
font-family: 'HelveticaNeue',Arial,sans-serif; /*замена Exo в кнопках типа Купить*/
padding-top: 0px;
text-transform: uppercase;
font-size: 14px;
font-weight: 400;
}

.t-btnflex, .t-btn.t-btnflex, .t-submit.t-btnflex {
font-family: 'HelveticaNeue',Arial,sans-serif;
}

.t-btnflex_md, .t-btn.t-btnflex_md, .t-submit.t-btnflex_md {
--height: 55px;
}

/* =========================
   ПРОЧЕЕ (без основного стиля)
   ========================= */
@media screen and (min-width: 601px) {
    .container {
        max-width: 1200px;
        margin: 0 auto;
    }
}
