/* ========= GLOBAL CONTAINER + TYPOGRAPHY ========= */
:root{
  /* Общая ширина проекта: 1560 вместе с боковыми паддингами */
  --wrap: 1560px;
  --pad: 20px;

  /* Базовая типографика */
  --font: "Helvetica Neue", Arial, sans-serif;
  --text: #000;
  --muted:#555;

  /* Шкала кеглей (как в макете/HTML) */
  --h1: clamp(32px, 3.2vw, 42px);
  --h2: clamp(24px, 2.4vw, 36px);
  --h3: 20px;
  --p : 16px;
}

/* База */
html, body{
  margin:0;
  font-family: var(--font);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Универсальный контейнер 1560 с паддингами.
   Используй класс .bb-container в СВОИХ блоках. */
.bb-container{
  max-width: var(--wrap);
  margin: 0 auto;
  padding: 0 var(--pad);
  box-sizing: border-box;
}

/* Нормированные отступы текстов */
h1{ font-size:var(--h1); line-height:1.18; font-weight:700; margin:0 0 .6em; }
h2{ font-size:var(--h2); line-height:1.22; font-weight:700; margin:0 0 .6em; }
h3{ font-size:var(--h3); line-height:1.3;  font-weight:700; margin:0 0 .6em; }
p { font-size:var(--p);  line-height:1.6;  color:var(--muted); margin:0 0 1em; }
.lead{ font-size:18px; line-height:1.6; color:#6f6f6f; }

/* Ссылки */
a{ color:var(--text); text-decoration:none; }
a:hover{ text-decoration:underline; }

/* ========= Tilda text classes → под наши кегли ========= */
.t-title, .t-name, .t-heading, .t-uptitle,
.t-text, .t-descr, .t-btn, .t-link{
  font-family: var(--font) !important;
}
.t-title_h1{ font-size:var(--h1) !important; line-height:1.18 !important; font-weight:700 !important; }
.t-title_h2, .t-name_xl, .t-title_xl{
  font-size:var(--h2) !important; line-height:1.22 !important; font-weight:700 !important;
}
.t-descr, .t-text{
  font-size:var(--p) !important; line-height:1.6 !important; color:var(--muted) !important;
}

/* ========= Tilda container alignment (чтобы «не тянуло влево») =========
   Мы НЕ меняем ширину стандартных блоков, только выравниваем
   и добавляем симметричные паддинги, как у кастомных секций. */
.t-container,
.t-container_100{
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:var(--pad) !important;
  padding-right:var(--pad) !important;
  box-sizing:border-box !important;
}

/* На очень узких экранах чуть меньше боковые отступы */
@media (max-width:480px){
  :root{ --pad:16px; }
}

/* (опционально) Временная рамка для проверки центрирования
.bb-container, .t-container{ outline:1px dashed rgba(0,0,0,.08); }



/* ===== Анти-люфт (горизонтальный скролл) ===== */

/* 1) Глобально убираем горизонтальный скролл */
html, body{
  width:100%;
  max-width:100%;
  overflow-x: clip;              /* современный способ */
}
@supports not (overflow-x: clip){
  html, body{ overflow-x: hidden; }
}

/* 2) Все наши контейнеры — на всякий случай прячем излишки по X */
#bb-slider,
.services-section,
.catalog-section .catalog-block,
.intro-section,
.bb-custom-wrap,
#bbFooter.bb-footer,
.pp-fw, .pp-fw__container,
.catalog-item .images,
.service-slider{
  overflow-x: hidden;
}

/* 3) Блок "PRO PRINT создан для тех" — цифры не должны вылезать за край */
.pp-fw__card::before{
  transform: translate(-6%, -50%);   /* было -10%, чуть поджали */
}
@media (max-width:640px){
  .pp-fw__card::before{ transform: translate(-2%, -50%); }
}

/* 4) Подстраховка медиа: ничего не шире родителя */
img, video{ max-width:100%; height:auto; }

/* 5) Страховка редких 100vw-артефактов от сторонних блоков */
*[style*="100vw"]{ max-width:100% !important; }
