/* ==========================================================================
   Оформление блоков конструктора под lazer-centr.by (не входит в модуль — при обновлении модуля не затирается).
   Графит + синий #1E90FF («лазерный» акцент). Без «панельности»: карточки без рамок и теней, иконки без плашек,
   letter-spacing не используем. Подключает Constructor.php последним — правила перекрывают blocks/*.css.
   ========================================================================== */
.cb-page {
    --cb-btn-radius: 6px;
    --cb-radius: 8px;
    --lc-ink: #0b0f14;
    --lc-glow: 0 0 18px rgba(30, 144, 255, .55);
}
.cb-page .cb-tone--light, .cb-page .cb-on-light {--cb-card-border: transparent; --cb-card-shadow: none}
.cb-page .cb-tone--dark, .cb-page .cb-on-dark {--cb-card-border: transparent; --cb-card-shadow: none}
.cb-page .cb-bg--dark {background-color: var(--lc-ink)}

/* ---- Заголовки ---- */
.cb-page :is(h1, h2, h3, .cb-title__h, .cb-banner__title, .cb-page-header__title, .cb-tile__name, .cb-stats__value) {letter-spacing: 0}
.cb-page .cb .cb-title__h {font-weight: 700; line-height: 1.12}
.cb-page .cb .cb-banner__title {font-weight: 700; line-height: 1.08}
.cb-page .cb-banner--hero .cb-banner__title {font-size: clamp(34px, 4.4vw, 62px); max-width: 15em}
.cb-page .cb h3 {font-weight: 600}
.cb-page .cb-title__eyebrow::before, .cb-page .cb-banner__eyebrow::before {content: none}
.cb-page .cb-banner__eyebrow, .cb-page .cb-title__eyebrow {font-size: 15px; font-weight: 600; color: var(--cb-primary)}
.cb-page :is(.cb-on-dark, .cb-tone--dark) :is(.cb-banner__eyebrow, .cb-title__eyebrow) {color: #5cb0ff}

/* ---- Первый экран: тонкая «лазерная» линия снизу, пункты — синие точки со свечением ---- */
.cb-page > section.cb--banner.cb-width--full:first-of-type {position: relative}
.cb-page > section.cb--banner.cb-width--full:first-of-type::after {content: ""; position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; height: 2px;
    background: linear-gradient(90deg, rgba(30, 144, 255, 0), #1E90FF 30%, #7cc4ff 50%, #1E90FF 70%, rgba(30, 144, 255, 0)); box-shadow: var(--lc-glow)}
.cb-page .cb-banner__points li {font-weight: 500}
.cb-page .cb-on-dark .cb-banner__points li::before {background-color: #1E90FF; box-shadow: var(--lc-glow)}
.cb-page .cb-banner__text {font-size: 18px}
.cb-page .cb-on-dark .cb-banner__price b {color: #5cb0ff}

/* ---- Кнопки ---- */
.cb-page .cb-btn--primary:hover {box-shadow: 0 8px 26px rgba(30, 144, 255, .45)}
.cb-page :is(.cb-on-dark, .cb-tone--dark) .cb-btn--light {border: 1px solid rgba(255, 255, 255, .6); background: transparent; color: #fff}
.cb-page :is(.cb-on-dark, .cb-tone--dark) .cb-btn--light:hover {border-color: #fff; background: #fff; color: var(--lc-ink)}

/* ---- Плитки: стрелка без белого кружка, затемнение снизу ---- */
.cb-page .cb-tile__go {background-color: transparent; border: 1px solid rgba(255, 255, 255, .6); filter: none}
.cb-page .cb-tile:hover .cb-tile__go {background-color: var(--cb-primary); border-color: var(--cb-primary)}
.cb-page .cb-tile::before {background: linear-gradient(180deg, rgba(5, 8, 12, 0) 35%, rgba(5, 8, 12, .8) 100%)}
.cb-page .cb .cb-tile__name {font-weight: 600}

/* ---- Карточки и инфоблоки: без плашек у иконок ---- */
.cb-page .cb-icon-box {background: none; width: auto; height: auto; color: var(--cb-accent)}
.cb-page .cb-icon-box i, .cb-page .cb-icon-box .lnr, .cb-page .cb-icon-box [class^="linearicons-"] {font-size: 34px}

/* ---- Цифры: синие значения со свечением на тёмном ---- */
.cb-page .cb .cb-stats__value {font-weight: 700}
.cb-page :is(.cb-on-dark, .cb-tone--dark) .cb-stats__value {color: #fff; text-shadow: 0 0 22px rgba(30, 144, 255, .55)}

/* ---- Этапы: номер — синим, без кружков ---- */
.cb-page .cb-steps__label, .cb-page .cb-workSteps__label {background: none; color: var(--cb-primary); font-weight: 700}

/* ---- Отзывы: текст колонками, без карточек ---- */
.cb-page .cb .cb-reviews__card {padding: 0 8px 0 0; background: none; box-shadow: none; border: 0}
.cb-page .cb-tone--light .cb-reviews__scroller .cb-reviews__card {box-shadow: none}
.cb-page .cb-reviews__author {border-top: 0; padding-top: 6px}

/* ---- Калькулятор: без рамки, итог — на графите ---- */
.cb-page .cb .cb-calc {background: var(--cb-alt); border: 0; box-shadow: none; border-radius: var(--cb-radius)}
.cb-page .cb-bg--muted .cb .cb-calc, .cb-page .cb-bg--muted .cb-calc {background: var(--cb-white)}
.cb-page .cb .cb-calc__extra {border-color: transparent; background: var(--cb-white)}
.cb-page .cb-bg--muted .cb-calc__extra {background: var(--cb-alt)}
.cb-page .cb .cb-calc__extra:has(input:checked) {border-color: var(--cb-btn-bg)}
.cb-page .cb .cb-calc__result {background: var(--lc-ink); color: rgba(255, 255, 255, .8)}
.cb-page .cb .cb-calc__result-label, .cb-page .cb .cb-calc__note {color: rgba(255, 255, 255, .72)}
.cb-page .cb .cb-calc__total {color: #fff; font-weight: 700}
.cb-page .cb .cb-calc__currency {color: #5cb0ff}

/* ---- Контакты: иконки без подложки ---- */
.cb-page .cb-contacts__item::before {background: none}
.cb-page .cb-contacts__item {grid-template-columns: 28px minmax(0, 1fr)}
.cb-page .cb-contacts__item::before, .cb-page .cb-contacts__item::after {width: 28px; height: 28px}
.cb-page .cb-contacts__map--side {border: 0; box-shadow: none; border-radius: var(--cb-radius)}

/* ---- Вопросы: строки с линией, без карточек ---- */
.cb-page .cb-faq__icon {border-color: transparent}
.cb-page .cb-faq__item[open] .cb-faq__icon {background: none; border-color: transparent; color: var(--cb-accent)}
.cb-page .cb-faq--list .cb-faq__item {border: 0; border-bottom: 1px solid var(--cb-line); border-radius: 0; background: none}
.cb-page .cb-faq--list .cb-faq__item[open] {box-shadow: none}
.cb-page .cb-faq--list .cb-faq__summary {padding-inline: 0}
.cb-page .cb-faq__summary {font-size: 18px}
.cb-page .cb-faq__summary :is(h3, .cb-faq__q) {font-weight: 500}

/* ---- Цены: прайс без карточек ---- */
.cb-page .cb-tablePrice__group {padding: 0; background: none; border: 0; box-shadow: none}
.cb-page .cb-tablePrice__wrap {border: 0; box-shadow: none}

/* ---- Фото без теней ---- */
.cb-page .cb-gallery__link {box-shadow: none; border-radius: 6px}
.cb-page :is(.cb-text__media picture, .cb-text__media > img, .cb-banner--split .cb-banner__side) {box-shadow: none; border-radius: var(--cb-radius)}
