﻿/* РЎС‚СЂР°РЅРёС†Р° В«Р”РµРјРѕ РґРѕСЃС‚СѓРї Рє РїСЂРѕРґСѓРєС‚Р°Рј РЎР‘РРЎ (Saby) РѕРЅР»Р°Р№РЅВ» */

/* Р‘С‹СЃС‚СЂС‹Р№ РїРµСЂРµС…РѕРґ */
.demo-tabs {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}
.demo-tabs__label {
  margin: 0;
  font-family: var(--font_golos);
  font-weight: 600;
  font-size: 20px;
  line-height: 1.2;
  color: #00061a;
}
.demo-tabs__list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.demo-tabs__item {
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  border-radius: 12px;
  background: #eceff7;
  font-family: var(--font_inter);
  font-size: 20px;
  line-height: 1.2;
  color: #424758;
  text-decoration: none;
  transition: background-color 0.3s, color 0.3s;
}
.demo-tabs__item:hover {
  background: var(--blue400);
  color: var(--white0);
}

/* РљР°СЂС‚РѕС‡РєРё РїСЂРѕРґСѓРєС‚РѕРІ */
.demo-cards {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.demo-card {
  display: flex;
  align-items: center;
  gap: 32px;
  padding: 32px;
  border: 1px solid #d6dcf1;
  border-radius: 24px;
  background: var(--white0);
  box-shadow: 0 32px 32px rgba(0, 6, 26, 0.1);
  scroll-margin-top: 96px;
}
.demo-card__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  flex: 1 1 60%;
  min-width: 0;
}
.demo-card__title {
  margin: 0;
}
.demo-card__desc {
  margin: 0;
  font-family: var(--font_inter);
  font-size: 20px;
  line-height: 1.5;
  color: var(--black500);
}
.demo-card__image {
  flex: 0 0 400px;
  width: 400px;
  max-width: 400px;
  min-width: 0;
}
.demo-card__image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
}

@media (max-width: 991px) {
  .demo-card {
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 32px;
    padding: 32px;
    border-radius: 32px;
  }
  .demo-card__text {
    flex-basis: auto;
  }
  .demo-card__image {
    flex-basis: auto;
    align-self: flex-start;
    width: 320px;
    max-width: 100%;
  }
  .demo-card__desc {
    font-size: 20px;
  }
  .demo-card__title {
    font-size: 32px;
    line-height: 1.2;
  }
  /* «Показать все» вплотную к описанию */
  .demo-card__more {
    margin-top: -24px;
  }
}

@media (max-width: 767px) {
  .demo-card {
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 20px;
    padding: 20px 16px;
  }
  .demo-card__text {
    flex-basis: auto;
    gap: 16px;
  }
  .demo-card__image {
    flex-basis: auto;
  }
  .demo-tabs {
    gap: 12px;
  }
  .demo-tabs__item {
    font-size: 16px;
    padding: 10px 16px;
  }
}

/* --- Р”РѕРїРѕР»РЅРµРЅРёСЏ РїРѕ РїР»Р°РЅС€РµС‚РЅРѕРјСѓ/РјРѕР±РёР»СЊРЅРѕРјСѓ РјР°РєРµС‚Сѓ --- */

/* РљРЅРѕРїРєР° В«РџРѕРєР°Р·Р°С‚СЊ РІСЃРµВ» (С‚РѕР»СЊРєРѕ РїР»Р°РЅС€РµС‚/РјРѕР±Р°Р№Р») */
.demo-card__more {
  display: none;
  align-items: center;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  font-family: var(--font_inter);
  font-weight: 500;
  font-size: 20px;
  line-height: 1.3;
  color: #4772ff;
}

/* CTA РїРѕ РјР°РєРµС‚Сѓ */
.demo-cta {
  background-color: #e9eeff;
  background-image: none;
  border-radius: 24px;
  padding: 48px;
}

@media (max-width: 991px) {
  /* РѕРїРёСЃР°РЅРёРµ РІ РєР°СЂС‚РѕС‡РєРµ РѕР±СЂРµР·Р°РµС‚СЃСЏ РґРѕ 4 СЃС‚СЂРѕРє */
  .demo-card__desc {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .demo-card_open .demo-card__desc {
    display: block;
    overflow: visible;
    -webkit-line-clamp: unset;
  }
  .demo-card__more {
    display: inline-flex;
  }
  .demo-card_open .demo-card__more {
    display: none;
  }
  /* С‡РёСЃР»Р°: 2 РєРѕР»РѕРЅРєРё */
  /* РїСЂРµРёРјСѓС‰РµСЃС‚РІР°: 2x2, РїРѕСЃР»РµРґРЅСЏСЏ РєР°СЂС‚РѕС‡РєР° РѕР±С‹С‡РЅР°СЏ */
  .demo-cta {
    padding: 32px;
  }
}

/* --- РњРѕР±РёР»СЊРЅР°СЏ РІРµСЂСЃРёСЏ РїРѕ РјР°РєРµС‚Сѓ (С„СЂРµР№Рј 320) --- */
@media (max-width: 767px) {
  /* С‚Р°Р±С‹: РїРѕРґРїРёСЃСЊ Golos Medium 16px, РїРёР»СЋР»Рё 16px / 8x16 */
  .demo-tabs__label {
    font-family: var(--font_golos);
    font-weight: 500;
    font-size: 16px;
    line-height: 1.3;
  }
  .demo-tabs__item {
    font-size: 16px;
    padding: 8px 16px;
  }
  /* РєР°СЂС‚РѕС‡РєР° РїСЂРѕРґСѓРєС‚Р°: padding 16, radius 24, gap 16, РєР°СЂС‚РёРЅРєР° РЅР° РІСЃСЋ С€РёСЂРёРЅСѓ */
  .demo-card {
    gap: 16px;
    padding: 16px;
    border-radius: 24px;
  }
  .demo-card__image {
    width: 100%;
    max-width: none;
  }
  .demo-card__title {
    font-size: 24px;
    line-height: 1.2;
  }
  .demo-card__desc {
    font-size: 16px;
  }
  .demo-card__more {
    font-size: 16px;
  }
  .demo-card .button {
    display: flex;
    width: 100%;
    font-size: 16px;
  }
  /* CTA: radius 12, padding 24, Р·Р°РіРѕР»РѕРІРѕРє 24px */
  .demo-cta {
    border-radius: 12px;
    padding: 24px;
  }
  .demo-cta .bctaspaced__text .h2 {
    font-size: 24px;
  }
  /* С‡РёСЃР»Р° Рё РїСЂРµРёРјСѓС‰РµСЃС‚РІР° вЂ” РїРѕ РѕРґРЅРѕР№ РІ СЃС‚СЂРѕРєСѓ */
  }

/* --- Планшетная карточка: отступы (в конце файла, чтобы перекрыть базовые правила) --- */
@media (max-width: 991px) {
  .demo-card {
    gap: 32px;           /* картинка -> заголовок */
  }
  .demo-card__text {
    gap: 24px;           /* заголовок -> описание */
  }
  .demo-card__more {
    margin-top: -24px;   /* «Показать все» вплотную к описанию */
    margin-bottom: 8px;  /* «Показать все» -> кнопка = 32px */
  }
}

/* --- Мобильная версия: hero --- */
@media (max-width: 767px) {
  .top-promo {
    gap: 32px;               /* заголовок -> кнопки = 32px */
  }
  .top-promo__title {
    margin-bottom: 0;
  }
  .top-promo__buttons {
    margin-top: 0;
  }
}

/* --- Мобильная версия: карточки продукта (в конце файла) --- */
@media (max-width: 767px) {
  .demo-card {
    gap: 16px;
    padding: 16px;
    border-radius: 24px;
  }
  .demo-card__image {
    width: 100%;
    max-width: none;
  }
  .demo-card__text {
    gap: 16px;           /* заголовок -> описание */
  }
  .demo-card__title {
    font-size: 24px;
    line-height: 1.2;
  }
  .demo-card__desc {
    font-size: 16px;
  }
  .demo-card__more {
    margin-top: -16px;   /* вплотную к описанию */
    margin-bottom: 0;    /* «Показать все» -> кнопка = 16px */
    font-size: 16px;
  }
  .demo-card .button {
    display: flex;
    width: 100%;
    justify-content: center;
    font-size: 16px;
  }
}
