/* ==========================================================================
   anti-scale.by — оформление блоков конструктора в стиле согласованного сайта
   (красный #ef1c25, тёмно-синий #0d2356, вода и голубые фоны, Montserrat обычной жирности, кнопки с малым скруглением).
   Минимум «панельности»: карточки, вопросы, шаги и отзывы — без рамок и плашек.
   Подключается после base.css и blocks/*.css (Constructor::showContent); в модуль не входит.
   ========================================================================== */
.cb-page {
    --cb-primary: #ef1c25;
    --cb-primary-dark: #c8121a;
    --cb-primary-soft: #fde8e9;
    --cb-ink: #0d2356;
    --cb-body: #4a5468;
    --cb-soft: #5d677a;
    --cb-alt: #edf3fb;
    --cb-darkbg: #0d2a5c;
    --cb-rule: #dbe5f1;
    --cb-radius: 14px;
    --cb-btn-radius: 5px;
    --as-blue: #14397a;
    --as-water: linear-gradient(180deg, #f4f8fd 0%, #e3edf9 100%);
}
.cb-tone--light, .cb-on-light {
    --cb-link: #1f5fa6;
    --cb-link-hover: #ef1c25;
    --cb-accent: #ef1c25;
    --cb-accent-soft: #eaf1fa;
    --cb-card-border: transparent;
    --cb-card-shadow: none;
    --cb-line: #d4e0ee;
    --cb-ghost-fg: #0d2356;
    --cb-ghost-border: rgba(13, 35, 86, .28);
}

/* ---- Заголовки: крупно и легко, как «Наша продукция» на главной ---- */
.cb .cb-title__h {color: var(--cb-heading); font-size: clamp(28px, 3vw, 42px); font-weight: 500; line-height: 1.18; letter-spacing: normal}
.cb .cb-title__sub {color: var(--cb-fg); font-size: 17px; line-height: 1.55}
.cb-tone--dark .cb-title__h {color: #fff}
.cb h3, .cb .cb-card-item__name, .cb .cb-worksteps__name, .cb .cb-faq__q, .cb .cb-stats__label {letter-spacing: normal}
.cb .cb-card-item__name {color: var(--cb-heading); font-weight: 600}
.cb .cb-faq__q {font-weight: 600}
.cb .cb-stats__value {font-weight: 600; letter-spacing: normal}

/* ---- Кнопки — красные прямоугольные с мягкой тенью, как «Заказать звонок» ---- */
.cb .cb-btn {min-height: 52px; padding: 0 30px; border-radius: 5px; font-weight: 600; letter-spacing: normal}
.cb .cb-btn--primary {background: #ef1c25; border-color: #ef1c25; color: #fff; box-shadow: 0 10px 22px rgba(239, 28, 37, .28)}
.cb .cb-btn--primary:hover {background: #c8121a; border-color: #c8121a; color: #fff; transform: translateY(-2px)}
.cb-tone--dark .cb-btn--ghost, .cb-on-dark .cb-btn--ghost {background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .55); color: #fff}
.cb-tone--dark .cb-btn--ghost:hover, .cb-on-dark .cb-btn--ghost:hover {background: #fff; border-color: #fff; color: #0d2356}
.cb-tone--light .cb-btn--ghost, .cb-on-light .cb-btn--ghost {background: transparent; border-color: rgba(13, 35, 86, .28); color: #0d2356}
.cb-tone--light .cb-btn--ghost:hover, .cb-on-light .cb-btn--ghost:hover {background: #0d2356; border-color: #0d2356; color: #fff}

/* ---- Фоны: светлые секции — «вода», тёмные — синие, как первый экран ---- */
.cb-bg--muted {--cb-bg: var(--as-water)}
.cb-bg--muted {background: var(--as-water)}
.cb-bg--dark {--cb-bg: #0d2a5c}

/* ---- Первый экран: шапка сайта прозрачная поверх фото (main.php, head-fixed) ---- */
.cb-banner--hero.cb-banner--overlay {min-height: clamp(560px, 50vw, 760px); display: flex; align-items: center}
.cb-banner--hero .cb-banner__wrap {width: 100%; padding-top: clamp(120px, 11vw, 150px); padding-bottom: clamp(48px, 6vw, 90px)}
.cb-banner--hero .cb-banner__content {max-width: 640px}
.cb .cb-banner__title {font-weight: 500; letter-spacing: normal; line-height: 1.12}
.cb-banner--hero .cb-banner__title {font-size: clamp(32px, 3.6vw, 52px)}
.cb-banner--nopanel.cb-banner--none .cb-banner__content {text-shadow: 0 2px 18px rgba(5, 20, 55, .45)}
/* фото товара справа: слева синяя вода под текстом — затемняем только левую часть */
.cb-banner--hero.cb-banner--none .cb-banner__media::after {content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8, 30, 75, .78) 0%, rgba(8, 30, 75, .45) 38%, rgba(8, 30, 75, 0) 62%)}
.cb .cb-banner__text {font-size: 18px; line-height: 1.6; color: rgba(255, 255, 255, .92)}
.cb .cb-banner__points {gap: 10px 26px}
.cb .cb-banner__points li {font-weight: 500}
.cb .cb-banner__crumbs, .cb .cb-banner__crumbs a {color: rgba(255, 255, 255, .8)}

/* ---- Карточки товаров: пакшот на голубом «облаке», без рамки ---- */
.cb--card .cb-card {background: transparent; border: 0; box-shadow: none; overflow: visible}
.cb--card .cb-card--hover:hover {transform: none; box-shadow: none}
.cb--card .cb-card-item__media {border-radius: var(--cb-radius); background: radial-gradient(ellipse at 50% 60%, #ffffff 0%, #eaf1fa 70%)}
.cb--card .cb-card-item__media::after {display: none}
.cb--card .cb-card-item__img {object-fit: cover; mix-blend-mode: multiply}
.cb--card .cb-card-item__body {padding: 22px 4px 0}
.cb--card.cb-view--grid .cb-card-item__media {aspect-ratio: 4 / 3}
.cb--card .cb-card-item:hover .cb-card-item__img {transform: scale(1.05)}

/* ---- Шаги: номер в красном круге и текст, без плашек ---- */
.cb--workSteps .cb-worksteps__item, .cb--workSteps .cb-worksteps__body {background: transparent; border: 0; box-shadow: none}
.cb--workSteps .cb-worksteps__badge {background: #ef1c25; border-color: #ef1c25; color: #fff; font-weight: 600}
.cb--workSteps .cb-worksteps--cards .cb-worksteps__item {padding-inline: 0}

/* ---- Вопрос-ответ: строки с линией, без коробок ---- */
.cb-faq--list .cb-faq__list {gap: 0}
.cb-faq--list .cb-faq__item {background: transparent; border: 0; border-bottom: 1px solid var(--cb-line); border-radius: 0}
.cb-faq--list .cb-faq__item:first-child {border-top: 1px solid var(--cb-line)}
.cb-faq--list .cb-faq__summary {padding: 22px 0}
.cb-faq--list .cb-faq__a {padding: 0 70px 24px 0}
.cb-faq__icon {border-color: transparent; background: #fde8e9; color: #ef1c25}

/* ---- Отзывы: без рамок, кавычка и текст на светлом фоне ---- */
.cb--reviews .cb-card {background: rgba(255, 255, 255, .7); border: 0; box-shadow: none}

/* ---- Таблица характеристик: строки с линией, без внешней рамки ---- */
.cb-tablePrice__wrap {background: transparent; border: 0; box-shadow: none; border-radius: 0}
.cb-tablePrice__table thead th {background: transparent; color: var(--cb-soft); font-weight: 600; border-bottom: 2px solid #ef1c25}
.cb-tablePrice__table tbody tr {border-bottom: 1px solid var(--cb-line)}
.cb-tablePrice__table tbody tr:nth-child(even) {background: transparent}
.cb-tablePrice__table tbody th {color: var(--cb-heading); font-weight: 500}
/* на сайте таблицы справочные (характеристики, выбор объёма): последний столбец — обычный текст, а не цена без переноса */
.cb-tablePrice__table td.cb-tablePrice__price, .cb-tablePrice__table tr > .cb-tablePrice__price:last-child {white-space: normal; text-align: left; color: var(--cb-fg); font-size: 16px; font-weight: 400}
.cb-tablePrice__table th, .cb-tablePrice__table td {padding: 14px 18px 14px 0; vertical-align: top; text-align: left; word-break: normal; overflow-wrap: break-word}
.cb-tablePrice__table tbody tr > :first-child {width: 38%}

/* ---- Полоса цифр — красная, крупные цифры ---- */
.cb--stats.cb-bg--primary .cb-stats__affix {color: #fff}
.cb--stats.cb-bg--primary .cb-stats__desc {color: rgba(255, 255, 255, .82)}

/* ---- Фото рядом с текстом — без тени-рамки ---- */
.cb-text__media img, .cb-text__media picture {border-radius: var(--cb-radius); box-shadow: none}
.cb .cb-text__body ul li::marker {color: #ef1c25}

/* ---- Заявка на фоне синей воды ---- */
.cb-form-featured--image .cb-form-featured__media::after {content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8, 30, 75, .55) 0%, rgba(8, 30, 75, .15) 70%)}
.cb-form-featured__card {border-radius: 10px}
.cb-form-featured__features .cb-icon-box, .cb-form-featured__feature-icon {background: rgba(255, 255, 255, .14); color: #fff}
.cb-form-featured__features .cb-icon-box .cb-icon {background: none; color: inherit}

.cb .cb-banner__price {margin-top: 24px}

/* ---- Список с иконками («Характеристики» товаров): иконка на белой плашке, фирменный красный ---- */
.cb-infoblock--list .cb-infoblock__icon {width: 56px; height: 56px; border-radius: 14px; background: #fff; color: #ef1c25; font-size: 26px; box-shadow: 0 8px 22px rgba(13, 35, 86, .1)}
.cb-infoblock--list .cb-infoblock__body {padding-top: 4px}
.cb-tone--light .cb-infoblock--list .cb-infoblock__item:hover .cb-infoblock__icon, .cb-infoblock--list .cb-infoblock__item:hover .cb-infoblock__icon {background: #ef1c25; color: #fff}
@media (max-width: 767px) {
    .cb-infoblock--list .cb-infoblock__icon {width: 48px; height: 48px; font-size: 23px}
}

/* ---- Заголовки — без переносов внутри слова («деиони-зированную»); длинное слово ломается, только если не влезает в строку ---- */
.cb .cb-title__h, .cb-page-header__title, .cb .cb-banner__title, .cb .cb-card-item__name, .cb .cb-product__name,
.cb .cb-product-modal__title, .cb .cb-infoblock__name, .cb .cb-worksteps__name {hyphens: manual; overflow-wrap: break-word}

@media (max-width: 767px) {
    .cb-banner--hero.cb-banner--overlay {min-height: 0}
    .cb-banner--hero .cb-banner__wrap {padding-top: 110px}
    .cb-banner--hero.cb-banner--none .cb-banner__media::after {background: linear-gradient(180deg, rgba(8, 30, 75, .55) 0%, rgba(8, 30, 75, .75) 100%)}
    .cb-faq--list .cb-faq__a {padding-right: 0}
}
