/*
 * Klever v29 — компактные услуги на узких экранах и стабильная высота TravelLine.
 * Подключается последним. Селекторы намеренно используют !important,
 * чтобы перекрыть встроенные стили старого шаблона компонента.
 */

/* TravelLine: заранее резервируем проверенную высоту формы. */
html body.klever-site-page:not(.klever-home-page) #block-search {
  min-height: 293px !important;
  contain: layout !important;
}

/* Страница «Услуги»: планшеты — две компактные горизонтальные карточки. */
@media (min-width: 768px) and (max-width: 991.98px) {
  html body.klever-site-page .content_page .services-grid {
    margin-right: -7px !important;
    margin-left: -7px !important;
  }

  html body.klever-site-page .content_page .services-grid .service-column {
    width: 50% !important;
    margin-bottom: 14px !important;
    padding-right: 7px !important;
    padding-left: 7px !important;
  }

  html body.klever-site-page .content_page .services-grid .dop_servise_index {
    display: flex !important;
    min-height: 150px !important;
    height: 150px !important;
    padding: 0 !important;
    background-position: left center !important;
    background-size: 42% 100% !important;
  }

  html body.klever-site-page .content_page .services-grid .dop_servise_index_text {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    width: 58% !important;
    min-height: 150px !important;
    height: 150px !important;
    margin-left: 42% !important;
    padding: 14px 14px 12px 18px !important;
  }

  html body.klever-site-page .content_page .services-grid .dop_servise_index_text strong {
    margin-bottom: 5px !important;
    font-size: 15px !important;
    line-height: 1.22 !important;
  }

  html body.klever-site-page .content_page .services-grid .service-short-description {
    display: -webkit-box !important;
    overflow: hidden !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  html body.klever-site-page .content_page .services-grid .more_service_bottom {
    position: static !important;
    margin-top: auto !important;
    padding-top: 8px !important;
  }
}

/* Телефоны: одна низкая горизонтальная карточка, без пустого белого поля. */
@media (max-width: 767.98px) {
  html body.klever-site-page .content_page .services-grid {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  html body.klever-site-page .content_page .services-grid .service-column {
    width: 100% !important;
    margin-bottom: 12px !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  html body.klever-site-page .content_page .services-grid .dop_servise,
  html body.klever-site-page .content_page .services-grid .dop_servise_index {
    min-height: 126px !important;
  }

  html body.klever-site-page .content_page .services-grid .dop_servise_index {
    display: flex !important;
    height: 126px !important;
    padding: 0 !important;
    border-radius: 10px !important;
    background-position: left center !important;
    background-size: 38% 100% !important;
  }

  html body.klever-site-page .content_page .services-grid .dop_servise_index::before {
    display: none !important;
  }

  html body.klever-site-page .content_page .services-grid .dop_servise_index_text {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    width: 62% !important;
    min-height: 126px !important;
    height: 126px !important;
    margin-left: 38% !important;
    padding: 12px 12px 10px 15px !important;
    background: linear-gradient(90deg, rgba(255,255,255,.94), #fff 15%, #fff 100%) !important;
  }

  html body.klever-site-page .content_page .services-grid .dop_servise_index_text strong {
    margin: 0 0 4px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
  }

  html body.klever-site-page .content_page .services-grid .service-short-description {
    display: -webkit-box !important;
    overflow: hidden !important;
    margin: 0 !important;
    font-size: 11px !important;
    line-height: 1.28 !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  html body.klever-site-page .content_page .services-grid .more_service_bottom {
    position: static !important;
    margin-top: auto !important;
    padding: 7px 0 0 !important;
  }

  html body.klever-site-page .content_page .services-grid .more_service_bottom .btn,
  html body.klever-site-page .content_page .services-grid .more_service_bottom .btn-group.more {
    height: 27px !important;
    min-height: 27px !important;
    font-size: 10px !important;
  }

  html body.klever-site-page .content_page .services-grid .more_service_bottom .btn.text {
    padding: 0 9px !important;
  }

  html body.klever-site-page .content_page .services-grid .more_service_bottom .btn.arrow {
    width: 27px !important;
    flex-basis: 27px !important;
  }
}

@media (max-width: 390px) {
  html body.klever-site-page .content_page .services-grid .dop_servise,
  html body.klever-site-page .content_page .services-grid .dop_servise_index,
  html body.klever-site-page .content_page .services-grid .dop_servise_index_text {
    min-height: 118px !important;
    height: 118px !important;
  }

  html body.klever-site-page .content_page .services-grid .dop_servise_index_text {
    padding: 10px 10px 9px 13px !important;
  }
}
