/* ULTRALAM catalogue additions keep the original components and palette. */
.ul-catalog .ul-catalog-intro {
  max-width: 1050px;
  margin: 24px 0 40px;
}
.ul-catalog .ul-product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
}
.ul-catalog .category-card {
  width: auto;
  min-width: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.ul-catalog .category-card__img {
  width: 100%;
  height: 260px;
  object-fit: contain;
  background: #f3f3f2;
}
.ul-catalog .category-card__link {
  min-width: 0;
  flex: 1;
}
.ul-catalog .category-card__link-name {
  overflow-wrap: anywhere;
}
.ul-catalog .ul-product-card .category-card__link {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  padding-right: 36px;
}
.ul-catalog .ul-model {
  font-size: 12px;
  color: #565c61;
  overflow-wrap: anywhere;
}
.ul-catalog .ul-stock {
  font-size: 12px;
  line-height: 1.4;
  color: #496712;
}
.ul-catalog .ul-stock--order {
  color: #666;
}
.ul-product .lead-block__desc-wrap,
.ul-product .lead-block__slider {
  min-width: 0;
}
.ul-product .lead-block__list-item {
  gap: 16px;
  align-items: baseline;
}
.ul-product .lead-block__list-item span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.ul-product .lead-block__list-item span:first-child {
  flex: 0 0 43%;
}
.ul-product .lead-block__list-item span:last-child {
  text-align: right;
}
.ul-product .lead-block__img-wrap {
  height: 580px;
  min-height: 0;
}
.ul-product .lead-block__img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}
.ul-product .lead-block__counter {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
}
.ul-product .lead-block__cost-block {
  width: auto;
}
.ul-product .table-wrap,
.ul-product .table__col,
.ul-product .table__frame {
  min-width: 0;
  max-width: 100%;
}
.ul-product .table__frame {
  width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}
.ul-product .table {
  width: 100%;
  max-width: 100%;
}
.ul-product .lead-block__pag {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}
.ul-product .lead-block__pag-item-wrap {
  flex: 0 0 auto;
}
.ul-gallery-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}
.ul-gallery-tabs .lead-block__tab {
  position: static;
  padding: 12px 18px;
  border: 1px solid #ccd1c5;
  background: transparent;
  font: inherit;
  color: inherit;
  cursor: pointer;
}
.ul-gallery-tabs .lead-block__tab.active {
  border-color: #79ad21;
  background: #eef4e5;
}
.ul-product-description {
  max-width: 1100px;
  line-height: 1.7;
}
.ul-product-description p {
  margin: 18px 0;
}
.ul-product-description h2 {
  margin-top: 40px;
}
.ul-catalog-menu .card__img {
  object-fit: contain;
}
.header__submenu_goods .header__submenu-item {
  overflow-wrap: anywhere;
}
@media (max-width: 1100px) {
  .ul-catalog .ul-product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
  }
  .ul-product .lead-block__img-wrap {
    height: 450px;
  }
}
@media (max-width: 767px) {
  .ul-catalog .ul-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 14px;
  }
  .ul-catalog .category-card__img {
    height: 220px;
  }
  .ul-catalog .category-card__link-name {
    font-size: 17px;
    line-height: 1.35;
  }
  .ul-product .lead-block__img-wrap {
    height: 400px;
  }
  .ul-product .lead-block__list-item {
    font-size: 14px;
  }
  .ul-spec-table .table th,
  .ul-spec-table .table td {
    padding: 12px 8px;
    font-size: 14px;
  }
}
@media (max-width: 390px) {
  .ul-catalog .ul-product-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* The legacy template sets direct .wrap_content children to width: unset,
   which shrink-wraps page content on narrow screens. */
@media (max-width: 959px) {
  .header,
  .preloader {
    width: 100vw;
    max-width: 100vw;
    min-width: 0;
    box-sizing: border-box;
  }
  .header__wrap {
    width: calc(100% - 32px);
    max-width: calc(100% - 32px);
    min-width: 0;
    box-sizing: border-box;
  }
  .heading-block,
  .heading-block__wrap {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }
  .heading-block__wrap {
    flex-wrap: wrap;
  }
  .wrap_content > div {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
  .wrap_content .block-wrap,
  .wrap_content .lead-block,
  .wrap_content .table-wrap,
  .wrap_content .tabs__content {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }
  .wrap_content .lead-block__desc-wrap,
  .wrap_content .lead-block__slider,
  .wrap_content .table__col,
  .wrap_content .table__frame {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }
  .wrap_content .table__frame {
    width: 100%;
  }
}
.header__logo-img {
  width: 100% !important;
  height: 100% !important;
  max-width: 170px;
  max-height: 52px;
  display: block;
  object-fit: contain;
}
.header__logo {
  min-width: 0;
  width: 190px;
  height: 100%;
  flex: 0 0 190px;
  box-sizing: border-box;
  padding: 8px 12px !important;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}
.fg-section,
.fg-page {
  padding: 90px 5vw;
  color: inherit;
}
.fg-section {
  background: #242b33;
  color: #fff;
}
.fg-section h2,
.fg-page h1 {
  font-size: clamp(32px, 4vw, 64px);
  line-height: 1.12;
  margin: 0 0 30px;
}
.fg-page {
  max-width: 1500px;
  margin: auto;
  min-height: 70vh;
}
.fg-page p,
.fg-section > p {
  font-size: 18px;
  line-height: 1.65;
  max-width: 1000px;
}
.fg-lead {
  font-size: clamp(20px, 2vw, 28px) !important;
}
.fg-back {
  display: inline-block;
  color: #608c18;
  margin-bottom: 30px;
}
.fg-services {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px;
  margin: 50px 0;
}
.fg-services article {
  border-top: 2px solid #79ad21;
  padding-top: 24px;
}
.fg-services h3 {
  font-size: 22px;
  line-height: 1.3;
  margin: 20px 0 16px;
}
.fg-services p {
  font-size: 16px;
  line-height: 1.65;
}
.fg-number {
  color: #79ad21;
  font-size: 15px;
}
.fg-cta {
  display: inline-block;
  background: #79ad21;
  color: #15200b;
  padding: 20px 28px;
  font-size: 16px;
  line-height: 1.4;
  transition: background 0.2s;
}
.fg-cta:hover {
  background: #93c737;
}
.fg-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin: 50px 0;
}
.fg-contact-grid h2 {
  font-size: 26px;
  margin-bottom: 25px;
}
.fg-contact-grid a {
  overflow-wrap: anywhere;
}
.fg-contact-grid a:hover {
  color: #608c18;
}
.plug__logo {
  width: 260px;
  height: auto;
}
.preloader {
  pointer-events: none;
}
.hero__ttl_2 .hero__mark {
  font-size: 0.7em;
}
@media (max-width: 1100px) {
  .fg-services {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .header__logo {
    min-width: 0;
    width: 150px;
    flex-basis: 150px;
  }
  .header__logo-img {
    max-width: 126px;
    max-height: 40px;
  }
}
@media (max-width: 600px) {
  .fg-services,
  .fg-contact-grid {
    grid-template-columns: 1fr;
  }
  .fg-section,
  .fg-page {
    padding: 45px 24px;
  }
  .fg-services {
    gap: 24px;
  }
  .fg-cta {
    padding: 16px 20px;
  }
}
.fg-main {
  padding-top: 100px;
}
.fg-page a,
.fg-section a {
  color: inherit;
  text-decoration: none;
}
.fg-page .fg-back {
  color: #608c18;
}
.fg-page .fg-cta,
.contact-us .fg-cta {
  color: #15200b;
  text-decoration: none;
}
.fg-contact-grid a {
  border-bottom: 1px solid #79ad21;
}
.fg-main .fg-page {
  padding-top: 60px;
}
.footer_hidden {
  display: flex !important;
}
@media (max-width: 600px) {
  .fg-main {
    padding-top: 80px;
  }
  .fg-main .fg-page {
    padding-top: 30px;
  }
}
.fg-featured-section {
  padding: 60px 5vw;
  background: #242b33;
  color: #fff;
}
.fg-featured h2 {
  font-size: clamp(28px, 3vw, 44px);
  margin-bottom: 24px;
}
.fg-featured p {
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 24px;
}
.fg-featured a {
  text-decoration: none;
}
.table__col:only-child {
  width: 100% !important;
  flex-basis: 100% !important;
}
.header__call-back-btn {
  text-decoration: none;
}

/* =========================================
   ПРОЕКТИРОВАНИЕ
   ========================================= */

.fg-main--proektirovanie {
  background:
    linear-gradient(rgba(20, 26, 31, 0.65), rgba(20, 26, 31, 0.65)),
    url("https://lstk-don.ru/content/uslugi/proectirovanie.jpg") center / cover
      no-repeat;

  min-height: 100vh;
}

.fg-main--proektirovanie .fg-page {
  background: transparent;
}

/* Только текст страницы Проектирование */
.fg-main--proektirovanie .fg-page h1,
.fg-main--proektirovanie .fg-page p,
.fg-main--proektirovanie .fg-page .fg-lead {
  color: #fff;
}

/* Хлебные крошки */
.fg-main--proektirovanie .fg-back {
  color: rgba(255, 255, 255, 0.75);
}

.fg-main--proektirovanie .fg-back:hover {
  color: #fff;
}

.fg-main--proektirovanie body {
  background-color: #606368;
}

/* =========================================
   ДОСТАВКА
   ========================================= */

.fg-main--dostavka {
  background:
    linear-gradient(rgba(20, 26, 31, 0.65), rgba(20, 26, 31, 0.65)),
    url("https://yandex-images.clstorage.net/LSvC55096/80e7104D/d2r01zByHmumH9OGYmwdnJcM3t5SaSDYrq7jQQIGBP4gUXLl1P6mJJFVNy-DxCJDdW9DM3WC8F_l4i76-CO-IpIusbNFFqo7ll9CovOtOa2X3ArukwwEOOpbw-EHQ3KdkhNVw6NI8dazh5P6FlE3J5HLRyDT4_J58iMcb3jz2AWli9WVQsMszEdtAiOhLH1MBd0K7CEIl4jrHxM0QGZT3OIjBxDDirDnsddBOPSRVPaHWzRhcifRG0Oh7Oy5k5uU5-kVlxCRr38ELBGjgo09P9Xdqg0yy2aZSiwhFYKmwdwBYBWj8BrQFcKXgtj1skX3VLt0swB0oonBcQ5sa7MqpeT59pcw0qx9Vj4D08DuP13X7dstoPkESbnekdWypyJ-0yNWcuDp4EfD9ED61CFGRNfKBUNgtFKpoYNNnvtBmIXHCLWVMUPN_7W-8iLzXD7sx-_K_jL4pJi6_sPVsPYSPqBh9TABqMHn0ycjarWBZ9QEKzficvZyCvDxHi7ZICukhuqVlIHiLk2kPxESUw9sfMet6PxROkcrel3ypdF00Z1CkwWjAYizFiI04zonM0eml3jEkYLlw-hjcE5eqMJKxSTqxkdycL3flc6S4HMPbm7lP0scEmlVKvsP45QB9ON8kMDV8AEIwXRz9hDZpfEVFAYaN3HRNQHqgtHejxky-3TH-JYEEgH_bFTdI5MizFxNVN1qHlAKJss43rKnwkdxXuIz59MB-JIEc4QjS1biFgTnSDYR8TfAqdBxPF8ZMapU5-un5LKCHE507PKRst79DGVMCy8SmNaY2__jlDFkgkyyw_aRMtizZvE2ABikQ4XWx6s2Y3CWwOvigS-eWeHLttQpRaRSAUzcVN9i4FCdDl2XHyjtoRt1uzseEYeB9hN8gQIFggEb4ASSZGMIhKJX5kXIdNFANUEYIcDsjZtCahbESReUIhJPbVTfwDAy7q2-p-84rGOYhYkZvKO0QtTSU")
      center / cover no-repeat;

  min-height: 100vh;
}

/* Только страницы услуг, которым мы явно дали этот класс */
.fg-main--service-bg .fg-page {
  background: transparent;
}

.fg-main--service-bg .fg-page h1,
.fg-main--service-bg .fg-page p,
.fg-main--service-bg .fg-page .fg-lead {
  color: #fff;
}

.fg-main--service-bg .fg-back {
  color: rgba(255, 255, 255, 0.75);
}

.fg-main--service-bg .fg-back:hover {
  color: #fff;
}

.fg-main--dostavka body {
  background-color: #606368;
}

/* =========================================
   КОМПЛЕКТАЦИЯ ФАСАДА
   ========================================= */

body.body--komplektaciya {
  background: #606368;
}

.fg-main--komplektaciya {
  background:
    linear-gradient(rgba(20, 26, 31, 0.65), rgba(20, 26, 31, 0.65)),
    url("https://www.arcdecor.ru/upload/cssinliner_webp/iblock/c42/Risunok3.webp")
      center / cover no-repeat;

  min-height: 100vh;
}

/* Белый текст только на этой странице */
.fg-main--komplektaciya .fg-page {
  background: transparent;
}

.fg-main--komplektaciya .fg-page h1,
.fg-main--komplektaciya .fg-page p,
.fg-main--komplektaciya .fg-page .fg-lead {
  color: #fff;
}

.fg-main--komplektaciya .fg-back {
  color: rgba(255, 255, 255, 0.75);
}

.fg-main--komplektaciya .fg-back:hover {
  color: #fff;
}

/* =========================================
   ТАБЛИЦА ХАРАКТЕРИСТИК ТОВАРА
   ========================================= */

.ul-spec-table {
  width: 100%;
  max-width: 1000px;
  margin: 28px 0 50px;
  overflow: hidden;
  border: 1px solid #e4e6e8;
  border-radius: 12px;
  background: #fff;
}

/* =========================================
   ХАРАКТЕРИСТИКИ ТОВАРА
   ========================================= */

.ul-spec-table {
  width: 100%;
  max-width: 1000px;
  margin: 28px 0 50px;
  overflow: hidden;

  background: #fff;
  border: 1px solid #e4e6e8;
  border-radius: 12px;
}

.ul-spec-table__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.ul-spec-table__table tr {
  display: table-row;
}

.ul-spec-table__table th,
.ul-spec-table__table td {
  display: table-cell;
  padding: 17px 22px;

  font-size: 15px;
  line-height: 1.5;
  text-align: left;
  vertical-align: middle;

  border-bottom: 1px solid #e4e6e8;
}

/* Левая колонка */
.ul-spec-table__table th {
  width: 42%;
  background: #f5f6f4;

  color: #50565b;
  font-weight: 400;
}

/* Правая колонка */
.ul-spec-table__table td {
  width: 58%;
  background: #fff;

  color: #1b2228;
}

.ul-spec-table__table tr:last-child th,
.ul-spec-table__table tr:last-child td {
  border-bottom: 0;
}


/* =========================
   MOBILE
   ========================= */

@media (max-width: 600px) {
  .ul-spec-table {
    margin: 22px 0 36px;
    border: 0;
    border-radius: 0;
    background: transparent;
    overflow: visible;
  }

  .ul-spec-table__table,
  .ul-spec-table__table tbody {
    display: block;
    width: 100%;
  }

  .ul-spec-table__table tr {
    display: block;
    width: 100%;
    margin-bottom: 10px;

    border: 1px solid #e4e6e8;
    border-radius: 8px;
    overflow: hidden;
  }

  .ul-spec-table__table th,
  .ul-spec-table__table td {
    display: block;
    width: 100%;

    padding: 11px 14px;
    border: 0;

    font-size: 13px;
    line-height: 1.45;
  }

  .ul-spec-table__table th {
    background: #f3f5f0;
  }

  .ul-spec-table__table td {
    background: #fff;
  }
}

/* Убираем поведение основной каталожной таблицы */
.ul-spec-table .table tbody tr {
  cursor: default;
}

.ul-spec-table .table th,
.ul-spec-table .table td {
  position: relative;
  width: auto !important;

  padding: 17px 22px !important;

  white-space: normal !important;
  overflow-wrap: break-word;

  font-size: 15px;
  line-height: 1.5;
  text-align: left;
  vertical-align: middle;

  border: 0;
  border-bottom: 1px solid #e8eaec;
}

/* Название характеристики */
.ul-spec-table .table th {
  width: 42% !important;

  background: #f6f7f5;
  color: #4d5358;

  font-family: Stolzl, sans-serif;
  font-weight: 400;

  cursor: default;
}

/* Значение */
.ul-spec-table .table td {
  width: 58% !important;

  background: #fff;
  color: #1b2228;

  font-family: Stolzl-book, Stolzl, sans-serif;
  font-weight: 400;
}

/* Убираем псевдо-границы старой таблицы */
.ul-spec-table .table th::after,
.ul-spec-table .table td::after {
  display: none !important;
}

/* Последняя строка без нижней линии */
.ul-spec-table .table tbody tr:last-child th,
.ul-spec-table .table tbody tr:last-child td {
  border-bottom: 0;
}

/* Небольшой hover */
.ul-spec-table .table tbody tr:hover th {
  background: #f0f3eb;
}

.ul-spec-table .table tbody tr:hover td {
  background: #fafbf8;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 767px) {
  .ul-spec-table {
    margin: 22px 0 36px;
    border-radius: 10px;
  }

  .ul-spec-table .table th,
  .ul-spec-table .table td {
    padding: 14px 16px !important;
    font-size: 14px;
    line-height: 1.45;
  }

  .ul-spec-table .table th {
    width: 44% !important;
  }

  .ul-spec-table .table td {
    width: 56% !important;
  }
}


/* =========================================
   PHONE
   ========================================= */

@media (max-width: 520px) {
  .ul-spec-table {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .ul-spec-table .table,
  .ul-spec-table .table tbody {
    display: block;
    width: 100%;
  }

  .ul-spec-table .table tbody tr {
    display: block;
    margin-bottom: 10px;

    border: 1px solid #e4e6e8;
    border-radius: 8px;
    overflow: hidden;

    background: #fff;
  }

  .ul-spec-table .table th,
  .ul-spec-table .table td {
    display: block;

    width: 100% !important;

    padding: 11px 14px !important;

    border: 0;

    font-size: 13px;
    line-height: 1.45;
  }

  .ul-spec-table .table th {
    background: #f3f5f0;
    color: #60666b;
  }

  .ul-spec-table .table td {
    background: #fff;
    color: #1b2228;
  }

  .ul-spec-table .table tbody tr:hover th {
    background: #f3f5f0;
  }

  .ul-spec-table .table tbody tr:hover td {
    background: #fff;
  }
}
@media (max-width: 767px) {
  .ul-product .table__frame {
    width: 100%;
  }
  .ul-product .table {
    min-width: 640px;
  }
  .ul-product .lead-block__pag {
    gap: 8px;
  }
  .ul-product .lead-block__pag-item-wrap,
  .ul-product .lead-block__pag-item {
    width: 64px;
    height: 64px;
  }
}
