/* 30.10 визитка в стиле stroymog.by (тема esimple): общие токены темы — тёмный один (графит, как шапка 7), светлая подложка,
   заголовки страниц — Unbounded. Подключается сам (layouts/template_css.php берёт новые файлы media/css/esimple/). */
:root {
    --es-dark: #1f2329;
    --es-heading: #1f2329;
    --es-surface-alt: #eef1f4;
    --es-font-display: inherit; /* 31.10: один шрифт на всём сайте */
}
.es-footer, .block-footer {background: #1f2329}

/* ===== 30.10 внутренние страницы — одним языком с блоками конструктора (пользователь: «на заголовках один шрифт —
   переходим на другой — всё пиздец. другое всё»). Шапка страницы — как первый экран конструктора: серая полоса, крошки,
   заголовок Unbounded; ниже — серая подложка и белые карточки (радиус 12, мягкая тень, кнопки 8px). ===== */
.block-breadcrumb {margin: 0; padding: 44px 0 36px; background: var(--es-surface-alt)}
.block-breadcrumb .page-caption {margin: 0}
.block-breadcrumb .breadcrumb, .block-breadcrumb .breadcrumb li, .block-breadcrumb .breadcrumb a {color: #5d646d; font-size: 14px} /* li — текущая страница была 12px (style.css) */
.block-breadcrumb .breadcrumb a:hover {color: var(--es-primary)}
.block-breadcrumb h1 {margin: 12px 0 0; color: var(--es-heading); font-family: inherit; font-size: clamp(30px, 3.4vw, 46px); font-weight: 700; line-height: 1.12}
.es-main h2, .service-content--text h2 {font-family: inherit; font-weight: 700}

/* серая подложка под списками — карточки на ней белые */
.service-module, .news-list__page, .general-page:has(.service-content--wide) {padding: 8px 0 96px; background: var(--es-surface-alt)}

/* услуги: карточка как в конструкторе — фото 4:3 во всю ширину, название, текст, внизу цена и кнопка */
.service-module .services__items {grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0}
.service-module .service__item {padding: 0; overflow: hidden; border-radius: 12px; background: #fff; box-shadow: 0 14px 34px rgba(31, 35, 41, .06); transition: transform .25s, box-shadow .25s}
.service-module .service__item:hover {transform: translateY(-3px); box-shadow: 0 20px 44px rgba(31, 35, 41, .12)}
.service-module .service__item-img::before {padding-bottom: 75%}
.service-module .service__item-img:hover::after {background: none}
.service-module .service__item-body {margin: 0; padding: 22px 24px 0}
.service-module .service__item-title {margin: 0 0 8px; color: var(--es-heading); font-size: 20px; font-weight: 600; line-height: 1.3}
.service-module .service__item-title:hover {color: var(--es-primary)}
.service-module .service__item-text {color: #454b53; font-size: 15.5px; line-height: 1.55}
.service-module .service__item-actions {gap: 14px; margin-top: auto; padding: 20px 24px 24px}
.service-module .service__item-price {color: var(--es-heading); font-size: 15px}
.service-module .service__item-price em {font-style: normal; font-size: 22px; font-weight: 700}
.service-module .service__item-actions .btn-site {height: 46px; padding: 0 20px; border-radius: 8px; font-size: 15px; font-weight: 600}
.service-module .service__item-more {display: none} /* вся карточка — уже ссылка: название и фото */

/* новости: та же карточка */
.news-list {gap: 24px}
.news-list .news-list__item {padding: 0; overflow: hidden; border: 0; border-radius: 12px; background: #fff; box-shadow: 0 14px 34px rgba(31, 35, 41, .06); transition: transform .25s, box-shadow .25s}
.news-list .news-list__item:hover {transform: translateY(-3px); box-shadow: 0 20px 44px rgba(31, 35, 41, .12)}
.news-list .news-list__image {margin: 0; border-radius: 0}
.news-list .news-list__image .hover-new {display: none}
.news-list .news-list__item > a:not(.news-list__image) {display: block; margin: 20px 24px 8px; color: var(--es-heading); font-size: 19px; font-weight: 600; line-height: 1.35}
.news-list .news-list__item > a:not(.news-list__image):hover {color: var(--es-primary)}
.news-list .news-list__item > p {margin: 0 24px; color: #5d646d; font-size: 15px; line-height: 1.55}
.news-list .date-new {margin: 18px 24px 22px; color: #5d646d; font-size: 14px}
.news-list .date-new .fa-calendar {display: none}
.news-list .date-new a {color: var(--es-primary); font-weight: 600; text-decoration: none}

/* отзывы: карточки на серой подложке — без рамки, с тенью */
.service-content--wide .review-item {border: 0; border-radius: 12px; box-shadow: 0 14px 34px rgba(31, 35, 41, .06)}

@media (max-width: 992px) {.service-module .services__items {grid-template-columns: repeat(2, minmax(0, 1fr))}}
@media (max-width: 660px) {
    .block-breadcrumb {padding: 28px 0 24px}
    .service-module .services__items {grid-template-columns: minmax(0, 1fr)}
}

/* серая подложка страницы доходит до подвала — без белой полосы (у главной так уже сделано) */
.wrapper-main:has(> .service-module:last-child), .wrapper-main:has(> .news-list__page:last-child), .wrapper-main:has(> .general-page:last-child) {margin-bottom: 0}
/* контакты и текстовые страницы — отступ от шапки страницы */
.contacts-page, .general-page:not(:has(.service-content--wide)) {padding: 48px 0 80px}

/* 31.10 Max у номера телефона (phones[i].max + «Основные настройки → Соцсети → Max», как в магазине) */
.messenger-icon.icon-max {background-image: url('/media/img/max.svg'); background-size: cover; border-radius: 5px}

/* 30.10 (правки по мобилке п.9): согласие в формах — флажок слева, текст со ссылкой одной строкой и переносом под текст, как в
   магазине (в окне «Заказать звонок» правило .modal .input-confirm делало флажок, «Я согласен на» и ссылку тремя колонками);
   флажок белый с рамкой, отмеченный — цветом сайта */
.input-confirm, .input-wrapper .input-confirm, .modal-block .modal .input-wrapper > .input-confirm {display: block; position: relative; padding-left: 26px; line-height: 1.5; text-align: left}
.input-confirm input, .input-wrapper .input-confirm input, .modal-block .modal .input-wrapper .input-confirm input {position: absolute; float: none; left: 0; top: 2px; margin: 0; width: 16px; height: 16px; background: #fff; border: 1px solid #c3cad3; border-radius: 4px}
.input-wrapper .input-confirm input:checked, .input-confirm input:checked {border-color: var(--es-primary)}
.input-confirm input:checked:after {left: 2px; top: 2px; width: 10px; height: 10px; border-radius: 2px}
.input-confirm span {margin-right: 0}
/* п.10: текст новости и форма под ним — на всю ширину страницы (было 820px — справа пусто) */
.service-content--text {max-width: none}
