.elementor-7302 .elementor-element.elementor-element-1b294c76{--display:flex;--min-height:40vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--overlay-opacity:0.55;}.elementor-7302 .elementor-element.elementor-element-1b294c76:not(.elementor-motion-effects-element-type-background), .elementor-7302 .elementor-element.elementor-element-1b294c76 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://boston-loft.by/wp-content/uploads/2024/07/PFPUAZ6.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-7302 .elementor-element.elementor-element-1b294c76::before, .elementor-7302 .elementor-element.elementor-element-1b294c76 > .elementor-background-video-container::before, .elementor-7302 .elementor-element.elementor-element-1b294c76 > .e-con-inner > .elementor-background-video-container::before, .elementor-7302 .elementor-element.elementor-element-1b294c76 > .elementor-background-slideshow::before, .elementor-7302 .elementor-element.elementor-element-1b294c76 > .e-con-inner > .elementor-background-slideshow::before, .elementor-7302 .elementor-element.elementor-element-1b294c76 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-secondary );--background-overlay:'';}.elementor-7302 .elementor-element.elementor-element-417b267a{text-align:center;}.elementor-7302 .elementor-element.elementor-element-417b267a .elementor-heading-title{font-size:32px;color:var( --e-global-color-primary );}.elementor-7302 .elementor-element.elementor-element-bedce72{text-align:center;color:var( --e-global-color-primary );}.elementor-7302 .elementor-element.elementor-element-5c8a62b0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:3em;--padding-bottom:2em;--padding-left:10em;--padding-right:10em;}.elementor-7302 .elementor-element.elementor-element-5c8a62b0:not(.elementor-motion-effects-element-type-background), .elementor-7302 .elementor-element.elementor-element-5c8a62b0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAFAFA;}.elementor-7302 .elementor-element.elementor-element-116678ed{padding:20px 50px 20px 50px;}@media(min-width:768px){.elementor-7302 .elementor-element.elementor-element-1b294c76{--content-width:1280px;}.elementor-7302 .elementor-element.elementor-element-5c8a62b0{--content-width:1280px;}}@media(max-width:1024px){.elementor-7302 .elementor-element.elementor-element-5c8a62b0{--padding-top:3em;--padding-bottom:5em;--padding-left:0em;--padding-right:0em;}}@media(max-width:767px){.elementor-7302 .elementor-element.elementor-element-5c8a62b0{--padding-top:2em;--padding-bottom:2em;--padding-left:0em;--padding-right:0em;}.elementor-7302 .elementor-element.elementor-element-116678ed{padding:10px 10px 10px 10px;}}/* Start custom CSS for text-editor, class: .elementor-element-116678ed *//* ============================================================
   BOSTON LOFT — стили блочных элементов статей блога
   Версия 3.0

   ПОЧЕМУ v2 НЕ РАБОТАЛА:
   редактор WordPress вырезает тег <article>, поэтому обёртки
   .bl-article на странице нет и селекторы вида
   ".bl-article .bl-cta" ни с чем не совпадали.
   В v3 родитель не нужен — правила привязаны к самим блокам.

   КУДА ВСТАВЛЯТЬ:
   Внешний вид → Настроить → Дополнительные стили
   (НЕ в поле Elementor у элемента — тогда работает только эта страница)

   ПОСЛЕ ВСТАВКИ: очистить кэш SpeedyCache Pro.
============================================================ */

/* ---------- 1. ПАЛИТРА ----------
   Единственное место, где меняются цвета */

:root {
  --bl-ink:     #23282d;
  --bl-heading: #16181a;
  --bl-accent:  #16181a;
  --bl-on-dark: #ffffff;
  --bl-line:    #dcdcda;
  --bl-surface: #f4f4f3;
  --bl-muted:   #6b6b6b;
  --bl-warn:    #b3261e;
  --bl-radius:  0;
  --bl-gap:     1.8rem;
  --bl-anchor:  96px;   /* высота липкой шапки для якорей */
}

/* ---------- 2. ЯКОРНЫЕ ССЫЛКИ ---------- */

h2[id], h3[id] { scroll-margin-top: var(--bl-anchor); }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ---------- 3. ОГЛАВЛЕНИЕ ---------- */

.bl-toc {
  background: var(--bl-surface) !important;
  border-left: 3px solid var(--bl-accent) !important;
  padding: 1.15rem 1.4rem !important;
  margin: var(--bl-gap) 0 !important;
  border-radius: var(--bl-radius);
  display: block;
}

.bl-toc__title {
  display: block;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--bl-heading);
  margin-bottom: .65rem;
}

.bl-toc ul { margin: 0 !important; padding: 0 !important; list-style: none !important; }

.bl-toc li {
  margin: 0 !important;
  padding: .34rem 0 .34rem 1.15rem !important;
  position: relative;
  list-style: none !important;
}

.bl-toc li::before {
  content: "";
  position: absolute;
  left: 0; top: .95em;
  width: .5rem; height: 1px;
  background: var(--bl-accent);
}

.bl-toc a {
  color: var(--bl-ink) !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--bl-line);
}

.bl-toc a:hover { color: var(--bl-accent) !important; border-bottom-color: currentColor; }

/* ---------- 4. ТАБЛИЦЫ ---------- */

.bl-table-wrap {
  margin: var(--bl-gap) 0 !important;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--bl-line);
  border-radius: var(--bl-radius);
}

.bl-table-wrap table {
  width: 100% !important;
  min-width: 560px;
  border-collapse: collapse !important;
  font-size: .93rem;
  line-height: 1.45;
  margin: 0 !important;
  border: none !important;
}

.bl-table-wrap thead th {
  background: var(--bl-heading) !important;
  color: var(--bl-on-dark) !important;
  font-weight: 600 !important;
  font-size: .8rem;
  letter-spacing: .03em;
  text-transform: uppercase;
  text-align: left !important;
  padding: .72rem .85rem !important;
  border: none !important;
}

.bl-table-wrap tbody td {
  padding: .68rem .85rem !important;
  border: none !important;
  border-top: 1px solid var(--bl-line) !important;
  vertical-align: top;
  background: transparent;
}

.bl-table-wrap tbody tr:nth-child(even) td { background: rgba(0,0,0,.022); }
.bl-table-wrap tbody td:first-child { font-weight: 600; color: var(--bl-heading); }

/* Мобильные: сниппет «Для таблиц» перестраивает таблицу в карточки
   с подписями из data-label. Снимаем min-width и прокрутку,
   иначе карточки наследуют 560 px и вылезают за экран. */
@media (max-width: 767px) {
  .bl-table-wrap {
    overflow-x: visible !important;
    border: none !important;
    margin: var(--bl-gap) 0 !important;
  }

  .bl-table-wrap table {
    min-width: 0 !important;
    width: 100% !important;
    display: block !important;
  }

  .bl-table-wrap thead { display: none !important; }
  .bl-table-wrap tbody { display: block !important; }

  .bl-table-wrap tbody tr {
    display: block !important;
    border: 1px solid var(--bl-line) !important;
    border-left: 3px solid var(--bl-accent) !important;
    margin-bottom: .9rem;
    padding: .2rem .9rem;
    background: #fff !important;
  }

  .bl-table-wrap tbody td {
    display: block !important;
    position: static !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: .5rem 0 !important;
    border: none !important;
    border-top: 1px solid var(--bl-line) !important;
    background: transparent !important;
    font-size: .93rem;
    text-align: left !important;
    white-space: normal !important;
  }

  .bl-table-wrap tbody td:first-child {
    border-top: none !important;
    padding-top: .7rem !important;
    font-size: 1rem;
    font-weight: 700;
    color: var(--bl-heading);
  }

  /* Подпись столбца над значением.
     Псевдоэлемент уже задействован сниппетом «Для таблиц» и позиционируется
     абсолютно — сбрасываем позиционирование целиком, иначе подпись
     накладывается на значение. */
  .bl-table-wrap tbody td[data-label]:not(:first-child)::before {
    content: attr(data-label);
    display: block !important;
    position: static !important;
    float: none !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    padding: 0 !important;
    margin: 0 0 .15rem !important;
    font-size: .68rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: .07em;
    text-transform: uppercase;
    text-align: left !important;
    white-space: normal !important;
    color: var(--bl-muted) !important;
  }

  /* Первая ячейка — название способа, подпись не нужна */
  .bl-table-wrap tbody td:first-child::before {
    content: none !important;
    display: none !important;
  }
}

/* ---------- 5. ГЛАВНЫЙ CTA — ТЁМНЫЙ БЛОК ---------- */

.bl-cta {
  background: var(--bl-heading) !important;
  color: var(--bl-on-dark) !important;
  padding: 1.7rem 1.8rem 1.8rem !important;
  margin: calc(var(--bl-gap) * 1.5) 0 !important;
  border-radius: var(--bl-radius);
  display: block;
}

.bl-cta p {
  color: var(--bl-on-dark) !important;
  margin: 0 0 .9rem !important;
  line-height: 1.6;
}

.bl-cta p:last-of-type { margin-bottom: 0 !important; }
.bl-cta strong { color: var(--bl-on-dark) !important; }

.bl-cta__label {
  display: block;
  font-size: .71rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.5) !important;
  margin-bottom: .85rem;
  padding-bottom: .85rem;
  border-bottom: 1px solid rgba(255,255,255,.16);
}

.bl-cta__contacts { font-size: .95rem; line-height: 1.75; }

.bl-cta a:not(.bl-btn) {
  color: var(--bl-on-dark) !important;
  font-weight: 600;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(255,255,255,.45);
}

.bl-cta a:not(.bl-btn):hover { border-bottom-color: var(--bl-on-dark); }

/* Абзац, в котором лежит кнопка */
.bl-cta p:has(> a.bl-btn) { margin-top: 1.35rem !important; }

/* ---------- 6. КНОПКА ----------
   !important обязателен: тема и Elementor задают свои стили ссылок */

a.bl-btn {
  display: inline-block !important;
  background: var(--bl-on-dark) !important;
  color: var(--bl-heading) !important;
  text-decoration: none !important;
  border: 1px solid var(--bl-on-dark) !important;
  border-radius: var(--bl-radius) !important;
  font-size: .86rem !important;
  font-weight: 700 !important;
  letter-spacing: .07em;
  text-transform: uppercase;
  line-height: 1.2 !important;
  padding: .95rem 2.1rem !important;
  margin-top: 1.35rem !important;
  box-shadow: none !important;
  transition: background .18s ease, color .18s ease;
}

a.bl-btn:hover,
a.bl-btn:focus-visible {
  background: transparent !important;
  color: var(--bl-on-dark) !important;
}

a.bl-btn:focus-visible { outline: 2px solid var(--bl-on-dark); outline-offset: 3px; }

/* ---------- 7. ИНЛАЙН-CTA ---------- */

.bl-cta-inline {
  background: var(--bl-surface) !important;
  border-left: 3px solid var(--bl-accent) !important;
  padding: 1rem 1.25rem !important;
  margin: var(--bl-gap) 0 !important;
  font-size: .97rem;
  line-height: 1.6;
  border-radius: var(--bl-radius);
  display: block;
}

.bl-cta-inline a {
  color: var(--bl-heading) !important;
  font-weight: 600;
  text-decoration: none !important;
  border-bottom: 2px solid var(--bl-accent);
}

/* ---------- 8. БЛОК-ПРЕДУПРЕЖДЕНИЕ ---------- */

.bl-note {
  border: 1px solid rgba(179,38,30,.25) !important;
  border-left: 4px solid var(--bl-warn) !important;
  background: rgba(179,38,30,.04) !important;
  padding: 1.05rem 1.3rem !important;
  margin: var(--bl-gap) 0 !important;
  font-size: .95rem;
  line-height: 1.6;
  border-radius: var(--bl-radius);
  display: block;
}

.bl-note p:last-child { margin-bottom: 0 !important; }

/* ---------- 9. ПОДПИСИ К ИЗОБРАЖЕНИЯМ ---------- */

.bl-article figure, .elementor-widget-text-editor figure { margin: calc(var(--bl-gap) * 1.2) 0; }

figure figcaption {
  font-size: .85rem;
  line-height: 1.5;
  color: var(--bl-muted);
  font-style: normal;
  text-align: left;
  padding-top: .55rem;
  border-top: 1px solid var(--bl-line);
  margin-top: .6rem;
}

/* ---------- 10. FAQ ---------- */

.bl-faq { margin: var(--bl-gap) 0 !important; border-top: 1px solid var(--bl-line); }

.bl-faq__item {
  border-bottom: 1px solid var(--bl-line) !important;
  padding: 1.2rem 0 !important;
  display: block;
}

.bl-faq__item h3 {
  margin: 0 0 .45rem !important;
  font-size: 1.05rem !important;
  line-height: 1.35;
  color: var(--bl-heading);
  text-transform: none !important;
}

.bl-faq__item p { margin: 0 !important; font-size: .97rem; }

/* ---------- 11. СВЯЗАННЫЕ СТАТЬИ ---------- */

.bl-related {
  background: var(--bl-surface) !important;
  padding: 1.3rem 1.5rem !important;
  margin: calc(var(--bl-gap) * 1.3) 0 0 !important;
  border-radius: var(--bl-radius);
  display: block;
}

.bl-related__title {
  display: block;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--bl-heading);
  margin-bottom: .75rem;
}

.bl-related ul { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.bl-related li { padding: .35rem 0 !important; margin: 0 !important; list-style: none !important; }

.bl-related a {
  color: var(--bl-ink) !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--bl-line);
}

.bl-related a:hover { color: var(--bl-accent) !important; border-bottom-color: currentColor; }

/* ---------- 12. МОБИЛЬНЫЕ ---------- */

@media (max-width: 767px) {
  :root { --bl-gap: 1.4rem; --bl-anchor: 72px; }

  .bl-cta { padding: 1.3rem 1.2rem 1.4rem !important; }

  a.bl-btn {
    display: block !important;
    text-align: center;
    padding: 1rem .8rem !important;
  }

  .bl-toc, .bl-related { padding: 1.05rem 1.15rem !important; }
  .bl-cta-inline, .bl-note { padding: .9rem 1rem !important; }
}/* End custom CSS */